From f9e7fa99561d50ae4c074e8e51d98f264d960eb8 Mon Sep 17 00:00:00 2001 From: wmano Date: Mon, 25 Aug 2025 22:58:48 +0800 Subject: [PATCH] for switch --- apps/chrg/applications/SConscript | 7 +- apps/chrg/applications/{ => bsp}/chrg_can.c | 0 apps/chrg/applications/{ => bsp}/chrg_can.h | 2 +- .../{tmr_clk.c => bsp/chrg_clk.c} | 20 +- apps/chrg/applications/bsp/chrg_clk.h | 14 + apps/chrg/applications/{ => bsp}/chrg_i2c.c | 0 apps/chrg/applications/{ => bsp}/chrg_i2c.h | 8 +- apps/chrg/applications/{ => bsp}/chrg_intr.c | 0 apps/chrg/applications/{ => bsp}/chrg_intr.h | 10 +- .../{tmr_pin.c => bsp/chrg_pin.c} | 84 ++-- .../{tmr_pin.h => bsp/chrg_pin.h} | 18 +- apps/chrg/applications/bsp/chrg_switch.c | 128 ++++++ apps/chrg/applications/bsp/chrg_switch.h | 62 +++ apps/chrg/applications/{ => bsp}/chrg_tty.c | 0 apps/chrg/applications/{ => bsp}/chrg_tty.h | 8 +- apps/chrg/applications/main.c | 12 +- apps/chrg/applications/main.h | 8 + apps/chrg/applications/switch_north.c | 46 -- apps/chrg/applications/switch_north.h | 22 - apps/chrg/applications/switch_south.c | 101 ----- apps/chrg/applications/switch_south.h | 49 --- apps/chrg/applications/tmr_clk.h | 14 - apps/chrg/project.uvprojx | 407 +++++++++--------- .../libraries/HAL_Drivers/drivers/drv_can.c | 4 +- rt-thread/components/drivers/ipc/workqueue.c | 2 +- 25 files changed, 502 insertions(+), 524 deletions(-) rename apps/chrg/applications/{ => bsp}/chrg_can.c (100%) rename apps/chrg/applications/{ => bsp}/chrg_can.h (94%) rename apps/chrg/applications/{tmr_clk.c => bsp/chrg_clk.c} (50%) create mode 100644 apps/chrg/applications/bsp/chrg_clk.h rename apps/chrg/applications/{ => bsp}/chrg_i2c.c (100%) rename apps/chrg/applications/{ => bsp}/chrg_i2c.h (88%) rename apps/chrg/applications/{ => bsp}/chrg_intr.c (100%) rename apps/chrg/applications/{ => bsp}/chrg_intr.h (87%) rename apps/chrg/applications/{tmr_pin.c => bsp/chrg_pin.c} (64%) rename apps/chrg/applications/{tmr_pin.h => bsp/chrg_pin.h} (79%) create mode 100644 apps/chrg/applications/bsp/chrg_switch.c create mode 100644 apps/chrg/applications/bsp/chrg_switch.h rename apps/chrg/applications/{ => bsp}/chrg_tty.c (100%) rename apps/chrg/applications/{ => bsp}/chrg_tty.h (86%) create mode 100644 apps/chrg/applications/main.h delete mode 100644 apps/chrg/applications/switch_north.c delete mode 100644 apps/chrg/applications/switch_north.h delete mode 100644 apps/chrg/applications/switch_south.c delete mode 100644 apps/chrg/applications/switch_south.h delete mode 100644 apps/chrg/applications/tmr_clk.h diff --git a/apps/chrg/applications/SConscript b/apps/chrg/applications/SConscript index 9bb9aba..48fd32d 100644 --- a/apps/chrg/applications/SConscript +++ b/apps/chrg/applications/SConscript @@ -3,9 +3,12 @@ import os cwd = GetCurrentDir() src = Glob('*.c') -CPPPATH = [cwd] +src += Glob('bsp/*.c') -group = DefineGroup('Applications', src, depend = [''], CPPPATH = CPPPATH) +path = [cwd] +path += [cwd + '/bsp'] + +group = DefineGroup('Applications', src, depend = [''], CPPPATH = path) list = os.listdir(cwd) for item in list: diff --git a/apps/chrg/applications/chrg_can.c b/apps/chrg/applications/bsp/chrg_can.c similarity index 100% rename from apps/chrg/applications/chrg_can.c rename to apps/chrg/applications/bsp/chrg_can.c diff --git a/apps/chrg/applications/chrg_can.h b/apps/chrg/applications/bsp/chrg_can.h similarity index 94% rename from apps/chrg/applications/chrg_can.h rename to apps/chrg/applications/bsp/chrg_can.h index c0c30fb..ff1a940 100644 --- a/apps/chrg/applications/chrg_can.h +++ b/apps/chrg/applications/bsp/chrg_can.h @@ -7,7 +7,7 @@ #define DEV_NAME_CAN "can1" typedef enum { - IDX_CAN_1 = 0, + IDX_CAN_1 = 0, // 0 TOTAL_CAN } eIDX_CAN; diff --git a/apps/chrg/applications/tmr_clk.c b/apps/chrg/applications/bsp/chrg_clk.c similarity index 50% rename from apps/chrg/applications/tmr_clk.c rename to apps/chrg/applications/bsp/chrg_clk.c index 8829044..4b12d44 100644 --- a/apps/chrg/applications/tmr_clk.c +++ b/apps/chrg/applications/bsp/chrg_clk.c @@ -3,15 +3,15 @@ #include #include -#include "tmr_clk.h" +#include "chrg_clk.h" -struct tmr_clk_t tmrclk = { +struct chrg_clk_t chrgclk = { .cnt = 0, }; -static void tmr_clk_callback (void *args) +static void chrg_clk_callback (void *args) { - struct tmr_clk_t *pCLK = (struct tmr_clk_t *)args; + struct chrg_clk_t *pCLK = (struct chrg_clk_t *)args; pCLK->cnt++; @@ -22,20 +22,20 @@ static void tmr_clk_callback (void *args) //rt_kprintf("\r\n"); } -static int tmr_clk_init (void) +static int chrg_clk_init (void) { rt_err_t ret = RT_EOK; rt_timer_t timer_fd; - timer_fd = rt_timer_create("tmr_clk", tmr_clk_callback, - &tmrclk, RT_TICK_PER_SECOND, RT_TIMER_FLAG_PERIODIC); + timer_fd = rt_timer_create("clk", chrg_clk_callback, + &chrgclk, RT_TICK_PER_SECOND, RT_TIMER_FLAG_PERIODIC); if (timer_fd == RT_NULL) { - //rt_kprintf("create tmr_clk.\r\n"); + //rt_kprintf("create clk.\r\n"); return -1; } else { ret = rt_timer_start(timer_fd); if (ret != RT_EOK) { - rt_kprintf("start tmr_clk failed.\r\n"); + rt_kprintf("start clk failed.\r\n"); return ret; } } @@ -43,6 +43,6 @@ static int tmr_clk_init (void) return RT_EOK; } -INIT_APP_EXPORT(tmr_clk_init); +INIT_APP_EXPORT(chrg_clk_init); diff --git a/apps/chrg/applications/bsp/chrg_clk.h b/apps/chrg/applications/bsp/chrg_clk.h new file mode 100644 index 0000000..c5a78f8 --- /dev/null +++ b/apps/chrg/applications/bsp/chrg_clk.h @@ -0,0 +1,14 @@ +#ifndef __CHRG_CLK_H__ +#define __CHRG_CLK_H__ + + +struct chrg_clk_t { + rt_uint32_t cnt; + +}; + +extern struct chrg_clk_t chrgclk; + + +#endif + diff --git a/apps/chrg/applications/chrg_i2c.c b/apps/chrg/applications/bsp/chrg_i2c.c similarity index 100% rename from apps/chrg/applications/chrg_i2c.c rename to apps/chrg/applications/bsp/chrg_i2c.c diff --git a/apps/chrg/applications/chrg_i2c.h b/apps/chrg/applications/bsp/chrg_i2c.h similarity index 88% rename from apps/chrg/applications/chrg_i2c.h rename to apps/chrg/applications/bsp/chrg_i2c.h index 3df222a..095018a 100644 --- a/apps/chrg/applications/chrg_i2c.h +++ b/apps/chrg/applications/bsp/chrg_i2c.h @@ -12,10 +12,10 @@ #define DEV_NAME_I2C4 "i2c4" typedef enum { - IDX_I2C_1 = 0, - IDX_I2C_2 = 1, - IDX_I2C_3 = 2, - IDX_I2C_4 = 3, + IDX_I2C_1 = 0, // 0 + IDX_I2C_2, // 1 + IDX_I2C_3, // 2 + IDX_I2C_4, // 3 TOTAL_I2C } eIDX_I2C; diff --git a/apps/chrg/applications/chrg_intr.c b/apps/chrg/applications/bsp/chrg_intr.c similarity index 100% rename from apps/chrg/applications/chrg_intr.c rename to apps/chrg/applications/bsp/chrg_intr.c diff --git a/apps/chrg/applications/chrg_intr.h b/apps/chrg/applications/bsp/chrg_intr.h similarity index 87% rename from apps/chrg/applications/chrg_intr.h rename to apps/chrg/applications/bsp/chrg_intr.h index 8406a7f..f1684db 100644 --- a/apps/chrg/applications/chrg_intr.h +++ b/apps/chrg/applications/bsp/chrg_intr.h @@ -19,11 +19,11 @@ #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, + IDX_INTR_I2C1 = 0, // 0 + IDX_INTR_I2C2, // 1 + IDX_INTR_I2C3, // 2 + IDX_INTR_I2C4, // 3 + IDX_INTR_KEY, // 4 TOTAL_INTR } eIDX_INTR; diff --git a/apps/chrg/applications/tmr_pin.c b/apps/chrg/applications/bsp/chrg_pin.c similarity index 64% rename from apps/chrg/applications/tmr_pin.c rename to apps/chrg/applications/bsp/chrg_pin.c index 0b66c2c..df82045 100644 --- a/apps/chrg/applications/tmr_pin.c +++ b/apps/chrg/applications/bsp/chrg_pin.c @@ -1,8 +1,8 @@ #include -#include "tmr_pin.h" +#include "chrg_pin.h" -struct tmr_pin_t tmrpins[TOTAL_PINS] = { +struct chrg_pin_t chrgpins[TOTAL_PINS] = { [IDX_PIN_LED1] = { .index = IDX_PIN_LED1, .pin_name = PIN_NAME_LED1, @@ -47,19 +47,19 @@ struct tmr_pin_t tmrpins[TOTAL_PINS] = { }*/ }; -rt_int32_t tmr_pin_get (ePIN_IDX index) +rt_int32_t chrg_pin_get (eIDX_PIN index) { if (index >= TOTAL_PINS) { return -1; } - struct tmr_pin_t *pPIN = &tmrpins[index]; + struct chrg_pin_t *pPIN = &chrgpins[index]; pPIN->pin_value = rt_pin_read(pPIN->pin_base); return pPIN->pin_value; } -rt_int32_t tmr_pin_set (struct tmr_pin_t *pPIN, rt_uint8_t value) +rt_int32_t chrg_pin_set (struct chrg_pin_t *pPIN, rt_uint8_t value) { pPIN->pin_value = value; rt_pin_write(pPIN->pin_base, pPIN->pin_value); @@ -67,13 +67,13 @@ rt_int32_t tmr_pin_set (struct tmr_pin_t *pPIN, rt_uint8_t value) return 0; } -rt_int32_t tmr_pin_toggle (ePIN_IDX index) +rt_int32_t chrg_pin_toggle (eIDX_PIN index) { if (index >= TOTAL_PINS) { return -1; } - struct tmr_pin_t *pPIN = &tmrpins[index]; + struct chrg_pin_t *pPIN = &chrgpins[index]; pPIN->pin_value = !pPIN->pin_value; rt_pin_write(pPIN->pin_base, pPIN->pin_value); @@ -81,36 +81,36 @@ rt_int32_t tmr_pin_toggle (ePIN_IDX index) return 0; } -static rt_int32_t tmr_pin_timer_set_on (struct tmr_pin_t *pPIN) +static rt_int32_t chrg_pin_timer_set_on (struct chrg_pin_t *pPIN) { return rt_timer_control(pPIN->tmr_fd, RT_TIMER_CTRL_SET_TIME, (void *)&pPIN->tmr_millis_on); } -static rt_int32_t tmr_pin_timer_set_off (struct tmr_pin_t *pPIN) +static rt_int32_t chrg_pin_timer_set_off (struct chrg_pin_t *pPIN) { return rt_timer_control(pPIN->tmr_fd, RT_TIMER_CTRL_SET_TIME, (void *)&pPIN->tmr_millis_off); } -rt_int32_t tmr_pin_pulsing (struct tmr_pin_t *pPIN, rt_uint8_t state) +rt_int32_t chrg_pin_pulsing (struct chrg_pin_t *pPIN, rt_uint8_t state) { rt_int32_t ret = 0; if (state == PULSE_OFF) { pPIN->tmr_stage = PIN_STAGE_IDLE; - tmr_pin_set(pPIN, PIN_HIGH); + chrg_pin_set(pPIN, PIN_HIGH); } else { if (pPIN->tmr_millis_on == HOLD_ZERO) { // 常低 pPIN->tmr_stage = PIN_STAGE_IDLE; rt_timer_stop(pPIN->tmr_fd); - tmr_pin_set(pPIN, PIN_HIGH); + chrg_pin_set(pPIN, PIN_HIGH); } else if (pPIN->tmr_millis_off == HOLD_ZERO) { // 常高 pPIN->tmr_stage = PIN_STAGE_IDLE; - tmr_pin_set(pPIN, PIN_LOW); + chrg_pin_set(pPIN, PIN_LOW); } else { // 交替 if (pPIN->tmr_stage == PIN_STAGE_IDLE) { pPIN->tmr_stage = PIN_STAGE_ON; - tmr_pin_set(pPIN, PIN_LOW); - tmr_pin_timer_set_on(pPIN); + chrg_pin_set(pPIN, PIN_LOW); + chrg_pin_timer_set_on(pPIN); ret = rt_timer_start(pPIN->tmr_fd); } } @@ -119,23 +119,23 @@ rt_int32_t tmr_pin_pulsing (struct tmr_pin_t *pPIN, rt_uint8_t state) return ret; } -static void tmr_pin_timer_timeout_callback (void* parameter) +static void chrg_pin_timer_timeout_callback (void* parameter) { - struct tmr_pin_t *pPIN = (struct tmr_pin_t *)parameter; + struct chrg_pin_t *pPIN = (struct chrg_pin_t *)parameter; if (pPIN->tmr_stage == PIN_STAGE_ON) { pPIN->tmr_stage = PIN_STAGE_OFF; - tmr_pin_set(pPIN, PIN_HIGH); - tmr_pin_timer_set_off(pPIN); + chrg_pin_set(pPIN, PIN_HIGH); + chrg_pin_timer_set_off(pPIN); rt_timer_start(pPIN->tmr_fd); } else if (pPIN->tmr_stage == PIN_STAGE_OFF) { pPIN->tmr_stage = PIN_STAGE_IDLE; if ((pPIN->tmr_times == TIMES_ALWAYS)&&(pPIN->tmr_millis_off != HOLD_ZERO)) { // 保持闪烁 pPIN->tmr_stage = PIN_STAGE_ON; - tmr_pin_set(pPIN, PIN_LOW); - tmr_pin_timer_set_on(pPIN); + chrg_pin_set(pPIN, PIN_LOW); + chrg_pin_timer_set_on(pPIN); rt_timer_start(pPIN->tmr_fd); } else { // 计数闪烁 if (++pPIN->tmr_cnt >= pPIN->tmr_times) { @@ -143,25 +143,25 @@ static void tmr_pin_timer_timeout_callback (void* parameter) rt_timer_stop(pPIN->tmr_fd); } else { pPIN->tmr_stage = PIN_STAGE_ON; - tmr_pin_set(pPIN, PIN_LOW); - tmr_pin_timer_set_on(pPIN); + chrg_pin_set(pPIN, PIN_LOW); + chrg_pin_timer_set_on(pPIN); rt_timer_start(pPIN->tmr_fd); } } } } -static rt_int32_t tmr_pin_timer_start (ePIN_IDX index) +static rt_int32_t chrg_pin_timer_start (eIDX_PIN index) { if (index >= TOTAL_PINS) { return -1; } - struct tmr_pin_t *pPIN = RT_NULL; + struct chrg_pin_t *pPIN = RT_NULL; - pPIN = &tmrpins[index]; + pPIN = &chrgpins[index]; - pPIN->tmr_fd = rt_timer_create(pPIN->tmr_name, tmr_pin_timer_timeout_callback, + pPIN->tmr_fd = rt_timer_create(pPIN->tmr_name, chrg_pin_timer_timeout_callback, pPIN, pPIN->tmr_millis_on, RT_TIMER_FLAG_ONE_SHOT); if (pPIN->tmr_fd == RT_NULL) { @@ -172,16 +172,16 @@ static rt_int32_t tmr_pin_timer_start (ePIN_IDX index) return 0; } -rt_int32_t tmr_pin_timer_delete (ePIN_IDX index) +rt_int32_t chrg_pin_timer_delete (eIDX_PIN index) { if (index >= TOTAL_PINS) { return -1; } - return rt_timer_delete(tmrpins[index].tmr_fd); + return rt_timer_delete(chrgpins[index].tmr_fd); } -static rt_int32_t tmr_pin_show (struct tmr_pin_t *pPIN, rt_uint32_t times, rt_uint32_t on, rt_uint32_t off) +static rt_int32_t chrg_pin_show (struct chrg_pin_t *pPIN, rt_uint32_t times, rt_uint32_t on, rt_uint32_t off) { rt_int32_t ret = 0; @@ -191,34 +191,34 @@ static rt_int32_t tmr_pin_show (struct tmr_pin_t *pPIN, rt_uint32_t times, rt_ui pPIN->tmr_cnt = 0; if (pPIN->tmr_millis_on == HOLD_ZERO) { - ret = tmr_pin_pulsing(pPIN, PULSE_OFF); + ret = chrg_pin_pulsing(pPIN, PULSE_OFF); } else { - ret = tmr_pin_pulsing(pPIN, PULSE_ON); + ret = chrg_pin_pulsing(pPIN, PULSE_ON); } return ret; } -rt_int32_t tmr_led_flashing (ePIN_IDX index, rt_uint32_t times, rt_uint32_t on, rt_uint32_t off) +rt_int32_t chrg_led_flashing (eIDX_PIN index, rt_uint32_t times, rt_uint32_t on, rt_uint32_t off) { rt_int32_t ret = -1; - struct tmr_pin_t *pPIN = NULL; + struct chrg_pin_t *pPIN = NULL; if (index < TOTAL_PINS) { - pPIN = &tmrpins[index]; - ret = tmr_pin_show(pPIN, times, on, off); + pPIN = &chrgpins[index]; + ret = chrg_pin_show(pPIN, times, on, off); } return ret; } -static int tmr_pins_init (void) +static int chrg_pins_init (void) { rt_uint8_t i = 0; - struct tmr_pin_t *pPIN = RT_NULL; + struct chrg_pin_t *pPIN = RT_NULL; for (i = 0; i < TOTAL_PINS; i++) { - pPIN = &tmrpins[i]; + pPIN = &chrgpins[i]; rt_pin_mode(pPIN->pin_base, pPIN->pin_mode); @@ -227,15 +227,15 @@ static int tmr_pins_init (void) rt_pin_write(pPIN->pin_base, pPIN->pin_value); } - tmr_pin_timer_start((ePIN_IDX)i); + chrg_pin_timer_start((eIDX_PIN)i); } - tmr_led_flashing(IDX_PIN_LED1, TIMES_ALWAYS, PULSE_TIME*8, PULSE_TIME*8); + chrg_led_flashing(IDX_PIN_LED1, TIMES_ALWAYS, PULSE_TIME*8, PULSE_TIME*8); return 0; } -INIT_ENV_EXPORT(tmr_pins_init); +INIT_ENV_EXPORT(chrg_pins_init); diff --git a/apps/chrg/applications/tmr_pin.h b/apps/chrg/applications/bsp/chrg_pin.h similarity index 79% rename from apps/chrg/applications/tmr_pin.h rename to apps/chrg/applications/bsp/chrg_pin.h index 79bdfe7..387a5e5 100644 --- a/apps/chrg/applications/tmr_pin.h +++ b/apps/chrg/applications/bsp/chrg_pin.h @@ -1,5 +1,5 @@ -#ifndef __PIN_TMR_H__ -#define __PIN_TMR_H__ +#ifndef __CHRG_PIN_H__ +#define __CHRG_PIN_H__ #include #include @@ -34,7 +34,7 @@ typedef enum { // IDX_PIN_LED2 = 1, // LED2 // IDX_PIN_LED3 = 2, // LED3 TOTAL_PINS -} ePIN_IDX; +} eIDX_PIN; typedef enum { PIN_STAGE_IDLE = (0x00), // 空闲 @@ -44,7 +44,7 @@ typedef enum { PIN_STAGE_END } ePIN_STAGE; -struct tmr_pin_t { +struct chrg_pin_t { rt_uint8_t index; // 引脚索引 char *pin_name; // 引脚名 rt_int32_t pin_base; // 引脚映射值 @@ -60,15 +60,15 @@ struct tmr_pin_t { rt_uint32_t tmr_cnt; // 定时器已执行周期次数 }; -extern struct tmr_pin_t tmrpins[TOTAL_PINS]; +extern struct chrg_pin_t tmrpins[TOTAL_PINS]; -extern rt_int32_t tmr_pin_set (struct tmr_pin_t *pPIN, rt_uint8_t value); +extern rt_int32_t chrg_pin_set (struct chrg_pin_t *pPIN, rt_uint8_t value); -extern rt_int32_t tmr_pin_toggle (ePIN_IDX index); +extern rt_int32_t chrg_pin_toggle (eIDX_PIN index); -extern rt_int32_t tmr_pin_pulsing (struct tmr_pin_t *pPIN, rt_uint8_t state); +extern rt_int32_t chrg_pin_pulsing (struct chrg_pin_t *pPIN, rt_uint8_t state); -extern rt_int32_t tmr_led_flashing (ePIN_IDX index, rt_uint32_t times, rt_uint32_t on, rt_uint32_t off); +extern rt_int32_t chrg_led_flashing (eIDX_PIN index, rt_uint32_t times, rt_uint32_t on, rt_uint32_t off); #endif diff --git a/apps/chrg/applications/bsp/chrg_switch.c b/apps/chrg/applications/bsp/chrg_switch.c new file mode 100644 index 0000000..0c68d02 --- /dev/null +++ b/apps/chrg/applications/bsp/chrg_switch.c @@ -0,0 +1,128 @@ + +#include "chrg_switch.h" + +int chrg_switch_ch (rt_base_t inA, rt_base_t inB, eIDX_CH ch) +{ + rt_uint8_t a,b; + + switch (ch) { + case IDX_CH_0: + a = PIN_LOW; + b = PIN_LOW; + break; + + case IDX_CH_1: + a = PIN_LOW; + b = PIN_HIGH; + break; + + case IDX_CH_2: + a = PIN_HIGH; + b = PIN_LOW; + break; + + case IDX_CH_3: + a = PIN_HIGH; + b = PIN_HIGH; + break; + + default: + return -1; + } + + rt_pin_write(inA, a); + rt_pin_write(inB, b); + + return 0; +} + +// 北向通道选择 +int chrg_switch_north (eIDX_CH ch) +{ + if (ch >= TOTAL_CHS) { + return -1; + } + + return chrg_switch_ch(PIN_SW_NORTH_A, PIN_SW_NORTH_B, ch); +} + +static int chrg_switch_north_pins_init (void) +{ + rt_pin_mode(PIN_SW_NORTH_A, PIN_MODE_OUTPUT); + rt_pin_mode(PIN_SW_NORTH_B, PIN_MODE_OUTPUT); + + return 0; +} + +int chrg_switch_south_lv1 (eIDX_CH ch) +{ + if (ch >= 2) { + return -1; + } + + return chrg_switch_ch(PIN_SW_SOUTH_LV1_A, PIN_SW_SOUTH_LV1_B, ch); +} + +int chrg_switch_south_lv2_1 (eIDX_CH ch) +{ + if (ch >= TOTAL_CHS) { + return -1; + } + + return chrg_switch_ch(PIN_SW_SOUTH_LV2_A1, PIN_SW_SOUTH_LV2_B1, ch); +} + +int chrg_switch_south_lv2_2 (eIDX_CH ch) +{ + if (ch >= TOTAL_CHS) { + return -1; + } + + return chrg_switch_ch(PIN_SW_SOUTH_LV2_A2, PIN_SW_SOUTH_LV2_B2, ch); +} + +// 南向通道选择 +int chrg_switch_south (eIDX_SOUTH_CH ch) +{ + if (ch >= TOTAL_SOUTH_CHS) { + return -1; + } + + if (ch < IDX_SOUTH_4) { + chrg_switch_south_lv1(IDX_CH_0); + chrg_switch_south_lv2_1((eIDX_CH)ch); + } else { + chrg_switch_south_lv1(IDX_CH_1); + chrg_switch_south_lv2_2((eIDX_CH)(ch-IDX_SOUTH_4)); + } + + return 0; +} + +static int chrg_switch_south_pins_init (void) +{ + rt_pin_mode(PIN_SW_SOUTH_LV1_A, PIN_MODE_OUTPUT); + rt_pin_mode(PIN_SW_SOUTH_LV1_B, PIN_MODE_OUTPUT); + rt_pin_mode(PIN_SW_SOUTH_LV2_A1, PIN_MODE_OUTPUT); + rt_pin_mode(PIN_SW_SOUTH_LV2_B1, PIN_MODE_OUTPUT); + rt_pin_mode(PIN_SW_SOUTH_LV2_A2, PIN_MODE_OUTPUT); + rt_pin_mode(PIN_SW_SOUTH_LV2_B2, PIN_MODE_OUTPUT); + + return 0; +} + + +static int chrg_switch_init (void) +{ + chrg_switch_north_pins_init(); + chrg_switch_south_pins_init(); + + return 0; +} + + +INIT_ENV_EXPORT(chrg_switch_init); + + + + diff --git a/apps/chrg/applications/bsp/chrg_switch.h b/apps/chrg/applications/bsp/chrg_switch.h new file mode 100644 index 0000000..6a16844 --- /dev/null +++ b/apps/chrg/applications/bsp/chrg_switch.h @@ -0,0 +1,62 @@ +#ifndef __CHRG_SWITCH_H__ +#define __CHRG_SWITCH_H__ + +#include +#include +#include "drv_gpio.h" + +// 4路选通 +typedef enum { + // U14 U23 U24 U25 + // ---------------- + IDX_CH_0 = 0, // J3 U24 J12 J16 + IDX_CH_1, // J4 U25 J13 J17 + IDX_CH_2, // J9 - J14 J18 + IDX_CH_3, // J10 - J15 J19 + + TOTAL_CHS +} eIDX_CH; + +// 南向选择 组合 +typedef enum { + IDX_SOUTH_0 = 0, // U24_J12 + IDX_SOUTH_1, // U24_J13 + IDX_SOUTH_2, // U24_J14 + IDX_SOUTH_3, // U24_J15 + IDX_SOUTH_4, // U25_J16 + IDX_SOUTH_5, // U25_J17 + IDX_SOUTH_6, // U25_J18 + IDX_SOUTH_7, // U25_J19 + + TOTAL_SOUTH_CHS +} eIDX_SOUTH_CH; + + +// U14 switch +#define PIN_SW_NORTH_A GET_PIN(B, 0) +#define PIN_SW_NORTH_B GET_PIN(B, 1) + +// U23 switch +#define PIN_SW_SOUTH_LV1_A GET_PIN(C, 8) +#define PIN_SW_SOUTH_LV1_B GET_PIN(C, 9) + +// U24 switch +#define PIN_SW_SOUTH_LV2_A1 GET_PIN(A, 15) +#define PIN_SW_SOUTH_LV2_B1 GET_PIN(C, 10) + +// U25 switch +#define PIN_SW_SOUTH_LV2_A2 GET_PIN(C, 11) +#define PIN_SW_SOUTH_LV2_B2 GET_PIN(C, 12) + + +// 北向通道选择 +extern int chrg_switch_north (eIDX_CH ch); + +// 南向通道选择 +extern int chrg_switch_south (eIDX_SOUTH_CH ch); + + + + +#endif + diff --git a/apps/chrg/applications/chrg_tty.c b/apps/chrg/applications/bsp/chrg_tty.c similarity index 100% rename from apps/chrg/applications/chrg_tty.c rename to apps/chrg/applications/bsp/chrg_tty.c diff --git a/apps/chrg/applications/chrg_tty.h b/apps/chrg/applications/bsp/chrg_tty.h similarity index 86% rename from apps/chrg/applications/chrg_tty.h rename to apps/chrg/applications/bsp/chrg_tty.h index 61a864e..4b62c3c 100644 --- a/apps/chrg/applications/chrg_tty.h +++ b/apps/chrg/applications/bsp/chrg_tty.h @@ -10,10 +10,10 @@ #define DEV_NAME_SOUTH "uart6" typedef enum { - IDX_TTY_RS485 = 0, - IDX_TTY_LCD = 1, - IDX_TTY_NORTH = 2, - IDX_TTY_SOUTH = 3, + IDX_TTY_RS485 = 0, // 0 + IDX_TTY_LCD, // 1 + IDX_TTY_NORTH, // 2 + IDX_TTY_SOUTH, // 3 TOTAL_TTY } eIDX_TTY; diff --git a/apps/chrg/applications/main.c b/apps/chrg/applications/main.c index 65a0454..45a93d7 100644 --- a/apps/chrg/applications/main.c +++ b/apps/chrg/applications/main.c @@ -1,11 +1,11 @@ +#include + +#include +#include + #include "shell.h" -#include -#include -#include -#ifndef RT_USING_NANO -#include -#endif /* RT_USING_NANO */ +#include "main.h" void show_app_version (void) { diff --git a/apps/chrg/applications/main.h b/apps/chrg/applications/main.h new file mode 100644 index 0000000..a6d6dfc --- /dev/null +++ b/apps/chrg/applications/main.h @@ -0,0 +1,8 @@ +#ifndef __MAIN_H__ +#define __MAIN_H__ + +#include + + +#endif + diff --git a/apps/chrg/applications/switch_north.c b/apps/chrg/applications/switch_north.c deleted file mode 100644 index af21f94..0000000 --- a/apps/chrg/applications/switch_north.c +++ /dev/null @@ -1,46 +0,0 @@ - - -#include "switch_north.h" - -int switch_north_channel(eIDX_SW_NOR idx) -{ - if (idx >= TOTAL_SW_NOR) { - return -1; - } - - switch(idx) { - case IDX_SW_NOR_0: - rt_pin_write(PIN_SW_NORTH_A, PIN_LOW); - rt_pin_write(PIN_SW_NORTH_B, PIN_LOW); - break; - case IDX_SW_NOR_1: - rt_pin_write(PIN_SW_NORTH_A, PIN_LOW); - rt_pin_write(PIN_SW_NORTH_B, PIN_HIGH); - break; - case IDX_SW_NOR_2: - rt_pin_write(PIN_SW_NORTH_A, PIN_HIGH); - rt_pin_write(PIN_SW_NORTH_B, PIN_LOW); - break; - case IDX_SW_NOR_3: - rt_pin_write(PIN_SW_NORTH_A, PIN_HIGH); - rt_pin_write(PIN_SW_NORTH_B, PIN_HIGH); - break; - default: - return -1; - } - - return 0; -} - -static int switch_north_pins_init (void) -{ - rt_pin_mode(PIN_SW_NORTH_A, PIN_MODE_OUTPUT); - rt_pin_mode(PIN_SW_NORTH_B, PIN_MODE_OUTPUT); - - return 0; -} - -INIT_ENV_EXPORT(switch_north_pins_init); - - - diff --git a/apps/chrg/applications/switch_north.h b/apps/chrg/applications/switch_north.h deleted file mode 100644 index fc7cf93..0000000 --- a/apps/chrg/applications/switch_north.h +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef __SWITCH_NORTH_H__ -#define __SWITCH_NORTH_H__ - -#include "drv_gpio.h" - -// U14 switch -#define PIN_SW_NORTH_A GET_PIN(B, 0) -#define PIN_SW_NORTH_B GET_PIN(B, 1) - -typedef enum { - IDX_SW_NOR_0 = 0, // to J3 - IDX_SW_NOR_1 = 1, // to J4 - IDX_SW_NOR_2 = 2, // to J9 - IDX_SW_NOR_3 = 3, // to J10 - - TOTAL_SW_NOR -} eIDX_SW_NOR; - - -#endif - - diff --git a/apps/chrg/applications/switch_south.c b/apps/chrg/applications/switch_south.c deleted file mode 100644 index fb17b4c..0000000 --- a/apps/chrg/applications/switch_south.c +++ /dev/null @@ -1,101 +0,0 @@ - - -#include "switch_south.h" - -int switch_south_lv1_channel(eIDX_SW_SOU_LV1 idx) -{ - if (idx >= TOTAL_SW_SOU_LV1) { - return -1; - } - - switch(idx) { - case IDX_SW_SOU_LV1_0: - rt_pin_write(PIN_SW_SOUTH_LV1_A, PIN_LOW); - rt_pin_write(PIN_SW_SOUTH_LV1_B, PIN_LOW); - break; - case IDX_SW_SOU_LV1_1: - rt_pin_write(PIN_SW_SOUTH_LV1_A, PIN_LOW); - rt_pin_write(PIN_SW_SOUTH_LV1_B, PIN_HIGH); - break; - default: - return -1; - } - - return 0; -} - -int switch_south_lv2_1_channel(eIDX_SW_SOU_LV2_1 idx) -{ - if (idx >= TOTAL_SW_SOU_LV2_1) { - return -1; - } - - switch(idx) { - case IDX_SW_SOU_LV2_1_0: - rt_pin_write(PIN_SW_SOUTH_LV2_A1, PIN_LOW); - rt_pin_write(PIN_SW_SOUTH_LV2_B1, PIN_LOW); - break; - case IDX_SW_SOU_LV2_1_1: - rt_pin_write(PIN_SW_SOUTH_LV2_A1, PIN_LOW); - rt_pin_write(PIN_SW_SOUTH_LV2_B1, PIN_HIGH); - break; - case IDX_SW_SOU_LV2_1_2: - rt_pin_write(PIN_SW_SOUTH_LV2_A1, PIN_HIGH); - rt_pin_write(PIN_SW_SOUTH_LV2_B1, PIN_LOW); - break; - case IDX_SW_SOU_LV2_1_3: - rt_pin_write(PIN_SW_SOUTH_LV2_A1, PIN_HIGH); - rt_pin_write(PIN_SW_SOUTH_LV2_B1, PIN_HIGH); - break; - default: - return -1; - } - - return 0; -} - -int switch_south_lv2_2_channel(eIDX_SW_SOU_LV2_2 idx) -{ - if (idx >= TOTAL_SW_SOU_LV2_2) { - return -1; - } - - switch(idx) { - case IDX_SW_SOU_LV2_2_0: - rt_pin_write(PIN_SW_SOUTH_LV2_A2, PIN_LOW); - rt_pin_write(PIN_SW_SOUTH_LV2_B2, PIN_LOW); - break; - case IDX_SW_SOU_LV2_2_1: - rt_pin_write(PIN_SW_SOUTH_LV2_A2, PIN_LOW); - rt_pin_write(PIN_SW_SOUTH_LV2_B2, PIN_HIGH); - break; - case IDX_SW_SOU_LV2_2_2: - rt_pin_write(PIN_SW_SOUTH_LV2_A2, PIN_HIGH); - rt_pin_write(PIN_SW_SOUTH_LV2_B2, PIN_LOW); - break; - case IDX_SW_SOU_LV2_2_3: - rt_pin_write(PIN_SW_SOUTH_LV2_A2, PIN_HIGH); - rt_pin_write(PIN_SW_SOUTH_LV2_B2, PIN_HIGH); - break; - default: - return -1; - } - - return 0; -} - -static int switch_south_pins_init (void) -{ - rt_pin_mode(PIN_SW_SOUTH_LV1_A, PIN_MODE_OUTPUT); - rt_pin_mode(PIN_SW_SOUTH_LV1_B, PIN_MODE_OUTPUT); - rt_pin_mode(PIN_SW_SOUTH_LV2_A1, PIN_MODE_OUTPUT); - rt_pin_mode(PIN_SW_SOUTH_LV2_B1, PIN_MODE_OUTPUT); - rt_pin_mode(PIN_SW_SOUTH_LV2_A2, PIN_MODE_OUTPUT); - rt_pin_mode(PIN_SW_SOUTH_LV2_B2, PIN_MODE_OUTPUT); - - return 0; -} - -INIT_ENV_EXPORT(switch_south_pins_init); - - diff --git a/apps/chrg/applications/switch_south.h b/apps/chrg/applications/switch_south.h deleted file mode 100644 index b440ca2..0000000 --- a/apps/chrg/applications/switch_south.h +++ /dev/null @@ -1,49 +0,0 @@ -#ifndef __SWITCH_SOUTH_H__ -#define __SWITCH_SOUTH_H__ - -#include "drv_gpio.h" - -// U23 switch -#define PIN_SW_SOUTH_LV1_A GET_PIN(C, 8) -#define PIN_SW_SOUTH_LV1_B GET_PIN(C, 9) - -typedef enum { - IDX_SW_SOU_LV1_0 = 0, // to U24 - IDX_SW_SOU_LV1_1 = 1, // to U25 - - TOTAL_SW_SOU_LV1 -} eIDX_SW_SOU_LV1; - -// U24 switch -#define PIN_SW_SOUTH_LV2_A1 GET_PIN(A, 15) -#define PIN_SW_SOUTH_LV2_B1 GET_PIN(C, 10) - -typedef enum { - IDX_SW_SOU_LV2_1_0 = 0, // to J12 - IDX_SW_SOU_LV2_1_1 = 1, // to J13 - IDX_SW_SOU_LV2_1_2 = 2, // to J14 - IDX_SW_SOU_LV2_1_3 = 3, // to J15 - - TOTAL_SW_SOU_LV2_1 -} eIDX_SW_SOU_LV2_1; - -// U25 switch -#define PIN_SW_SOUTH_LV2_A2 GET_PIN(C, 11) -#define PIN_SW_SOUTH_LV2_B2 GET_PIN(C, 12) - -typedef enum { - IDX_SW_SOU_LV2_2_0 = 0, // to J16 - IDX_SW_SOU_LV2_2_1 = 1, // to J17 - IDX_SW_SOU_LV2_2_2 = 2, // to J18 - IDX_SW_SOU_LV2_2_3 = 3, // to J19 - - TOTAL_SW_SOU_LV2_2 -} eIDX_SW_SOU_LV2_2; - - - - - -#endif - - diff --git a/apps/chrg/applications/tmr_clk.h b/apps/chrg/applications/tmr_clk.h deleted file mode 100644 index 658c961..0000000 --- a/apps/chrg/applications/tmr_clk.h +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef __TMR_CLK_H__ -#define __TMR_CLK_H__ - - -struct tmr_clk_t { - rt_uint32_t cnt; - -}; - -extern struct tmr_clk_t tmrclk; - - -#endif - diff --git a/apps/chrg/project.uvprojx b/apps/chrg/project.uvprojx index fdc5853..706afa3 100644 --- a/apps/chrg/project.uvprojx +++ b/apps/chrg/project.uvprojx @@ -337,9 +337,9 @@ 0 - RT_USING_ARMLIBC, STM32F405xx, USE_HAL_DRIVER, __STDC_LIMIT_MACROS, __CLK_TCK=RT_TICK_PER_SECOND, __RTTHREAD__, RT_USING_LIBC + __CLK_TCK=RT_TICK_PER_SECOND, __RTTHREAD__, USE_HAL_DRIVER, __STDC_LIMIT_MACROS, STM32F405xx, RT_USING_LIBC, RT_USING_ARMLIBC - ..\..\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 + ..\..\libs\stm32f4\STM32F4_HAL\Inc\Legacy;..\..\rt-thread\components\drivers\include;..\..\rt-thread\components\drivers\include;..\..\libs\freemodbus\modbus\tcp;..\..\rt-thread\libcpu\arm\cortex-m4;board\CubeMX_Config\Inc;.;..\..\libs\freemodbus\modbus\include;..\..\rt-thread\components\libc\posix\io\eventfd;..\..\rt-thread\components\drivers\include;..\..\libs\cmsis-core\Include;..\..\rt-thread\components\libc\posix\io\epoll;..\..\rt-thread\components\libc\posix\ipc;..\..\rt-thread\components\libc\posix\io\poll;..\..\rt-thread\include;..\..\rt-thread\components\drivers\include;..\..\rt-thread\components\drivers\include;..\..\rt-thread\components\drivers\include;..\..\libs\freemodbus\port;..\..\rt-thread\bsp\stm32\libraries\HAL_Drivers\drivers;..\..\rt-thread\bsp\stm32\libraries\HAL_Drivers\drivers\config;..\..\rt-thread\components\libc\compilers\common\extension;..\..\rt-thread\components\finsh;..\..\libs\freemodbus\modbus\rtu;..\..\rt-thread\components\drivers\phy;..\..\rt-thread\components\drivers\include;board;..\..\libs\stm32f4\STM32F4_HAL\Inc;..\..\rt-thread\components\libc\compilers\common\extension\fcntl\octal;..\..\rt-thread\components\drivers\smp_call;applications;..\..\libs\freemodbus\modbus\ascii;..\..\rt-thread\bsp\stm32\libraries\HAL_Drivers;applications\bsp;..\..\rt-thread\libcpu\arm\common;..\..\rt-thread\components\libc\compilers\common\include;..\..\libs\stm32f4\STM32F4_CMSIS\Include @@ -384,49 +384,44 @@ Applications - switch_south.c + chrg_pin.c 1 - applications\switch_south.c + applications\bsp\chrg_pin.c + + + chrg_switch.c + 1 + applications\bsp\chrg_switch.c + + + chrg_intr.c + 1 + applications\bsp\chrg_intr.c chrg_i2c.c 1 - applications\chrg_i2c.c - - - tmr_clk.c - 1 - applications\tmr_clk.c + applications\bsp\chrg_i2c.c main.c 1 applications\main.c - - switch_north.c - 1 - applications\switch_north.c - - - tmr_pin.c - 1 - applications\tmr_pin.c - - - chrg_intr.c - 1 - applications\chrg_intr.c - chrg_tty.c 1 - applications\chrg_tty.c + applications\bsp\chrg_tty.c + + + chrg_clk.c + 1 + applications\bsp\chrg_clk.c chrg_can.c 1 - applications\chrg_can.c + applications\bsp\chrg_can.c @@ -1419,16 +1414,6 @@ Finsh - - msh.c - 1 - ..\..\rt-thread\components\finsh\msh.c - - - shell.c - 1 - ..\..\rt-thread\components\finsh\shell.c - cmd.c 1 @@ -1439,46 +1424,61 @@ 1 ..\..\rt-thread\components\finsh\msh_parse.c + + msh.c + 1 + ..\..\rt-thread\components\finsh\msh.c + + + shell.c + 1 + ..\..\rt-thread\components\finsh\shell.c + FreeModbus - mbcrc.c + sample_mb_master.c 1 - ..\..\libs\freemodbus\modbus\rtu\mbcrc.c + ..\..\libs\freemodbus\samples\sample_mb_master.c - sample_mb_slave.c + mbfuncinput.c 1 - ..\..\libs\freemodbus\samples\sample_mb_slave.c + ..\..\libs\freemodbus\modbus\functions\mbfuncinput.c - mbutils.c + mbrtu.c 1 - ..\..\libs\freemodbus\modbus\functions\mbutils.c + ..\..\libs\freemodbus\modbus\rtu\mbrtu.c - mbrtu_m.c + portevent.c 1 - ..\..\libs\freemodbus\modbus\rtu\mbrtu_m.c + ..\..\libs\freemodbus\port\portevent.c - porttcp.c + user_mb_app.c 1 - ..\..\libs\freemodbus\port\porttcp.c - - - mbfunccoils_m.c - 1 - ..\..\libs\freemodbus\modbus\functions\mbfunccoils_m.c + ..\..\libs\freemodbus\port\user_mb_app.c mbfuncdiag.c 1 ..\..\libs\freemodbus\modbus\functions\mbfuncdiag.c + + portevent_m.c + 1 + ..\..\libs\freemodbus\port\portevent_m.c + + + mbfunccoils.c + 1 + ..\..\libs\freemodbus\modbus\functions\mbfunccoils.c + porttimer_m.c 1 @@ -1494,95 +1494,90 @@ 1 ..\..\libs\freemodbus\port\portserial.c - - mbfuncinput.c - 1 - ..\..\libs\freemodbus\modbus\functions\mbfuncinput.c - - - user_mb_app_m.c - 1 - ..\..\libs\freemodbus\port\user_mb_app_m.c - - - mbfuncinput_m.c - 1 - ..\..\libs\freemodbus\modbus\functions\mbfuncinput_m.c - - - mbfuncholding.c - 1 - ..\..\libs\freemodbus\modbus\functions\mbfuncholding.c - - - mbrtu.c - 1 - ..\..\libs\freemodbus\modbus\rtu\mbrtu.c - - - mbfuncdisc.c - 1 - ..\..\libs\freemodbus\modbus\functions\mbfuncdisc.c - - - portserial_m.c - 1 - ..\..\libs\freemodbus\port\portserial_m.c - - - user_mb_app.c - 1 - ..\..\libs\freemodbus\port\user_mb_app.c - - - mb_m.c - 1 - ..\..\libs\freemodbus\modbus\mb_m.c - - - portevent_m.c - 1 - ..\..\libs\freemodbus\port\portevent_m.c - - - mbfuncother.c - 1 - ..\..\libs\freemodbus\modbus\functions\mbfuncother.c - mbfuncdisc_m.c 1 ..\..\libs\freemodbus\modbus\functions\mbfuncdisc_m.c - - mbfunccoils.c - 1 - ..\..\libs\freemodbus\modbus\functions\mbfunccoils.c - - - sample_mb_master.c - 1 - ..\..\libs\freemodbus\samples\sample_mb_master.c - - - mb.c - 1 - ..\..\libs\freemodbus\modbus\mb.c - - - mbfuncholding_m.c - 1 - ..\..\libs\freemodbus\modbus\functions\mbfuncholding_m.c - porttimer.c 1 ..\..\libs\freemodbus\port\porttimer.c - portevent.c + sample_mb_slave.c 1 - ..\..\libs\freemodbus\port\portevent.c + ..\..\libs\freemodbus\samples\sample_mb_slave.c + + + mb_m.c + 1 + ..\..\libs\freemodbus\modbus\mb_m.c + + + mbfuncholding.c + 1 + ..\..\libs\freemodbus\modbus\functions\mbfuncholding.c + + + mbrtu_m.c + 1 + ..\..\libs\freemodbus\modbus\rtu\mbrtu_m.c + + + mbfuncholding_m.c + 1 + ..\..\libs\freemodbus\modbus\functions\mbfuncholding_m.c + + + mbcrc.c + 1 + ..\..\libs\freemodbus\modbus\rtu\mbcrc.c + + + user_mb_app_m.c + 1 + ..\..\libs\freemodbus\port\user_mb_app_m.c + + + mbfuncother.c + 1 + ..\..\libs\freemodbus\modbus\functions\mbfuncother.c + + + portserial_m.c + 1 + ..\..\libs\freemodbus\port\portserial_m.c + + + mbfunccoils_m.c + 1 + ..\..\libs\freemodbus\modbus\functions\mbfunccoils_m.c + + + mbutils.c + 1 + ..\..\libs\freemodbus\modbus\functions\mbutils.c + + + mbfuncinput_m.c + 1 + ..\..\libs\freemodbus\modbus\functions\mbfuncinput_m.c + + + mb.c + 1 + ..\..\libs\freemodbus\modbus\mb.c + + + mbfuncdisc.c + 1 + ..\..\libs\freemodbus\modbus\functions\mbfuncdisc.c + + + porttcp.c + 1 + ..\..\libs\freemodbus\port\porttcp.c @@ -2434,16 +2429,21 @@ klibc - - kstring.c - 1 - ..\..\rt-thread\src\klibc\kstring.c - kerrno.c 1 ..\..\rt-thread\src\klibc\kerrno.c + + kstdio.c + 1 + ..\..\rt-thread\src\klibc\kstdio.c + + + kstring.c + 1 + ..\..\rt-thread\src\klibc\kstring.c + rt_vsscanf.c 1 @@ -2454,11 +2454,6 @@ 1 ..\..\rt-thread\src\klibc\rt_vsnprintf_tiny.c - - kstdio.c - 1 - ..\..\rt-thread\src\klibc\kstdio.c - @@ -2494,86 +2489,91 @@ 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_dma_ex.c + stm32f4xx_hal_cryp_ex.c 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_dma_ex.c - - - stm32f4xx_hal_can.c - 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_can.c - - - stm32f4xx_hal.c - 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal.c - - - stm32f4xx_hal_rcc_ex.c - 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_rcc_ex.c - - - stm32f4xx_hal_gpio.c - 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_gpio.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_i2c_ex.c - 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_i2c_ex.c - - - stm32f4xx_hal_pwr_ex.c - 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_pwr_ex.c - - - stm32f4xx_hal_rcc.c - 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_rcc.c + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_cryp_ex.c stm32f4xx_hal_dma.c 1 ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_dma.c + + stm32f4xx_hal_dma_ex.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_dma_ex.c + stm32f4xx_hal_pwr.c 1 ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_pwr.c + + stm32f4xx_hal_i2c_ex.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_i2c_ex.c + stm32f4xx_hal_cryp.c 1 ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_cryp.c + + stm32f4xx_hal_can.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_can.c + + + stm32f4xx_hal_uart.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_uart.c + + + stm32f4xx_hal.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal.c + + + stm32f4xx_hal_pwr_ex.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_pwr_ex.c + + + stm32f4xx_hal_rng.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_rng.c + + + stm32f4xx_hal_rcc_ex.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_rcc_ex.c + + + stm32f4xx_hal_rcc.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_rcc.c + + + stm32f4xx_hal_gpio.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_gpio.c + stm32f4xx_hal_usart.c 1 @@ -2584,26 +2584,21 @@ 1 ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_cortex.c - - stm32f4xx_hal_cryp_ex.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 - - - stm32f4xx_hal_uart.c - 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_uart.c - stm32f4xx_hal_crc.c 1 ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_crc.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 + diff --git a/rt-thread/bsp/stm32/libraries/HAL_Drivers/drivers/drv_can.c b/rt-thread/bsp/stm32/libraries/HAL_Drivers/drivers/drv_can.c index da74859..79d9158 100644 --- a/rt-thread/bsp/stm32/libraries/HAL_Drivers/drivers/drv_can.c +++ b/rt-thread/bsp/stm32/libraries/HAL_Drivers/drivers/drv_can.c @@ -484,7 +484,7 @@ static rt_err_t _can_control(struct rt_can_device *can, int cmd, void *arg) return RT_EOK; } -static int _can_sendmsg(struct rt_can_device *can, const void *buf, rt_uint32_t box_num) +static rt_ssize_t _can_sendmsg(struct rt_can_device *can, const void *buf, rt_uint32_t box_num) { CAN_HandleTypeDef *hcan; hcan = &((struct stm32_can *) can->parent.user_data)->CanHandle; @@ -586,7 +586,7 @@ static int _can_sendmsg(struct rt_can_device *can, const void *buf, rt_uint32_t } } -static int _can_recvmsg(struct rt_can_device *can, void *buf, rt_uint32_t fifo) +static rt_ssize_t _can_recvmsg(struct rt_can_device *can, void *buf, rt_uint32_t fifo) { HAL_StatusTypeDef status; CAN_HandleTypeDef *hcan; diff --git a/rt-thread/components/drivers/ipc/workqueue.c b/rt-thread/components/drivers/ipc/workqueue.c index 30b779e..9886a22 100644 --- a/rt-thread/components/drivers/ipc/workqueue.c +++ b/rt-thread/components/drivers/ipc/workqueue.c @@ -458,7 +458,7 @@ static int rt_work_sys_workqueue_init(void) if (sys_workq != RT_NULL) return RT_EOK; - sys_workq = rt_workqueue_create("sys workq", RT_SYSTEM_WORKQUEUE_STACKSIZE, + sys_workq = rt_workqueue_create("sysworkq", RT_SYSTEM_WORKQUEUE_STACKSIZE, RT_SYSTEM_WORKQUEUE_PRIORITY); RT_ASSERT(sys_workq != RT_NULL);