|
Modbus Vault v1.0
|
Implementation of the modbus analyzer. More...
#include "modbus_analyzer.h"#include "debug_pins.h"#include "esp_log.h"#include "esp_timer.h"#include "event_bus.h"#include "metrics.h"#include "modbus_parser.h"#include "runtime_tasks.h"Macros | |
| #define | MODBUS_ANALYZER_EVENTS_QUEUE_SIZE (20U) |
Functions | |
| static void | modbus_analyzer_task (void *parameters_void_ptr) |
| Analyzer task. | |
| static void | modbus_analyzer_stop_task (void) |
| Stop modbus analyzer task. | |
| static void | emit_modbus_frame_callback (const modbus_slicer_frame_t *frame_ptr, void *arg_void_ptr) |
| Callback on-frame-ready from slicer. | |
| static void | on_rs485_driver_event_callback (void *arg_void_ptr, const rs485_driver_event_t *event_ptr) |
| Callback for rs485 driver to queue events. | |
| esp_err_t | modbus_analyzer_init (modbus_analyzer_t *analyzer_ptr, modbus_analyzer_config_t *config_ptr) |
| Initialize Modbus analyzer. | |
| void | modbus_analyzer_deinit (modbus_analyzer_t *analyzer_ptr) |
| Deinitialize Modbus analyzer. | |
Variables | |
| static const char * | TAG = "MODBUS_ANALYZER" |
| static TaskHandle_t | modbus_analyzer_task_handle |
| runtime_task_config_t | modbus_analyzer_task_config |
Implementation of the modbus analyzer.
| #define MODBUS_ANALYZER_EVENTS_QUEUE_SIZE (20U) |
Task queue size
|
static |
Callback on-frame-ready from slicer.
Emit system event with type depends whether there was an error or data-frame
| frame_ptr | Pointer to modbus frame |
| arg_void_ptr | Void pointer to argument |
| void modbus_analyzer_deinit | ( | modbus_analyzer_t * | analyzer_ptr | ) |
Deinitialize Modbus analyzer.
| analyzer_ptr | Pointer to analyzer instance |
| esp_err_t modbus_analyzer_init | ( | modbus_analyzer_t * | analyzer_ptr, |
| modbus_analyzer_config_t * | config_ptr | ||
| ) |
Initialize Modbus analyzer.
Initialize Modbus analyzer by initializing a slicer instance
| analyzer_ptr | Pointer to analyzer instance |
| config_ptr | Pointer to analyzer configuration instance |
| ESP_OK | Initialize success |
| ESP_ERR_INVALID_ARG | Provided invalid argument(s) |
< Task queue size
|
static |
Analyzer task.
Receive bytes from RS485 driver, checks for RS485 driver errors then feeds them to slicer if there was data
| parameters_void_ptr | Void pointer to task parameters |
|
static |
Callback for rs485 driver to queue events.
| arg_void_ptr | Void pointer to modbus analyzer type structure |
| event_ptr | Pointer to rs485 driver event |
| runtime_task_config_t modbus_analyzer_task_config |
Modbus analyzer task configuration structure
|
static |
Modbus analyzer task handle
|
static |
Modbus analyzer TAG name