Add ConfigParser class and implement config loading
What does this MR do and why?
Configuration System and Error Handling Improvements
This update adds a new configuration system that allows users to customize the application through a config file instead of hardcoding settings. The ConfigurationParser class implements a singleton pattern to manage application settings like collection intervals and which sensors to enable. The code now gracefully handles errors when sensors (particularly Arduino) aren't available by using simulated values instead of crashing. The MetricsCollector was enhanced to support configurable collection intervals, and logging was improved to provide better visibility into command execution. These changes make the application more flexible, robust, and user-friendly by allowing customization without code changes and preventing crashes when hardware is unavailable.
References
Screenshots or screen recordings
| Before | After |
|---|---|
How to set up and validate locally
MR acceptance checklist
-
Styleguide -
Tests -
Documentation