Memory Consumption - MobiFlight/MobiFlight-Connector GitHub Wiki
Device Buffer, usage per device
The following table lists the required bytes from the device buffer for each device.
Fast IO AVR | Normal IO AVR | Pico | |
---|---|---|---|
analog device | 29 byte | 29 byte | 40 byte |
button | 6 byte | 4 byte | 8 byte |
digital input MUX | 9 byte | 6 byte | 8 byte |
encoder | 35 byte | 31 byte | 29 byte |
input shifter | 17 byte | 11 byte | 16 byte |
lcdDisplay | 18 byte | 18 byte | 24 byte |
output | 2 byte | 2 byte | 2 byte |
Output Shifter | 15 byte | 9 byte | 9 byte |
Led Segment | (28) byte | 25 byte | 36 byte |
Servos | 23 byte | 23 byte | 64 byte |
Stepper | 14 byte | 14 byte | 100 byte |
required bytes for LED Segment with Fast IO might be wrong, must be checked again
Memory consumption per Board
FastIO is not implemented yet and it has to be decided if this will be implemented. The requried memory consumption for this is listed to get a decision.
Mega:
NormalIO
RAM: [====== ] 55.3% (used 4528 bytes from 8192 bytes)
Flash: [= ] 10.8% (used 27534 bytes from 253952 bytes)
-> 226.418 bytes left
FastIO
RAM: [====== ] 55.4% (used 4540 bytes from 8192 bytes)
Flash: [= ] 11.2% (used 28354 bytes from 253952 bytes)
-> 225.598 bytes left
Device Buffer 1496 byte
Name Buffer with 1000 byte can be freed up
Bytes which are requested from the device buffer
Device | FastIO | NormalIO |
---|---|---|
40 Outputs: | 80 byte | 80 byte |
68 Buttons: | 408 byte | 272 byte |
4 LEDSegment: | 112 byte | 88 byte |
20 Encoder: | 700 byte | 620 byte |
10 Stepper: | 140 byte | 140 byte |
10 Servos: | 230 byte | 230 byte |
2 LCD: | 36 byte | 36 byte |
16 AnalogIn: | 464 byte | 464 byte |
4 OutputShifter: | 60 byte | 36 byte |
4 InputShifter: | 68 byte | 44 byte |
4 MUX: | 36 byte | 24 byte |
Micro:
NormalIO
RAM: [======== ] 76.6% (used 1960 bytes from 2560 bytes)
Flash: [==========] 97.4% (used 27916 bytes from 28672 bytes)
-> 756 bytes left
FastIO
RAM: [======== ] 77.0% (used 1972 bytes from 2560 bytes)
Flash: [==========] 100.2% (used 28718 bytes from 28672 bytes)
-> exceeds Flash!!! Further measures to decrease the flash would be required. On the other hand it is very likely that encoders on multiplexers will also not fit into the memory, therefore a FastIO is not really required.
Device Buffer 440 byte
Name Buffer with 350 byte can be freed up
Bytes which are requested from the device buffer
Device | FastIO | NormalIO |
---|---|---|
18 Outputs: | 36 byte | 36 byte |
18 Buttons: | 108 byte | 72 byte |
1 LEDSegment: | 28 byte | 22 byte |
9 Encoder: | 315 byte | 279 byte |
3 Stepper: | 42 byte | 32 byte |
3 Servos: | 69 byte | 69 byte |
2 LCD: | 36 byte | 36 byte |
5 AnalogIn: | 145 byte | 145 byte |
2 OutputShifter: | 30 byte | 18 byte |
2 InputShifter: | 34 byte | 22 byte |
3 MUX: | 27 byte | 18 byte |
Uno/Nano:
NormalIO
RAM: [========= ] 86.6% (used 1773 bytes from 2048 bytes)
Flash: [======== ] 83.3% (used 25598 bytes from 30720 bytes)
-> 5.122 bytes left
FastIO
RAM: [========= ] 87.2% (used 1785 bytes from 2048 bytes)
Flash: [========= ] 86.0% (used 26418 bytes from 30720 bytes)
-> 4.302 bytes left
Device Buffer 286 byte
Name Buffer with 220 byte can be freed up
Bytes which are requested from the device buffer
Device | FastIO | NormalIO |
---|---|---|
18 Outputs: | 36 byte | 36 byte |
18 Buttons: | 108 byte | 72 byte |
1 LEDSegment: | 22 byte | 22 byte |
9 Encoder: | !!!315 byte | 279 byte |
2 Stepper: | 28 byte | 28 byte |
2 Servos: | 46 byte | 46 byte |
2 LCD: | 36 byte | 36 byte |
6 AnalogIn: | 174 byte | 174 byte |
2 OutputShifter: | 30 byte | 18 byte |
2 InputShifter: | 34 byte | 22 byte |
3 MUX: | 27 byte | 18 byte |
Pico:
NormalIO
RAM: [= ] 7.1% (used 18504 bytes from 262144 bytes)
Flash: [ ] 3.6% (used 74892 bytes from 2093056 bytes)
-> 2.018.164 bytes left
FastIO
RAM: [= ] 7.1% (used 18536 bytes from 262144 bytes)
Flash: [ ] 3.6% (used 75220 bytes from 2093056 bytes)
-> 2.017.836 bytes left
Device Buffer 1496 byte
Name Buffer with 1000 byte can be freed up
Bytes which are requested from the device buffer
Device | FastIO | NormalIO |
---|---|---|
26 Outputs: | 52 byte | 52 byte |
26 Buttons: | 156 byte | 104 byte |
4 LEDSegment: | 112 byte | 88 byte |
8 Encoder: | 280 byte | 248 byte |
6 Stepper: | 84 byte | 84 byte |
8 Servos: | 184 byte | 184 byte |
2 LCD: | 36 byte | 36 byte |
3 AnalogIn: | 87 byte | 87 byte |
4 OutputShifter: | 60 byte | 36 byte |
4 InputShifter: | 68 byte | 44 byte |
4 MUX: | 36 byte | 24 byte |