diff --git a/apps/chrg/.config b/apps/chrg/.config index 40e44b7..6afcae4 100644 --- a/apps/chrg/.config +++ b/apps/chrg/.config @@ -268,9 +268,7 @@ CONFIG_RT_USING_I2C_BITOPS=y # CONFIG_RT_USING_MTD_NOR is not set # CONFIG_RT_USING_MTD_NAND is not set # CONFIG_RT_USING_PM is not set -CONFIG_RT_USING_RTC=y -# CONFIG_RT_USING_ALARM is not set -# CONFIG_RT_USING_SOFT_RTC is not set +# CONFIG_RT_USING_RTC is not set # CONFIG_RT_USING_SDIO is not set # CONFIG_RT_USING_SPI is not set CONFIG_RT_USING_WDT=y @@ -392,32 +390,31 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0 # CONFIG_PKG_USING_WEBTERMINAL is not set CONFIG_PKG_USING_FREEMODBUS=y CONFIG_PKG_FREEMODBUS_PATH="/packages/iot/freemodbus" -CONFIG_PKG_MODBUS_MASTER=y +# CONFIG_PKG_MODBUS_MASTER is not set +CONFIG_PKG_MODBUS_SLAVE=y # # advanced configuration # -CONFIG_RT_M_DISCRETE_INPUT_START=0 -CONFIG_RT_M_DISCRETE_INPUT_NDISCRETES=16 -CONFIG_RT_M_COIL_START=0 -CONFIG_RT_M_COIL_NCOILS=64 -CONFIG_RT_M_REG_INPUT_START=0 -CONFIG_RT_M_REG_INPUT_NREGS=100 -CONFIG_RT_M_REG_HOLDING_START=0 -CONFIG_RT_M_REG_HOLDING_NREGS=100 -CONFIG_RT_M_HD_RESERVE=0 -CONFIG_RT_M_IN_RESERVE=0 -CONFIG_RT_M_CO_RESERVE=0 -CONFIG_RT_M_DI_RESERVE=0 +CONFIG_RT_S_DISCRETE_INPUT_START=0 +CONFIG_RT_S_DISCRETE_INPUT_NDISCRETES=16 +CONFIG_RT_S_COIL_START=0 +CONFIG_RT_S_COIL_NCOILS=64 +CONFIG_RT_S_REG_INPUT_START=0 +CONFIG_RT_S_REG_INPUT_NREGS=100 +CONFIG_RT_S_REG_HOLDING_START=0 +CONFIG_RT_S_REG_HOLDING_NREGS=100 +CONFIG_RT_S_HD_RESERVE=0 +CONFIG_RT_S_IN_RESERVE=0 +CONFIG_RT_S_CO_RESERVE=0 +CONFIG_RT_S_DI_RESERVE=0 # end of advanced configuration -CONFIG_PKG_MODBUS_MASTER_RTU=y -# CONFIG_RT_MODBUS_MASTER_USE_CONTROL_PIN is not set -CONFIG_PKG_MODBUS_MASTER_SAMPLE=y -CONFIG_MB_SAMPLE_TEST_SLAVE_ADDR=1 -CONFIG_MB_MASTER_USING_PORT_NUM=1 -CONFIG_MB_MASTER_USING_PORT_BAUDRATE=115200 -# CONFIG_PKG_MODBUS_SLAVE is not set +CONFIG_PKG_MODBUS_SLAVE_RTU=y +# CONFIG_PKG_MODBUS_SLAVE_ASCII is not set +# CONFIG_PKG_MODBUS_SLAVE_TCP is not set +# CONFIG_RT_MODBUS_SLAVE_USE_CONTROL_PIN is not set +# CONFIG_PKG_MODBUS_SLAVE_SAMPLE is not set # CONFIG_PKG_USING_FREEMODBUS_V160 is not set CONFIG_PKG_USING_FREEMODBUS_LATEST_VERSION=y CONFIG_PKG_FREEMODBUS_VER="latest" @@ -1482,9 +1479,7 @@ CONFIG_BSP_USING_I2C4=y CONFIG_BSP_USING_CAN=y CONFIG_BSP_USING_CAN1=y # CONFIG_BSP_USING_ADC is not set -CONFIG_BSP_USING_ONCHIP_RTC=y -CONFIG_BSP_RTC_USING_LSE=y -# CONFIG_BSP_RTC_USING_LSI is not set +# CONFIG_BSP_USING_ONCHIP_RTC is not set CONFIG_BSP_USING_WDT=y # CONFIG_BSP_USING_USBD is not set # CONFIG_BSP_USING_USBH is not set diff --git a/apps/chrg/applications/bsp/chrg_tty.c b/apps/chrg/applications/bsp/chrg_tty.c index 241cc8e..357fb24 100644 --- a/apps/chrg/applications/bsp/chrg_tty.c +++ b/apps/chrg/applications/bsp/chrg_tty.c @@ -13,13 +13,6 @@ #include 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); } diff --git a/apps/chrg/applications/bsp/chrg_tty.h b/apps/chrg/applications/bsp/chrg_tty.h index 87ee559..c666688 100644 --- a/apps/chrg/applications/bsp/chrg_tty.h +++ b/apps/chrg/applications/bsp/chrg_tty.h @@ -4,7 +4,6 @@ #include #include -#define DEV_NAME_RS485 "uart1" #define DEV_NAME_LCD "uart2" #define DEV_NAME_NORTH "uart3" #define DEV_NAME_SOUTH "uart6" @@ -12,10 +11,9 @@ #define SIZE_BUF_UART 128 typedef enum { - IDX_TTY_RS485 = 0, // 0 - IDX_TTY_LCD, // 1 - IDX_TTY_NORTH, // 2 - IDX_TTY_SOUTH, // 3 + IDX_TTY_LCD = 0, // 0 + IDX_TTY_NORTH, // 1 + IDX_TTY_SOUTH, // 2 TOTAL_TTY } eIDX_TTY; @@ -33,7 +31,6 @@ struct chrg_tty_t { eIDX_TTY index; rt_mq_t mq; - struct mq_msg_t msg_mq; struct rt_ringbuffer *rb; struct rt_semaphore sem_rx; diff --git a/apps/chrg/applications/thread/chrg_comm.c b/apps/chrg/applications/thread/chrg_comm.c index 590da25..7ff1f1b 100644 --- a/apps/chrg/applications/thread/chrg_comm.c +++ b/apps/chrg/applications/thread/chrg_comm.c @@ -1,7 +1,92 @@ +#include + +#include "mb.h" #include "chrg_comm.h" +#define LOG_TAG "chrg.comm" +#define DBG_LEVEL DBG_LOG +#include +extern rt_uint16_t usSRegHoldBuf[RT_S_REG_HOLDING_NREGS]; + +struct chrg_comm_t chrgcomm = { + .tid_poll = RT_NULL, + .tid_send = RT_NULL, + .name_poll = THR_NAME_POLL, + .name_send = THR_NAME_SEND, + .addr = MODBUS_ADDRESS_DEFAULT, + +}; + +static void chrg_comm_send (void *pdata) +{ + struct chrg_comm_t *pCOMM = (struct chrg_comm_t *)pdata; + if (RT_NULL == pCOMM) { + LOG_E("send null."); + return ; + } + + rt_uint16_t *usRegHoldingBuf; + usRegHoldingBuf = usSRegHoldBuf; + rt_base_t level; + + while (1) { + level = rt_hw_interrupt_disable(); + usRegHoldingBuf[3] = (rt_uint16_t)(rt_tick_get() / 100); + rt_hw_interrupt_enable(level); + + rt_thread_mdelay(1000); + } + +} + +static void chrg_comm_poll (void *pdata) +{ + struct chrg_comm_t *pCOMM = (struct chrg_comm_t *)pdata; + if (RT_NULL == pCOMM) { + LOG_E("poll null."); + return ; + } + + eMBInit(MB_RTU, pCOMM->addr, 1, 115200, MB_PAR_EVEN); + + eMBEnable(); + + while (1) { + eMBPoll(); + rt_thread_mdelay(200); + } + +} + +static int chrg_comm_init (void) +{ + struct chrg_comm_t *pCOMM = &chrgcomm; + + pCOMM->tid_poll = rt_thread_create(pCOMM->name_poll, chrg_comm_poll, + pCOMM, 1024, RT_MAIN_THREAD_PRIORITY-1, 10); + if (RT_NULL != pCOMM->tid_poll) { + rt_thread_startup(pCOMM->tid_poll); + } else { + LOG_E("create thread '%s' failed.", pCOMM->name_poll); + return -1; + } + + pCOMM->tid_send = rt_thread_create(pCOMM->name_send, chrg_comm_send, + pCOMM, 1024, RT_MAIN_THREAD_PRIORITY-2, 10); + if (RT_NULL != pCOMM->tid_send) { + rt_thread_startup(pCOMM->tid_send); + } else { + LOG_E("create thread '%s' failed.", pCOMM->name_send); + return -1; + } + + return 0; +} + + +INIT_APP_EXPORT(chrg_comm_init); diff --git a/apps/chrg/applications/thread/chrg_comm.h b/apps/chrg/applications/thread/chrg_comm.h index 92f8e78..6b12a34 100644 --- a/apps/chrg/applications/thread/chrg_comm.h +++ b/apps/chrg/applications/thread/chrg_comm.h @@ -1,9 +1,26 @@ #ifndef __CHRG_COMM_H__ #define __CHRG_COMM_H__ +#define THR_NAME_POLL "thr.poll" +#define THR_NAME_SEND "thr.send" +#define MODBUS_ADDRESS_DEFAULT 0x01 + +struct chrg_comm_t { + rt_thread_t tid_poll; + rt_thread_t tid_send; + + const char *name_poll; + const char *name_send; + + rt_uint8_t addr; // slave address +}; + +extern struct chrg_comm_t chrgcomm; #endif + + diff --git a/apps/chrg/applications/thread/chrg_north.c b/apps/chrg/applications/thread/chrg_north.c index 61afa2e..5446469 100644 --- a/apps/chrg/applications/thread/chrg_north.c +++ b/apps/chrg/applications/thread/chrg_north.c @@ -40,23 +40,23 @@ static void chrg_north_thread_entry (void *data) rt_uint8_t crc8 = 0; rt_size_t len_mq = 0, len_get = 0, len_msg = 0; struct chrg_tty_t *pTTY = pNOR->tty; - struct mq_msg_t *pMQ = &pTTY->msg_mq; + struct mq_msg_t msg; while (1) { - rt_memset(pMQ, 0, sizeof(struct mq_msg_t)); - len_mq = rt_mq_recv(pTTY->mq, pMQ, sizeof(struct mq_msg_t), RT_WAITING_FOREVER); + rt_memset(&msg, 0, sizeof(struct mq_msg_t)); + len_mq = rt_mq_recv(pTTY->mq, &msg, sizeof(struct mq_msg_t), RT_WAITING_FOREVER); if (len_mq <= 0) { continue; } - len_get = rt_device_read(pMQ->dev, 0, &pNOR->rx_buf[0], 1); + len_get = rt_device_read(msg.dev, 0, &pNOR->rx_buf[0], 1); if (1 != len_get) { continue; } pNOR->rx_len = 1; - len_msg = rt_device_read(pMQ->dev, 0, &pNOR->rx_buf[1], len_get-1); + len_msg = rt_device_read(msg.dev, 0, &pNOR->rx_buf[1], len_get-1); if (len_msg <= 0) { continue; } diff --git a/apps/chrg/applications/thread/chrg_south.c b/apps/chrg/applications/thread/chrg_south.c index 5cef180..7960a9d 100644 --- a/apps/chrg/applications/thread/chrg_south.c +++ b/apps/chrg/applications/thread/chrg_south.c @@ -16,6 +16,18 @@ struct chrg_south_t chrgsouth = { .rx_len = 0, }; +int chrg_south_send (rt_uint8_t *data, rt_size_t length) +{ + rt_ssize_t ret = -1; + struct chrg_tty_t *pTTY = chrgsouth.tty; + + if ((RT_NULL != pTTY)&&(RT_NULL != pTTY->dev)) { + ret = rt_device_write(pTTY->dev, 0, data, length); + } + + return ret; +} + static void chrg_south_thread_entry (void *data) { struct chrg_south_t *pSOU = (struct chrg_south_t *)data; @@ -27,23 +39,23 @@ static void chrg_south_thread_entry (void *data) rt_uint8_t crc8 = 0; rt_size_t len_mq = 0, len_get = 0, len_msg = 0; struct chrg_tty_t *pTTY = pSOU->tty; - struct mq_msg_t *pMQ = &pTTY->msg_mq; + struct mq_msg_t msg; while (1) { - rt_memset(pMQ, 0, sizeof(struct mq_msg_t)); - len_mq = rt_mq_recv(pTTY->mq, pMQ, sizeof(struct mq_msg_t), RT_WAITING_FOREVER); + rt_memset(&msg, 0, sizeof(struct mq_msg_t)); + len_mq = rt_mq_recv(pTTY->mq, &msg, sizeof(struct mq_msg_t), RT_WAITING_FOREVER); if (len_mq <= 0) { continue; } - len_get = rt_device_read(pMQ->dev, 0, &pSOU->rx_buf[0], 1); + len_get = rt_device_read(msg.dev, 0, &pSOU->rx_buf[0], 1); if (1 != len_get) { continue; } pSOU->rx_len = 1; - len_msg = rt_device_read(pMQ->dev, 0, &pSOU->rx_buf[1], len_get-1); + len_msg = rt_device_read(msg.dev, 0, &pSOU->rx_buf[1], len_get-1); if (len_msg <= 0) { continue; } diff --git a/apps/chrg/applications/thread/chrg_south.h b/apps/chrg/applications/thread/chrg_south.h index 31d2178..d5db384 100644 --- a/apps/chrg/applications/thread/chrg_south.h +++ b/apps/chrg/applications/thread/chrg_south.h @@ -22,6 +22,8 @@ struct chrg_south_t { extern struct chrg_south_t chrgsouth; +extern int chrg_south_send (rt_uint8_t *data, rt_size_t length); + #endif diff --git a/apps/chrg/applications/utils/chrg_pkg.c b/apps/chrg/applications/utils/chrg_pkg.c index e1d59d5..87a0cb9 100644 --- a/apps/chrg/applications/utils/chrg_pkg.c +++ b/apps/chrg/applications/utils/chrg_pkg.c @@ -3,8 +3,21 @@ #include "chrg_pkg.h" -int chrg_pkg_encode (eIDX_ID id, rt_uint8_t cmd, rt_uint8_t *data) +int chrg_pkg_encode (eIDX_ID id, rt_uint8_t cmd, rt_uint8_t *data_in, + rt_uint8_t len_in, rt_uint8_t *data_out, rt_uint8_t *len_out) { + if ((RT_NULL == data_in)||(RT_NULL == data_out)||(0 == len_in)) { + return -1; + } + + data_out[0] = 5+len_in; + data_out[1] = 0x00; + data_out[2] = id; + data_out[3] = cmd; + memcpy(&data_out[4], data_in, len_in); + data_out[len_in+4] = calc_crc8(data_out, len_in+4); + + *len_out = 5+len_in; return 0; } @@ -16,4 +29,25 @@ int chrg_pkg_decode (eIDX_ID id, rt_uint8_t *data) return 0; } +int chrg_pkg_send (eIDX_TTY idx, rt_uint8_t *data, rt_uint16_t len) +{ + rt_ssize_t ret = -1; + struct chrg_tty_t *pTTY = RT_NULL; + + switch (idx) { + case IDX_TTY_NORTH: +// pTTY = chrgnorth.tty; + break; + case IDX_TTY_SOUTH: +// pTTY = chrgsouth.tty; + break; + } + + if ((RT_NULL != pTTY)&&(RT_NULL != pTTY->dev)) { + ret = rt_device_write(pTTY->dev, 0, data, len); + } + + return ret; +} + diff --git a/apps/chrg/applications/utils/chrg_pkg.h b/apps/chrg/applications/utils/chrg_pkg.h index 50eb619..23fe5ee 100644 --- a/apps/chrg/applications/utils/chrg_pkg.h +++ b/apps/chrg/applications/utils/chrg_pkg.h @@ -3,12 +3,16 @@ #include +#include "chrg_tty.h" #include "chrg_def.h" -extern int chrg_pkg_encode (eIDX_ID id, rt_uint8_t cmd, rt_uint8_t *data); +extern int chrg_pkg_encode (eIDX_ID id, rt_uint8_t cmd, rt_uint8_t *data_in, + rt_uint8_t len_in, rt_uint8_t *data_out, rt_uint8_t *len_out); extern int chrg_pkg_decode (eIDX_ID id, rt_uint8_t *data); +extern int chrg_pkg_send (eIDX_TTY idx, rt_uint8_t *data, rt_uint16_t len); + #endif diff --git a/apps/chrg/applications/utils/chrg_source.c b/apps/chrg/applications/utils/chrg_source.c index 6e378e1..9047f31 100644 --- a/apps/chrg/applications/utils/chrg_source.c +++ b/apps/chrg/applications/utils/chrg_source.c @@ -6,26 +6,20 @@ #include "chrg_utils.h" -void source_get_vc (rt_uint16_t vol, rt_uint16_t cur) +int source_get_vc (rt_uint16_t vol, rt_uint16_t cur) { rt_size_t len = 0; rt_uint8_t data[12] = {0}; + rt_uint8_t frame[16] = {0}; - data[0] = 0x0B; - data[1] = 0x00; - data[2] = ID_SOURCE; - data[3] = SRC_CMD_GET_VOLTAGE; + u16_to_u8v(vol, &data[0]); + u16_to_u8v(cur, &data[2]); + data[4] = 0x00; + data[5] = 0x00; - u16_to_u8v(vol, &data[4]); - u16_to_u8v(cur, &data[6]); + chrg_pkg_encode(ID_SOURCE, SRC_CMD_GET_VOLTAGE, data, 6, frame, &len); - data[8] = 0x00; - data[9] = 0x00; - data[10] = calc_crc8(data, 10); - - len = 0x0B; - - chrg_north_send(data, len); + return chrg_pkg_send(IDX_TTY_SOUTH, frame, len); } void source_get_pd (void) diff --git a/apps/chrg/board/linker_scripts/link.sct b/apps/chrg/board/linker_scripts/link.sct index a0309ab..8ef6362 100644 --- a/apps/chrg/board/linker_scripts/link.sct +++ b/apps/chrg/board/linker_scripts/link.sct @@ -2,8 +2,8 @@ ; *** Scatter-Loading Description File generated by uVision *** ; ************************************************************* -LR_IROM1 0x08010000 0x00040000 { ; load region size_region - ER_IROM1 0x08010000 0x00040000 { ; load address = execution address +LR_IROM1 0x08040000 0x00040000 { ; load region size_region + ER_IROM1 0x08040000 0x00040000 { ; load address = execution address *.o (RESET, +First) *(InRoot$$Sections) .ANY (+RO) diff --git a/apps/chrg/project.uvprojx b/apps/chrg/project.uvprojx index d1e2e0a..e8aef31 100644 --- a/apps/chrg/project.uvprojx +++ b/apps/chrg/project.uvprojx @@ -337,9 +337,9 @@ 0 - STM32F405xx, __CLK_TCK=RT_TICK_PER_SECOND, __STDC_LIMIT_MACROS, RT_USING_LIBC, USE_HAL_DRIVER, RT_USING_ARMLIBC, __RTTHREAD__ + RT_USING_LIBC, __RTTHREAD__, RT_USING_ARMLIBC, __STDC_LIMIT_MACROS, USE_HAL_DRIVER, STM32F405xx, __CLK_TCK=RT_TICK_PER_SECOND - ..\..\rt-thread\components\fal\inc;..\..\rt-thread\components\libc\compilers\common\extension;..\..\rt-thread\bsp\stm32\libraries\HAL_Drivers\drivers\config;..\..\rt-thread\components\libc\compilers\common\include;board\CubeMX_Config\Inc;..\..\libs\freemodbus\modbus\tcp;..\..\rt-thread\components\drivers\include;..\..\rt-thread\components\drivers\include;..\..\rt-thread\components\libc\posix\io\poll;..\..\libs\stm32f4\STM32F4_HAL\Inc\Legacy;..\..\libs\freemodbus\port;..\..\rt-thread\components\drivers\include;..\..\rt-thread\components\drivers\include;..\..\rt-thread\components\drivers\smp_call;..\..\libs\stm32f4\STM32F4_HAL\Inc;..\..\rt-thread\components\drivers\include;.;..\..\rt-thread\components\drivers\include;..\..\rt-thread\components\libc\posix\ipc;applications\thread;..\..\rt-thread\components\drivers\include;..\..\libs\freemodbus\modbus\include;applications;..\..\rt-thread\components\libc\compilers\common\extension\fcntl\octal;applications\bsp;..\..\libs\cmsis-core\Include;..\..\libs\freemodbus\modbus\ascii;board;..\..\rt-thread\components\drivers\include;..\..\rt-thread\components\drivers\include;..\..\rt-thread\components\finsh;board\ports;..\..\rt-thread\components\drivers\include;..\..\rt-thread\bsp\stm32\libraries\HAL_Drivers\drivers\drv_flash;applications\utils;..\..\libs\freemodbus\modbus\rtu;..\..\rt-thread\components\libc\posix\io\eventfd;..\..\rt-thread\bsp\stm32\libraries\HAL_Drivers\drivers;..\..\rt-thread\bsp\stm32\libraries\HAL_Drivers;..\..\rt-thread\libcpu\arm\cortex-m4;..\..\rt-thread\libcpu\arm\common;..\..\rt-thread\components\libc\posix\io\epoll;..\..\libs\stm32f4\STM32F4_CMSIS\Include;..\..\rt-thread\components\drivers\phy;..\..\rt-thread\include + ..\..\rt-thread\bsp\stm32\libraries\HAL_Drivers\drivers\drv_flash;applications;..\..\rt-thread\components\libc\compilers\common\extension\fcntl\octal;..\..\rt-thread\components\drivers\include;applications\thread;..\..\libs\freemodbus\modbus\tcp;..\..\rt-thread\bsp\stm32\libraries\HAL_Drivers\drivers;..\..\rt-thread\components\drivers\phy;..\..\libs\stm32f4\STM32F4_CMSIS\Include;..\..\rt-thread\components\drivers\include;..\..\rt-thread\bsp\stm32\libraries\HAL_Drivers\drivers\config;..\..\rt-thread\components\drivers\include;..\..\rt-thread\include;..\..\rt-thread\components\drivers\smp_call;..\..\rt-thread\components\fal\inc;..\..\libs\cmsis-core\Include;applications\utils;..\..\rt-thread\components\libc\compilers\common\include;..\..\rt-thread\components\drivers\include;..\..\libs\stm32f4\STM32F4_HAL\Inc\Legacy;..\..\rt-thread\components\drivers\include;..\..\rt-thread\components\finsh;..\..\rt-thread\components\libc\posix\io\poll;..\..\rt-thread\components\libc\posix\ipc;..\..\rt-thread\bsp\stm32\libraries\HAL_Drivers;..\..\libs\freemodbus\modbus\ascii;..\..\rt-thread\components\drivers\include;..\..\libs\freemodbus\modbus\rtu;..\..\rt-thread\libcpu\arm\common;board;..\..\rt-thread\components\libc\compilers\common\extension;..\..\rt-thread\components\drivers\include;..\..\libs\freemodbus\modbus\include;..\..\rt-thread\components\drivers\include;..\..\rt-thread\components\libc\posix\io\eventfd;..\..\rt-thread\components\libc\posix\io\epoll;applications\bsp;board\CubeMX_Config\Inc;.;..\..\rt-thread\components\drivers\include;..\..\rt-thread\libcpu\arm\cortex-m4;..\..\libs\stm32f4\STM32F4_HAL\Inc;..\..\libs\freemodbus\port;board\ports @@ -394,99 +394,89 @@ Applications/bsp - chrg_pin.c + chrg_i2c.c 1 - applications\bsp\chrg_pin.c - - - chrg_intr.c - 1 - applications\bsp\chrg_intr.c + applications\bsp\chrg_i2c.c chrg_can.c 1 applications\bsp\chrg_can.c - - chrg_tmr.c - 1 - applications\bsp\chrg_tmr.c - - - chrg_clk.c - 1 - applications\bsp\chrg_clk.c - - - chrg_wdt.c - 1 - applications\bsp\chrg_wdt.c - chrg_tty.c 1 applications\bsp\chrg_tty.c - - chrg_switch.c - 1 - applications\bsp\chrg_switch.c - chrg_fal.c 1 applications\bsp\chrg_fal.c - chrg_i2c.c + chrg_intr.c 1 - applications\bsp\chrg_i2c.c + applications\bsp\chrg_intr.c + + + chrg_wdt.c + 1 + applications\bsp\chrg_wdt.c + + + chrg_switch.c + 1 + applications\bsp\chrg_switch.c + + + chrg_clk.c + 1 + applications\bsp\chrg_clk.c + + + chrg_pin.c + 1 + applications\bsp\chrg_pin.c + + + chrg_tmr.c + 1 + applications\bsp\chrg_tmr.c Applications/thread - - chrg_lcd.c - 1 - applications\thread\chrg_lcd.c - chrg_north.c 1 applications\thread\chrg_north.c - chrg_south.c + chrg_lcd.c 1 - applications\thread\chrg_south.c + applications\thread\chrg_lcd.c chrg_comm.c 1 applications\thread\chrg_comm.c + + chrg_south.c + 1 + applications\thread\chrg_south.c + Applications/utils - chrg_pkg.c + chrg_sink.c 1 - applications\utils\chrg_pkg.c - - - chrg_utils.c - 1 - applications\utils\chrg_utils.c - - - chrg_source.c - 1 - applications\utils\chrg_source.c + applications\utils\chrg_sink.c chrg_pcf8574.c @@ -494,9 +484,19 @@ applications\utils\chrg_pcf8574.c - chrg_sink.c + chrg_pkg.c 1 - applications\utils\chrg_sink.c + applications\utils\chrg_pkg.c + + + chrg_source.c + 1 + applications\utils\chrg_source.c + + + chrg_utils.c + 1 + applications\utils\chrg_utils.c @@ -1444,62 +1444,6 @@ - - dev_rtc.c - 1 - ..\..\rt-thread\components\drivers\rtc\dev_rtc.c - - - 2 - 0 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 0 - 3 - - - 1 - - - - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 0 - 0 - 2 - 2 - 2 - 2 - 2 - - - __RT_IPC_SOURCE__ - - - - - - - dev_serial.c 1 @@ -1642,11 +1586,6 @@ 1 ..\..\rt-thread\bsp\stm32\libraries\HAL_Drivers\drivers\drv_gpio.c - - drv_rtc.c - 1 - ..\..\rt-thread\bsp\stm32\libraries\HAL_Drivers\drivers\drv_rtc.c - drv_soft_i2c.c 1 @@ -1677,11 +1616,6 @@ Fal - - fal_rtt.c - 1 - ..\..\rt-thread\components\fal\src\fal_rtt.c - fal_partition.c 1 @@ -1692,6 +1626,11 @@ 1 ..\..\rt-thread\components\fal\src\fal_flash.c + + fal_rtt.c + 1 + ..\..\rt-thread\components\fal\src\fal_rtt.c + fal.c 1 @@ -1702,16 +1641,6 @@ Finsh - - msh_parse.c - 1 - ..\..\rt-thread\components\finsh\msh_parse.c - - - shell.c - 1 - ..\..\rt-thread\components\finsh\shell.c - msh.c 1 @@ -1722,90 +1651,100 @@ 1 ..\..\rt-thread\components\finsh\cmd.c + + msh_parse.c + 1 + ..\..\rt-thread\components\finsh\msh_parse.c + + + shell.c + 1 + ..\..\rt-thread\components\finsh\shell.c + FreeModbus - - mbfuncdiag.c - 1 - ..\..\libs\freemodbus\modbus\functions\mbfuncdiag.c - - - mbcrc.c - 1 - ..\..\libs\freemodbus\modbus\rtu\mbcrc.c - - - user_mb_app_m.c - 1 - ..\..\libs\freemodbus\port\user_mb_app_m.c - port.c 1 ..\..\libs\freemodbus\port\port.c - - porttimer_m.c - 1 - ..\..\libs\freemodbus\port\porttimer_m.c - - - sample_mb_master.c - 1 - ..\..\libs\freemodbus\samples\sample_mb_master.c - - - mbfuncdisc_m.c - 1 - ..\..\libs\freemodbus\modbus\functions\mbfuncdisc_m.c - - - mbfuncinput_m.c - 1 - ..\..\libs\freemodbus\modbus\functions\mbfuncinput_m.c - - - mb_m.c - 1 - ..\..\libs\freemodbus\modbus\mb_m.c - - - mbfuncholding_m.c - 1 - ..\..\libs\freemodbus\modbus\functions\mbfuncholding_m.c - - - portevent_m.c - 1 - ..\..\libs\freemodbus\port\portevent_m.c - - - portserial_m.c - 1 - ..\..\libs\freemodbus\port\portserial_m.c - mbfuncother.c 1 ..\..\libs\freemodbus\modbus\functions\mbfuncother.c - - mbfunccoils_m.c - 1 - ..\..\libs\freemodbus\modbus\functions\mbfunccoils_m.c - mbutils.c 1 ..\..\libs\freemodbus\modbus\functions\mbutils.c - mbrtu_m.c + mbfuncholding.c 1 - ..\..\libs\freemodbus\modbus\rtu\mbrtu_m.c + ..\..\libs\freemodbus\modbus\functions\mbfuncholding.c + + + mbfuncinput.c + 1 + ..\..\libs\freemodbus\modbus\functions\mbfuncinput.c + + + mb.c + 1 + ..\..\libs\freemodbus\modbus\mb.c + + + portserial.c + 1 + ..\..\libs\freemodbus\port\portserial.c + + + user_mb_app.c + 1 + ..\..\libs\freemodbus\port\user_mb_app.c + + + mbfuncdisc.c + 1 + ..\..\libs\freemodbus\modbus\functions\mbfuncdisc.c + + + portevent.c + 1 + ..\..\libs\freemodbus\port\portevent.c + + + porttimer.c + 1 + ..\..\libs\freemodbus\port\porttimer.c + + + mbfuncdiag.c + 1 + ..\..\libs\freemodbus\modbus\functions\mbfuncdiag.c + + + porttcp.c + 1 + ..\..\libs\freemodbus\port\porttcp.c + + + mbrtu.c + 1 + ..\..\libs\freemodbus\modbus\rtu\mbrtu.c + + + mbfunccoils.c + 1 + ..\..\libs\freemodbus\modbus\functions\mbfunccoils.c + + + mbcrc.c + 1 + ..\..\libs\freemodbus\modbus\rtu\mbcrc.c @@ -2658,9 +2597,14 @@ klibc - rt_vsscanf.c + rt_vsnprintf_tiny.c 1 - ..\..\rt-thread\src\klibc\rt_vsscanf.c + ..\..\rt-thread\src\klibc\rt_vsnprintf_tiny.c + + + kstring.c + 1 + ..\..\rt-thread\src\klibc\kstring.c kstdio.c @@ -2668,20 +2612,15 @@ ..\..\rt-thread\src\klibc\kstdio.c - rt_vsnprintf_tiny.c + rt_vsscanf.c 1 - ..\..\rt-thread\src\klibc\rt_vsnprintf_tiny.c + ..\..\rt-thread\src\klibc\rt_vsscanf.c kerrno.c 1 ..\..\rt-thread\src\klibc\kerrno.c - - kstring.c - 1 - ..\..\rt-thread\src\klibc\kstring.c - @@ -2717,110 +2656,40 @@ STM32F4-CMSIS - - system_stm32f4xx.c - 1 - ..\..\libs\stm32f4\STM32F4_CMSIS\Source\Templates\system_stm32f4xx.c - startup_stm32f405xx.s 2 ..\..\libs\stm32f4\STM32F4_CMSIS\Source\Templates\arm\startup_stm32f405xx.s + + system_stm32f4xx.c + 1 + ..\..\libs\stm32f4\STM32F4_CMSIS\Source\Templates\system_stm32f4xx.c + STM32F4-HAL - - stm32f4xx_hal_rtc.c - 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_rtc.c - - - stm32f4xx_hal_rcc.c - 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_rcc.c - - - stm32f4xx_hal_tim_ex.c - 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_tim_ex.c - - - stm32f4xx_hal_rcc_ex.c - 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_rcc_ex.c - - - stm32f4xx_hal_flash.c - 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_flash.c - - - stm32f4xx_hal_dma.c - 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_dma.c - stm32f4xx_hal_cortex.c 1 ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_cortex.c - - stm32f4xx_hal_dma_ex.c - 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_dma_ex.c - - - stm32f4xx_hal_gpio.c - 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_gpio.c - - - stm32f4xx_hal_tim.c - 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_tim.c - - - stm32f4xx_hal_flash_ex.c - 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_flash_ex.c - - - stm32f4xx_hal_usart.c - 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_usart.c - - - stm32f4xx_hal_iwdg.c - 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_iwdg.c - - - stm32f4xx_hal_lptim.c - 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_lptim.c - stm32f4xx_hal_crc.c 1 ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_crc.c - stm32f4xx_hal_cec.c + stm32f4xx_hal_dma.c 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_cec.c + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_dma.c - stm32f4xx_hal_cryp_ex.c + stm32f4xx_hal_rcc.c 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_cryp_ex.c - - - stm32f4xx_hal_rng.c - 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_rng.c + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_rcc.c stm32f4xx_hal_pwr_ex.c @@ -2828,29 +2697,14 @@ ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_pwr_ex.c - stm32f4xx_hal.c + stm32f4xx_hal_pwr.c 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal.c + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_pwr.c - stm32f4xx_hal_wwdg.c + stm32f4xx_hal_tim.c 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_wwdg.c - - - stm32f4xx_hal_rtc_ex.c - 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_rtc_ex.c - - - stm32f4xx_hal_cryp.c - 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_cryp.c - - - stm32f4xx_hal_uart.c - 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_uart.c + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_tim.c stm32f4xx_hal_i2c_ex.c @@ -2858,24 +2712,99 @@ ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_i2c_ex.c - stm32f4xx_hal_flash_ramfunc.c + stm32f4xx_hal_cryp.c 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_flash_ramfunc.c + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_cryp.c + + + stm32f4xx_hal_rcc_ex.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_rcc_ex.c + + + stm32f4xx_hal_cryp_ex.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_cryp_ex.c + + + stm32f4xx_hal_cec.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_cec.c stm32f4xx_hal_i2c.c 1 ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_i2c.c + + stm32f4xx_hal_flash.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_flash.c + stm32f4xx_hal_can.c 1 ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_can.c - stm32f4xx_hal_pwr.c + stm32f4xx_hal_iwdg.c 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_pwr.c + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_iwdg.c + + + stm32f4xx_hal_gpio.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_gpio.c + + + stm32f4xx_hal_uart.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_uart.c + + + stm32f4xx_hal_rng.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_rng.c + + + stm32f4xx_hal_tim_ex.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_tim_ex.c + + + stm32f4xx_hal_lptim.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_lptim.c + + + stm32f4xx_hal_wwdg.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_wwdg.c + + + stm32f4xx_hal_usart.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_usart.c + + + stm32f4xx_hal_dma_ex.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_dma_ex.c + + + stm32f4xx_hal_flash_ramfunc.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_flash_ramfunc.c + + + stm32f4xx_hal_flash_ex.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_flash_ex.c + + + stm32f4xx_hal.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal.c diff --git a/apps/chrg/rtconfig.h b/apps/chrg/rtconfig.h index b4871c9..7493d94 100644 --- a/apps/chrg/rtconfig.h +++ b/apps/chrg/rtconfig.h @@ -158,7 +158,6 @@ #define RT_CANSND_MSG_TIMEOUT 100 #define RT_USING_I2C #define RT_USING_I2C_BITOPS -#define RT_USING_RTC #define RT_USING_WDT #define RT_USING_PIN #define RT_USING_HWTIMER @@ -211,28 +210,24 @@ /* IoT - internet of things */ #define PKG_USING_FREEMODBUS -#define PKG_MODBUS_MASTER +#define PKG_MODBUS_SLAVE /* advanced configuration */ -#define RT_M_DISCRETE_INPUT_START 0 -#define RT_M_DISCRETE_INPUT_NDISCRETES 16 -#define RT_M_COIL_START 0 -#define RT_M_COIL_NCOILS 64 -#define RT_M_REG_INPUT_START 0 -#define RT_M_REG_INPUT_NREGS 100 -#define RT_M_REG_HOLDING_START 0 -#define RT_M_REG_HOLDING_NREGS 100 -#define RT_M_HD_RESERVE 0 -#define RT_M_IN_RESERVE 0 -#define RT_M_CO_RESERVE 0 -#define RT_M_DI_RESERVE 0 +#define RT_S_DISCRETE_INPUT_START 0 +#define RT_S_DISCRETE_INPUT_NDISCRETES 16 +#define RT_S_COIL_START 0 +#define RT_S_COIL_NCOILS 64 +#define RT_S_REG_INPUT_START 0 +#define RT_S_REG_INPUT_NREGS 100 +#define RT_S_REG_HOLDING_START 0 +#define RT_S_REG_HOLDING_NREGS 100 +#define RT_S_HD_RESERVE 0 +#define RT_S_IN_RESERVE 0 +#define RT_S_CO_RESERVE 0 +#define RT_S_DI_RESERVE 0 /* end of advanced configuration */ -#define PKG_MODBUS_MASTER_RTU -#define PKG_MODBUS_MASTER_SAMPLE -#define MB_SAMPLE_TEST_SLAVE_ADDR 1 -#define MB_MASTER_USING_PORT_NUM 1 -#define MB_MASTER_USING_PORT_BAUDRATE 115200 +#define PKG_MODBUS_SLAVE_RTU #define PKG_USING_FREEMODBUS_LATEST_VERSION /* Wi-Fi */ @@ -466,8 +461,6 @@ #define BSP_USING_I2C4 #define BSP_USING_CAN #define BSP_USING_CAN1 -#define BSP_USING_ONCHIP_RTC -#define BSP_RTC_USING_LSE #define BSP_USING_WDT #define BSP_USING_ON_CHIP_FLASH #define BSP_USING_TIM diff --git a/libs/freemodbus/modbus/ascii/mbascii.h b/libs/freemodbus/modbus/ascii/mbascii.h index d4607a9..df308b3 100644 --- a/libs/freemodbus/modbus/ascii/mbascii.h +++ b/libs/freemodbus/modbus/ascii/mbascii.h @@ -32,7 +32,7 @@ #define _MB_ASCII_H #ifdef __cplusplus -PR_BEGIN_EXTERN_C +extern "C" { #endif #if MB_SLAVE_ASCII_ENABLED > 0 @@ -51,6 +51,8 @@ BOOL xMBASCIITimerT1SExpired( void ); #endif #ifdef __cplusplus -PR_END_EXTERN_C +} #endif #endif + + diff --git a/libs/freemodbus/modbus/include/mb.h b/libs/freemodbus/modbus/include/mb.h index f451d65..bf4c0eb 100644 --- a/libs/freemodbus/modbus/include/mb.h +++ b/libs/freemodbus/modbus/include/mb.h @@ -34,7 +34,7 @@ #include "port.h" #ifdef __cplusplus -PR_BEGIN_EXTERN_C +extern "C" { #endif #include "mbport.h" @@ -412,6 +412,8 @@ eMBErrorCode eMBRegDiscreteCB( UCHAR * pucRegBuffer, USHORT usAddress, USHORT usNDiscrete ); #ifdef __cplusplus -PR_END_EXTERN_C +} #endif #endif + + diff --git a/libs/freemodbus/modbus/include/mb_m.h b/libs/freemodbus/modbus/include/mb_m.h index b01e635..35eff37 100644 --- a/libs/freemodbus/modbus/include/mb_m.h +++ b/libs/freemodbus/modbus/include/mb_m.h @@ -32,7 +32,7 @@ #define _MB_M_H #ifdef __cplusplus -PR_BEGIN_EXTERN_C +extern "C" { #endif /*! \defgroup modbus Modbus @@ -409,6 +409,8 @@ eMBMasterReqErrCode eMBMasterWaitRequestFinish( void ); /* ----------------------- Callback -----------------------------------------*/ #ifdef __cplusplus -PR_END_EXTERN_C +} #endif #endif + + diff --git a/libs/freemodbus/modbus/include/mbconfig.h b/libs/freemodbus/modbus/include/mbconfig.h index 3547944..d7ee9e5 100644 --- a/libs/freemodbus/modbus/include/mbconfig.h +++ b/libs/freemodbus/modbus/include/mbconfig.h @@ -33,7 +33,7 @@ #define _MB_CONFIG_H #ifdef __cplusplus -PR_BEGIN_EXTERN_C +extern "C" { #endif /* ----------------------- Defines ------------------------------------------*/ /*! \defgroup modbus_cfg Modbus Configuration @@ -124,7 +124,7 @@ PR_BEGIN_EXTERN_C #define MB_FUNC_READWRITE_HOLDING_ENABLED ( 1 ) /*! @} */ #ifdef __cplusplus - PR_END_EXTERN_C +} #endif #if MB_MASTER_RTU_ENABLED > 0 || MB_MASTER_ASCII_ENABLED > 0 @@ -141,3 +141,5 @@ PR_BEGIN_EXTERN_C #endif #endif + + diff --git a/libs/freemodbus/modbus/include/mbframe.h b/libs/freemodbus/modbus/include/mbframe.h index e20c573..6b86b97 100644 --- a/libs/freemodbus/modbus/include/mbframe.h +++ b/libs/freemodbus/modbus/include/mbframe.h @@ -32,7 +32,7 @@ #define _MB_FRAME_H #ifdef __cplusplus -PR_BEGIN_EXTERN_C +extern "C" { #endif /*! @@ -82,6 +82,8 @@ typedef eMBErrorCode( *peMBFrameSend ) ( UCHAR slaveAddress, typedef void( *pvMBFrameClose ) ( void ); #ifdef __cplusplus -PR_END_EXTERN_C +} #endif #endif + + diff --git a/libs/freemodbus/modbus/include/mbfunc.h b/libs/freemodbus/modbus/include/mbfunc.h index f252413..58ccc06 100644 --- a/libs/freemodbus/modbus/include/mbfunc.h +++ b/libs/freemodbus/modbus/include/mbfunc.h @@ -32,7 +32,7 @@ #define _MB_FUNC_H #ifdef __cplusplus -PR_BEGIN_EXTERN_C +extern "C" { #endif #if MB_FUNC_OTHER_REP_SLAVEID_BUF > 0 eMBException eMBFuncReportSlaveID( UCHAR * pucFrame, USHORT * usLen ); @@ -75,6 +75,8 @@ eMBException eMBFuncReadWriteMultipleHoldingRegister( UCHAR * pucFrame, USHOR #endif #ifdef __cplusplus -PR_END_EXTERN_C +} #endif #endif + + diff --git a/libs/freemodbus/modbus/include/mbport.h b/libs/freemodbus/modbus/include/mbport.h index dafbd3f..fe779ec 100644 --- a/libs/freemodbus/modbus/include/mbport.h +++ b/libs/freemodbus/modbus/include/mbport.h @@ -33,7 +33,7 @@ #define _MB_PORT_H #ifdef __cplusplus -PR_BEGIN_EXTERN_C +extern "C" { #endif /* ----------------------- Defines ------------------------------------------*/ @@ -200,6 +200,8 @@ BOOL xMBTCPPortGetRequest( UCHAR **ppucMBTCPFrame, USHORT * usTCPLeng BOOL xMBTCPPortSendResponse( const UCHAR *pucMBTCPFrame, USHORT usTCPLength ); #ifdef __cplusplus -PR_END_EXTERN_C +} #endif #endif + + diff --git a/libs/freemodbus/modbus/include/mbproto.h b/libs/freemodbus/modbus/include/mbproto.h index aef3198..bc7c776 100644 --- a/libs/freemodbus/modbus/include/mbproto.h +++ b/libs/freemodbus/modbus/include/mbproto.h @@ -32,7 +32,7 @@ #define _MB_PROTO_H #ifdef __cplusplus -PR_BEGIN_EXTERN_C +extern "C" { #endif /* ----------------------- Defines ------------------------------------------*/ #define MB_ADDRESS_BROADCAST ( 0 ) /*! Modbus broadcast address. */ @@ -78,6 +78,8 @@ typedef struct } xMBFunctionHandler; #ifdef __cplusplus -PR_END_EXTERN_C +} #endif #endif + + diff --git a/libs/freemodbus/modbus/include/mbutils.h b/libs/freemodbus/modbus/include/mbutils.h index a504303..d3179b2 100644 --- a/libs/freemodbus/modbus/include/mbutils.h +++ b/libs/freemodbus/modbus/include/mbutils.h @@ -32,7 +32,7 @@ #define _MB_UTILS_H #ifdef __cplusplus -PR_BEGIN_EXTERN_C +extern "C" { #endif /*! \defgroup modbus_utils Utilities * @@ -103,6 +103,8 @@ UCHAR xMBUtilGetBits( UCHAR * ucByteBuf, USHORT usBitOffset, /*! @} */ #ifdef __cplusplus -PR_END_EXTERN_C +} #endif #endif + + diff --git a/libs/freemodbus/modbus/mb.c b/libs/freemodbus/modbus/mb.c index a2c5e81..6861f37 100644 --- a/libs/freemodbus/modbus/mb.c +++ b/libs/freemodbus/modbus/mb.c @@ -61,7 +61,7 @@ /* ----------------------- Static variables ---------------------------------*/ static UCHAR ucMBAddress; -static eMBMode eMBCurrentMode; +//static eMBMode eMBCurrentMode; static enum { @@ -188,7 +188,7 @@ eMBInit( eMBMode eMode, UCHAR ucSlaveAddress, UCHAR ucPort, ULONG ulBaudRate, eM } else { - eMBCurrentMode = eMode; +// eMBCurrentMode = eMode; eMBState = STATE_DISABLED; } } @@ -219,7 +219,7 @@ eMBTCPInit( USHORT ucTCPPort ) peMBFrameSendCur = eMBTCPSend; pvMBFrameCloseCur = MB_PORT_HAS_CLOSE ? vMBTCPPortClose : NULL; ucMBAddress = MB_TCP_PSEUDO_ADDRESS; - eMBCurrentMode = MB_TCP; +// eMBCurrentMode = MB_TCP; eMBState = STATE_DISABLED; } return eStatus; diff --git a/libs/freemodbus/modbus/rtu/mbrtu.h b/libs/freemodbus/modbus/rtu/mbrtu.h index da56acd..599be50 100644 --- a/libs/freemodbus/modbus/rtu/mbrtu.h +++ b/libs/freemodbus/modbus/rtu/mbrtu.h @@ -34,7 +34,7 @@ #define _MB_RTU_H #ifdef __cplusplus -PR_BEGIN_EXTERN_C +extern "C" { #endif eMBErrorCode eMBRTUInit( UCHAR slaveAddress, UCHAR ucPort, ULONG ulBaudRate, eMBParity eParity ); @@ -59,6 +59,8 @@ BOOL xMBMasterRTUTimerExpired( void ); #endif #ifdef __cplusplus -PR_END_EXTERN_C +} #endif #endif + + diff --git a/libs/freemodbus/modbus/tcp/mbtcp.h b/libs/freemodbus/modbus/tcp/mbtcp.h index 7818b76..7a87693 100644 --- a/libs/freemodbus/modbus/tcp/mbtcp.h +++ b/libs/freemodbus/modbus/tcp/mbtcp.h @@ -32,7 +32,7 @@ #define _MB_TCP_H #ifdef __cplusplus -PR_BEGIN_EXTERN_C +extern "C" { #endif /* ----------------------- Defines ------------------------------------------*/ @@ -48,6 +48,8 @@ eMBErrorCode eMBTCPSend( UCHAR _unused, const UCHAR * pucFrame, USHORT usLength ); #ifdef __cplusplus -PR_END_EXTERN_C +} #endif #endif + + diff --git a/libs/freemodbus/port/portserial.c b/libs/freemodbus/port/portserial.c index 2bcf497..4093120 100644 --- a/libs/freemodbus/port/portserial.c +++ b/libs/freemodbus/port/portserial.c @@ -112,7 +112,7 @@ BOOL xMBPortSerialInit(UCHAR ucPORT, ULONG ulBaudRate, UCHAR ucDataBits, /* software initialize */ rt_event_init(&event_serial, "slave event", RT_IPC_FLAG_PRIO); rt_thread_init(&thread_serial_soft_trans_irq, - "slave trans", + "thr.trans", serial_soft_trans_irq, RT_NULL, serial_soft_trans_irq_stack, diff --git a/libs/freemodbus/samples/sample_mb_master.c b/libs/freemodbus/samples/sample_mb_master.c index 3da075c..33a1ae7 100644 --- a/libs/freemodbus/samples/sample_mb_master.c +++ b/libs/freemodbus/samples/sample_mb_master.c @@ -111,4 +111,7 @@ __exit: return -RT_ERROR; } + MSH_CMD_EXPORT(mb_master_sample, run a modbus master sample); + +