Comment by boznz
Nothing exciting if you look at the code near the end.
for(i=0;i<8;i++) LEDRegister[i]=LEDRegister[i]+TMR0+addr;
Note this is also technically a bug, the for(i=0;i<8;i++) loop executes so fast that TMR0 (an independent PIC timer that increments every 740uS) is usually the same value added to each LEDregister. I actually added +i to the end of this line in my version, but I'm guessing someone making this will tweak the code to do whatever they want or store some patterns as consts. The code really is quite crappy now that I look at it sober, the watchdog timer is turned off and should be on, there is no checksum on the serial data, procedures called from interrupts, defines with double-slash comments, all stand out like a sore thumb. Lucky it just blinks lights and doesn't run a dialysis machine!
Pretty sure that’s the random junk it makes up if there’s no serial data coming in. The comment says:
> // no data coming in so do something interesting
My question is what they send over serial.