In it's initial build, the console is going to have a nightrider style light chaser on the top to act as a disk activity monitor. There are plenty of other animation styles that can be used but for the proof of concept, I stuck to just the light chaser that moves forwards and backwards.


The light monitor is being treat as an event driven animation. the first part of the video shows the animation being controlled independently by a setInterval function which in turn repeatedly calls another function that increments through the animation frames.


In the second part of the video, the animation being driven by the same signal that controls a single led on Gizmo2. This is achieved by making a connection from that led to an input pin on the Espruino. A setWatch function monitors the state of that pin and calls the function to increment the animation frames if it detects a change on the falling edge of the signal.


The system is using an Espruino that receives input from Gizmo2's disk activity led pin, handles the processing then communicates with an mcp23017 i/o port expander through an i2c bus to change the state of the led display.


Currently, the mcp23017 is connected to a bar graph led display for testing, but will be connected to a much larger display for the console build.


Throughout the video, I'm using a Tektronix TBS1202B oscilloscope to monitor the i2c bus in action (see how the i2c command sequence matches up to the led outputs). The oscilloscope is also used to capture the disk activity straight from the led output and investigate the signals.