what is the eeprom write bandwidth?

If I want to fill the eeprom with data in a period of 15 seconds, that’s 1024/15 = 69 bytes per second. I know that the bandwidth is less than 38 bytes per second, otherwise eeprom.c would not need a queue.

I’m trying to size the queue to not overflow at 69 bytes per second. I guess I could make it 1024 bytes (but is that itself a problem?).

If you’re referring to my code, you can also call EEPROM_Write_Handler() multiple times per 26ms loop. Just be aware that
EEPROM_Write_Handler() takes about two milliseconds to execute.

-Kevin

I am using your code (thanks!). And if had taken a moment to look at the write handler I would have seen that the queue size is decremented every call. (I had imagined that the eeprom write operation was asynchronous, and the write handler was just periodically checking to see if the current byte was done.)

I think that means that I can add a second call to the write handler and get a write bandwidth of 38 * 2 = 76 bytes per second, which is (on average) fast enough to fill the eeprom during autonomous (15 * 76 = 1140 > 1024). The only question that remains is whether I will overrun the queue buffer with a burst. I guess I’ll just have to try it.