|
@@ -0,0 +1,967 @@
|
|
|
+#include "sys_data.h"
|
|
|
+#include "bat.h"
|
|
|
+
|
|
|
+/*
|
|
|
+*********************************************************************************************************
|
|
|
+* 函 数 名: uint8_t channel_12VBAT(uint8_t channel, int i)
|
|
|
+* 功能说明: 控制channel下12VBAT
|
|
|
+* 形 参: uint8_t channel: 要控制的channel值 int i: 调用该函数时传入的循环次数
|
|
|
+* 返 回 值:
|
|
|
+*********************************************************************************************************
|
|
|
+*/
|
|
|
+uint8_t channel_12VBAT(uint8_t channel, int i)
|
|
|
+{
|
|
|
+ switch (channel)
|
|
|
+ {
|
|
|
+ case 0x00: // 全部channel
|
|
|
+ result = channel_No0_12VBAT(usartMsg.rxBuf[7 + i],i);
|
|
|
+ break;
|
|
|
+ case 0x01: // channel_1
|
|
|
+ result = channel_No1_12VBAT(usartMsg.rxBuf[7 + i], i);
|
|
|
+ break;
|
|
|
+ case 0x02:// channel_2
|
|
|
+ result = channel_No2_12VBAT(usartMsg.rxBuf[7 + i], i);
|
|
|
+ break;
|
|
|
+ case 0x03:// channel_3
|
|
|
+ result = channel_No3_12VBAT(usartMsg.rxBuf[7 + i], i);
|
|
|
+ break;
|
|
|
+ case 0x04:// channel_4
|
|
|
+ result = channel_No4_12VBAT(usartMsg.rxBuf[7 + i], i);
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+
|
|
|
+}
|
|
|
+/*
|
|
|
+*********************************************************************************************************
|
|
|
+* 函 数 名: uint8_t channel_5VBAT(uint8_t cmd, int i)
|
|
|
+* 功能说明: 控制channel下5VBAT
|
|
|
+* 形 参: uint8_t channel: 要控制的channel值 int i: 调用该函数时传入的循环次数
|
|
|
+* 返 回 值:
|
|
|
+*********************************************************************************************************
|
|
|
+*/
|
|
|
+
|
|
|
+uint8_t channel_5VBAT(uint8_t cmd)
|
|
|
+{
|
|
|
+ switch(cmd)
|
|
|
+ {
|
|
|
+ case 1:
|
|
|
+ GPIO_SetBits(GPIOD,GPIO_Pin_10);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ GPIO_ResetBits(GPIOD,GPIO_Pin_10);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 5;
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+////////////////////////////// CHANNLE 0 //////////////////////////////
|
|
|
+uint8_t channel_No0_12VBAT(uint8_t platform, int i)
|
|
|
+{
|
|
|
+ switch (platform)
|
|
|
+ {
|
|
|
+ case 0x00: // 全部平台
|
|
|
+ result = channel_No0_platform_No0_12VBAT(usartMsg.rxBuf[8 + i]);
|
|
|
+ break;
|
|
|
+ case 0x01: // 平台_1
|
|
|
+ result = channel_No0_platform_No1_12VBAT(usartMsg.rxBuf[8 + i]);
|
|
|
+ break;
|
|
|
+ case 0x02: // 平台_2
|
|
|
+ result = channel_No0_platform_No2_12VBAT(usartMsg.rxBuf[8 + i]);
|
|
|
+ break;
|
|
|
+ case 0x03: // 平台_3
|
|
|
+ result = channel_No0_platform_No3_12VBAT(usartMsg.rxBuf[8 + i]);
|
|
|
+ break;
|
|
|
+ case 0x04: // 平台_4
|
|
|
+ result = channel_No0_platform_No4_12VBAT(usartMsg.rxBuf[8 + i]);
|
|
|
+ break;
|
|
|
+ case 0x05: // 平台_5
|
|
|
+ result = channel_No0_platform_No5_12VBAT(usartMsg.rxBuf[8 + i]);
|
|
|
+ break;
|
|
|
+ case 0x06: // 平台_6
|
|
|
+ result = channel_No0_platform_No6_12VBAT(usartMsg.rxBuf[8 + i]);
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+
|
|
|
+}
|
|
|
+uint8_t channel_No0_platform_No0_12VBAT(uint8_t cmd)// 所有channel的所有平台
|
|
|
+{
|
|
|
+ switch (cmd) // 指令值
|
|
|
+ {
|
|
|
+ case 0x01: //12VBAT(ON)
|
|
|
+ all_12VBAT(ON);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ case 0x02: //12VBAT(OFF);
|
|
|
+ all_12VBAT(OFF);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
+uint8_t channel_No0_platform_No1_12VBAT(uint8_t cmd)// 所有channel的平台1
|
|
|
+{
|
|
|
+ switch (cmd) // 指令值
|
|
|
+ {
|
|
|
+ case 0x01: //12VBAT(ON)
|
|
|
+ BAT12V(GPIO0_PORT, GPIO0_PIN, ON);
|
|
|
+ BAT12V(GPIO6_PORT, GPIO6_PIN, ON);
|
|
|
+ BAT12V(GPIO12_PORT, GPIO12_PIN, ON);
|
|
|
+ BAT12V(GPIO18_PORT, GPIO18_PIN, ON);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ case 0x02: //12VBAT(OFF);
|
|
|
+ BAT12V(GPIO0_PORT, GPIO0_PIN, OFF);
|
|
|
+ BAT12V(GPIO6_PORT, GPIO6_PIN, OFF);
|
|
|
+ BAT12V(GPIO12_PORT, GPIO12_PIN, OFF);
|
|
|
+ BAT12V(GPIO18_PORT, GPIO18_PIN, OFF);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
+uint8_t channel_No0_platform_No2_12VBAT(uint8_t cmd)// 所有channel的平台2
|
|
|
+{
|
|
|
+ switch (cmd) // 指令值
|
|
|
+ {
|
|
|
+ case 0x01: //12VBAT(ON)
|
|
|
+ BAT12V(GPIO1_PORT, GPIO1_PIN, ON);
|
|
|
+ BAT12V(GPIO7_PORT, GPIO7_PIN, ON);
|
|
|
+ BAT12V(GPIO13_PORT, GPIO13_PIN, ON);
|
|
|
+ BAT12V(GPIO19_PORT, GPIO19_PIN, ON);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ case 0x02: //12VBAT(OFF);
|
|
|
+ BAT12V(GPIO1_PORT, GPIO1_PIN, OFF);
|
|
|
+ BAT12V(GPIO7_PORT, GPIO7_PIN, OFF);
|
|
|
+ BAT12V(GPIO13_PORT, GPIO13_PIN, OFF);
|
|
|
+ BAT12V(GPIO19_PORT, GPIO19_PIN, OFF);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
+uint8_t channel_No0_platform_No3_12VBAT(uint8_t cmd)// 所有channel的平台3
|
|
|
+{
|
|
|
+ switch (cmd) // 指令值
|
|
|
+ {
|
|
|
+ case 0x01: //12VBAT(ON)
|
|
|
+ BAT12V(GPIO2_PORT, GPIO2_PIN, ON);
|
|
|
+ BAT12V(GPIO8_PORT, GPIO8_PIN, ON);
|
|
|
+ BAT12V(GPIO14_PORT, GPIO14_PIN, ON);
|
|
|
+ BAT12V(GPIO20_PORT, GPIO20_PIN, ON);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ case 0x02: //12VBAT(OFF);
|
|
|
+ BAT12V(GPIO2_PORT, GPIO2_PIN, OFF);
|
|
|
+ BAT12V(GPIO8_PORT, GPIO8_PIN, OFF);
|
|
|
+ BAT12V(GPIO14_PORT, GPIO14_PIN, OFF);
|
|
|
+ BAT12V(GPIO20_PORT, GPIO20_PIN, OFF);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
+uint8_t channel_No0_platform_No4_12VBAT(uint8_t cmd)// 所有channel的平台4
|
|
|
+{
|
|
|
+ switch (cmd) // 指令值
|
|
|
+ {
|
|
|
+ case 0x01: //12VBAT(ON)
|
|
|
+ BAT12V(GPIO3_PORT, GPIO3_PIN, ON);
|
|
|
+ BAT12V(GPIO9_PORT, GPIO9_PIN, ON);
|
|
|
+ BAT12V(GPIO15_PORT, GPIO15_PIN, ON);
|
|
|
+ BAT12V(GPIO21_PORT, GPIO21_PIN, ON);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ case 0x02: //12VBAT(OFF);
|
|
|
+ BAT12V(GPIO3_PORT, GPIO3_PIN, OFF);
|
|
|
+ BAT12V(GPIO9_PORT, GPIO9_PIN, OFF);
|
|
|
+ BAT12V(GPIO15_PORT, GPIO15_PIN, OFF);
|
|
|
+ BAT12V(GPIO21_PORT, GPIO21_PIN, OFF);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
+uint8_t channel_No0_platform_No5_12VBAT(uint8_t cmd)// 所有channel的平台5
|
|
|
+{
|
|
|
+ switch (cmd) // 指令值
|
|
|
+ {
|
|
|
+ case 0x01: //12VBAT(ON)
|
|
|
+ BAT12V(GPIO4_PORT, GPIO4_PIN, ON);
|
|
|
+ BAT12V(GPIO10_PORT, GPIO10_PIN, ON);
|
|
|
+ BAT12V(GPIO16_PORT, GPIO16_PIN, ON);
|
|
|
+ BAT12V(GPIO22_PORT, GPIO22_PIN, ON);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ case 0x02: //12VBAT(OFF);
|
|
|
+ BAT12V(GPIO4_PORT, GPIO4_PIN, OFF);
|
|
|
+ BAT12V(GPIO10_PORT, GPIO10_PIN, OFF);
|
|
|
+ BAT12V(GPIO16_PORT, GPIO16_PIN, OFF);
|
|
|
+ BAT12V(GPIO22_PORT, GPIO22_PIN, OFF);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
+uint8_t channel_No0_platform_No6_12VBAT(uint8_t cmd)// 所有channel的平台6
|
|
|
+{
|
|
|
+ switch (cmd) // 指令值
|
|
|
+ {
|
|
|
+ case 0x01: //12VBAT(ON)
|
|
|
+ BAT12V(GPIO5_PORT, GPIO5_PIN, ON);
|
|
|
+ BAT12V(GPIO11_PORT, GPIO11_PIN, ON);
|
|
|
+ BAT12V(GPIO17_PORT, GPIO17_PIN, ON);
|
|
|
+ BAT12V(GPIO23_PORT, GPIO23_PIN, ON);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ case 0x02: //12VBAT(OFF);
|
|
|
+ BAT12V(GPIO5_PORT, GPIO5_PIN, OFF);
|
|
|
+ BAT12V(GPIO11_PORT, GPIO11_PIN, OFF);
|
|
|
+ BAT12V(GPIO17_PORT, GPIO17_PIN, OFF);
|
|
|
+ BAT12V(GPIO23_PORT, GPIO23_PIN, OFF);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+////////////////////////////// CHANNLE 1 //////////////////////////////
|
|
|
+uint8_t channel_No1_12VBAT(uint8_t platform, int i)
|
|
|
+{
|
|
|
+ switch (platform)
|
|
|
+ {
|
|
|
+ case 0x00: // 全部平台
|
|
|
+ result = channel_No1_platform_No0_12VBAT(usartMsg.rxBuf[8 + i]);
|
|
|
+ break;
|
|
|
+ case 0x01: // 平台_1
|
|
|
+ result = channel_No1_platform_No1_12VBAT(usartMsg.rxBuf[8 + i]);
|
|
|
+ break;
|
|
|
+ case 0x02: // 平台_2
|
|
|
+ result = channel_No1_platform_No2_12VBAT(usartMsg.rxBuf[8 + i]);
|
|
|
+ break;
|
|
|
+ case 0x03: // 平台_3
|
|
|
+ result = channel_No1_platform_No3_12VBAT(usartMsg.rxBuf[8 + i]);
|
|
|
+ break;
|
|
|
+ case 0x04: // 平台_4
|
|
|
+ result = channel_No1_platform_No4_12VBAT(usartMsg.rxBuf[8 + i]);
|
|
|
+ break;
|
|
|
+ case 0x05: // 平台_5
|
|
|
+ result = channel_No1_platform_No5_12VBAT(usartMsg.rxBuf[8 + i]);
|
|
|
+ break;
|
|
|
+ case 0x06: // 平台_6
|
|
|
+ result = channel_No1_platform_No6_12VBAT(usartMsg.rxBuf[8 + i]);
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+
|
|
|
+}
|
|
|
+uint8_t channel_No1_platform_No0_12VBAT(uint8_t cmd)// channel 1 的所有平台
|
|
|
+{
|
|
|
+ switch (cmd) // 指令值
|
|
|
+ {
|
|
|
+ case 0x01: //12VBAT(ON)
|
|
|
+ BAT12V(GPIO0_PORT, GPIO0_PIN, ON);
|
|
|
+ BAT12V(GPIO1_PORT, GPIO1_PIN, ON);
|
|
|
+ BAT12V(GPIO2_PORT, GPIO2_PIN, ON);
|
|
|
+ BAT12V(GPIO3_PORT, GPIO3_PIN, ON);
|
|
|
+ BAT12V(GPIO4_PORT, GPIO4_PIN, ON);
|
|
|
+ BAT12V(GPIO5_PORT, GPIO5_PIN, ON);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ case 0x02: //12VBAT(OFF);
|
|
|
+ BAT12V(GPIO0_PORT, GPIO0_PIN, OFF);
|
|
|
+ BAT12V(GPIO1_PORT, GPIO1_PIN, OFF);
|
|
|
+ BAT12V(GPIO2_PORT, GPIO2_PIN, OFF);
|
|
|
+ BAT12V(GPIO3_PORT, GPIO3_PIN, OFF);
|
|
|
+ BAT12V(GPIO4_PORT, GPIO4_PIN, OFF);
|
|
|
+ BAT12V(GPIO5_PORT, GPIO5_PIN, OFF);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
+uint8_t channel_No1_platform_No1_12VBAT(uint8_t cmd)// channel 1 的平台1
|
|
|
+{
|
|
|
+ switch (cmd) // 指令值
|
|
|
+ {
|
|
|
+ case 0x01: //12VBAT(ON)
|
|
|
+ BAT12V(GPIO0_PORT, GPIO0_PIN, ON);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ case 0x02: //12VBAT(OFF);
|
|
|
+ BAT12V(GPIO0_PORT, GPIO0_PIN, OFF);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
+uint8_t channel_No1_platform_No2_12VBAT(uint8_t cmd)// channel 1 的平台2
|
|
|
+{
|
|
|
+ switch (cmd) // 指令值
|
|
|
+ {
|
|
|
+ case 0x01: //12VBAT(ON)
|
|
|
+ BAT12V(GPIO1_PORT, GPIO1_PIN, ON);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ case 0x02: //12VBAT(OFF);
|
|
|
+ BAT12V(GPIO1_PORT, GPIO1_PIN, OFF);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
+uint8_t channel_No1_platform_No3_12VBAT(uint8_t cmd)// channel 1 的平台3
|
|
|
+{
|
|
|
+ switch (cmd) // 指令值
|
|
|
+ {
|
|
|
+ case 0x01: //12VBAT(ON)
|
|
|
+ BAT12V(GPIO2_PORT, GPIO2_PIN, ON);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ case 0x02: //12VBAT(OFF);
|
|
|
+ BAT12V(GPIO2_PORT, GPIO2_PIN, OFF);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
+uint8_t channel_No1_platform_No4_12VBAT(uint8_t cmd)// channel 1 的平台4
|
|
|
+{
|
|
|
+ switch (cmd) // 指令值
|
|
|
+ {
|
|
|
+ case 0x01: //12VBAT(ON)
|
|
|
+ BAT12V(GPIO3_PORT, GPIO3_PIN, ON);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ case 0x02: //12VBAT(OFF);
|
|
|
+ BAT12V(GPIO3_PORT, GPIO3_PIN, OFF);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
+uint8_t channel_No1_platform_No5_12VBAT(uint8_t cmd)// channel 1 的平台5
|
|
|
+{
|
|
|
+ switch (cmd) // 指令值
|
|
|
+ {
|
|
|
+ case 0x01: //12VBAT(ON)
|
|
|
+ BAT12V(GPIO4_PORT, GPIO4_PIN, ON);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ case 0x02: //12VBAT(OFF);
|
|
|
+ BAT12V(GPIO4_PORT, GPIO4_PIN, OFF);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
+uint8_t channel_No1_platform_No6_12VBAT(uint8_t cmd)// channel 1 的平台6
|
|
|
+{
|
|
|
+ switch (cmd) // 指令值
|
|
|
+ {
|
|
|
+ case 0x01: //12VBAT(ON)
|
|
|
+ BAT12V(GPIO5_PORT, GPIO5_PIN, ON);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ case 0x02: //12VBAT(OFF);
|
|
|
+ BAT12V(GPIO5_PORT, GPIO5_PIN, OFF);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
+////////////////////////////// CHANNLE 2 //////////////////////////////
|
|
|
+uint8_t channel_No2_12VBAT(uint8_t platform, int i)
|
|
|
+{
|
|
|
+ switch (platform)
|
|
|
+ {
|
|
|
+ case 0x00: // 全部平台
|
|
|
+ result = channel_No2_platform_No0_12VBAT(usartMsg.rxBuf[8 + i]);
|
|
|
+ break;
|
|
|
+ case 0x01: // 平台_1
|
|
|
+ result = channel_No2_platform_No1_12VBAT(usartMsg.rxBuf[8 + i]);
|
|
|
+ break;
|
|
|
+ case 0x02: // 平台_2
|
|
|
+ result = channel_No2_platform_No2_12VBAT(usartMsg.rxBuf[8 + i]);
|
|
|
+ break;
|
|
|
+ case 0x03: // 平台_3
|
|
|
+ result = channel_No2_platform_No3_12VBAT(usartMsg.rxBuf[8 + i]);
|
|
|
+ break;
|
|
|
+ case 0x04: // 平台_4
|
|
|
+ result = channel_No2_platform_No4_12VBAT(usartMsg.rxBuf[8 + i]);
|
|
|
+ break;
|
|
|
+ case 0x05: // 平台_5
|
|
|
+ result = channel_No2_platform_No5_12VBAT(usartMsg.rxBuf[8 + i]);
|
|
|
+ break;
|
|
|
+ case 0x06: // 平台_6
|
|
|
+ result = channel_No2_platform_No6_12VBAT(usartMsg.rxBuf[8 + i]);
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+
|
|
|
+}
|
|
|
+uint8_t channel_No2_platform_No0_12VBAT(uint8_t cmd)// channel 2 的所有平台
|
|
|
+{
|
|
|
+ switch (cmd) // 指令值
|
|
|
+ {
|
|
|
+ case 0x01: //12VBAT(ON)
|
|
|
+ BAT12V(GPIO6_PORT, GPIO6_PIN, ON);
|
|
|
+ BAT12V(GPIO7_PORT, GPIO7_PIN, ON);
|
|
|
+ BAT12V(GPIO8_PORT, GPIO8_PIN, ON);
|
|
|
+ BAT12V(GPIO9_PORT, GPIO9_PIN, ON);
|
|
|
+ BAT12V(GPIO10_PORT, GPIO10_PIN, ON);
|
|
|
+ BAT12V(GPIO11_PORT, GPIO11_PIN, ON);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ case 0x02: //12VBAT(OFF);
|
|
|
+ BAT12V(GPIO6_PORT, GPIO6_PIN, OFF);
|
|
|
+ BAT12V(GPIO7_PORT, GPIO7_PIN, OFF);
|
|
|
+ BAT12V(GPIO8_PORT, GPIO8_PIN, OFF);
|
|
|
+ BAT12V(GPIO9_PORT, GPIO9_PIN, OFF);
|
|
|
+ BAT12V(GPIO10_PORT, GPIO10_PIN, OFF);
|
|
|
+ BAT12V(GPIO11_PORT, GPIO11_PIN, OFF);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
+uint8_t channel_No2_platform_No1_12VBAT(uint8_t cmd)// channel 2 的平台1
|
|
|
+{
|
|
|
+ switch (cmd) // 指令值
|
|
|
+ {
|
|
|
+ case 0x01: //12VBAT(ON)
|
|
|
+ BAT12V(GPIO6_PORT, GPIO6_PIN, ON);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ case 0x02: //12VBAT(OFF);
|
|
|
+ BAT12V(GPIO6_PORT, GPIO6_PIN, OFF);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
+uint8_t channel_No2_platform_No2_12VBAT(uint8_t cmd)// channel 2 的平台2
|
|
|
+{
|
|
|
+ switch (cmd) // 指令值
|
|
|
+ {
|
|
|
+ case 0x01: //12VBAT(ON)
|
|
|
+ BAT12V(GPIO7_PORT, GPIO7_PIN, ON);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ case 0x02: //12VBAT(OFF);
|
|
|
+ BAT12V(GPIO7_PORT, GPIO7_PIN, OFF);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
+uint8_t channel_No2_platform_No3_12VBAT(uint8_t cmd)// channel 2 的平台3
|
|
|
+{
|
|
|
+ switch (cmd) // 指令值
|
|
|
+ {
|
|
|
+ case 0x01: //12VBAT(ON)
|
|
|
+ BAT12V(GPIO8_PORT, GPIO8_PIN, ON);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ case 0x02: //12VBAT(OFF);
|
|
|
+ BAT12V(GPIO8_PORT, GPIO8_PIN, OFF);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
+uint8_t channel_No2_platform_No4_12VBAT(uint8_t cmd)// channel 2 的平台4
|
|
|
+{
|
|
|
+ switch (cmd) // 指令值
|
|
|
+ {
|
|
|
+ case 0x01: //12VBAT(ON)
|
|
|
+ BAT12V(GPIO9_PORT, GPIO9_PIN, ON);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ case 0x02: //12VBAT(OFF);
|
|
|
+ BAT12V(GPIO9_PORT, GPIO9_PIN, OFF);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
+uint8_t channel_No2_platform_No5_12VBAT(uint8_t cmd)// channel 2 的平台5
|
|
|
+{
|
|
|
+ switch (cmd) // 指令值
|
|
|
+ {
|
|
|
+ case 0x01: //12VBAT(ON)
|
|
|
+ BAT12V(GPIO10_PORT, GPIO10_PIN, ON);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ case 0x02: //12VBAT(OFF);
|
|
|
+ BAT12V(GPIO10_PORT, GPIO10_PIN, OFF);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
+uint8_t channel_No2_platform_No6_12VBAT(uint8_t cmd)// channel 2 的平台6
|
|
|
+{
|
|
|
+ switch (cmd) // 指令值
|
|
|
+ {
|
|
|
+ case 0x01: //12VBAT(ON)
|
|
|
+ BAT12V(GPIO11_PORT, GPIO11_PIN, ON);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ case 0x02: //12VBAT(OFF);
|
|
|
+ BAT12V(GPIO11_PORT, GPIO11_PIN, OFF);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+////////////////////////////// CHANNLE 3 //////////////////////////////
|
|
|
+uint8_t channel_No3_12VBAT(uint8_t platform, int i)
|
|
|
+{
|
|
|
+ switch (platform)
|
|
|
+ {
|
|
|
+ case 0x00: // 全部平台
|
|
|
+ result = channel_No3_platform_No0_12VBAT(usartMsg.rxBuf[8 + i]);
|
|
|
+ break;
|
|
|
+ case 0x01: // 平台_1
|
|
|
+ result = channel_No3_platform_No1_12VBAT(usartMsg.rxBuf[8 + i]);
|
|
|
+ break;
|
|
|
+ case 0x02: // 平台_2
|
|
|
+ result = channel_No3_platform_No2_12VBAT(usartMsg.rxBuf[8 + i]);
|
|
|
+ break;
|
|
|
+ case 0x03: // 平台_3
|
|
|
+ result = channel_No3_platform_No3_12VBAT(usartMsg.rxBuf[8 + i]);
|
|
|
+ break;
|
|
|
+ case 0x04: // 平台_4
|
|
|
+ result = channel_No3_platform_No4_12VBAT(usartMsg.rxBuf[8 + i]);
|
|
|
+ break;
|
|
|
+ case 0x05: // 平台_5
|
|
|
+ result = channel_No3_platform_No5_12VBAT(usartMsg.rxBuf[8 + i]);
|
|
|
+ break;
|
|
|
+ case 0x06: // 平台_6
|
|
|
+ result = channel_No3_platform_No6_12VBAT(usartMsg.rxBuf[8 + i]);
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+
|
|
|
+}
|
|
|
+uint8_t channel_No3_platform_No0_12VBAT(uint8_t cmd)// channel 3 的所有平台
|
|
|
+{
|
|
|
+ switch (cmd) // 指令值
|
|
|
+ {
|
|
|
+ case 0x01: //12VBAT(ON)
|
|
|
+ BAT12V(GPIO12_PORT, GPIO12_PIN, ON);
|
|
|
+ BAT12V(GPIO13_PORT, GPIO13_PIN, ON);
|
|
|
+ BAT12V(GPIO14_PORT, GPIO14_PIN, ON);
|
|
|
+ BAT12V(GPIO15_PORT, GPIO15_PIN, ON);
|
|
|
+ BAT12V(GPIO16_PORT, GPIO16_PIN, ON);
|
|
|
+ BAT12V(GPIO17_PORT, GPIO17_PIN, ON);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ case 0x02: //12VBAT(OFF);
|
|
|
+ BAT12V(GPIO12_PORT, GPIO12_PIN, OFF);
|
|
|
+ BAT12V(GPIO13_PORT, GPIO13_PIN, OFF);
|
|
|
+ BAT12V(GPIO14_PORT, GPIO14_PIN, OFF);
|
|
|
+ BAT12V(GPIO15_PORT, GPIO15_PIN, OFF);
|
|
|
+ BAT12V(GPIO16_PORT, GPIO16_PIN, OFF);
|
|
|
+ BAT12V(GPIO17_PORT, GPIO17_PIN, OFF);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
+uint8_t channel_No3_platform_No1_12VBAT(uint8_t cmd)// channel 3 的平台1
|
|
|
+{
|
|
|
+ switch (cmd) // 指令值
|
|
|
+ {
|
|
|
+ case 0x01: //12VBAT(ON)
|
|
|
+ BAT12V(GPIO12_PORT, GPIO12_PIN, ON);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ case 0x02: //12VBAT(OFF);
|
|
|
+ BAT12V(GPIO12_PORT, GPIO12_PIN, OFF);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
+uint8_t channel_No3_platform_No2_12VBAT(uint8_t cmd)// channel 3 的平台2
|
|
|
+{
|
|
|
+ switch (cmd) // 指令值
|
|
|
+ {
|
|
|
+ case 0x01: //12VBAT(ON)
|
|
|
+ BAT12V(GPIO13_PORT, GPIO13_PIN, ON);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ case 0x02: //12VBAT(OFF);
|
|
|
+ BAT12V(GPIO13_PORT, GPIO13_PIN, OFF);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
+uint8_t channel_No3_platform_No3_12VBAT(uint8_t cmd)// channel 3 的平台3
|
|
|
+{
|
|
|
+ switch (cmd) // 指令值
|
|
|
+ {
|
|
|
+ case 0x01: //12VBAT(ON)
|
|
|
+ BAT12V(GPIO14_PORT, GPIO14_PIN, ON);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ case 0x02: //12VBAT(OFF);
|
|
|
+ BAT12V(GPIO14_PORT, GPIO14_PIN, OFF);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
+uint8_t channel_No3_platform_No4_12VBAT(uint8_t cmd)// channel 3 的平台4
|
|
|
+{
|
|
|
+ switch (cmd) // 指令值
|
|
|
+ {
|
|
|
+ case 0x01: //12VBAT(ON)
|
|
|
+ BAT12V(GPIO15_PORT, GPIO15_PIN, ON);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ case 0x02: //12VBAT(OFF);
|
|
|
+ BAT12V(GPIO15_PORT, GPIO15_PIN, OFF);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
+uint8_t channel_No3_platform_No5_12VBAT(uint8_t cmd)// channel 3 的平台5
|
|
|
+{
|
|
|
+ switch (cmd) // 指令值
|
|
|
+ {
|
|
|
+ case 0x01: //12VBAT(ON)
|
|
|
+ BAT12V(GPIO16_PORT, GPIO16_PIN, ON);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ case 0x02: //12VBAT(OFF);
|
|
|
+ BAT12V(GPIO16_PORT, GPIO16_PIN, OFF);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
+uint8_t channel_No3_platform_No6_12VBAT(uint8_t cmd)// channel 3 的平台6
|
|
|
+{
|
|
|
+ switch (cmd) // 指令值
|
|
|
+ {
|
|
|
+ case 0x01: //12VBAT(ON)
|
|
|
+ BAT12V(GPIO17_PORT, GPIO17_PIN, ON);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ case 0x02: //12VBAT(OFF);
|
|
|
+ BAT12V(GPIO17_PORT, GPIO17_PIN, OFF);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
+////////////////////////////// CHANNLE 4 //////////////////////////////
|
|
|
+uint8_t channel_No4_12VBAT(uint8_t platform, int i)
|
|
|
+{
|
|
|
+ switch (platform)
|
|
|
+ {
|
|
|
+ case 0x00: // 全部平台
|
|
|
+ result = channel_No4_platform_No0_12VBAT(usartMsg.rxBuf[8 + i]);
|
|
|
+ break;
|
|
|
+ case 0x01: // 平台_1
|
|
|
+ result = channel_No4_platform_No1_12VBAT(usartMsg.rxBuf[8 + i]);
|
|
|
+ break;
|
|
|
+ case 0x02: // 平台_2
|
|
|
+ result = channel_No4_platform_No2_12VBAT(usartMsg.rxBuf[8 + i]);
|
|
|
+ break;
|
|
|
+ case 0x03: // 平台_3
|
|
|
+ result = channel_No4_platform_No3_12VBAT(usartMsg.rxBuf[8 + i]);
|
|
|
+ break;
|
|
|
+ case 0x04: // 平台_4
|
|
|
+ result = channel_No4_platform_No4_12VBAT(usartMsg.rxBuf[8 + i]);
|
|
|
+ break;
|
|
|
+ case 0x05: // 平台_5
|
|
|
+ result = channel_No4_platform_No5_12VBAT(usartMsg.rxBuf[8 + i]);
|
|
|
+ break;
|
|
|
+ case 0x06: // 平台_6
|
|
|
+ result = channel_No4_platform_No6_12VBAT(usartMsg.rxBuf[8 + i]);
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+
|
|
|
+}
|
|
|
+uint8_t channel_No4_platform_No0_12VBAT(uint8_t cmd)// 所有channel的所有平台
|
|
|
+{
|
|
|
+ switch (cmd) // 指令值
|
|
|
+ {
|
|
|
+ case 0x01: //12VBAT(ON)
|
|
|
+ BAT12V(GPIO18_PORT, GPIO18_PIN, ON);
|
|
|
+ BAT12V(GPIO19_PORT, GPIO19_PIN, ON);
|
|
|
+ BAT12V(GPIO20_PORT, GPIO20_PIN, ON);
|
|
|
+ BAT12V(GPIO21_PORT, GPIO21_PIN, ON);
|
|
|
+ BAT12V(GPIO22_PORT, GPIO22_PIN, ON);
|
|
|
+ BAT12V(GPIO23_PORT, GPIO23_PIN, ON);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ case 0x02: //12VBAT(OFF);
|
|
|
+ BAT12V(GPIO18_PORT, GPIO18_PIN, OFF);
|
|
|
+ BAT12V(GPIO19_PORT, GPIO19_PIN, OFF);
|
|
|
+ BAT12V(GPIO20_PORT, GPIO20_PIN, OFF);
|
|
|
+ BAT12V(GPIO21_PORT, GPIO21_PIN, OFF);
|
|
|
+ BAT12V(GPIO22_PORT, GPIO22_PIN, OFF);
|
|
|
+ BAT12V(GPIO23_PORT, GPIO23_PIN, OFF);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
+uint8_t channel_No4_platform_No1_12VBAT(uint8_t cmd)// channel 4 的平台1
|
|
|
+{
|
|
|
+ switch (cmd) // 指令值
|
|
|
+ {
|
|
|
+ case 0x01: //12VBAT(ON)
|
|
|
+ BAT12V(GPIO18_PORT, GPIO18_PIN, ON);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ case 0x02: //12VBAT(OFF);
|
|
|
+ BAT12V(GPIO18_PORT, GPIO18_PIN, OFF);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
+uint8_t channel_No4_platform_No2_12VBAT(uint8_t cmd)// channel 4 的平台2
|
|
|
+{
|
|
|
+ switch (cmd) // 指令值
|
|
|
+ {
|
|
|
+ case 0x01: //12VBAT(ON)
|
|
|
+ BAT12V(GPIO19_PORT, GPIO19_PIN, ON);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ case 0x02: //12VBAT(OFF);
|
|
|
+ BAT12V(GPIO19_PORT, GPIO19_PIN, OFF);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
+uint8_t channel_No4_platform_No3_12VBAT(uint8_t cmd)// channel 4 的平台3
|
|
|
+{
|
|
|
+ switch (cmd) // 指令值
|
|
|
+ {
|
|
|
+ case 0x01: //12VBAT(ON)
|
|
|
+ BAT12V(GPIO20_PORT, GPIO20_PIN, ON);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ case 0x02: //12VBAT(OFF);
|
|
|
+ BAT12V(GPIO20_PORT, GPIO20_PIN, OFF);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
+uint8_t channel_No4_platform_No4_12VBAT(uint8_t cmd)// channel 4 的平台4
|
|
|
+{
|
|
|
+ switch (cmd) // 指令值
|
|
|
+ {
|
|
|
+ case 0x01: //12VBAT(ON)
|
|
|
+ BAT12V(GPIO21_PORT, GPIO21_PIN, ON);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ case 0x02: //12VBAT(OFF);
|
|
|
+ BAT12V(GPIO21_PORT, GPIO21_PIN, OFF);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
+uint8_t channel_No4_platform_No5_12VBAT(uint8_t cmd)// channel 4 的平台5
|
|
|
+{
|
|
|
+ switch (cmd) // 指令值
|
|
|
+ {
|
|
|
+ case 0x01: //12VBAT(ON)
|
|
|
+ BAT12V(GPIO22_PORT, GPIO22_PIN, ON);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ case 0x02: //12VBAT(OFF);
|
|
|
+ BAT12V(GPIO22_PORT, GPIO22_PIN, OFF);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
+uint8_t channel_No4_platform_No6_12VBAT(uint8_t cmd)// channel 4 的平台6
|
|
|
+{
|
|
|
+ switch (cmd) // 指令值
|
|
|
+ {
|
|
|
+ case 0x01: //12VBAT(ON)
|
|
|
+ BAT12V(GPIO23_PORT, GPIO23_PIN, ON);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ case 0x02: //12VBAT(OFF);
|
|
|
+ BAT12V(GPIO23_PORT, GPIO23_PIN, OFF);
|
|
|
+ result = 1;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = 0x05;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|