New features
- Added an important BOS feature for reading and writing data from other modules. A couple of easy-to-use APIs provide now an extensive and precise reach to any remote module via:
* Read any Flash memory location or RAM memory location in any remote module with the following formats: BOOL, UINT8, INT8, UINT16, INT16, UINT32, INT32, FLOAT.
* Read any “BOS variable” using any of the previous formats. These are general RAM variables that can be used and defined for data exchange between modules without explicitly using their address. There are 20 BOS in each module, so you can simply use virtual addresses from 1 to 20.
* Write to any Flash memory location or RAM memory location in any remote module with the following formats: BOOL, UINT8, INT8, UINT16, INT16, UINT32, INT32, FLOAT.
* Write also to any of the 20 BOS variables using any of the previous formats.
Improvements
- Handle Messages automatically with length of 13 by padding parameters with one zero byte.
- Some simple optimizations to reduce RAM use by 1.5K.
- Optimized logging code bit to improve speed and reduce load.
- Defer resetting button state until it’s logged by the logger if needed.
Bug fixes
- Fixed CLI remote messaging (i.e., CLI Commands for remote modules).
- Made logging rate more accurate.
- Logged the normal state of a button in rate mode.
- Fixed some logging header problems (p.s. starting multiple logs at the same time is still broken).