- Real-time clock (RTC) and calendar: all modules now have RTC and calendar logic using MCU RTC and the external oscillator (HSE). You can set time and date and read it back via APIs and CLI Commands. The internal RTC will hold out time as long as the module is powered. Initial (default) time/date is set to firmware compile time/date. You need to configure the RTC only once as long as the module is powered (i.e., no need to reconfigure if you do hard/soft reset). However, a power-on reset will clear the clock and date back to default value.
- Pulse-width modulation (PWM) in the H09R00 module: PWM functionality is added to control the SSR. All you need is to define the duty cycle as a percentage from 0 to 100%. Default PWM frequency is set to 20KHz. PWM is available via an API, a Message and a CLI Command.
- New CLI Commands have been added to H05R00 module to create a new log, delete log, start/stop/pause/resume logs and add a logged variable.
- New Messages have been added to H09R00 module to perform various actions remotely (on, off, toggle, PWM).
- Added two new button events (PRESSED, RELEASED). These events are always defined, and they have their own callbacks, but they always reset on the next RTOS tick.
- Moved a bunch of extra files from User folder into Module and BOS folders to increase code portability. User folder now has only main.c, project.h and project topology header file.
- Moved system clock configuration function from main.c to BOS.c to increase portability. Now, main.c is 100% portable and should not need to be updated.
- Cleared UART state in error callback.
- Fixed Messages with 13-byte length (again!).
- Fixed reading button state by other tasks (particularly log task) before it’s reset.
- Fixed UART errors caused by initial check for a factory reset or baud rate change action.
- Fixed a bug preventing the CLI from reading decimal numbers.