Replies: 1 comment 4 replies
-
Sorry, I just saw this discussion here, wasn't aware ofit before. I am not sure if I understood point 4) correct. In the actual FW the config buffer is still required, as it stores all names of the devices. To get the names from the configbuffer all delimiters ('.' ';' ...) are replaced by NULL. So you can't transfer this configbuffer back to the UI. That was the reason to read from the EEPROM directly. I also think that the configbuffer is not necessary anymore. Not only to save the required RAM but also to use the complete EEPROM for the configuration. To achieve this the configuration must directly written to the EEPROM, the function readConfig() must be modified just to read the pin numbers from the EEPROM and the handlers send only the pin numbers w/o the name. I have a already a fork where I am on the "half" way, writing direct to the EEPROM, reading the config from the EEPROM and just assigning the names to the configBuffer (which could be just deleted in the future). Using the complete EEPROM size would espacially for the Mega dramatically increase the available size for the config and would enable to name much more inputs/outputs (shifters ;) ). But it can be also seen that there is a limitation for the ProMicro/Uno in the numbers of devices or if a device should be supported. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I'm considering whether that the entire config buffer in RAM might be eventually disposed of, once config transfer operations are over, and reused to accommodate working variables (with a substantial gain in available RAM).
An overview of what happens currently in configuration management may be useful (please correct me if I got anything wrong).
At boot:
configBuffer
(all in "verbose" form)configBuffer
.Notice that
configBuffer
is then - with the exception of some user-defined names, where used - no longer required for operation.If the PC requires the config to be read back:
(and even though I think this is the preferrable way, I wondered why not read it from
configBuffer
, since it always remains there)If a config upload is requested from the PC:
configBuffer
configBuffer
)According to the above procedures (and with the noted exceptions), the buffer is basically only necessary to contain the received config data before they are saved to EEPROM;
during boot (or after a configuration upload), data are read from the buffer, but they might just as well be read from the EEPROM directly, just as it happens when they must be sent back to the PC.
There seem to be only two obstacles in the way:
I have a question about this point: is this just a possibility, or is it desired feature? Is it ever really exploited?
Beta Was this translation helpful? Give feedback.
All reactions