diff --git a/apps/chrg/applications/thread/chrg_north.c b/apps/chrg/applications/thread/chrg_north.c index 7f65fee..c7bf5f0 100644 --- a/apps/chrg/applications/thread/chrg_north.c +++ b/apps/chrg/applications/thread/chrg_north.c @@ -220,7 +220,7 @@ void chrg_sink_parse(rt_uint8_t *frame_data, eIDX_SOU_CH idx, pSW->VF = ((frame_data[16] << 8) | frame_data[17]); #if DEBUG_NORTH - LOG_D("Sink[%d] real volt: %d mV", idx, volt_mv); +// LOG_D("Sink[%d] real volt: %d mV", idx, volt_mv); #endif if(pSW->sink.On_work == 1 && pSW->sink.test.test_mode == 0) { diff --git a/apps/chrg/applications/thread/chrg_north.h b/apps/chrg/applications/thread/chrg_north.h index abefd28..9004694 100644 --- a/apps/chrg/applications/thread/chrg_north.h +++ b/apps/chrg/applications/thread/chrg_north.h @@ -22,7 +22,7 @@ #define LEN_FRAME_HEAD (3) // [帧长, 0x00, id] #define MIN_FRAME_LENGTH (5) // 帧最短5字节 #define WORK_MIN_VOLT 3000 // 工作电压下限,单位mV -#define DEBUG_NORTH 0x01 // 0 = 关闭,1 = 开启 +#define DEBUG_NORTH 0x00 // 0 = 关闭,1 = 开启 #define LCD_OPEN 0x01 // 0为关闭屏幕显示 1为打开 #define TRIM_NORTH 0x00 // 0 = 关闭, 1 = 开启 #define SINK_TEST_DEBUG 0x00 // 0 = 关闭,1 = 开启 diff --git a/apps/chrg/applications/utils/chrg_sink.c b/apps/chrg/applications/utils/chrg_sink.c index 9d3d32f..dc41d52 100644 --- a/apps/chrg/applications/utils/chrg_sink.c +++ b/apps/chrg/applications/utils/chrg_sink.c @@ -448,9 +448,9 @@ static int chrg_sink_work_init(eIDX_SOU_CH idx, struct chrg_switch_t *pSW) { struct chrg_south_t *pSOU = &chrgsouth; struct chrg_north_t *pNOR = &chrgnorth; - rt_uint16_t regs[4] = {REG_CURRENT_OUT + 1, REG_MODE, 0, 0}; - rt_uint16_t vals[4] = {0, pSW->CV_mode, 0, 0}; - rt_uint8_t count = 2; + rt_uint16_t regs[5] = {REG_CURRENT_OUT + 1, REG_MODE,Eload_Start_V_ON,0, 0}; + rt_uint16_t vals[5] = {0, pSW->CV_mode,pSW->sink.volt_on, 0, 0}; + rt_uint8_t count = 3; if (pSW->sink.test.test_mode_old == 1) { regs[count] = ModbusRTU_ShortTest_CMD_MODE_FLAG; @@ -546,10 +546,18 @@ static int chrg_sink_TEST_DYNA_ON(rt_uint8_t ch, struct chrg_switch_t *pSW) //短路测试启动 static int chrg_sink_TEST_SHORT_ON(rt_uint8_t ch, struct chrg_switch_t *pSW) { - rt_uint16_t regs[2] = {ModbusRTU_ShortTest_CMD_MODE_FLAG, REG_WORK}; - rt_uint16_t vals[2] = {ModbusRTU_DYNA_CMD_MODE_RUN_ALWAYS_KEPP, WORK_START}; - - return chrg_sou_com_batch_submit((eIDX_SOU_CH)ch, regs, vals, 2); + rt_uint16_t regs[3] = {ModbusRTU_ShortTest_Hold_Time,ModbusRTU_ShortTest_CMD_MODE_FLAG, REG_WORK}; + rt_uint16_t vals[3] = {0,0,0}; + if(pSW->sink.test.short_test.set_mode == 0) + { + vals[0] = pSW->sink.test.short_test.hold_time; + vals[1] = ModbusRTU_DYNA_CMD_MODE_RUN_NO_CURR; + } + else{ + vals[1] = ModbusRTU_DYNA_CMD_MODE_RUN_ALWAYS_KEPP; + } + vals[2] = WORK_START; + return chrg_sou_com_batch_submit((eIDX_SOU_CH)ch, regs, vals, 3); } @@ -564,7 +572,6 @@ int chrg_sink_work(eIDX_SOU_CH idx, struct chrg_switch_t *pSW) return -1; } work_mode = pSW->sink.work_mode; - // 本次状态和上次一致,直接跳过,不重复下发寄存器 if (work_mode == last_state[idx]) { return 0; diff --git a/rt-thread/components/fal/src/fal_rtt.c b/rt-thread/components/fal/src/fal_rtt.c index 9ae93ea..93c93ee 100644 --- a/rt-thread/components/fal/src/fal_rtt.c +++ b/rt-thread/components/fal/src/fal_rtt.c @@ -890,7 +890,7 @@ static void fal(rt_uint8_t argc, char **argv) { { if (write_data[index] != read_data[index]) { - rt_kprintf("%d %d %02x %02x.\n", i, index, write_data[index], read_data[index]); +// rt_kprintf("%d %d %02x %02x.\n", i, index, write_data[index], read_data[index]); } }