AS1130 First attempt - working

I'm really sorry Hexadec

No problems mate...I was feeling a bit grumpy that day. :grin:

It's best to think of the AS1130 as a completely separate entity which can receive data and instructions at 1Mhz over the I2C bus.

Once you have set up the AS1130 by sending instructions and the frame data and telling it to start, it will display the frames one by one at whatever rate you told it to.
It will do this forever without any more communication with whatever is sending instructions to it.

The fastest time between frames is 32.5mS which is about 31 frames per second - the slowest is 487.5mS which is about 2 per second. (see Table 17 frame_delay)

While the AS1130 is displaying the frames you can upload another set of frames and it will display them. (It displays whatever is in it's eeprom 1 frame at a time)

Now think of the microcontroller as a seperate entity.

It can send instructions over I2C and stream data as fast as the receiver connected to it can process it.
It has eeprom memory that can hold binary arrays (in this case our frame data) until it is full.
It can communicate and exchange data with an external eeprom and send that data out over I2C.

Now put them together...

MCU sends instructions and frame data to AS1130 and tells it to start.
AS1130 displays the frames on it's own and ignores the MCU.
MCU gets another 36 frames of data either from its own eeprom, an external eeprom, the serial bus or anywhere else that can be connected to it.
All this time the AS1130 is happily displaying the frames...
MCU sends new frame data to AS1130.

The cycle continues until the power goes down. :grin:

Don't forget you can also send instructions to the AS1130 while its running as can be seen in the video.

The speed that the frames are displayed is constrained to one of 15 different speeds set in the Frame Time/Scroll register and has nothing to do with the clock speed the I2C bus speed or the MCU speed.

Hope that is now clear.... 8)