Major update. Finaly managed to fix some nasty timing and stack bugs. Check out source for changes.
The whole setup
The system is currently running 8 tasks:
- A heatbeat LED
- HSV to RGB converter and PWM feeder
- 3 PWM tasks for each color of RGB-LED
- 3-wire-driver for LCD-display
- a clock and diagnostics printing task
- and finaly ADC reader for a photoresistor
There are up to 12–16 tasks possible.
The 3-wire-interface to HD44780 is implemented with 74HC164 serial-to-parallel shift register.
The photoresitor drives saturation and value for HSV conversion.
The cable at the bottom of picture is a UART interface. It is used to reset the chip, to program it on the fly and to take a memory snapshots of running system.
The system is quite stable. It happend to run for several weeks without any crashes or glitches.