-
|
Hi, in my project I have thousands of SysEx arrays like these: const byte arpUPup[18] PROGMEM = {0xf0, 0x42, 0x30, 0x00, 0x01, 0x49, 0x41, 0x02, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf7}; And I read them this way: case 287: // Everything works fine, as expected, the arrays remain in the program memory, freeing up the ram, but with so many arrays the flash memory also fills up quickly. I am using serial tx as the MIDI output of an Arduino AVR. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 5 replies
-
|
If there's a clear pattern in your SysEx messages, could you try reconstructing them programmatically from a template that contains the common bytes and placeholder empty bytes where things change ? Example: const byte arp0000[18] PROGMEM = {
// Constant header
0xf0, 0x42, 0x30, 0x00, 0x01, 0x49, 0x41, 0x02, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, // Placeholder byte here
// Constant footer
0xf7
}; |
Beta Was this translation helpful? Give feedback.
If there's a clear pattern in your SysEx messages, could you try reconstructing them programmatically from a template that contains the common bytes and placeholder empty bytes where things change ?
Example: