#include #include "midi_data.hpp" #include "eeprom.hpp" static int address = 0; void eeprom::jump(int loc) { address = loc; } inline size_t proc_len(size_t len) { if(address + len >= sizeof(MIDI)) { return sizeof(MIDI) - address; } else { return len; } } void eeprom::read(void* data, size_t len) { char* bytes = (char*)data; len = proc_len(len); memcpy_P(data, &MIDI[address], len); address += len; } void eeprom::write(const void* data, size_t len) { const char* bytes = (const char*)data; len = proc_len(len); address += len; }