55 lines
1.2 KiB
C
55 lines
1.2 KiB
C
#ifndef JLV135_CLI_MODBUS_CONFIG_H
|
|
#define JLV135_CLI_MODBUS_CONFIG_H
|
|
|
|
#include <stdbool.h>
|
|
#include <stddef.h>
|
|
#include <stdint.h>
|
|
|
|
typedef struct jl_version
|
|
{
|
|
uint16_t major;
|
|
uint16_t minor;
|
|
uint16_t path;
|
|
} jl_version_t;
|
|
|
|
typedef struct jl_modbus_tcp_port
|
|
{
|
|
uint32_t addr;
|
|
uint16_t port;
|
|
uint16_t repeate;
|
|
uint16_t timeout;
|
|
} jl_modbus_tcp_port_t;
|
|
|
|
static const uint32_t jl_modbus_rs485_baud_rates[] = {9600, 19200, 38400, 57600, 115200};
|
|
|
|
typedef struct jl_modbus_rs485_port
|
|
{
|
|
uint16_t speed;
|
|
uint16_t prop_p;
|
|
uint16_t prop_s;
|
|
uint16_t repeate;
|
|
uint16_t timeout;
|
|
} jl_modbus_rs485_port_t;
|
|
|
|
typedef struct jl_modbus_config
|
|
{
|
|
uint16_t num_port;
|
|
uint16_t addr;
|
|
uint16_t tcycle;
|
|
jl_modbus_rs485_port_t port_rtu;
|
|
jl_modbus_tcp_port_t port_tcp;
|
|
} jl_modbus_config_t;
|
|
|
|
// -------------------------- Методы -------------------------- //
|
|
|
|
bool
|
|
jl_modbus_rs485_baud_rate_is_index_valid(size_t index);
|
|
|
|
uint32_t
|
|
jl_modbus_rs485_baud_rate_get_baud_by_index(size_t index);
|
|
|
|
int32_t
|
|
jl_modbus_rs485_baud_rate_get_index_by_baud(uint32_t baud);
|
|
|
|
#endif // JLV135_CLI_MODBUS_CONFIG_H
|