debug modbus slave

This commit is contained in:
wmano
2025-09-10 23:03:11 +08:00
parent 7b764c34b9
commit 485e535c4d
28 changed files with 507 additions and 449 deletions
+12 -41
View File
@@ -13,13 +13,6 @@
#include <rtdbg.h>
struct chrg_tty_t chrgtty[TOTAL_TTY] = {
[IDX_TTY_RS485] = {
.dev = RT_NULL,
.name = DEV_NAME_RS485,
.index = IDX_TTY_RS485,
.baudrate = BAUD_RATE_115200,
.rb = RT_NULL,
},
[IDX_TTY_LCD] = {
.dev = RT_NULL,
.name = DEV_NAME_LCD,
@@ -43,33 +36,16 @@ struct chrg_tty_t chrgtty[TOTAL_TTY] = {
}
};
static rt_err_t chrg_rs485_tty_input (rt_device_t dev, rt_size_t size)
{
rt_err_t ret;
struct chrg_tty_t *pTTY = &chrgtty[IDX_TTY_RS485];
if ((RT_NULL != dev) && (RT_NULL != pTTY->mq) && (size > 0)) {
pTTY->msg_mq.dev = dev;
pTTY->msg_mq.size = size;
ret = rt_mq_send(pTTY->mq, &pTTY->msg_mq, sizeof(struct mq_msg_t));
if (RT_EOK != ret) {
LOG_E("send mq '%s' failed.", pTTY->name);
}
}
return ret;
}
static rt_err_t chrg_lcd_tty_input (rt_device_t dev, rt_size_t size)
{
rt_err_t ret;
struct chrg_tty_t *pTTY = &chrgtty[IDX_TTY_LCD];
struct mq_msg_t msg;
if ((RT_NULL != dev) && (RT_NULL != pTTY->mq) && (size > 0)) {
pTTY->msg_mq.dev = dev;
pTTY->msg_mq.size = size;
ret = rt_mq_send(pTTY->mq, &pTTY->msg_mq, sizeof(struct mq_msg_t));
msg.dev = dev;
msg.size = size;
ret = rt_mq_send(pTTY->mq, &msg, sizeof(struct mq_msg_t));
if (RT_EOK != ret) {
LOG_E("send mq '%s' failed.", pTTY->name);
}
@@ -82,11 +58,12 @@ static rt_err_t chrg_north_tty_input (rt_device_t dev, rt_size_t size)
{
rt_err_t ret;
struct chrg_tty_t *pTTY = &chrgtty[IDX_TTY_NORTH];
struct mq_msg_t msg;
if ((RT_NULL != dev) && (RT_NULL != pTTY->mq) && (size > 0)) {
pTTY->msg_mq.dev = dev;
pTTY->msg_mq.size = size;
ret = rt_mq_send(pTTY->mq, &pTTY->msg_mq, sizeof(struct mq_msg_t));
msg.dev = dev;
msg.size = size;
ret = rt_mq_send(pTTY->mq, &msg, sizeof(struct mq_msg_t));
if (RT_EOK != ret) {
LOG_E("send mq '%s' failed.", pTTY->name);
}
@@ -99,11 +76,12 @@ static rt_err_t chrg_south_tty_input (rt_device_t dev, rt_size_t size)
{
rt_err_t ret;
struct chrg_tty_t *pTTY = &chrgtty[IDX_TTY_SOUTH];
struct mq_msg_t msg;
if ((RT_NULL != dev) && (RT_NULL != pTTY->mq) && (size > 0)) {
pTTY->msg_mq.dev = dev;
pTTY->msg_mq.size = size;
ret = rt_mq_send(pTTY->mq, &pTTY->msg_mq, sizeof(struct mq_msg_t));
msg.dev = dev;
msg.size = size;
ret = rt_mq_send(pTTY->mq, &msg, sizeof(struct mq_msg_t));
if (RT_EOK != ret) {
LOG_E("send mq '%s' failed.", pTTY->name);
}
@@ -150,9 +128,6 @@ rt_err_t chrg_tty_open (struct chrg_tty_t *pTTY)
}
switch (pTTY->index) {
case IDX_TTY_RS485:
rt_device_set_rx_indicate(pTTY->dev, chrg_rs485_tty_input);
break;
case IDX_TTY_LCD:
rt_device_set_rx_indicate(pTTY->dev, chrg_lcd_tty_input);
break;
@@ -181,10 +156,6 @@ static int chrg_tty_init (void)
int i = 0;
for (i = 0; i < TOTAL_TTY; i++) {
if (IDX_TTY_RS485 == i) {
continue;
}
pTTY = &chrgtty[i];
chrg_tty_open(pTTY);
}