This commit is contained in:
wmano
2025-08-24 16:38:15 +08:00
parent f325648c3e
commit 411a3d157e
7 changed files with 396 additions and 190 deletions
+28
View File
@@ -1,6 +1,7 @@
#include <rtthread.h> #include <rtthread.h>
#include <rtdevice.h> #include <rtdevice.h>
#include <string.h>
#include "chrg_can.h" #include "chrg_can.h"
@@ -13,6 +14,33 @@ struct chrg_can_t chrgcan[TOTAL_CAN] = {
} }
}; };
rt_err_t chrg_can1_write (rt_uint8_t id, rt_uint8_t *data, rt_uint16_t len)
{
rt_size_t size = 0;
struct rt_can_msg msg;
struct chrg_can_t *pCAN = &chrgcan[IDX_CAN_1];
msg.id = id;
msg.ide = RT_CAN_STDID;
msg.rtr = RT_CAN_DTR;
if (len <= 8) {
msg.len = len;
memcpy(msg.data, data, len);
} else {
return RT_EINVAL;
}
size = rt_device_write(pCAN->dev, 0, &msg, sizeof(msg));
if (0 == size) {
rt_kprintf("dev '%s' write failed.\r\n", pCAN->name);
return RT_ERROR;
}
return RT_EOK;
}
static rt_err_t chrg_can1_rx_callback(rt_device_t dev, rt_size_t size) static rt_err_t chrg_can1_rx_callback(rt_device_t dev, rt_size_t size)
{ {
+4
View File
@@ -23,6 +23,10 @@ struct chrg_can_t {
extern struct chrg_can_t chrgcan[TOTAL_CAN]; extern struct chrg_can_t chrgcan[TOTAL_CAN];
extern rt_err_t chrg_can1_write (rt_uint8_t id, rt_uint8_t *data, rt_uint16_t len);
#endif #endif
+4
View File
@@ -31,7 +31,11 @@ struct chrg_i2c_t {
extern struct chrg_i2c_t chrgi2c[TOTAL_I2C]; extern struct chrg_i2c_t chrgi2c[TOTAL_I2C];
extern rt_uint8_t i2c_read_byte(struct chrg_i2c_t *pI2C, rt_uint8_t addr);
extern rt_err_t i2c_write_byte(struct chrg_i2c_t *pI2C, rt_uint8_t addr, rt_uint8_t data);
#endif #endif
+117
View File
@@ -0,0 +1,117 @@
#include <rtthread.h>
#include <rtdevice.h>
#include "chrg_intr.h"
struct chrg_intr_t chrgintr[TOTAL_INTR] = {
[IDX_INTR_I2C1] = {
.name = NAME_INTR_I2C1,
.index = IDX_INTR_I2C1,
.pin = PIN_INTR_I2C1,
.mode = PIN_MODE_INPUT_PULLUP,
.pulse = PIN_IRQ_MODE_FALLING,
.value = PIN_LOW,
.delay = 20,
},
[IDX_INTR_I2C2] = {
.name = NAME_INTR_I2C2,
.index = IDX_INTR_I2C2,
.pin = PIN_INTR_I2C2,
.mode = PIN_MODE_INPUT_PULLUP,
.pulse = PIN_IRQ_MODE_FALLING,
.value = PIN_LOW,
.delay = 0,
},
[IDX_INTR_I2C3] = {
.name = NAME_INTR_I2C3,
.index = IDX_INTR_I2C3,
.pin = PIN_INTR_I2C3,
.mode = PIN_MODE_INPUT_PULLUP,
.pulse = PIN_IRQ_MODE_FALLING,
.value = PIN_LOW,
.delay = 0,
},
[IDX_INTR_I2C4] = {
.name = NAME_INTR_I2C4,
.index = IDX_INTR_I2C4,
.pin = PIN_INTR_I2C4,
.mode = PIN_MODE_INPUT_PULLUP,
.pulse = PIN_IRQ_MODE_FALLING,
.value = PIN_LOW,
.delay = 0,
},
[IDX_INTR_KEY] = {
.name = NAME_INTR_KEY,
.index = IDX_INTR_KEY,
.pin = PIN_INTR_KEY,
.mode = PIN_MODE_INPUT_PULLUP,
.pulse = PIN_IRQ_MODE_RISING,
.value = PIN_LOW,
.delay = 0,
}
};
static void chrg_intr_tmr_callback (void* data)
{
struct chrg_intr_t *pINTR = (struct chrg_intr_t *)data;
if (RT_NULL != pINTR) {
rt_ssize_t val = rt_pin_read(pINTR->pin);
if (pINTR->value == val) {
rt_kprintf("check pin '%s' intr %d.\r\n", pINTR->name, pINTR->value);
}
}
}
static int chrg_intr_tmr_create (struct chrg_intr_t *pINTR)
{
pINTR->tmr_fd = rt_timer_create(pINTR->name, chrg_intr_tmr_callback,
pINTR, pINTR->delay, RT_TIMER_FLAG_ONE_SHOT);
if (pINTR->tmr_fd == RT_NULL) {
rt_kprintf("tmr create '%s' failed.\r\n", pINTR->name);
return -1;
}
return 0;
}
static void chrg_intr_callback (void *args)
{
struct chrg_intr_t *pINTR = (struct chrg_intr_t *)args;
if (RT_NULL != pINTR) {
pINTR->value = rt_pin_read(pINTR->pin);
if (pINTR->delay) {
rt_timer_start(pINTR->tmr_fd);
}
rt_kprintf("pin '%s' intr %d.\r\n", pINTR->name, pINTR->value);
}
}
static int chrg_intr_init (void)
{
int i = 0;
struct chrg_intr_t *pINTR = RT_NULL;
for (i = 0; i < TOTAL_INTR; i++) {
pINTR = &chrgintr[i];
rt_pin_mode(pINTR->pin, pINTR->mode);
rt_pin_attach_irq(pINTR->pin, pINTR->pulse, chrg_intr_callback, pINTR);
rt_pin_irq_enable(pINTR->pin, PIN_IRQ_ENABLE);
if (pINTR->delay) {
chrg_intr_tmr_create(pINTR);
}
}
return 0;
}
INIT_ENV_EXPORT(chrg_intr_init);
+46
View File
@@ -0,0 +1,46 @@
#ifndef __CHRG_IRQ_H__
#define __CHRG_IRQ_H__
#include <rtthread.h>
#include <rtdevice.h>
#include "drv_gpio.h"
#define NAME_INTR_I2C1 "i2c1irq"
#define NAME_INTR_I2C2 "i2c2irq"
#define NAME_INTR_I2C3 "i2c3irq"
#define NAME_INTR_I2C4 "i2c4irq"
#define NAME_INTR_KEY "keyirq"
#define PIN_INTR_I2C1 GET_PIN(C, 8) //GET_PIN(C, 1)
#define PIN_INTR_I2C2 GET_PIN(C, 9) //GET_PIN(A, 1)
#define PIN_INTR_I2C3 GET_PIN(A, 7)
#define PIN_INTR_I2C4 GET_PIN(B, 13)
#define PIN_INTR_KEY GET_PIN(A, 0) //GET_PIN(B, 6)
typedef enum {
IDX_INTR_I2C1 = 0,
IDX_INTR_I2C2 = 1,
IDX_INTR_I2C3 = 2,
IDX_INTR_I2C4 = 3,
IDX_INTR_KEY = 4,
TOTAL_INTR
} eIDX_INTR;
struct chrg_intr_t {
const char *name;
rt_int32_t pin;
rt_uint8_t mode;
rt_uint8_t pulse;
rt_uint16_t delay; // 消抖延时 ms
rt_ssize_t value; // 当前值
rt_timer_t tmr_fd;
eIDX_INTR index;
};
extern struct chrg_intr_t chrgintr[TOTAL_INTR];
#endif
+2
View File
@@ -41,3 +41,5 @@ extern struct chrg_tty_t chrgtty[TOTAL_TTY];
#endif #endif
+195 -190
View File
@@ -337,9 +337,9 @@
<v6Rtti>0</v6Rtti> <v6Rtti>0</v6Rtti>
<VariousControls> <VariousControls>
<MiscControls></MiscControls> <MiscControls></MiscControls>
<Define>USE_HAL_DRIVER, __CLK_TCK=RT_TICK_PER_SECOND, RT_USING_ARMLIBC, STM32F405xx, RT_USING_LIBC, __RTTHREAD__, __STDC_LIMIT_MACROS</Define> <Define>RT_USING_ARMLIBC, STM32F405xx, USE_HAL_DRIVER, __STDC_LIMIT_MACROS, __CLK_TCK=RT_TICK_PER_SECOND, __RTTHREAD__, RT_USING_LIBC</Define>
<Undefine></Undefine> <Undefine></Undefine>
<IncludePath>..\..\rt-thread\components\drivers\include;.;..\..\libs\freemodbus\modbus\include;..\..\rt-thread\bsp\stm32\libraries\HAL_Drivers;..\..\rt-thread\components\drivers\include;..\..\rt-thread\bsp\stm32\libraries\HAL_Drivers\drivers;..\..\rt-thread\components\drivers\include;..\..\rt-thread\components\libc\posix\ipc;..\..\rt-thread\include;..\..\rt-thread\components\finsh;..\..\rt-thread\components\libc\posix\io\epoll;..\..\rt-thread\components\libc\compilers\common\extension\fcntl\octal;..\..\rt-thread\libcpu\arm\cortex-m4;board\CubeMX_Config\Inc;..\..\rt-thread\components\drivers\include;..\..\libs\freemodbus\modbus\tcp;..\..\libs\stm32f4\STM32F4_HAL\Inc\Legacy;..\..\libs\freemodbus\modbus\ascii;..\..\libs\stm32f4\STM32F4_CMSIS\Include;..\..\rt-thread\components\drivers\smp_call;..\..\rt-thread\components\libc\posix\io\poll;..\..\rt-thread\components\libc\compilers\common\extension;..\..\rt-thread\components\drivers\include;..\..\libs\freemodbus\modbus\rtu;..\..\rt-thread\components\drivers\phy;..\..\rt-thread\bsp\stm32\libraries\HAL_Drivers\drivers\config;..\..\rt-thread\components\libc\compilers\common\include;..\..\libs\freemodbus\port;..\..\libs\cmsis-core\Include;..\..\rt-thread\components\drivers\include;..\..\rt-thread\components\drivers\include;..\..\rt-thread\components\libc\posix\io\eventfd;..\..\libs\stm32f4\STM32F4_HAL\Inc;applications;..\..\rt-thread\libcpu\arm\common;board</IncludePath> <IncludePath>..\..\rt-thread\components\libc\posix\io\epoll;..\..\rt-thread\components\drivers\phy;applications;board\CubeMX_Config\Inc;..\..\libs\stm32f4\STM32F4_HAL\Inc\Legacy;..\..\rt-thread\components\finsh;..\..\rt-thread\components\libc\posix\ipc;..\..\rt-thread\components\drivers\smp_call;..\..\libs\freemodbus\modbus\rtu;..\..\rt-thread\components\drivers\include;..\..\rt-thread\components\drivers\include;..\..\rt-thread\components\libc\compilers\common\extension;..\..\rt-thread\components\drivers\include;board;..\..\rt-thread\components\drivers\include;..\..\libs\freemodbus\modbus\tcp;..\..\rt-thread\bsp\stm32\libraries\HAL_Drivers;..\..\libs\stm32f4\STM32F4_CMSIS\Include;..\..\rt-thread\components\libc\posix\io\poll;..\..\rt-thread\components\drivers\include;..\..\rt-thread\include;..\..\libs\freemodbus\modbus\include;..\..\rt-thread\bsp\stm32\libraries\HAL_Drivers\drivers\config;.;..\..\libs\stm32f4\STM32F4_HAL\Inc;..\..\rt-thread\components\libc\compilers\common\extension\fcntl\octal;..\..\rt-thread\libcpu\arm\common;..\..\libs\freemodbus\port;..\..\libs\cmsis-core\Include;..\..\rt-thread\components\drivers\include;..\..\rt-thread\components\libc\posix\io\eventfd;..\..\libs\freemodbus\modbus\ascii;..\..\rt-thread\components\drivers\include;..\..\rt-thread\libcpu\arm\cortex-m4;..\..\rt-thread\components\libc\compilers\common\include;..\..\rt-thread\bsp\stm32\libraries\HAL_Drivers\drivers</IncludePath>
</VariousControls> </VariousControls>
</Cads> </Cads>
<Aads> <Aads>
@@ -384,9 +384,14 @@
<GroupName>Applications</GroupName> <GroupName>Applications</GroupName>
<Files> <Files>
<File> <File>
<FileName>tmr_pin.c</FileName> <FileName>switch_south.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>applications\tmr_pin.c</FilePath> <FilePath>applications\switch_south.c</FilePath>
</File>
<File>
<FileName>chrg_i2c.c</FileName>
<FileType>1</FileType>
<FilePath>applications\chrg_i2c.c</FilePath>
</File> </File>
<File> <File>
<FileName>tmr_clk.c</FileName> <FileName>tmr_clk.c</FileName>
@@ -398,20 +403,20 @@
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>applications\main.c</FilePath> <FilePath>applications\main.c</FilePath>
</File> </File>
<File>
<FileName>chrg_i2c.c</FileName>
<FileType>1</FileType>
<FilePath>applications\chrg_i2c.c</FilePath>
</File>
<File> <File>
<FileName>switch_north.c</FileName> <FileName>switch_north.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>applications\switch_north.c</FilePath> <FilePath>applications\switch_north.c</FilePath>
</File> </File>
<File> <File>
<FileName>switch_south.c</FileName> <FileName>tmr_pin.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>applications\switch_south.c</FilePath> <FilePath>applications\tmr_pin.c</FilePath>
</File>
<File>
<FileName>chrg_intr.c</FileName>
<FileType>1</FileType>
<FilePath>applications\chrg_intr.c</FilePath>
</File> </File>
<File> <File>
<FileName>chrg_tty.c</FileName> <FileName>chrg_tty.c</FileName>
@@ -1415,14 +1420,9 @@
<GroupName>Finsh</GroupName> <GroupName>Finsh</GroupName>
<Files> <Files>
<File> <File>
<FileName>msh_parse.c</FileName> <FileName>msh.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>..\..\rt-thread\components\finsh\msh_parse.c</FilePath> <FilePath>..\..\rt-thread\components\finsh\msh.c</FilePath>
</File>
<File>
<FileName>cmd.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\rt-thread\components\finsh\cmd.c</FilePath>
</File> </File>
<File> <File>
<FileName>shell.c</FileName> <FileName>shell.c</FileName>
@@ -1430,9 +1430,14 @@
<FilePath>..\..\rt-thread\components\finsh\shell.c</FilePath> <FilePath>..\..\rt-thread\components\finsh\shell.c</FilePath>
</File> </File>
<File> <File>
<FileName>msh.c</FileName> <FileName>cmd.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>..\..\rt-thread\components\finsh\msh.c</FilePath> <FilePath>..\..\rt-thread\components\finsh\cmd.c</FilePath>
</File>
<File>
<FileName>msh_parse.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\rt-thread\components\finsh\msh_parse.c</FilePath>
</File> </File>
</Files> </Files>
</Group> </Group>
@@ -1440,64 +1445,104 @@
<GroupName>FreeModbus</GroupName> <GroupName>FreeModbus</GroupName>
<Files> <Files>
<File> <File>
<FileName>mbfuncdiag.c</FileName> <FileName>mbcrc.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>..\..\libs\freemodbus\modbus\functions\mbfuncdiag.c</FilePath> <FilePath>..\..\libs\freemodbus\modbus\rtu\mbcrc.c</FilePath>
</File> </File>
<File> <File>
<FileName>mbrtu.c</FileName> <FileName>sample_mb_slave.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>..\..\libs\freemodbus\modbus\rtu\mbrtu.c</FilePath> <FilePath>..\..\libs\freemodbus\samples\sample_mb_slave.c</FilePath>
</File> </File>
<File> <File>
<FileName>mbfuncholding_m.c</FileName> <FileName>mbutils.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>..\..\libs\freemodbus\modbus\functions\mbfuncholding_m.c</FilePath> <FilePath>..\..\libs\freemodbus\modbus\functions\mbutils.c</FilePath>
</File>
<File>
<FileName>portevent_m.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\freemodbus\port\portevent_m.c</FilePath>
</File>
<File>
<FileName>mbfuncinput.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\freemodbus\modbus\functions\mbfuncinput.c</FilePath>
</File>
<File>
<FileName>mbfuncinput_m.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\freemodbus\modbus\functions\mbfuncinput_m.c</FilePath>
</File>
<File>
<FileName>porttcp.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\freemodbus\port\porttcp.c</FilePath>
</File> </File>
<File> <File>
<FileName>mbrtu_m.c</FileName> <FileName>mbrtu_m.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>..\..\libs\freemodbus\modbus\rtu\mbrtu_m.c</FilePath> <FilePath>..\..\libs\freemodbus\modbus\rtu\mbrtu_m.c</FilePath>
</File> </File>
<File>
<FileName>porttcp.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\freemodbus\port\porttcp.c</FilePath>
</File>
<File>
<FileName>mbfunccoils_m.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\freemodbus\modbus\functions\mbfunccoils_m.c</FilePath>
</File>
<File>
<FileName>mbfuncdiag.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\freemodbus\modbus\functions\mbfuncdiag.c</FilePath>
</File>
<File>
<FileName>porttimer_m.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\freemodbus\port\porttimer_m.c</FilePath>
</File>
<File>
<FileName>port.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\freemodbus\port\port.c</FilePath>
</File>
<File> <File>
<FileName>portserial.c</FileName> <FileName>portserial.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>..\..\libs\freemodbus\port\portserial.c</FilePath> <FilePath>..\..\libs\freemodbus\port\portserial.c</FilePath>
</File> </File>
<File>
<FileName>mbfuncinput.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\freemodbus\modbus\functions\mbfuncinput.c</FilePath>
</File>
<File> <File>
<FileName>user_mb_app_m.c</FileName> <FileName>user_mb_app_m.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>..\..\libs\freemodbus\port\user_mb_app_m.c</FilePath> <FilePath>..\..\libs\freemodbus\port\user_mb_app_m.c</FilePath>
</File> </File>
<File> <File>
<FileName>mbfunccoils.c</FileName> <FileName>mbfuncinput_m.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>..\..\libs\freemodbus\modbus\functions\mbfunccoils.c</FilePath> <FilePath>..\..\libs\freemodbus\modbus\functions\mbfuncinput_m.c</FilePath>
</File> </File>
<File> <File>
<FileName>porttimer_m.c</FileName> <FileName>mbfuncholding.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>..\..\libs\freemodbus\port\porttimer_m.c</FilePath> <FilePath>..\..\libs\freemodbus\modbus\functions\mbfuncholding.c</FilePath>
</File>
<File>
<FileName>mbrtu.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\freemodbus\modbus\rtu\mbrtu.c</FilePath>
</File>
<File>
<FileName>mbfuncdisc.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\freemodbus\modbus\functions\mbfuncdisc.c</FilePath>
</File>
<File>
<FileName>portserial_m.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\freemodbus\port\portserial_m.c</FilePath>
</File>
<File>
<FileName>user_mb_app.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\freemodbus\port\user_mb_app.c</FilePath>
</File>
<File>
<FileName>mb_m.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\freemodbus\modbus\mb_m.c</FilePath>
</File>
<File>
<FileName>portevent_m.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\freemodbus\port\portevent_m.c</FilePath>
</File> </File>
<File> <File>
<FileName>mbfuncother.c</FileName> <FileName>mbfuncother.c</FileName>
@@ -1510,59 +1555,9 @@
<FilePath>..\..\libs\freemodbus\modbus\functions\mbfuncdisc_m.c</FilePath> <FilePath>..\..\libs\freemodbus\modbus\functions\mbfuncdisc_m.c</FilePath>
</File> </File>
<File> <File>
<FileName>port.c</FileName> <FileName>mbfunccoils.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>..\..\libs\freemodbus\port\port.c</FilePath> <FilePath>..\..\libs\freemodbus\modbus\functions\mbfunccoils.c</FilePath>
</File>
<File>
<FileName>portserial_m.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\freemodbus\port\portserial_m.c</FilePath>
</File>
<File>
<FileName>mbfuncholding.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\freemodbus\modbus\functions\mbfuncholding.c</FilePath>
</File>
<File>
<FileName>mbfunccoils_m.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\freemodbus\modbus\functions\mbfunccoils_m.c</FilePath>
</File>
<File>
<FileName>mb.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\freemodbus\modbus\mb.c</FilePath>
</File>
<File>
<FileName>mbfuncdisc.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\freemodbus\modbus\functions\mbfuncdisc.c</FilePath>
</File>
<File>
<FileName>mbcrc.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\freemodbus\modbus\rtu\mbcrc.c</FilePath>
</File>
<File>
<FileName>porttimer.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\freemodbus\port\porttimer.c</FilePath>
</File>
<File>
<FileName>mb_m.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\freemodbus\modbus\mb_m.c</FilePath>
</File>
<File>
<FileName>user_mb_app.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\freemodbus\port\user_mb_app.c</FilePath>
</File>
<File>
<FileName>sample_mb_slave.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\freemodbus\samples\sample_mb_slave.c</FilePath>
</File> </File>
<File> <File>
<FileName>sample_mb_master.c</FileName> <FileName>sample_mb_master.c</FileName>
@@ -1570,9 +1565,19 @@
<FilePath>..\..\libs\freemodbus\samples\sample_mb_master.c</FilePath> <FilePath>..\..\libs\freemodbus\samples\sample_mb_master.c</FilePath>
</File> </File>
<File> <File>
<FileName>mbutils.c</FileName> <FileName>mb.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>..\..\libs\freemodbus\modbus\functions\mbutils.c</FilePath> <FilePath>..\..\libs\freemodbus\modbus\mb.c</FilePath>
</File>
<File>
<FileName>mbfuncholding_m.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\freemodbus\modbus\functions\mbfuncholding_m.c</FilePath>
</File>
<File>
<FileName>porttimer.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\freemodbus\port\porttimer.c</FilePath>
</File> </File>
<File> <File>
<FileName>portevent.c</FileName> <FileName>portevent.c</FileName>
@@ -2435,14 +2440,9 @@
<FilePath>..\..\rt-thread\src\klibc\kstring.c</FilePath> <FilePath>..\..\rt-thread\src\klibc\kstring.c</FilePath>
</File> </File>
<File> <File>
<FileName>kstdio.c</FileName> <FileName>kerrno.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>..\..\rt-thread\src\klibc\kstdio.c</FilePath> <FilePath>..\..\rt-thread\src\klibc\kerrno.c</FilePath>
</File>
<File>
<FileName>rt_vsnprintf_tiny.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\rt-thread\src\klibc\rt_vsnprintf_tiny.c</FilePath>
</File> </File>
<File> <File>
<FileName>rt_vsscanf.c</FileName> <FileName>rt_vsscanf.c</FileName>
@@ -2450,9 +2450,14 @@
<FilePath>..\..\rt-thread\src\klibc\rt_vsscanf.c</FilePath> <FilePath>..\..\rt-thread\src\klibc\rt_vsscanf.c</FilePath>
</File> </File>
<File> <File>
<FileName>kerrno.c</FileName> <FileName>rt_vsnprintf_tiny.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>..\..\rt-thread\src\klibc\kerrno.c</FilePath> <FilePath>..\..\rt-thread\src\klibc\rt_vsnprintf_tiny.c</FilePath>
</File>
<File>
<FileName>kstdio.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\rt-thread\src\klibc\kstdio.c</FilePath>
</File> </File>
</Files> </Files>
</Group> </Group>
@@ -2504,101 +2509,101 @@
<Group> <Group>
<GroupName>STM32F4-HAL</GroupName> <GroupName>STM32F4-HAL</GroupName>
<Files> <Files>
<File>
<FileName>stm32f4xx_hal_can.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_can.c</FilePath>
</File>
<File>
<FileName>stm32f4xx_hal_rcc_ex.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_rcc_ex.c</FilePath>
</File>
<File>
<FileName>stm32f4xx_hal_usart.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_usart.c</FilePath>
</File>
<File>
<FileName>stm32f4xx_hal_gpio.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_gpio.c</FilePath>
</File>
<File>
<FileName>stm32f4xx_hal_pwr.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_pwr.c</FilePath>
</File>
<File>
<FileName>stm32f4xx_hal_cortex.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_cortex.c</FilePath>
</File>
<File> <File>
<FileName>stm32f4xx_hal_dma_ex.c</FileName> <FileName>stm32f4xx_hal_dma_ex.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_dma_ex.c</FilePath> <FilePath>..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_dma_ex.c</FilePath>
</File> </File>
<File> <File>
<FileName>stm32f4xx_hal_pwr_ex.c</FileName> <FileName>stm32f4xx_hal_can.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_pwr_ex.c</FilePath> <FilePath>..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_can.c</FilePath>
</File>
<File>
<FileName>stm32f4xx_hal_rng.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_rng.c</FilePath>
</File>
<File>
<FileName>stm32f4xx_hal_i2c_ex.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_i2c_ex.c</FilePath>
</File>
<File>
<FileName>stm32f4xx_hal_uart.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_uart.c</FilePath>
</File>
<File>
<FileName>stm32f4xx_hal_dma.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_dma.c</FilePath>
</File>
<File>
<FileName>stm32f4xx_hal_i2c.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_i2c.c</FilePath>
</File>
<File>
<FileName>stm32f4xx_hal_cryp_ex.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_cryp_ex.c</FilePath>
</File>
<File>
<FileName>stm32f4xx_hal_cryp.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_cryp.c</FilePath>
</File>
<File>
<FileName>stm32f4xx_hal_crc.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_crc.c</FilePath>
</File>
<File>
<FileName>stm32f4xx_hal_cec.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_cec.c</FilePath>
</File> </File>
<File> <File>
<FileName>stm32f4xx_hal.c</FileName> <FileName>stm32f4xx_hal.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal.c</FilePath> <FilePath>..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal.c</FilePath>
</File> </File>
<File>
<FileName>stm32f4xx_hal_rcc_ex.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_rcc_ex.c</FilePath>
</File>
<File>
<FileName>stm32f4xx_hal_gpio.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_gpio.c</FilePath>
</File>
<File>
<FileName>stm32f4xx_hal_cec.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_cec.c</FilePath>
</File>
<File>
<FileName>stm32f4xx_hal_i2c.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_i2c.c</FilePath>
</File>
<File>
<FileName>stm32f4xx_hal_i2c_ex.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_i2c_ex.c</FilePath>
</File>
<File>
<FileName>stm32f4xx_hal_pwr_ex.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_pwr_ex.c</FilePath>
</File>
<File> <File>
<FileName>stm32f4xx_hal_rcc.c</FileName> <FileName>stm32f4xx_hal_rcc.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_rcc.c</FilePath> <FilePath>..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_rcc.c</FilePath>
</File> </File>
<File>
<FileName>stm32f4xx_hal_dma.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_dma.c</FilePath>
</File>
<File>
<FileName>stm32f4xx_hal_pwr.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_pwr.c</FilePath>
</File>
<File>
<FileName>stm32f4xx_hal_cryp.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_cryp.c</FilePath>
</File>
<File>
<FileName>stm32f4xx_hal_usart.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_usart.c</FilePath>
</File>
<File>
<FileName>stm32f4xx_hal_cortex.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_cortex.c</FilePath>
</File>
<File>
<FileName>stm32f4xx_hal_cryp_ex.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_cryp_ex.c</FilePath>
</File>
<File>
<FileName>stm32f4xx_hal_rng.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_rng.c</FilePath>
</File>
<File>
<FileName>stm32f4xx_hal_uart.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_uart.c</FilePath>
</File>
<File>
<FileName>stm32f4xx_hal_crc.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_crc.c</FilePath>
</File>
</Files> </Files>
</Group> </Group>
</Groups> </Groups>