Physically the log is located in 512kb I2C controlled EEPROM, and the logging mechanism using 16 bytes for every event. This makes together maximum number of 4096 log messages stored. Any call to log message function pushes the message to FIFO along with actual time stamp. Then there is a logger thread that takes care about the EEPROM circular buffer, and also about the SMS. Every message can be send as SMS to appropriate group of people.
The message itself looks like this:
As you can deduce the "15 02 18" is date, "10 41 45" is time, next is the status of SMS function:
- "." requested, failed
- "," not requested, failed
- ";" not requested, acknowledged
- "|" not connected
- ":" sent
Logger thread also pushes all messages into following MQTT topics:
I'm planning to create on/off button for MQTT push.