11#ifndef MODBUS_SLICER_H
12#define MODBUS_SLICER_H
51 int64_t (*get_time_us_func) (void);
100 const uint8_t *data_ptr,
102 int64_t timestamp_us);
void modbus_slicer_check_timeout(modbus_slicer_t *slicer_ptr)
Check for frame timeout.
Definition modbus_slicer.c:118
void modbus_slicer_feed(modbus_slicer_t *slicer_ptr, const uint8_t *data_ptr, size_t length, int64_t timestamp_us)
Feed data to slicer state-machine.
Definition modbus_slicer.c:34
modbus_slicer_state_t
Modbus slicer state enum.
Definition modbus_slicer.h:31
@ MODBUS_SLICER_STATE_RECEIVING
Definition modbus_slicer.h:33
@ MODBUS_SLICER_STATE_IDLE
Definition modbus_slicer.h:32
void modbus_slicer_init(modbus_slicer_t *slicer_ptr, modbus_slicer_config_t *config_ptr)
Initialize slicer.
Definition modbus_slicer.c:24
void modbus_slicer_timeout(modbus_slicer_t *slicer_ptr)
Signal frame timeout.
Definition modbus_slicer.c:96
modbus_slicer_error_t
Modbus slicer error enum.
Definition modbus_slicer.h:21
@ MODBUS_SLICER_ERROR_CRC
Definition modbus_slicer.h:23
@ MODBUS_SLICER_ERROR_OVERFLOW
Definition modbus_slicer.h:24
@ MODBUS_SLICER_OK
Definition modbus_slicer.h:22
@ MODBUS_SLICER_ERROR_NO_MEM
Definition modbus_slicer.h:25
Memory slab provide abstraction layer for memory chunks.
Modbus slicer configuration structure.
Definition modbus_slicer.h:48
void * cb_arg_void_ptr
Definition modbus_slicer.h:53
uint8_t bit_length
Definition modbus_slicer.h:50
uint32_t baudrate
Definition modbus_slicer.h:49
Modbus slicer frame structure.
Definition modbus_slicer.h:39
int64_t timestamp_us
Definition modbus_slicer.h:41
slab_pool_t * slab_ptr
Definition modbus_slicer.h:40
modbus_slicer_error_t error
Definition modbus_slicer.h:42
Modbus slicer type structure.
Definition modbus_slicer.h:59
slab_pool_t * slab_ptr
Definition modbus_slicer.h:61
int64_t start_timestamp_us
Definition modbus_slicer.h:62
int64_t t3_5_us
Definition modbus_slicer.h:64
modbus_slicer_config_t * config_ptr
Definition modbus_slicer.h:60
int64_t last_byte_timestamp_us
Definition modbus_slicer.h:63
Slab pool type structure.
Definition slab_pool.h:30