Its default mode emulates the state of the actors in the Arcade version of Pac-Man during its attract-mode.
A button switches through the additional modes which are:
- Slow hue cycle
- Discrete Larson scanner that slowly changes hue
- Slower Larson scanner that retains the correct actor colors with a slow fade.
If the SAO detects valid I2C commands to its address (0x1A), it will switch to I2C command mode and fall back to regular mode if there are no valid I2C commands for a while.
I2C commands are always 4 bytes long and currently supports the following:
- [0-5 Led Index 0=rightmost] [0-255 Red][0-255 Green][0-255 Blue] - Cues an LED color
- [5] [x][x][x]- Clear all colors
- [6][x][x][x] - Latch the colors
- [7][0-255 Brighness][x][x] - Set global brightness, 0=off, 255 = max
- [128-132 Led index-128] [0-255 Red][0-255 Green][0-255 Blue] - Cues an LED color ignoring global brightness
At bootup, the SAO lights all the LEDs in their appropriate colors for 1 second, then flashes the major (white) and minor (green) revision numbers in binary for 1/2 second each before switching to the default mode (this is mainly to help me validate the assembly and know which SAOs are flashed to the latest code)
Demo of I2C mode, being driven from my Polar Pac-Man game on last year's Vectorscope badge
Arcade attract mode (default mode), compared to the actual arcade machine.
Other modes