feat:添加杨格锁驱动、对接空调网关、修改无卡取电驱动
1、添加杨格蓝牙锁驱动 -> 驱动文件名:BLV_485_Dev_YangGeLockFun 2、对接红外转发设备协议,添加 南京尚景添IRACC中央空调驱动 -> 设备具体型号:南京尚景添IRACC中央空调协议转换模块,型号:IRACC-SWG-H -> 驱动文件名:BLV_485_Dev_ShangJingTianIrSendFun 3、修改无卡取电驱动 -> 长时间判断修改: - 有人-》无人:所有参与长时间检测的传感器采用与逻辑,即,但所有传感器都判断为无人,才判断为房间无人 - 无人-》有人:所有参与长时间检测的传感器采用或逻辑,即,任何一个传感器判断到有人,即判断为房间有人 - 原有机制:在房间有人、无人状态之间切换时,所有传感器buffer会做一个全量填充(有人->1,无人->0),机制保留 -> 修改长时间缓冲区填充问题,导致长时间判断无法触发阈值 == 已解决
This commit is contained in:
@@ -526,7 +526,6 @@ uint8_t BLV_Rs485_Card_Check(uint32_t dev_addr,uint32_t data_addr,uint16_t len)
|
||||
if(Rs485CardInfo.Rs485CardFlag == 0x01)
|
||||
{
|
||||
SRAM_Write_Byte(0x01,SRAM_UDP_ELEReport_CardState); //<2F><>UDP <20>ϱ<EFBFBD>ȡ<EFBFBD><C8A1>״̬ʹ<CCAC><CAB9>
|
||||
|
||||
}else {
|
||||
SRAM_Write_Byte(0x02,SRAM_UDP_ELEReport_CardState); //<2F><>UDP <20>ϱ<EFBFBD>ȡ<EFBFBD><C8A1>״̬ʹ<CCAC><CAB9>
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ void BLV_RS485_EnrgyMonitor_Data_For_Logic_Init(LOGICFILE_DEVICE_INFO *dev_info,
|
||||
//Rs485EnergyInfo.send_flag |= BLV_Energy_ClearStat_Flag;
|
||||
Rs485EnergyInfo.send_flag |= BLV_Energy_ReadVer_Flag;
|
||||
Rs485EnergyInfo.send_flag |= BLV_Energy_Inquire_Flag;
|
||||
Rs485EnergyInfo.periodic_time = 5000; //<2F><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD>
|
||||
Rs485EnergyInfo.periodic_time = 15000; //<2F><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD>
|
||||
Rs485EnergyInfo.periodic_enable = 0x01; //<2F><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>ʹ<EFBFBD><CAB9>
|
||||
|
||||
BUS_Public.port = Active_Port; //<2F>豸<EFBFBD><E8B1B8><EFBFBD>Ͷ˿<CDB6>
|
||||
@@ -46,7 +46,7 @@ void BLV_RS485_EnrgyMonitor_Data_For_Logic_Init(LOGICFILE_DEVICE_INFO *dev_info,
|
||||
case Polling_Port: //<2F><>ѯ<EFBFBD>˿<EFBFBD>
|
||||
Rs485EnergyInfo.send_flag |= BLV_Energy_SetInfo_Flag;
|
||||
Rs485EnergyInfo.send_flag |= BLV_Energy_ReadVer_Flag;
|
||||
Rs485EnergyInfo.periodic_time = 5000; //<2F><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD>
|
||||
Rs485EnergyInfo.periodic_time = 15000; //<2F><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD>
|
||||
Rs485EnergyInfo.periodic_enable = 0x00; //<2F><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>ʹ<EFBFBD><CAB9>
|
||||
|
||||
BUS_Public.port = Polling_Port; //<2F>豸<EFBFBD><E8B1B8><EFBFBD>Ͷ˿<CDB6>
|
||||
|
||||
@@ -20,8 +20,8 @@
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#include "BLV_485_Dev_IrSendFun.h"
|
||||
#include "BLV_485_Dev_ShangJingTianIrSendFun.h"
|
||||
#include "check_fun.h"
|
||||
#include "string.h"
|
||||
#include "SPI_SRAM.h"
|
||||
@@ -44,8 +44,10 @@ typedef void (*DevFunP)(Device_Public_Information_G *BUS_Public, RS485_IR_INFO *
|
||||
/*<2A>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD>궨<EFBFBD>忪ʼ*/
|
||||
#define RS485_DEV_PRO_FUN_01 DevExistJudgge(Dev_485_IrSend_Polling_Flag, RS485_IrSend_Polling_Init)
|
||||
#define RS485_DEV_PRO_FUN_02 DevExistJudgge(Dev_485_IrSend_Active_Flag, RS485_IrSend_Active_Init)
|
||||
#define RS485_DEV_PRO_FUN_03 ((DevFunP)NULL)
|
||||
#define RS485_DEV_PRO_FUN_04 ((DevFunP)NULL)
|
||||
#define RS485_DEV_PRO_FUN_03 DevExistJudgge(Dev_485_IrSend_Polling_Flag, RS485_SJTIrSend_Polling_Init)
|
||||
#define RS485_DEV_PRO_FUN_04 DevExistJudgge(Dev_485_IrSend_Active_Flag, RS485_SJTIrSend_Active_Init)
|
||||
#define RS485_DEV_PRO_FUN_05 ((DevFunP)NULL)
|
||||
#define RS485_DEV_PRO_FUN_06 ((DevFunP)NULL)
|
||||
/*<2A>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
||||
|
||||
|
||||
@@ -105,8 +107,8 @@ void RS485_IrSend_Data_Init(uint8_t devaddr)
|
||||
BUS_Public.type = DEV_IRTYPE; //<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
||||
BUS_Public.port = Polling_Port; //<2F>豸<EFBFBD><E8B1B8><EFBFBD>Ͷ˿<CDB6>
|
||||
BUS_Public.baud = 9600; //<2F>豸<EFBFBD><E8B1B8><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD><EFBFBD><EFBFBD>
|
||||
BUS_Public.retry_num = 0x05; //<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD>
|
||||
BUS_Public.wait_time = 0x0190; //<2F>豸<EFBFBD><E8B1B8><EFBFBD>ݷ<EFBFBD><DDB7>͵ȴ<CDB5><C8B4>ظ<EFBFBD>ʱ<EFBFBD><CAB1> - 200ms
|
||||
BUS_Public.retry_num = 0x05; //<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD>
|
||||
BUS_Public.wait_time = 0x0190; //<2F>豸<EFBFBD><E8B1B8><EFBFBD>ݷ<EFBFBD><DDB7>͵ȴ<CDB5><C8B4>ظ<EFBFBD>ʱ<EFBFBD><CAB1> - 200ms
|
||||
BUS_Public.polling_cf = (uint32_t)&app_rs485IrDis;
|
||||
BUS_Public.processing_cf = (uint32_t)&App_Rs485_Ir_Check;
|
||||
|
||||
|
||||
@@ -10,80 +10,85 @@
|
||||
|
||||
|
||||
|
||||
#define IR_NOT_EXIST 0x00 //<2F><><EFBFBD>ⲻ<EFBFBD><E2B2BB><EFBFBD><EFBFBD>
|
||||
#define IR_Mute 0x01 //<2F><><EFBFBD><EFBFBD>
|
||||
#define IR_Power 0x02 //<2F><>Դ
|
||||
#define IR_VoiceInc 0x03 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#define IR_VoiceDec 0x04 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#define IR_ChannelInc 0x05 //Ƶ<><C6B5><EFBFBD><EFBFBD>
|
||||
#define IR_ChannelDec 0x06 //Ƶ<><C6B5><EFBFBD><EFBFBD>
|
||||
#define IR_Up 0x07 //<2F><><EFBFBD><EFBFBD>
|
||||
#define IR_Down 0x08 //<2F><><EFBFBD><EFBFBD>
|
||||
#define IR_Left 0x09 //<2F><><EFBFBD><EFBFBD>
|
||||
#define IR_Right 0x0A //<2F><><EFBFBD><EFBFBD>
|
||||
#define IR_Ok 0x0B //ȷ<><C8B7>
|
||||
#define IR_Home 0x0C //<2F><>ҳ
|
||||
#define IR_Menu 0x0D //<2F>˵<EFBFBD>
|
||||
#define IR_Source 0x0E //<2F><>Դ
|
||||
#define IR_Replay 0x0F //<2F>ؿ<EFBFBD>
|
||||
#define IR_NOT_EXIST 0x00 //<2F><><EFBFBD>ⲻ<EFBFBD><E2B2BB><EFBFBD><EFBFBD>
|
||||
#define IR_Mute 0x01 //<2F><><EFBFBD><EFBFBD>
|
||||
#define IR_Power 0x02 //<2F><>Դ
|
||||
#define IR_VoiceInc 0x03 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#define IR_VoiceDec 0x04 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#define IR_ChannelInc 0x05 //Ƶ<><C6B5><EFBFBD><EFBFBD>
|
||||
#define IR_ChannelDec 0x06 //Ƶ<><C6B5><EFBFBD><EFBFBD>
|
||||
#define IR_Up 0x07 //<2F><><EFBFBD><EFBFBD>
|
||||
#define IR_Down 0x08 //<2F><><EFBFBD><EFBFBD>
|
||||
#define IR_Left 0x09 //<2F><><EFBFBD><EFBFBD>
|
||||
#define IR_Right 0x0A //<2F><><EFBFBD><EFBFBD>
|
||||
#define IR_Ok 0x0B //ȷ<><C8B7>
|
||||
#define IR_Home 0x0C //<2F><>ҳ
|
||||
#define IR_Menu 0x0D //<2F>˵<EFBFBD>
|
||||
#define IR_Source 0x0E //<2F><>Դ
|
||||
#define IR_Replay 0x0F //<2F>ؿ<EFBFBD>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
typedef struct RS485_IR_INFO* RS485_IR_INFOP; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD>ṹ<EFBFBD><E1B9B9>ָ<EFBFBD><D6B8>
|
||||
typedef struct RS485_IR_INFO* RS485_IR_INFOP; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD>ṹ<EFBFBD><E1B9B9>ָ<EFBFBD><D6B8>
|
||||
|
||||
|
||||
typedef void (*RS485_IR_Cycle_ptr)(uint8_t DevPort, uint8_t DevAddr); //<2F><><EFBFBD>崫<EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD>Ϊ<EFBFBD>˿ںź<DABA><C5BA>豸<EFBFBD><E8B1B8>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>յĺ<D5B5><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD>룬<EFBFBD><EBA3AC><EFBFBD><EFBFBD>485<38>豸<EFBFBD><E8B1B8>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>
|
||||
//typedef void (*RS485_Card_IndiDataGet_ptr)(u16 Addr, u8 OnOff); //<2F><><EFBFBD>崫<EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD>Ϊ<EFBFBD><CEAA>ַ<EFBFBD><D6B7>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>յĺ<D5B5><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD>룬<EFBFBD><EBA3AC><EFBFBD><EFBFBD>485<38><35><EFBFBD><EFBFBD>ָʾ<D6B8>Ƹ<EFBFBD>ֵ
|
||||
//typedef void (*RS485_IR_Read_ptr)(u8 *, u8); //<2F><><EFBFBD>崫<EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵΪ<D6B5>յĺ<D5B5><C4BA><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD>485<38><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//typedef void (*RS485_IR_TV_Ctrl_ptr)(u8 addr); //<2F><><EFBFBD>崫<EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD>Ϊ<EFBFBD><CEAA>ַ<EFBFBD><D6B7>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵΪ<D6B5>յĺ<D5B5><C4BA><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD>ں<EFBFBD><DABA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD><D3BF><EFBFBD>
|
||||
typedef void (*RS485_IR_Cycle_ptr)(uint8_t DevPort, uint8_t DevAddr); //<2F><><EFBFBD>崫<EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD>Ϊ<EFBFBD>˿ںź<DABA><C5BA>豸<EFBFBD><E8B1B8>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>յĺ<D5B5><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD>룬<EFBFBD><EBA3AC><EFBFBD><EFBFBD>485<38>豸<EFBFBD><E8B1B8>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>
|
||||
//typedef void (*RS485_Card_IndiDataGet_ptr)(u16 Addr, u8 OnOff); //<2F><><EFBFBD>崫<EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD>Ϊ<EFBFBD><CEAA>ַ<EFBFBD><D6B7>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>յĺ<D5B5><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD>룬<EFBFBD><EBA3AC><EFBFBD><EFBFBD>485<38><35><EFBFBD><EFBFBD>ָʾ<D6B8>Ƹ<EFBFBD>ֵ
|
||||
//typedef void (*RS485_IR_Read_ptr)(u8 *, u8); //<2F><><EFBFBD>崫<EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵΪ<D6B5>յĺ<D5B5><C4BA><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD>485<38><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//typedef void (*RS485_IR_TV_Ctrl_ptr)(u8 addr); //<2F><><EFBFBD>崫<EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD>Ϊ<EFBFBD><CEAA>ַ<EFBFBD><D6B7>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵΪ<D6B5>յĺ<D5B5><C4BA><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD>ں<EFBFBD><DABA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD><D3BF><EFBFBD>
|
||||
typedef void (*RS485_IR_IndiCtrl_ptr)(RS485_IR_INFOP, uint16_t Addr, uint16_t OnOff); //<2F><><EFBFBD>崫<EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD>Ϊ<EFBFBD><CEAA>ַ<EFBFBD><D6B7>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>յĺ<D5B5><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD>룬<EFBFBD><EBA3AC><EFBFBD><EFBFBD>485<38><35><EFBFBD><EFBFBD>ָʾ<D6B8>Ƹ<EFBFBD>ֵ
|
||||
typedef uint16_t (*RS485_IR_LoopStateRead_ptr)(RS485_IR_INFOP, uint16_t); //ָ<><D6B8><EFBFBD><EFBFBD>·״̬<D7B4>ж<EFBFBD>
|
||||
typedef uint16_t (*RS485_IR_LoopStateRead_ptr)(RS485_IR_INFOP, uint16_t); //ָ<><D6B8><EFBFBD><EFBFBD>·״̬<D7B4>ж<EFBFBD>
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
// uint8_t *DevReadBuf; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>飬ÿ<E9A3AC><C3BF><EFBFBD>ֽڴ水<DAB4><E6B0B4><EFBFBD><EFBFBD>״̬
|
||||
// uint8_t DevReadLen; //<2F><><EFBFBD><EFBFBD>״̬<D7B4>ֽ<EFBFBD><D6BD><EFBFBD>
|
||||
// uint8_t *DevSendBuf; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// uint8_t *DevSendBuf_last; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// uint8_t DevSendLen; //<2F><><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
|
||||
// uint8_t *DevReadBuf; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>飬ÿ<E9A3AC><C3BF><EFBFBD>ֽڴ水<DAB4><E6B0B4><EFBFBD><EFBFBD>״̬
|
||||
// uint8_t DevReadLen; //<2F><><EFBFBD><EFBFBD>״̬<D7B4>ֽ<EFBFBD><D6BD><EFBFBD>
|
||||
// uint8_t *DevSendBuf; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// uint8_t *DevSendBuf_last; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// uint8_t DevSendLen; //<2F><><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
|
||||
|
||||
BLV_COMM_RECORD_G comm_record; //ͨѶ<CDA8><D1B6>¼
|
||||
BLV_COMM_RECORD_G comm_record; //ͨѶ<CDA8><D1B6>¼
|
||||
|
||||
uint8_t DevSendCnt; //<2F>豸<EFBFBD><E8B1B8><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ﵽ<EFBFBD>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>лظ<D0BB><D8B8><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD> ռ4λ
|
||||
uint8_t DevOffline; //<2F>豸<EFBFBD><E8B1B8><EFBFBD>߱<EFBFBD>־ 1<><31><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD> 0<><30><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD> ռ2λ
|
||||
uint8_t DevOfflineLast; //<2F>豸<EFBFBD><E8B1B8><EFBFBD>߱<EFBFBD>־ 1<><31><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD> 0<><30><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD> ռ2λ
|
||||
uint8_t DevSendCnt; //<2F>豸<EFBFBD><E8B1B8><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ﵽ<EFBFBD>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>лظ<D0BB><D8B8><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD> ռ4λ
|
||||
uint8_t DevOffline; //<2F>豸<EFBFBD><E8B1B8><EFBFBD>߱<EFBFBD>־ 1<><31><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD> 0<><30><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD> ռ2λ
|
||||
uint8_t DevOfflineLast; //<2F>豸<EFBFBD><E8B1B8><EFBFBD>߱<EFBFBD>־ 1<><31><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD> 0<><30><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD> ռ2λ
|
||||
|
||||
uint8_t IrTvState; //<2F><><EFBFBD><EFBFBD>״̬ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ػ<EFBFBD>
|
||||
uint8_t IrTvStateLast; //<2F><><EFBFBD><EFBFBD>״̬ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ػ<EFBFBD>
|
||||
uint8_t IrTvStateRs485; //<2F><><EFBFBD><EFBFBD>״̬ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ػ<EFBFBD>
|
||||
uint8_t IrTvStateMap; //<2F><><EFBFBD><EFBFBD>״̬ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ػ<EFBFBD>
|
||||
uint8_t IrTvState; //<2F><><EFBFBD><EFBFBD>״̬ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ػ<EFBFBD>
|
||||
uint8_t IrTvStateLast; //<2F><><EFBFBD><EFBFBD>״̬ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ػ<EFBFBD>
|
||||
uint8_t IrTvStateRs485; //<2F><><EFBFBD><EFBFBD>״̬ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ػ<EFBFBD>
|
||||
uint8_t IrTvStateMap; //<2F><><EFBFBD><EFBFBD>״̬ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ػ<EFBFBD>
|
||||
|
||||
uint8_t IrCtrlTvData; //<2F><><EFBFBD>ӿ<EFBFBD><D3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
uint8_t IrCtrlTvFlag; //<2F><><EFBFBD>ӿ<EFBFBD><D3BF>Ʊ<EFBFBD>־λ
|
||||
uint8_t IrCtrlTvCnt; //<2F><><EFBFBD>ӿ<EFBFBD><D3BF>Ƽ<EFBFBD><C6BC><EFBFBD>
|
||||
uint8_t IrCtrlTvData; //<2F><><EFBFBD>ӿ<EFBFBD><D3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
uint8_t IrCtrlTvFlag; //<2F><><EFBFBD>ӿ<EFBFBD><D3BF>Ʊ<EFBFBD>־λ
|
||||
uint8_t IrCtrlTvCnt; //<2F><><EFBFBD>ӿ<EFBFBD><D3BF>Ƽ<EFBFBD><C6BC><EFBFBD>
|
||||
|
||||
uint8_t AirInfo[4]; //<2F>յ<EFBFBD><D5B5><EFBFBD>Ϣ <20><><EFBFBD>ػ<EFBFBD> ģʽ <20><><EFBFBD><EFBFBD><EFBFBD>¶<EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
uint8_t AirInfo[4]; //<2F>յ<EFBFBD><D5B5><EFBFBD>Ϣ <20><><EFBFBD>ػ<EFBFBD> ģʽ <20><><EFBFBD><EFBFBD><EFBFBD>¶<EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
uint8_t AirInfoLast[4];
|
||||
uint8_t IrCtrlAirFlag; //<2F>յ<EFBFBD><D5B5><EFBFBD><EFBFBD>Ʊ<EFBFBD>־λ
|
||||
uint8_t IrCtrlAirCnt; //<2F>յ<EFBFBD><D5B5><EFBFBD><EFBFBD>Ƽ<EFBFBD><C6BC><EFBFBD>
|
||||
uint8_t IrCtrlAirFlag; //<2F>յ<EFBFBD><D5B5><EFBFBD><EFBFBD>Ʊ<EFBFBD>־λ
|
||||
uint8_t IrCtrlAirCnt; //<2F>յ<EFBFBD><D5B5><EFBFBD><EFBFBD>Ƽ<EFBFBD><C6BC><EFBFBD>
|
||||
|
||||
uint8_t AirOpenFlag; //<2F>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־ <20><><EFBFBD><EFBFBD>һ<EFBFBD>ο<EFBFBD><CEBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>һ<E0B7A2>ο<EFBFBD><CEBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
uint8_t AirOpenFlag; //<2F>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־ <20><><EFBFBD><EFBFBD>һ<EFBFBD>ο<EFBFBD><CEBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>һ<E0B7A2>ο<EFBFBD><CEBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
uint32_t inquire_tick; //ѯ<><D1AF>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
|
||||
uint32_t inquire_tick; //ѯ<><D1AF>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
|
||||
/*<2A><><EFBFBD><EFBFBD>ȫ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD>ʼ*/
|
||||
// CFG_Dev_AddP RFCfgDevAddRs485; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>485
|
||||
/*<2A><><EFBFBD><EFBFBD>ȫ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
||||
|
||||
RS485_IR_LoopStateRead_ptr RS485_IR_LoopStateRead; //<2F><>ȡ
|
||||
RS485_IR_IndiCtrl_ptr RS485_IR_IndiCtrl; //ָʾ<D6B8>Ƹ<EFBFBD>ֵ
|
||||
/*<2A>Ͼ<EFBFBD><CFBE>о<EFBFBD><D0BE><EFBFBD>-IRACC<43><43><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD>Э<EFBFBD><D0AD>ת<EFBFBD><D7AA>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ*/
|
||||
|
||||
|
||||
/*<2A>Ͼ<EFBFBD><CFBE>о<EFBFBD><D0BE><EFBFBD>-IRACC<43><43><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD>Э<EFBFBD><D0AD>ת<EFBFBD><D7AA>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
||||
|
||||
RS485_IR_LoopStateRead_ptr RS485_IR_LoopStateRead; //<2F><>ȡ
|
||||
RS485_IR_IndiCtrl_ptr RS485_IR_IndiCtrl; //ָʾ<D6B8>Ƹ<EFBFBD>ֵ
|
||||
|
||||
// RS485_IR_TV_Ctrl_ptr RS485_IR_TV_Ctrl; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD><D3BF><EFBFBD>
|
||||
// RS485_IR_Cycle_ptr RS485_IR_Cycle_Dis; //<2F><><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָʾ<D6B8>ƿ<EFBFBD><C6BF>Ƶĺ<C6B5><C4BA><EFBFBD>
|
||||
// RS485_IR_Read_ptr Rs485_IR_ReadDis; //485<38><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>մ<EFBFBD><D5B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
}__attribute__ ((__packed__))RS485_IR_INFO; //485<38><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뺯<EFBFBD><EBBAAF>
|
||||
// RS485_IR_TV_Ctrl_ptr RS485_IR_TV_Ctrl; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD><D3BF><EFBFBD>
|
||||
// RS485_IR_Cycle_ptr RS485_IR_Cycle_Dis; //<2F><><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָʾ<D6B8>ƿ<EFBFBD><C6BF>Ƶĺ<C6B5><C4BA><EFBFBD>
|
||||
// RS485_IR_Read_ptr Rs485_IR_ReadDis; //485<38><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>մ<EFBFBD><D5B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
}__attribute__ ((__packed__))RS485_IR_INFO; //485<38><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뺯<EFBFBD><EBBAAF>
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,420 @@
|
||||
|
||||
/**
|
||||
******************************************************************************
|
||||
* @file : BLV_485_Dev_ShangJingTianIrSendFun.c
|
||||
* @author : Ҷ<><D2B6><EFBFBD><EFBFBD>
|
||||
* @version : V01.01.01
|
||||
* @date : 2026-01-05
|
||||
* @brief : <20>Խ<EFBFBD> <20><><EFBFBD>Ͼ<EFBFBD><CFBE>о<EFBFBD><D0BE><EFBFBD>IRACC<43><43><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD>Э<EFBFBD><D0AD>ת<EFBFBD><D7AA>ģ<EFBFBD>飬<EFBFBD>ͺ<EFBFBD>:IRACC-SWG-H<><48> <20>豸
|
||||
* @attention : <20><><EFBFBD><EFBFBD>ǿ<EFBFBD><C7BF><EFBFBD>̵<EFBFBD><CCB5><EFBFBD>
|
||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⣺ <20><>
|
||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD> <20><>
|
||||
* ִ<>к<EFBFBD><D0BA><EFBFBD><EFBFBD><EFBFBD> <20><>
|
||||
* ִ<>з<EFBFBD>ʽ<EFBFBD><CABD>
|
||||
* <09>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD>
|
||||
* @note : 1<><31><EFBFBD>豸<EFBFBD><E8B1B8>ַΪ<D6B7>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||
* 2<><32><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>豸<EFBFBD><E8B1B8>ַ<EFBFBD><D6B7><EFBFBD>㣬<EFBFBD>豸<EFBFBD><E8B1B8>ַ*6
|
||||
*
|
||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̣<EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD>¿<EFBFBD>״̬
|
||||
* 2<><32><EFBFBD>Ա<EFBFBD>
|
||||
* 3<><33><EFBFBD>·<EFBFBD><C2B7>¿<EFBFBD>״̬
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
#include "BLV_485_Dev_ShangJingTianIrSendFun.h"
|
||||
#include "includes.h"
|
||||
|
||||
/*<2A>漰<EFBFBD><E6BCB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>ʼ*/
|
||||
#include "BLV_485_Dev_TempFun.h"
|
||||
#include "BLV_485_Dev_C7TFun.h"
|
||||
|
||||
/*<2A>漰<EFBFBD><E6BCB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>*/
|
||||
uint8_t SJT_Rs485_IrDis(uint32_t dev_addr);
|
||||
uint8_t SJT_Rs485_IrCheck(uint32_t dev_addr,uint32_t data_addr,uint16_t len);
|
||||
void SJT_IrCtrl_State(uint32_t CfgDevAddIn, uint16_t DevInputAddr,uint32_t devaddr,uint16_t DevOutputLoop,uint16_t state);
|
||||
|
||||
|
||||
void RS485_SJTIrSend_Polling_Init(Device_Public_Information_G *BUS_Public, RS485_IR_INFO *RS485IRInfo)
|
||||
{
|
||||
BUS_Public->polling_cf = (uint32_t)&SJT_Rs485_IrDis;
|
||||
BUS_Public->processing_cf = (uint32_t)&SJT_Rs485_IrCheck;
|
||||
BUS_Public->DevFunInfo.Dev_Output_Ctrl = SJT_IrCtrl_State;
|
||||
}
|
||||
|
||||
void RS485_SJTIrSend_Active_Init(Device_Public_Information_G *BUS_Public, RS485_IR_INFO *RS485IRInfo)
|
||||
{
|
||||
BUS_Public->polling_cf = (uint32_t)&SJT_Rs485_IrDis;
|
||||
BUS_Public->processing_cf = (uint32_t)&SJT_Rs485_IrCheck;
|
||||
BUS_Public->DevFunInfo.Dev_Output_Ctrl = SJT_IrCtrl_State;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
* @name : SJTIR_Rs485_Air_Ctrl
|
||||
* @Description : <20>¿<EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD>
|
||||
* @param :
|
||||
* dev_addr : <20>豸<EFBFBD><E8B1B8>ʼ<EFBFBD><CABC>ַ
|
||||
* @retval : 0x00:<3A><><EFBFBD>ݷ<EFBFBD><DDB7>ͳɹ<CDB3><C9B9><EFBFBD>0xF0:<3A><><EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD><DDB7><EFBFBD>
|
||||
* @attention : һ<><D2BB><EFBFBD>յ<EFBFBD><D5B5>¿<EFBFBD>״̬<D7B4><CCAC>ռ<EFBFBD><D5BC>6<EFBFBD><36><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>12<31><32><EFBFBD>ֽ<EFBFBD>
|
||||
*******************************************************************************/
|
||||
void SJTIR_Rs485_Air_Ctrl(uint32_t dev_addr, RS485_IR_INFO *RS485IRInfo)
|
||||
{
|
||||
uint8_t IrSend[20];
|
||||
uint8_t port = SRAM_Read_Byte(dev_addr+Dev_port);
|
||||
uint16_t SJT_reg = TEMPREG_START,SJT_RegLen = CTRLTEMPREG;
|
||||
uint16_t SJT_temp = 0x00,Send_CRC = 0x00;
|
||||
|
||||
|
||||
IrSend[0] = SRAM_Read_Byte(dev_addr+Dev_Addr); //<2F>豸<EFBFBD><E8B1B8>ַ
|
||||
IrSend[1] = WRITEMULTREGCMD; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
IrSend[2] = ((SJT_reg >> 8)&0xFF); //<2F><><EFBFBD>ƵļĴ<C4BC><C4B4><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>ĸ<EFBFBD>λ
|
||||
IrSend[3] = (SJT_reg & 0xFF); //<2F><><EFBFBD>ƵļĴ<C4BC><C4B4><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>ĵ<EFBFBD>λ
|
||||
IrSend[4] = ((SJT_RegLen >> 8)&0xFF); //<2F><><EFBFBD>ƵļĴ<C4BC><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD>λ
|
||||
IrSend[5] = (SJT_RegLen & 0xFF); //<2F><><EFBFBD>ƵļĴ<C4BC><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>λ
|
||||
IrSend[6] = 0x06; //<2F>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>2<EFBFBD>ֽ<EFBFBD>
|
||||
|
||||
//RCU<43><55><EFBFBD><EFBFBD>0:ֹͣ<CDA3><D6B9>10<31><30><EFBFBD>ͣ<EFBFBD>30<33><30><EFBFBD>У<EFBFBD>50<35><30><EFBFBD><EFBFBD>, 0xFF<46><46><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if(RS485IRInfo->AirInfo[3] == 0){
|
||||
IrSend[7] = 0x10;
|
||||
}else if(RS485IRInfo->AirInfo[3] == 1){
|
||||
IrSend[7] = 0x10;
|
||||
}else if(RS485IRInfo->AirInfo[3] == 2){
|
||||
IrSend[7] = 0x30;
|
||||
}else if(RS485IRInfo->AirInfo[3] == 3){
|
||||
IrSend[7] = 0x50;
|
||||
}else {
|
||||
IrSend[7] = 0xFF;
|
||||
}
|
||||
|
||||
//<2F><><EFBFBD>ػ<EFBFBD>״̬<D7B4><CCAC>60<36><30><EFBFBD>أ<EFBFBD>61<36><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FF<46><46><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if(RS485IRInfo->AirInfo[0] == 0x00){
|
||||
IrSend[8] = 0x60;
|
||||
}else if(RS485IRInfo->AirInfo[0] == 0x01){
|
||||
IrSend[8] = 0x61;
|
||||
}else{
|
||||
IrSend[8] = 0xFF;
|
||||
}
|
||||
|
||||
//<2F>յ<EFBFBD>ģʽ<C4A3><CABD>00 02<30><32><EFBFBD><EFBFBD><EFBFBD>䣬 00 01<30><31><EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD> 00 00<30><30>ͨ<EFBFBD><CDA8>
|
||||
IrSend[9] = 0x00;
|
||||
if(RS485IRInfo->AirInfo[1] == 0x00){
|
||||
IrSend[10] = 0x02;
|
||||
}else if(RS485IRInfo->AirInfo[1] == 0x01){
|
||||
IrSend[10] = 0x01;
|
||||
}else if(RS485IRInfo->AirInfo[1] == 0x02){
|
||||
IrSend[10] = 0x00;
|
||||
}else{
|
||||
IrSend[10] = 0x00;
|
||||
}
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD>¶ȣ<C2B6>160-320
|
||||
if(RS485IRInfo->AirInfo[2] < SJTTEM_MIN_SET){
|
||||
SJT_temp = (SJTTEM_MIN_SET*10);
|
||||
}else if(RS485IRInfo->AirInfo[2] > SJTTEM_MAX_SET){
|
||||
SJT_temp = (SJTTEM_MAX_SET*10);
|
||||
}else{
|
||||
SJT_temp = RS485IRInfo->AirInfo[2]*10;
|
||||
}
|
||||
IrSend[11] = ((SJT_temp >> 8)&0xFF);
|
||||
IrSend[12] = (SJT_temp & 0xFF);
|
||||
|
||||
|
||||
Send_CRC = NetCRC16_2(IrSend,13);
|
||||
IrSend[13] = (Send_CRC & 0xFF);
|
||||
IrSend[14] = ((Send_CRC >> 8)&0xFF);
|
||||
|
||||
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
||||
MCU485_SendString(port,IrSend,15);
|
||||
|
||||
/*<2A><>־<EFBFBD><D6BE>¼*/
|
||||
LOG_Device_COMM_Send_Control_Record2(dev_addr+Dev_port,dev_addr+Dev_baud,IrSend,15);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
* @name : SJT_Rs485_IrDis
|
||||
* @Description : <20>Ͼ<EFBFBD><CFBE>о<EFBFBD><D0BE><EFBFBD>IRACC<43><43><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD>Э<EFBFBD><D0AD>ת<EFBFBD><D7AA>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD>ƺ<EFBFBD><C6BA><EFBFBD>
|
||||
* @param :
|
||||
* dev_addr : <20>豸485<38><35><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ַ
|
||||
* @retval : 0x00:<3A><><EFBFBD>ݷ<EFBFBD><DDB7>ͳɹ<CDB3><C9B9><EFBFBD>0xF0:<3A><><EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD><DDB7><EFBFBD>
|
||||
* @attention : һ<><D2BB><EFBFBD>豸ֻ<E8B1B8><D6BB><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>յ<EFBFBD><D5B5>ڻ<EFBFBD>
|
||||
*******************************************************************************/
|
||||
uint8_t SJT_Rs485_IrDis(uint32_t dev_addr)
|
||||
{
|
||||
uint8_t i;
|
||||
uint8_t Ret = RS485OCCUPYNOTIME;
|
||||
Device_Public_Information_G BUS_Public;
|
||||
RS485_IR_INFO RS485IRInfo; //<2F><><EFBFBD><EFBFBD><EFBFBD>ֲ<EFBFBD><D6B2><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
SRAM_DMA_Read_Buff((uint8_t *)&BUS_Public,sizeof(Device_Public_Information_G),dev_addr);
|
||||
SRAM_DMA_Read_Buff((uint8_t *)&RS485IRInfo,sizeof(RS485_IR_INFO),dev_addr+Dev_Privately);
|
||||
|
||||
for(i = 0; i < 4; i++)
|
||||
{
|
||||
if(RS485IRInfo.AirInfoLast[i] != RS485IRInfo.AirInfo[i])
|
||||
{
|
||||
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"SJT,<2C>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>仯");
|
||||
RS485IRInfo.IrCtrlAirFlag = 0x01;
|
||||
RS485IRInfo.IrCtrlAirCnt = SJT_IRCtrlSendMax;
|
||||
|
||||
if((0x00 == i)&&(0x01 == RS485IRInfo.AirInfo[i])) //<2F>ɹص<C9B9><D8B5><EFBFBD>
|
||||
{
|
||||
RS485IRInfo.AirOpenFlag = 0x00; //<2F>ñ<EFBFBD>־λ <20><><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD>Ļظ<C4BB><D8B8><EFBFBD><F3A3ACBB><EFBFBD>һ<EFBFBD>ο<EFBFBD><CEBF>ƵĻ<C6B5><C4BB><EFBFBD> //20250811 <20>رմ˹<D5B4><CBB9>ܲ<EFBFBD><DCB2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
}
|
||||
memcpy(RS485IRInfo.AirInfoLast, RS485IRInfo.AirInfo, 4);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(0x01 == RS485IRInfo.IrCtrlAirFlag)
|
||||
{
|
||||
if(0x00 != RS485IRInfo.IrCtrlAirCnt)
|
||||
{
|
||||
RS485IRInfo.IrCtrlAirCnt--;
|
||||
}
|
||||
else
|
||||
{
|
||||
RS485IRInfo.AirOpenFlag = 0x00; //<2F><><EFBFBD>ο<EFBFBD><CEBF>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
|
||||
RS485IRInfo.IrCtrlAirFlag = 0x00;
|
||||
}
|
||||
|
||||
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"<EFBFBD>о<EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD>ͣ<EFBFBD>SendCnt:%d",RS485IRInfo.IrCtrlAirCnt);
|
||||
SJTIR_Rs485_Air_Ctrl(dev_addr, &RS485IRInfo);
|
||||
|
||||
/*ͨѶͳ<D1B6>Ƽ<EFBFBD>¼*/
|
||||
BLV_Communication_Record(&RS485IRInfo.comm_record,0x01,0x00);
|
||||
Ret = RS485OCCUPYTIME;
|
||||
}
|
||||
|
||||
|
||||
if(RS485OCCUPYTIME == Ret)
|
||||
{
|
||||
if(RS485IRInfo.DevSendCnt > SJT_IRCtrlSendMax)
|
||||
{
|
||||
if(RS485IRInfo.DevOffline != DEV_IS_OFFLINE)
|
||||
{
|
||||
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"Dev_SJTIRSend LogInfo_Device_Offline...........");
|
||||
LOG_Device_Online_Record(DEV_IRTYPE,BUS_Public.addr,LogInfo_Device_Offline); //<2F><>¼<EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>SRAM_Read_Byte(dev_addr+Dev_Addr)
|
||||
}
|
||||
RS485IRInfo.DevOffline = DEV_IS_OFFLINE; //<2F><><EFBFBD><EFBFBD>
|
||||
if(RS485IRInfo.DevOffline != RS485IRInfo.DevOfflineLast) //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
|
||||
{
|
||||
RS485IRInfo.DevOfflineLast = RS485IRInfo.DevOffline; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
|
||||
Write_Device_Fault_State(BUS_Public.type,BUS_Public.addr,In_ErrFun_LineState,DEV_IS_OFFLINE); //<2F><><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>״̬<D7B4><CCAC>SRAM
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
RS485IRInfo.DevSendCnt++;
|
||||
}
|
||||
|
||||
BUS_Public.check = 0x00;
|
||||
BUS_Public.check = DoubleData_CheckSum((uint8_t *)&BUS_Public, sizeof(Device_Public_Information_G), (uint8_t *)&RS485IRInfo, sizeof(RS485_IR_INFO));
|
||||
SRAM_DMA_Write_Buff((uint8_t *)&BUS_Public, sizeof(Device_Public_Information_G),dev_addr);/*<2A><><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>*/
|
||||
SRAM_DMA_Write_Buff((uint8_t *)&RS485IRInfo,sizeof(RS485_IR_INFO),dev_addr+Dev_Privately);
|
||||
}
|
||||
|
||||
return Ret;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/********************************************************************************
|
||||
* @name : SJT_Rs485_IrCheck
|
||||
* @Description : <20>Ͼ<EFBFBD><CFBE>о<EFBFBD><D0BE><EFBFBD>IRACC<43><43><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD>Э<EFBFBD><D0AD>ת<EFBFBD><D7AA>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD>մ<EFBFBD><D5B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* @param :
|
||||
* dev_addr : <20>豸<EFBFBD><E8B1B8>Ϣ<EFBFBD><CFA2>ַ, data_addr : <20><><EFBFBD>ݵ<EFBFBD>ַ, len : <20><><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>
|
||||
* @retval : 0x00:<3A><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>,0x01:<3A><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
|
||||
* @attention : һ<><D2BB><EFBFBD>豸ֻ<E8B1B8><D6BB><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>յ<EFBFBD><D5B5>ڻ<EFBFBD>
|
||||
**********************************************************************************/
|
||||
uint8_t SJT_Rs485_IrCheck(uint32_t dev_addr,uint32_t data_addr,uint16_t len)
|
||||
{
|
||||
if( (len > RECVDATA_LEN_MAX)||(len < RECVDATA_LEN_MIN) )
|
||||
{
|
||||
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"SJT_IRSend RecvLen Fail!");
|
||||
return 0x01;
|
||||
}
|
||||
|
||||
/*<2A><>ǰֻ<C7B0><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>üĴ<C3BC><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļظ<C4BB>*/
|
||||
if(0x08 != len)
|
||||
{
|
||||
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"<EFBFBD>о<EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><EFBFBD>Ȳ<EFBFBD><EFBFBD><EFBFBD>: %d ",len);
|
||||
return 0x02;
|
||||
}
|
||||
|
||||
|
||||
uint8_t data[RECVDATA_LEN_MAX];
|
||||
uint8_t rev = 0x01;
|
||||
uint16_t crc_val = 0x00;
|
||||
uint16_t temp = 0x00;
|
||||
Device_Public_Information_G BUS_Public;
|
||||
RS485_IR_INFO RS485IRInfo; //<2F><><EFBFBD><EFBFBD><EFBFBD>ֲ<EFBFBD><D6B2><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
memset(data,0x00,RECVDATA_LEN_MAX);
|
||||
SRAM_DMA_Read_Buff(data,len,data_addr);
|
||||
SRAM_DMA_Read_Buff((uint8_t *)&BUS_Public,sizeof(Device_Public_Information_G),dev_addr);
|
||||
|
||||
|
||||
if(data[0] != BUS_Public.addr)
|
||||
{
|
||||
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"<EFBFBD>о<EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>: %d!!",data[0]);
|
||||
return 0x03;
|
||||
}
|
||||
|
||||
crc_val = data[len-2] + (data[len-1]<<8);
|
||||
if(crc_val == NetCRC16_2(data,len-2))
|
||||
{
|
||||
rev = 0x00;
|
||||
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"<EFBFBD>о<EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CRCУ<EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>,CMD: %02x",data[1]);
|
||||
|
||||
SRAM_DMA_Read_Buff((uint8_t *)&RS485IRInfo,sizeof(RS485_IR_INFO),dev_addr+Dev_Privately);
|
||||
|
||||
if(RS485IRInfo.DevOffline == DEV_IS_OFFLINE)
|
||||
{
|
||||
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"Dev_SJTIrSend LogInfo_Device_Online...........");
|
||||
LOG_Device_Online_Record(DEV_SWI_TYPE,BUS_Public.addr,LogInfo_Device_Online); //<2F><>¼<EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
||||
}
|
||||
|
||||
BLV_Communication_Record(&RS485IRInfo.comm_record,0x02,0x01); //<2F><>¼ͨѶ<CDA8>ɹ<EFBFBD>
|
||||
RS485IRInfo.DevSendCnt = 0x00;
|
||||
RS485IRInfo.DevOffline = DEV_IS_ONLINE; //<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
||||
if(RS485IRInfo.DevOffline != RS485IRInfo.DevOfflineLast) //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
|
||||
{
|
||||
RS485IRInfo.DevOfflineLast = RS485IRInfo.DevOffline; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
|
||||
Write_Device_Fault_State(BUS_Public.type,BUS_Public.addr,In_ErrFun_LineState,DEV_IS_ONLINE); //<2F><><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>״̬<D7B4><CCAC>SRAM
|
||||
}
|
||||
|
||||
switch(data[1]) //<2F>Ͼ<EFBFBD><CFBE>о<EFBFBD><D0BE><EFBFBD>IRACC<43><43><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD>Э<EFBFBD><D0AD>ת<EFBFBD><D7AA>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
{
|
||||
case READREGCMD: //<2F><><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
||||
|
||||
/*<2A><>־<EFBFBD><D6BE>¼*/
|
||||
LOG_Device_COMM_Control_Reply_Record(BUS_Public.port, BUS_Public.baud,data,len);
|
||||
break;
|
||||
case WRITEONLYREGCMD: //д<><D0B4><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
||||
|
||||
/*<2A><>־<EFBFBD><D6BE>¼*/
|
||||
LOG_Device_COMM_Control_Reply_Record(BUS_Public.port, BUS_Public.baud,data,len);
|
||||
break;
|
||||
case WRITEMULTREGCMD: //д<><D0B4><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
||||
temp = (data[2]<<8) + (data[3]);
|
||||
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"<EFBFBD>о<EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؿ<EFBFBD><EFBFBD>ƻظ<EFBFBD><EFBFBD><EFBFBD>Reg: %04X",temp);
|
||||
|
||||
if(temp == TEMPREG_START)
|
||||
{
|
||||
if(0x01 == RS485IRInfo.AirOpenFlag) //
|
||||
{
|
||||
RS485IRInfo.AirOpenFlag = 0x00;
|
||||
//RS485IRInfo.IrCtrlAirFlag = 0x01; //<2F>Ե<EFBFBD>ǰ<EFBFBD>Ŀյ<C4BF><D5B5><EFBFBD><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD><EFBFBD>Ӷ<EFBFBD>һ<EFBFBD>ο<EFBFBD><CEBF><EFBFBD>
|
||||
}
|
||||
else
|
||||
{
|
||||
RS485IRInfo.IrCtrlAirFlag = 0x00;
|
||||
}
|
||||
}
|
||||
|
||||
/*<2A><>־<EFBFBD><D6BE>¼*/
|
||||
LOG_Device_COMM_Control_Reply_Record(BUS_Public.port, BUS_Public.baud,data,len);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
BUS_Public.check = 0x00;
|
||||
BUS_Public.check = DoubleData_CheckSum((uint8_t *)&BUS_Public, sizeof(Device_Public_Information_G), (uint8_t *)&RS485IRInfo, sizeof(RS485_IR_INFO));
|
||||
SRAM_DMA_Write_Buff((uint8_t *)&BUS_Public, sizeof(Device_Public_Information_G),dev_addr);/*<2A><><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>*/
|
||||
SRAM_DMA_Write_Buff((uint8_t *)&RS485IRInfo,sizeof(RS485_IR_INFO),dev_addr+Dev_Privately);
|
||||
}else{
|
||||
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"<EFBFBD>о<EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CRC<EFBFBD><EFBFBD><EFBFBD><EFBFBD>: %04x",crc_val);
|
||||
|
||||
}
|
||||
|
||||
return rev;
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* @FunctionName : Ir_Control_State
|
||||
* @Description : <20>Ͼ<EFBFBD><CFBE>о<EFBFBD><D0BE><EFBFBD>IRACC<43><43><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD>Э<EFBFBD><D0AD>ת<EFBFBD><D7AA>ģ<EFBFBD><C4A3>״̬<D7B4><CCAC><EFBFBD>ƺ<EFBFBD><C6BA><EFBFBD>
|
||||
* @Input : DevaddrIn : <20><><EFBFBD><EFBFBD><EFBFBD>豸, devaddr : <20>豸<EFBFBD><E8B1B8>Ϣ<EFBFBD><CFA2>ַ, state : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* @Retval : <20><>
|
||||
* @nota : ֻ<><D6BB><EFBFBD>¿<EFBFBD><C2BF><EFBFBD>
|
||||
*******************************************************************************/
|
||||
void SJT_IrCtrl_State(uint32_t CfgDevAddIn, uint16_t DevInputAddr,uint32_t devaddr,uint16_t DevOutputLoop,uint16_t state)
|
||||
{
|
||||
uint8_t rev = 0x00;
|
||||
|
||||
Device_Public_Information_G BUS_Public;
|
||||
RS485_IR_INFO RS485IRInfo;
|
||||
|
||||
if(devaddr == 0x00) return;
|
||||
|
||||
SRAM_DMA_Read_Buff((uint8_t *)&BUS_Public,sizeof(Device_Public_Information_G),devaddr);
|
||||
SRAM_DMA_Read_Buff((uint8_t *)&RS485IRInfo,sizeof(RS485_IR_INFO),devaddr+Dev_Privately);
|
||||
|
||||
Dbg_Print_Buff(DBG_BIT_DEVICE_STATUS_bit,"RS485IRInfo.AirInfo start:", RS485IRInfo.AirInfo, 4);
|
||||
|
||||
if((NULL != CfgDevAddIn) && (DEV_RS485_TEMP == SRAM_Read_Byte(CfgDevAddIn+Dev_Type))) //<2F>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
{
|
||||
RS485_TEMP_INFO Rs485Tem;
|
||||
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"<EFBFBD>¿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>о<EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD>");
|
||||
SRAM_DMA_Read_Buff((uint8_t *)&Rs485Tem,sizeof(RS485_TEMP_INFO),CfgDevAddIn+Dev_Privately);
|
||||
|
||||
switch(Rs485Tem.TemState.on_off)
|
||||
{
|
||||
case 0x01: RS485IRInfo.AirInfo[0] = 0x01; break; //1<><31>
|
||||
case 0x00: RS485IRInfo.AirInfo[0] = 0x00; break; //0<><30>
|
||||
default: break;
|
||||
}
|
||||
|
||||
switch(Rs485Tem.TemState.mode)
|
||||
{
|
||||
case TEMP_COLD: RS485IRInfo.AirInfo[1] = 0; break; //<2F><><EFBFBD><EFBFBD>
|
||||
case TEMP_HOT: RS485IRInfo.AirInfo[1] = 1; break; //<2F><><EFBFBD><EFBFBD>
|
||||
case TEMP_WIND: RS485IRInfo.AirInfo[1] = 2; break; //<2F>ͷ<EFBFBD>
|
||||
default: break;
|
||||
}
|
||||
|
||||
// RS485IRInfo.AirInfo[2] = Rs485Tem.TemState.set_t;
|
||||
if(Rs485Tem.TemState.set_t==0){ //<2F><><EFBFBD><EFBFBD><EFBFBD>¶<EFBFBD>
|
||||
Rs485Tem.TemState.set_t=31;
|
||||
RS485IRInfo.AirInfo[2] = Rs485Tem.TemState.set_t+1;
|
||||
}else{
|
||||
RS485IRInfo.AirInfo[2] = Rs485Tem.TemState.set_t;
|
||||
}
|
||||
|
||||
if(TEMP_FANAUTO == Rs485Tem.TemState.fan){ //<2F><><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD>
|
||||
RS485IRInfo.AirInfo[3] = 2; //<2F><><EFBFBD><EFBFBD>
|
||||
}else{ //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
RS485IRInfo.AirInfo[3] = Rs485Tem.TemState.fan; //<2F><><EFBFBD><EFBFBD>
|
||||
}
|
||||
|
||||
rev = 0x01;
|
||||
}
|
||||
|
||||
Dbg_Print_Buff(DBG_BIT_DEVICE_STATUS_bit,"RS485IRInfo.AirInfo end:", RS485IRInfo.AirInfo, 4);
|
||||
|
||||
|
||||
if(rev != 0x00)
|
||||
{
|
||||
BUS_Public.check = 0x00;
|
||||
BUS_Public.check = DoubleData_CheckSum((uint8_t *)&BUS_Public, sizeof(Device_Public_Information_G), (uint8_t *)&RS485IRInfo, sizeof(RS485_IR_INFO));
|
||||
SRAM_DMA_Write_Buff((uint8_t *)&BUS_Public, sizeof(Device_Public_Information_G),devaddr);/*<2A><><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>*/
|
||||
SRAM_DMA_Write_Buff((uint8_t *)&RS485IRInfo,sizeof(RS485_IR_INFO),devaddr+Dev_Privately);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
#ifndef __BLV_485_DEV_SHANGJINGTIANIRSENDFUN_H__
|
||||
#define __BLV_485_DEV_SHANGJINGTIANIRSENDFUN_H__
|
||||
|
||||
#include "stdint.h"
|
||||
#include "BLV_485_Protocol.h"
|
||||
#include "BLV_All_Dev_Init.h"
|
||||
#include "BLV_485_Dev_IrSendFun.h"
|
||||
|
||||
|
||||
#define SJTTEM_MIN_SET 0x10 //<2F><><EFBFBD><EFBFBD><EFBFBD>¶<EFBFBD>
|
||||
#define SJTTEM_MAX_SET 0x20 //<2F><><EFBFBD><EFBFBD><EFBFBD>¶<EFBFBD>
|
||||
|
||||
|
||||
|
||||
#define SJT_IRCtrlSendMax 0x03 //<2F><><EFBFBD>Ʒ<EFBFBD><C6B7>ʹ<EFBFBD><CDB4><EFBFBD>
|
||||
|
||||
/*<2A>Խ<EFBFBD><D4BD>豸Ϊ<E8B1B8><CEAA><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ؽ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD>յ<EFBFBD><D5B5>ڻ<EFBFBD>*/
|
||||
#define RECVDATA_LEN_MAX 17 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#define RECVDATA_LEN_MIN 8 //<2F><>С<EFBFBD><D0A1><EFBFBD><EFBFBD>
|
||||
#define TEMPREG_START 0x07D0 //<2F>յ<EFBFBD><D5B5>¿<EFBFBD>״̬<D7B4><CCAC>ʵ<EFBFBD>ʵ<EFBFBD>ַ<EFBFBD><D6B7>һ,<2C><>ʼ<EFBFBD><CABC>ַΪ32001,<2C><><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF>ַΪ02000 == 0x07D0
|
||||
#define TEMPCONNECTREG_START 0x0000 //<2F>յ<EFBFBD><D5B5>ڻ<EFBFBD><DABB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ַΪ30001,<2C>Ĵ<EFBFBD><C4B4><EFBFBD>30001<30>ĵ<EFBFBD>ַΪ00000 == 0x0000
|
||||
|
||||
#define CTRLTEMPREG 0x03 //<2F><><EFBFBD><EFBFBD><EFBFBD>¿<EFBFBD><C2BF><EFBFBD>״̬<D7B4><CCAC>һ̨<D2BB>յ<EFBFBD><D5B5><EFBFBD>3<EFBFBD><33><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD>ܿ<EFBFBD><DCBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
||||
#define ONLYTEMPREG 0x06 //<2F><>ѯһ<D1AF><D2BB><EFBFBD>յ<EFBFBD><D5B5>ڻ<EFBFBD><DABB><EFBFBD><EFBFBD>¿<EFBFBD>״̬ռ<CCAC><D5BC>6<EFBFBD><36><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
||||
|
||||
#define READREGCMD 0x04 //<2F><><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
||||
#define WRITEONLYREGCMD 0x06 //д<><D0B4><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
||||
#define WRITEMULTREGCMD 0x10 //д<><D0B4><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
||||
#define WRITETEMPTYPE 0X05 //<2F><>ѯ/<2F><><EFBFBD>ÿյ<C3BF><D5B5>ͺ<EFBFBD>
|
||||
|
||||
|
||||
|
||||
void RS485_SJTIrSend_Polling_Init(Device_Public_Information_G *BUS_Public, RS485_IR_INFO *RS485IRInfo);
|
||||
void RS485_SJTIrSend_Active_Init(Device_Public_Information_G *BUS_Public, RS485_IR_INFO *RS485IRInfo);
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
#include "BLV_485_Dev_BLWLockFun.h"
|
||||
#include "BLV_485_Dev_FreegoLockFun.h"
|
||||
#include "BLV_485_Dev_ChuangJiaLockFun.h"
|
||||
|
||||
#include "BLV_485_Dev_YangGeLockFun.h"
|
||||
/*<2A><><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>*/
|
||||
|
||||
#define RFLOCKCYCLEWAITTIMEOUT 5000 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF>ʱ<EFBFBD>ȴ<EFBFBD>ʱ<EFBFBD><CAB1> <20><><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ
|
||||
@@ -34,8 +34,9 @@ typedef void (*DevFunP)(Device_Public_Information_G *BUS_Public, RS485_WxLock_IN
|
||||
#define RS485_DEV_PRO_FUN_01 DevExistJudgge(RS485_WxLock_BLW_Flag, BLW_RS485_WxLockFun_Init)//((DevFunP)NULL) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><CEA2><EFBFBD><EFBFBD>
|
||||
#define RS485_DEV_PRO_FUN_02 DevExistJudgge(RS485_WxLock_FreeGo_Flag, Freego_RS485_WxLockFun_Init) //((DevFunP)NULL) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><CEA2><EFBFBD><EFBFBD>
|
||||
#define RS485_DEV_PRO_FUN_03 DevExistJudgge(RS485_WxLock_CJia_Flag, ChuangJia_RS485_WxLockFun_Init) //((DevFunP)NULL) //<2F><><EFBFBD><EFBFBD><EFBFBD><CEA2><EFBFBD><EFBFBD>
|
||||
//#define RS485_DEV_PRO_FUN_03 ((DevFunP)NULL)
|
||||
#define RS485_DEV_PRO_FUN_04 ((DevFunP)NULL)
|
||||
#define RS485_DEV_PRO_FUN_04 DevExistJudgge(RS485_WxLock_YangGe_Flag, YangGe_RS485_WxLockFun_Init) //((DevFunP)NULL) //<2F><><EFBFBD><EFBFBD><EFBFBD><CEA2><EFBFBD><EFBFBD>
|
||||
//#define RS485_DEV_PRO_FUN_04 ((DevFunP)NULL)
|
||||
#define RS485_DEV_PRO_FUN_05 ((DevFunP)NULL)
|
||||
/*<2A>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
||||
|
||||
|
||||
@@ -81,7 +82,20 @@ void BLW_RS485_WeixinLockFun_Init(uint16_t DataLen, uint8_t *Data)
|
||||
case ENUM_RS485_DEV_PRO_01: if(NULL!=RS485_DEV_PRO_FUN_01) RS485_DEV_PRO_FUN_01(&BUS_Public, &Rs485WxLockInfo);break; //
|
||||
case ENUM_RS485_DEV_PRO_02: if(NULL!=RS485_DEV_PRO_FUN_02) RS485_DEV_PRO_FUN_02(&BUS_Public, &Rs485WxLockInfo);break; //
|
||||
case ENUM_RS485_DEV_PRO_03: if(NULL!=RS485_DEV_PRO_FUN_03) RS485_DEV_PRO_FUN_03(&BUS_Public, &Rs485WxLockInfo);break; //3
|
||||
case ENUM_RS485_DEV_PRO_04: if(NULL!=RS485_DEV_PRO_FUN_04) RS485_DEV_PRO_FUN_04(&BUS_Public, &Rs485WxLockInfo);break;
|
||||
case ENUM_RS485_DEV_PRO_04:
|
||||
if(NULL!=RS485_DEV_PRO_FUN_04) {
|
||||
|
||||
Rs485WxLockInfo.YG_IdVldPeriod = 300000; //Ĭ<><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>,5min
|
||||
if(Data[23] == 0x01){ //<2F><>
|
||||
Rs485WxLockInfo.YG_IdVldPeriod = (Data[24]*1000);
|
||||
}else if(Data[23] == 0x02){ //<2F><>
|
||||
Rs485WxLockInfo.YG_IdVldPeriod = (Data[24]*60*1000);
|
||||
}
|
||||
|
||||
RS485_DEV_PRO_FUN_04(&BUS_Public, &Rs485WxLockInfo);
|
||||
}
|
||||
break;
|
||||
case ENUM_RS485_DEV_PRO_05: if(NULL!=RS485_DEV_PRO_FUN_05) RS485_DEV_PRO_FUN_05(&BUS_Public, &Rs485WxLockInfo);break;
|
||||
}
|
||||
DevActionGlobal.Lock485Addr = BUS_Public.addr;
|
||||
|
||||
@@ -135,13 +149,28 @@ void BLW_RS485_WeixinLockFun_Logic_Init(LOGICFILE_DEVICE_INFO *dev_info,uint8_t
|
||||
BUS_Public.DevFunInfo.Dev_Output_Ctrl = RS485_WxLock_IndiCtrl;
|
||||
// BUS_Public.DevFunInfo.Dev_Output_Loop_State_Get = NULL;
|
||||
|
||||
Rs485WxLockInfo.DevOffline = Rs485WxLockInfo.DevOfflineLast = DEV_IS_LINEUNINIT; //<2F><><EFBFBD><EFBFBD>״̬<D7B4><CCAC>ʼ<EFBFBD><CABC>
|
||||
Rs485WxLockInfo.DevOffline = DEV_IS_LINEUNINIT; //<2F><><EFBFBD><EFBFBD>״̬<D7B4><CCAC>ʼ<EFBFBD><CABC>
|
||||
Rs485WxLockInfo.DevOfflineLast = DEV_IS_LINEUNINIT; //<2F><><EFBFBD><EFBFBD>״̬<D7B4><CCAC>ʼ<EFBFBD><CABC>
|
||||
|
||||
switch(BUS_Public.Protocol)
|
||||
{
|
||||
case ENUM_RS485_DEV_PRO_01: if(NULL!=RS485_DEV_PRO_FUN_01) RS485_DEV_PRO_FUN_01(&BUS_Public, &Rs485WxLockInfo);break; //
|
||||
case ENUM_RS485_DEV_PRO_02: if(NULL!=RS485_DEV_PRO_FUN_02) RS485_DEV_PRO_FUN_02(&BUS_Public, &Rs485WxLockInfo);break; //
|
||||
case ENUM_RS485_DEV_PRO_03: if(NULL!=RS485_DEV_PRO_FUN_03) RS485_DEV_PRO_FUN_03(&BUS_Public, &Rs485WxLockInfo);break; //3
|
||||
case ENUM_RS485_DEV_PRO_04: if(NULL!=RS485_DEV_PRO_FUN_04) RS485_DEV_PRO_FUN_04(&BUS_Public, &Rs485WxLockInfo);break;
|
||||
case ENUM_RS485_DEV_PRO_04:
|
||||
if(NULL!=RS485_DEV_PRO_FUN_04) {
|
||||
//
|
||||
Rs485WxLockInfo.YG_IdVldPeriod = 300000; //Ĭ<><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>,5min
|
||||
if(data[23] == 0x01){ //<2F><>
|
||||
Rs485WxLockInfo.YG_IdVldPeriod = (data[24]*1000);
|
||||
}else if(data[23] == 0x02){ //<2F><>
|
||||
Rs485WxLockInfo.YG_IdVldPeriod = (data[24]*60*1000);
|
||||
}
|
||||
|
||||
RS485_DEV_PRO_FUN_04(&BUS_Public, &Rs485WxLockInfo);
|
||||
}
|
||||
break;
|
||||
case ENUM_RS485_DEV_PRO_05: if(NULL!=RS485_DEV_PRO_FUN_05) RS485_DEV_PRO_FUN_05(&BUS_Public, &Rs485WxLockInfo);break;
|
||||
}
|
||||
DevActionGlobal.Lock485Addr = BUS_Public.addr;
|
||||
|
||||
@@ -202,6 +231,7 @@ void RS485_WxLock_IndiCtrl(uint32_t CfgDevAddIn, uint16_t DevInputAddr, uint32_t
|
||||
Rs485WxLockInfo.WeixinCtrlFlag = 0x01;
|
||||
Rs485WxLockInfo.WeixinCtrlSendCnt = WxLockCtrlSendMax;
|
||||
Rs485WxLockInfo.WeixinCtrlState = OnOff&0x00ff;
|
||||
Rs485WxLockInfo.YG_SendCnt = 0x00;
|
||||
temp1 = 0x01;
|
||||
|
||||
break;
|
||||
|
||||
@@ -102,7 +102,31 @@ typedef struct RS485_WxLock_INFO
|
||||
uint8_t WeixinUpSendCnt; //<2F><><EFBFBD>з<EFBFBD><D0B7>ͼ<EFBFBD><CDBC><EFBFBD>
|
||||
uint8_t WeixinUpMessageLen; //<2F><><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>
|
||||
uint8_t WeixinUpMessage[WXLOCKUPMESSAGELEN]; //<><CEA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD> <20>ᱻ<EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD>MQTT<54><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
|
||||
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>忪ʼ,2025-12-18,Ҷ<><D2B6><EFBFBD><EFBFBD>*/
|
||||
// CJ_identity, <20><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>ʹ<EFBFBD>ô<EFBFBD><C3B4><EFBFBD><EFBFBD><CEA2><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD>0x00:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 0x01-0x05:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݲ忨ȡ<E5BFA8><C8A1>
|
||||
//CJ_status, <20><><EFBFBD><EFBFBD>
|
||||
//CJ_kwh, <20><><EFBFBD><EFBFBD><EFBFBD>ٷֱȱ<D6B1><C8B1><EFBFBD>ʹ<EFBFBD>ô<EFBFBD><C3B4>ѵ<EFBFBD>
|
||||
//CJ_signal, <20>ź<EFBFBD>ǿ<EFBFBD><C7BF>
|
||||
//WeixinAskLockFlag, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־λ
|
||||
uint8_t YG_SendCnt; //<2F><><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>
|
||||
uint8_t YG_SendSN; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SN<53>ţ<EFBFBD>SN<53><4E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ά<EFBFBD><CEAC>
|
||||
uint8_t YG_RecvSN; //<2F><><EFBFBD><EFBFBD>SN<53>ţ<EFBFBD><C5A3>豸<EFBFBD><E8B1B8>ά<EFBFBD><CEAC>
|
||||
|
||||
uint8_t YG_haveID_Flag; //<2F><><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD>ݱ<EFBFBD>־λ
|
||||
uint8_t YG_LockAction_Flag; //<2F><><EFBFBD><EFBFBD><EFBFBD>ݶ<EFBFBD><DDB6><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־λ
|
||||
uint8_t YG_LockAction; //<2F><><EFBFBD><EFBFBD><EFBFBD>ݶ<EFBFBD><DDB6><EFBFBD>
|
||||
|
||||
uint8_t YG_kwh_LowThr; //<2F>ٷֱȵ͵<C8B5><CDB5><EFBFBD><EFBFBD><EFBFBD>ֵ
|
||||
|
||||
uint32_t YG_LockActionVldPeriod; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>־<EFBFBD><D6BE>Ч<EFBFBD><D0A7>,<2C><>λ ms
|
||||
uint32_t YG_IdVldPeriod; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>,<2C><>λ ms,Ĭ<><C4AC> 5min
|
||||
uint32_t YG_IdVldPeriod_Tick; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ ms
|
||||
uint32_t YG_Send_Tick; //<2F><><EFBFBD>Ϳ<EFBFBD><CDBF>Ƶ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
|
||||
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
||||
|
||||
|
||||
// RS485_WxLock_IndiCtrl_ptr RS485_WxLock_IndiCtrl; //ָʾ<D6B8>Ƹ<EFBFBD>ֵ
|
||||
// RS485_WxLock_LoopStateRead_ptr RS485_WxLock_LoopStateRead; //<2F><>ȡ
|
||||
|
||||
|
||||
549
BasicCode/Drive/BLV_485_Protocol/BLV_485_Dev_YangGeLockFun.c
Normal file
549
BasicCode/Drive/BLV_485_Protocol/BLV_485_Dev_YangGeLockFun.c
Normal file
@@ -0,0 +1,549 @@
|
||||
|
||||
/**
|
||||
********************************************************************************************************************
|
||||
* @file BLV_485_Dev_YangGeLockFun.c
|
||||
* @author BLW RCU development Team
|
||||
* @version V1.0.0
|
||||
* @date 2025<32><35>12<31><32>18<31><38>
|
||||
* @brief <><CEA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܱ<EFBFBD>
|
||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* <20><>Ҫ<EFBFBD><D2AA><EFBFBD>ܣ<EFBFBD>
|
||||
* 1<><31><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
||||
* 2<><32><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* 3<><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̼ҷ<CCBC><D2B7><EFBFBD>Ϊ<EFBFBD>˵<CBB5><CDB9>Ŀ<EFBFBD><C4BF>ǣ<EFBFBD><C7A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ϳ<EFBFBD><CFB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӳٽϸ<D9BD>
|
||||
* ע<>⣺
|
||||
0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>豸ʹ<E8B1B8><CAB9>
|
||||
1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>ˢ<EFBFBD><CBA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˢ<EFBFBD><CBA2><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>RCU<43><55><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>ȡ<EFBFBD>磬RCUȡ<55><C8A1>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>ж<EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ǰRCU<43><55><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DFBC><EFBFBD>OK
|
||||
|
||||
2<><32><EFBFBD>û<EFBFBD>ˢ<EFBFBD><CBA2><EFBFBD><EFBFBD><F3A3ACB2><EFBFBD><EFBFBD>ţ<EFBFBD>RCU<43><55>Ϊδ<CEAA><CEB4><EFBFBD><EFBFBD><E2B5BD><EFBFBD>˽<EFBFBD><CBBD>룬<EFBFBD><EBA3AC><EFBFBD><EFBFBD>ȡ<EFBFBD>磬<EFBFBD><E7A3AC><EFBFBD>ǣ<EFBFBD><C7A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD>ᱨˢ<E1B1A8><CBA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>RCU<43><55>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ǰRCU<43><55><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DFBC><EFBFBD>RCU<43>յ<EFBFBD>ˢ<EFBFBD><CBA2><EFBFBD><EFBFBD><EFBFBD>ݺ<EFBFBD><DDBA><EFBFBD>5<EFBFBD><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δȡ<CEB4>磬<EFBFBD><E7A3AC><EFBFBD><EFBFBD>ʧЧ
|
||||
|
||||
3<><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD>ˣ<EFBFBD><CBA3>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>״̬<D7B4><CCAC><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˢ<EFBFBD><CBA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ǰRCU<43><55><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DFBC><EFBFBD>RCU<43><55>ȡ<EFBFBD>磬<EFBFBD><E7A3AC><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ˢ<EFBFBD><CBA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
4<><34><EFBFBD>û<EFBFBD>ˢ<EFBFBD><CBA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>ȡ<EFBFBD>磬<EFBFBD><E7A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӳ<EFBFBD><D3B3>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ǰRCU<43><55><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DFBC><EFBFBD>RCUȡ<55><C8A1>ʱû<CAB1><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD>ᰴ<EFBFBD><E1B0B4>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>ס<EFBFBD><D7A1><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>ȡ<EFBFBD>磬<EFBFBD>ӳ<EFBFBD><D3B3>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>ᱻ<EFBFBD><E1B1BB><EFBFBD><EFBFBD>
|
||||
************************************************************************************************************************
|
||||
*/
|
||||
|
||||
#include "includes.h"
|
||||
|
||||
#include "BLV_485_Dev_YangGeLockFun.h"
|
||||
#include "string.h"
|
||||
|
||||
uint8_t YangGe_WxLock_Polling_Ctrl(uint32_t dev_addr);
|
||||
uint8_t YangGe_WxLock_Data_Processing(uint32_t dev_addr,uint32_t data_addr,uint16_t len);
|
||||
|
||||
void RS485_YG_LogID_RecAsk(Device_Public_Information_G* BUS_Public, RS485_WxLock_INFOP Rs485WxLockInfo, uint8_t *data, uint16_t DataLen, uint8_t ret);
|
||||
void RS485_YG_UnLock_Ctrl(Device_Public_Information_G *BUS_Public, RS485_WxLock_INFOP Rs485WxLockInfo);
|
||||
uint8_t Dev_YangGeLock_InType_Get(uint32_t DevAddr, uint16_t DevInputLoop, uint16_t DevInputType);
|
||||
void YG_RS485Lock_IndiCtrl(uint32_t CfgDevAddIn, uint16_t DevInputAddr, uint32_t devaddr, uint16_t Addr, uint16_t OnOff);
|
||||
|
||||
/*******************************************************************************
|
||||
* @brief : <20><><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD>豸
|
||||
* @param :
|
||||
* BUS_Public : <20>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽṹ<DDBD><E1B9B9>
|
||||
* Rs485WxLockInfo : <><CEA2><EFBFBD><EFBFBD>˽<EFBFBD><CBBD><EFBFBD><EFBFBD><EFBFBD>ݽṹ<DDBD><E1B9B9>
|
||||
* @retval : None
|
||||
* @attention : None
|
||||
*******************************************************************************/
|
||||
void YangGe_RS485_WxLockFun_Init(Device_Public_Information_G *BUS_Public, RS485_WxLock_INFO *Rs485WxLockInfo)
|
||||
{
|
||||
BUS_Public->polling_cf = (uint32_t)&YangGe_WxLock_Polling_Ctrl; //<><CEA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD>ƺ<EFBFBD><C6BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڷ<EFBFBD><DAB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>
|
||||
BUS_Public->processing_cf = (uint32_t)&YangGe_WxLock_Data_Processing; //<><CEA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>մ<EFBFBD><D5B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
BUS_Public->DevFunInfo.Dev_Input_Type_Get = Dev_YangGeLock_InType_Get;
|
||||
BUS_Public->DevFunInfo.Dev_Output_Ctrl = YG_RS485Lock_IndiCtrl;
|
||||
|
||||
Rs485WxLockInfo->CJ_kwh = 100; //Ĭ<>ϵ<EFBFBD><CFB5><EFBFBD>
|
||||
|
||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>:%d ms",Rs485WxLockInfo->YG_IdVldPeriod);
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
* @brief : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƺ<EFBFBD><C6BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڷ<EFBFBD><DAB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* @param :
|
||||
* dev_addr : <20>豸<EFBFBD><E8B1B8>Ϣ<EFBFBD><CFA2>ַ
|
||||
* @retval :
|
||||
* @note : 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>ķ<EFBFBD><C4B7>ͺ<EFBFBD><CDBA>ط<EFBFBD>
|
||||
*******************************************************************************/
|
||||
uint8_t YangGe_WxLock_Polling_Ctrl(uint32_t dev_addr)
|
||||
{
|
||||
uint8_t Ret = 0x00;
|
||||
Device_Public_Information_G BUS_Public;
|
||||
RS485_WxLock_INFO Rs485WxLockInfo;
|
||||
|
||||
|
||||
SRAM_Read_Buff((uint8_t *)&BUS_Public, sizeof(Device_Public_Information_G), dev_addr);
|
||||
SRAM_Read_Buff((uint8_t *)&Rs485WxLockInfo, sizeof(RS485_WxLock_INFO), dev_addr+Dev_Privately);
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EEB7A2>
|
||||
if(0x01 == Rs485WxLockInfo.WeixinAskLockFlag) //<><CEA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʊ<EFBFBD>־λ
|
||||
{
|
||||
if(SysTick_1ms - Rs485WxLockInfo.YG_Send_Tick>= 500) //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
||||
{
|
||||
Rs485WxLockInfo.YG_Send_Tick = SysTick_1ms;
|
||||
if(Rs485WxLockInfo.YG_SendCnt > WxLockCtrlSendMax)
|
||||
{
|
||||
Rs485WxLockInfo.WeixinAskLockFlag = 0x00;
|
||||
Rs485WxLockInfo.YG_SendCnt = 0x00;
|
||||
}
|
||||
else
|
||||
{
|
||||
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>:");
|
||||
RS485_YG_UnLock_Ctrl(&BUS_Public, &Rs485WxLockInfo);//<2F><><EFBFBD>ƿ<EFBFBD><C6BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƿ<EFBFBD><C6BF><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><D6BE><EFBFBD>ڱ<EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><EFBFBD><CEA2><EFBFBD><EFBFBD><EFBFBD>Ļظ<C4BB><D8B8>Ż<EFBFBD><C5BB><EFBFBD>0
|
||||
Rs485WxLockInfo.YG_SendCnt++;
|
||||
}
|
||||
Ret = 0x01;
|
||||
}
|
||||
|
||||
/*ͨѶͳ<D1B6><CDB3>*/
|
||||
BLV_Communication_Record(&Rs485WxLockInfo.comm_record,0x01,0x00);
|
||||
|
||||
if(Rs485WxLockInfo.DevSendCnt > WxLockCtrlSendMax)
|
||||
{
|
||||
if(Rs485WxLockInfo.DevOffline != DEV_IS_OFFLINE)
|
||||
{
|
||||
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"YGLock DEV_IS_OFFLINE");
|
||||
LOG_Device_Online_Record(DEV_RS485_WxLock,SRAM_Read_Byte(dev_addr+Dev_Addr),LogInfo_Device_Offline); //<2F><>¼<EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
||||
}
|
||||
Rs485WxLockInfo.DevOffline = DEV_IS_OFFLINE; //<2F><>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
|
||||
if(Rs485WxLockInfo.DevOffline != Rs485WxLockInfo.DevOfflineLast) //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
|
||||
{
|
||||
Rs485WxLockInfo.DevOfflineLast = Rs485WxLockInfo.DevOffline; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
|
||||
Write_Device_Fault_State(BUS_Public.type,BUS_Public.addr,In_ErrFun_LineState,DEV_IS_OFFLINE); //<2F><><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>״̬<D7B4><CCAC>SRAM
|
||||
}
|
||||
Ret = 0x01;
|
||||
}
|
||||
else
|
||||
{
|
||||
Rs485WxLockInfo.DevSendCnt++;
|
||||
Ret = 0x01;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
////<2F><><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD>,YYW,2025-12-20<32><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸
|
||||
if(DevActionGlobal.DevActionU64Cond.EleState == 0x01) //ȡ<><C8A1>״̬
|
||||
{
|
||||
if( (Rs485WxLockInfo.YG_haveID_Flag != 0)||(Rs485WxLockInfo.CJ_identity != CARD_Anonymous_Identity) )
|
||||
{
|
||||
Rs485WxLockInfo.YG_haveID_Flag = 0;
|
||||
Rs485WxLockInfo.CJ_identity = CARD_Anonymous_Identity; //<2F>Ѿ<EFBFBD>ȡ<EFBFBD>磬<EFBFBD><E7A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч
|
||||
// DevActionGlobal.LockType = CARD_Anonymous_Identity;
|
||||
Ret = 0x01;
|
||||
}
|
||||
|
||||
}
|
||||
else if(DevActionGlobal.DevActionU64Cond.EleState == 0x02) //<2F>ϵ<EFBFBD>״̬
|
||||
{
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD>
|
||||
if( (Rs485WxLockInfo.YG_haveID_Flag == 1)&&(SysTick_1ms - Rs485WxLockInfo.YG_IdVldPeriod_Tick >= Rs485WxLockInfo.YG_IdVldPeriod) )
|
||||
{
|
||||
Rs485WxLockInfo.YG_IdVldPeriod_Tick = SysTick_1ms;
|
||||
Rs485WxLockInfo.CJ_identity = CARD_Anonymous_Identity;
|
||||
|
||||
Rs485WxLockInfo.YG_haveID_Flag = 0;
|
||||
Rs485WxLockInfo.YG_LockAction = CARD_Anonymous_Identity;
|
||||
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><>Ч<EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD>, have_flag:%d, Time:%d",Rs485WxLockInfo.YG_haveID_Flag,Rs485WxLockInfo.YG_IdVldPeriod);
|
||||
Ret = 0x01;
|
||||
}
|
||||
else if( (Rs485WxLockInfo.YG_haveID_Flag == 1)&&(Rs485WxLockInfo.CJ_identity != CARD_Anonymous_Identity) )
|
||||
{
|
||||
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><>ֵ<EFBFBD><D6B5>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,LockType:%d, have_flag:%d ",Rs485WxLockInfo.CJ_identity,Rs485WxLockInfo.YG_haveID_Flag);
|
||||
|
||||
Rs485WxLockInfo.YG_LockAction = Rs485WxLockInfo.CJ_identity; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
||||
Rs485WxLockInfo.CJ_identity = CARD_Anonymous_Identity;
|
||||
|
||||
Ret = 0x01;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if(0x01 == Ret)
|
||||
{
|
||||
BUS_Public.check = 0x00;
|
||||
BUS_Public.check = DoubleData_CheckSum((uint8_t *)&BUS_Public, sizeof(Device_Public_Information_G), (uint8_t *)&Rs485WxLockInfo, sizeof(RS485_WxLock_INFO));
|
||||
SRAM_DMA_Write_Buff((uint8_t *)&BUS_Public, sizeof(Device_Public_Information_G),dev_addr);/*<2A><><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>*/
|
||||
SRAM_DMA_Write_Buff((uint8_t *)&Rs485WxLockInfo,sizeof(RS485_WxLock_INFO),dev_addr+Dev_Privately);
|
||||
}
|
||||
|
||||
return Ret;
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
* @brief :<3A><><EFBFBD><EFBFBD><EFBFBD><CEA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>մ<EFBFBD><D5B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* @param :
|
||||
* dev_addr : <09>豸<EFBFBD><E8B1B8>Ϣ<EFBFBD><CFA2>ַ
|
||||
* data_addr : 485<38><35><EFBFBD>ݰ<EFBFBD><DDB0><EFBFBD>ַ
|
||||
* DataLen : <09><><EFBFBD>ݰ<EFBFBD><DDB0><EFBFBD><EFBFBD><EFBFBD>
|
||||
* @retval : 0-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>1-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* @note : <09><>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ȷ
|
||||
*******************************************************************************/
|
||||
uint8_t YangGe_WxLock_Data_Processing(uint32_t dev_addr,uint32_t data_addr,uint16_t len)
|
||||
{
|
||||
uint8_t data[YG_RECEIVE_MAX_LEN]; //<2F>ֲ<EFBFBD><D6B2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB>壬Э<E5A3AC><D0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
uint8_t checksum = 0x00;
|
||||
uint8_t ret = 0x01; //Ĭ<>ϲ<EFBFBD><CFB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
uint16_t udpdata = 0x00; //<2F>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
//1<><31><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD>ݳ<EFBFBD><DDB3>Ȳ<EFBFBD><C8B2><EFBFBD>
|
||||
if( (len < 7)||(len > YG_RECEIVE_MAX_LEN) )
|
||||
{
|
||||
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"YangGe_WxLock Lens Err");
|
||||
return ret;
|
||||
}
|
||||
|
||||
Device_Public_Information_G BUS_Public; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽṹ<DDBD><E1B9B9>
|
||||
RS485_WxLock_INFO Rs485WxLockInfo; //<><CEA2><EFBFBD><EFBFBD>˽<EFBFBD><CBBD><EFBFBD><EFBFBD><EFBFBD>ݽṹ<DDBD><E1B9B9>
|
||||
|
||||
SRAM_Read_Buff(data, len, data_addr); //<2F><>485<38><35><EFBFBD>ݶ<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
|
||||
|
||||
//2<><32><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD>ݳ<EFBFBD><DDB3>Ȳ<EFBFBD><C8B2><EFBFBD>
|
||||
if( len != data[YG_DATA_LEN] )
|
||||
{
|
||||
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"YangGe_WxLock DataLens Err");
|
||||
return ret;
|
||||
}
|
||||
|
||||
//3<><33><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>У<EFBFBD><D0A3>
|
||||
if(data[YG_DEVICE_TYPE] != DEV_RS485_WxLock)
|
||||
{
|
||||
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"YangGe_WxLock TYPE Err");
|
||||
return ret;
|
||||
}
|
||||
|
||||
//4<><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD>
|
||||
checksum = CheckSum_Overlook_Check_2(data,len,YG_CHECK);
|
||||
if(data[YG_CHECK] != checksum)
|
||||
{
|
||||
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"YangGe_WxLock SumCheck Err:%02x,%02x",data[YG_CHECK],checksum);
|
||||
return ret; //У<><D0A3><EFBFBD>ʹ<EFBFBD><CDB4><EFBFBD><F3A3ACB2><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
}
|
||||
SRAM_Read_Buff((uint8_t *)&BUS_Public, sizeof(Device_Public_Information_G), dev_addr); //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
SRAM_Read_Buff((uint8_t *)&Rs485WxLockInfo, sizeof(RS485_WxLock_INFO), dev_addr+Dev_Privately); //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7>˽<EFBFBD><CBBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
//5<><35><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>ַУ<D6B7><D0A3>
|
||||
if(data[YG_OUR_ADD] != BUS_Public.addr)
|
||||
{
|
||||
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"YangGe_WxLock ADDR Err");
|
||||
return ret;
|
||||
}
|
||||
//6<><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>״̬
|
||||
if(Rs485WxLockInfo.DevOffline != DEV_IS_ONLINE)
|
||||
{
|
||||
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD>");
|
||||
LOG_Device_Online_Record(BUS_Public.type, BUS_Public.addr,LogInfo_Device_Online); //<2F><>¼<EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
||||
}
|
||||
|
||||
Rs485WxLockInfo.DevOffline = DEV_IS_ONLINE; //<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
||||
if(Rs485WxLockInfo.DevOffline != Rs485WxLockInfo.DevOfflineLast) //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
|
||||
{
|
||||
Rs485WxLockInfo.DevOfflineLast = Rs485WxLockInfo.DevOffline; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
|
||||
Write_Device_Fault_State(BUS_Public.type,BUS_Public.addr,In_ErrFun_LineState,DEV_IS_ONLINE); //<2F><><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>״̬<D7B4><CCAC>SRAM
|
||||
}
|
||||
BLV_Communication_Record(&Rs485WxLockInfo.comm_record,0x02,0x01); //<2F><>¼ͨѶ<CDA8>ɹ<EFBFBD>
|
||||
Rs485WxLockInfo.DevSendCnt = 0x00; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻظ<DDBB><D8B8><EFBFBD><EFBFBD>巢<EFBFBD>ʹ<EFBFBD><CDB4><EFBFBD>
|
||||
Rs485WxLockInfo.YG_SendCnt = 0x00;
|
||||
|
||||
//7<><37><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>
|
||||
switch(data[YG_COMMAND])
|
||||
{
|
||||
case YG_CARD_ID: //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>
|
||||
if( Rs485WxLockInfo.YG_RecvSN != (data[YG_SEND_TYPE]&0x0F) ) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>
|
||||
{
|
||||
Rs485WxLockInfo.YG_RecvSN = (data[YG_SEND_TYPE]&0x0F);
|
||||
|
||||
RS485_YG_LogID_RecAsk(&BUS_Public,&Rs485WxLockInfo,data,len,0x01); //<2F>ظ<EFBFBD>
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if( (data[YG_PARAM] & 0x01) != 0x00)
|
||||
{
|
||||
if(data[YG_PARAM+1] != CARD_Anonymous_Identity)
|
||||
{
|
||||
Rs485WxLockInfo.CJ_identity = data[YG_PARAM+1]; //<2F><><EFBFBD><EFBFBD>˽<EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
||||
Rs485WxLockInfo.YG_IdVldPeriod_Tick = SysTick_1ms; //<2F><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD>¼ʱ<C2BC><CAB1><EFBFBD><EFBFBD>
|
||||
Rs485WxLockInfo.YG_haveID_Flag = 1;
|
||||
}
|
||||
|
||||
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>,ID:%d, have_flag:%d ",Rs485WxLockInfo.CJ_identity,Rs485WxLockInfo.YG_haveID_Flag);
|
||||
}
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD>λ
|
||||
if( (data[YG_PARAM] & 0x02) != 0x00)
|
||||
{
|
||||
Rs485WxLockInfo.CJ_status = data[YG_PARAM+6]; //<2F><><EFBFBD><EFBFBD>˽<EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
udpdata = (0x80) + ((Rs485WxLockInfo.CJ_status&0xff)<<8);
|
||||
Udp_Addtion_Roomstate(DEV_RS485_WxLock,BUS_Public.addr,0x0001,udpdata);
|
||||
|
||||
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>:%02x",Rs485WxLockInfo.CJ_status);
|
||||
}
|
||||
}
|
||||
else if( (data[YG_SEND_TYPE]&YG_RETRY_FLAG) == YG_RETRY_FLAG ) //<2F>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD>,<2C>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
{
|
||||
RS485_YG_LogID_RecAsk(&BUS_Public,&Rs485WxLockInfo,data,len,0x01);
|
||||
}
|
||||
|
||||
/*<2A><>־<EFBFBD><D6BE>¼*/
|
||||
LOG_Device_COMM_Control_Reply_Record(BUS_Public.port, BUS_Public.baud,data,len);
|
||||
ret = 0x00; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
break;
|
||||
case YG_BATMon: //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>
|
||||
if( Rs485WxLockInfo.YG_RecvSN != (data[YG_SEND_TYPE]&0x0F) ) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>
|
||||
{
|
||||
Rs485WxLockInfo.YG_RecvSN = (data[YG_SEND_TYPE]&0x0F);
|
||||
//<2F>ظ<EFBFBD>
|
||||
RS485_YG_LogID_RecAsk(&BUS_Public,&Rs485WxLockInfo,data,len,0x01);
|
||||
|
||||
Rs485WxLockInfo.CJ_kwh = data[YG_PARAM]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
||||
Rs485WxLockInfo.CJ_signal = data[YG_PARAM+1]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//if(Rs485WxLockInfo.CJ_kwh < Rs485WxLockInfo.YG_kwh_LowThr)
|
||||
{
|
||||
udpdata = (0x40)+ ((Rs485WxLockInfo.CJ_kwh&0xff)<<8);
|
||||
Udp_Addtion_Roomstate(DEV_RS485_WxLock,BUS_Public.addr,0x0001,udpdata);
|
||||
}
|
||||
|
||||
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>:%d<><64>%02x",Rs485WxLockInfo.CJ_kwh,Rs485WxLockInfo.CJ_signal);
|
||||
}
|
||||
else if( (data[YG_SEND_TYPE]&YG_RETRY_FLAG) == YG_RETRY_FLAG ) //<2F>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD>,<2C>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
{
|
||||
RS485_YG_LogID_RecAsk(&BUS_Public,&Rs485WxLockInfo,data,len,0x01);
|
||||
}
|
||||
|
||||
/*<2A><>־<EFBFBD><D6BE>¼*/
|
||||
LOG_Device_COMM_Control_Reply_Record(BUS_Public.port, BUS_Public.baud,data,len);
|
||||
ret = 0x00; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
break;
|
||||
case YG_UNLOCKING: //<2F>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƺ<EFBFBD><C6BA>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>Ӧ
|
||||
if( Rs485WxLockInfo.YG_SendSN != (data[YG_SEND_TYPE]&0x0F) ) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>
|
||||
{
|
||||
Rs485WxLockInfo.YG_SendSN = (data[YG_SEND_TYPE]&0x0F);
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ
|
||||
Rs485WxLockInfo.WeixinAskLockFlag = 0;
|
||||
Rs485WxLockInfo.WeixinCtrlSendCnt = 0;
|
||||
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><EFBFBD>ɹ<EFBFBD>");
|
||||
}
|
||||
|
||||
/*<2A><>־<EFBFBD><D6BE>¼*/
|
||||
LOG_Device_COMM_Control_Reply_Record(BUS_Public.port, BUS_Public.baud,data,len);
|
||||
ret = 0x00; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD>˽<EFBFBD><CBBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD>SRAM
|
||||
if(ret == 0x00)
|
||||
{
|
||||
BUS_Public.check = 0x00; //У<><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0
|
||||
BUS_Public.check = DoubleData_CheckSum((uint8_t *)&BUS_Public, sizeof(Device_Public_Information_G), (uint8_t *)&Rs485WxLockInfo, sizeof(RS485_WxLock_INFO)); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
SRAM_DMA_Write_Buff((uint8_t *)&BUS_Public, sizeof(Device_Public_Information_G),dev_addr); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>
|
||||
SRAM_Write_Buff((uint8_t *)&Rs485WxLockInfo, sizeof(RS485_WxLock_INFO), dev_addr+Dev_Privately);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
/************************************************
|
||||
* @brief : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD>ݵĻظ<C4BB><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* @param :
|
||||
* BUS_Public : <20>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD>ṹ<EFBFBD><E1B9B9>
|
||||
* Rs485WxLockInfo : <20><><EFBFBD>豸˽<E8B1B8>нṹ<D0BD><E1B9B9>
|
||||
* data : <20>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD>
|
||||
* DataLen : <20>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>
|
||||
* ret : <20>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* @retval : <20><>
|
||||
* @note : Ĭ<>ϻظ<CFBB> <20><><EFBFBD><EFBFBD> 0x01
|
||||
*************************************************/
|
||||
void RS485_YG_LogID_RecAsk(Device_Public_Information_G* BUS_Public, RS485_WxLock_INFOP Rs485WxLockInfo, uint8_t *data, uint16_t DataLen, uint8_t ret)
|
||||
{
|
||||
uint16_t SdLens = 0x08;
|
||||
uint8_t SdData[0x08];
|
||||
uint8_t SN = 0x00;
|
||||
|
||||
Rs485WxLockInfo->YG_RecvSN++;
|
||||
if(Rs485WxLockInfo->YG_RecvSN > 15) Rs485WxLockInfo->YG_RecvSN = 1;
|
||||
SN |= (Rs485WxLockInfo->YG_RecvSN & 0x0F); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
SdData[YG_OUR_ADD] = data[YG_RECE_ADD];
|
||||
SdData[YG_SEND_TYPE] = SN;
|
||||
SdData[YG_DEVICE_TYPE] = data[YG_DEVICE_TYPE];
|
||||
SdData[YG_RECE_ADD] = data[YG_OUR_ADD];
|
||||
SdData[YG_DATA_LEN] = SdLens;
|
||||
SdData[YG_CHECK] = 0x00;
|
||||
SdData[YG_COMMAND] = data[YG_COMMAND];
|
||||
SdData[YG_PARAM] = ret;
|
||||
|
||||
SdData[YG_CHECK] = SOR_CRC(SdData,SdLens);
|
||||
|
||||
MCU485_SendString(BUS_Public->port,SdData,SdLens);
|
||||
}
|
||||
|
||||
|
||||
/************************************************
|
||||
* @brief : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7>ͺ<EFBFBD><CDBA><EFBFBD>
|
||||
* @param : BUS_Public : <20>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD>ṹ<EFBFBD><E1B9B9>
|
||||
* @param : Rs485WxLockInfo : <20><><EFBFBD>豸˽<E8B1B8>нṹ<D0BD><E1B9B9>
|
||||
* @retval : <20><>
|
||||
* @note : <20><><EFBFBD>Ϳ<EFBFBD><CDBF><EFBFBD>ָ<EFBFBD><D6B8>
|
||||
*************************************************/
|
||||
void RS485_YG_UnLock_Ctrl(Device_Public_Information_G *BUS_Public, RS485_WxLock_INFOP Rs485WxLockInfo)
|
||||
{
|
||||
uint16_t SdLens = 0x08;
|
||||
uint8_t SendBuf[8];
|
||||
uint8_t SN = 0x00;
|
||||
|
||||
if(Rs485WxLockInfo->YG_SendCnt == 0x00) //<2F><EFBFBD>
|
||||
{
|
||||
Rs485WxLockInfo->YG_SendSN++; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>
|
||||
if(Rs485WxLockInfo->YG_SendSN > 15) Rs485WxLockInfo->YG_SendSN = 1;
|
||||
SN |= (Rs485WxLockInfo->YG_SendSN & 0x0F); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
}
|
||||
else //<2F>ط<EFBFBD>
|
||||
{
|
||||
SN |= (Rs485WxLockInfo->YG_SendSN & 0x0F); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
SN |= YG_RETRY_FLAG;
|
||||
}
|
||||
|
||||
SendBuf[YG_OUR_ADD] = 0x00; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||
SendBuf[YG_SEND_TYPE] = SN;
|
||||
SendBuf[YG_DEVICE_TYPE] = BUS_Public->type;
|
||||
SendBuf[YG_RECE_ADD] = BUS_Public->addr;
|
||||
SendBuf[YG_DATA_LEN] = SdLens;
|
||||
SendBuf[YG_CHECK] = 0x00;
|
||||
SendBuf[YG_COMMAND] = YG_UNLOCKING;
|
||||
SendBuf[YG_PARAM] = 0x01;
|
||||
|
||||
SendBuf[YG_CHECK] = SOR_CRC(SendBuf,SdLens); //<2F><>У<EFBFBD><D0A3>
|
||||
|
||||
MCU485_SendString(BUS_Public->port,SendBuf,SdLens);
|
||||
|
||||
/*<2A><>־<EFBFBD><D6BE>¼*/
|
||||
LOG_Device_COMM_Send_Control_Record(BUS_Public->port, BUS_Public->baud, SendBuf, SdLens);
|
||||
|
||||
}
|
||||
|
||||
/****************************************************************
|
||||
* @brief : <20><><EFBFBD><EFBFBD><EFBFBD><CEA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽӿں<D3BF><DABA><EFBFBD>
|
||||
* @param :
|
||||
* Rs485WxLockInfo : <><CEA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽṹ<DDBD><E1B9B9>
|
||||
* Addr : <20><>
|
||||
* OnOff : <20><>
|
||||
* @retval : <20><>
|
||||
* @brief : ָ<><D6B8><EFBFBD><CEA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* @nota : 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><CEA2><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD>ƿ<EFBFBD><C6BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƹ<EFBFBD>
|
||||
2<><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣȡ<CFA2><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
*****************************************************************/
|
||||
void YG_RS485Lock_IndiCtrl(uint32_t CfgDevAddIn, uint16_t DevInputAddr, uint32_t devaddr, uint16_t Addr, uint16_t OnOff)
|
||||
{
|
||||
RS485_WxLock_INFO Rs485WxLockInfo;
|
||||
uint8_t temp1 = 0; //crc_val = 0,
|
||||
|
||||
Device_Public_Information_G BUS_Public;
|
||||
|
||||
if(NULL == devaddr)
|
||||
{
|
||||
return ;
|
||||
}
|
||||
|
||||
SRAM_DMA_Read_Buff((uint8_t *)&Rs485WxLockInfo,sizeof(RS485_WxLock_INFO),devaddr+Dev_Privately);
|
||||
SRAM_Read_Buff((uint8_t *)&BUS_Public, sizeof(Device_Public_Information_G), devaddr);
|
||||
switch(OnOff&0x00ff)
|
||||
{
|
||||
case 0x01: //<2F><><EFBFBD><EFBFBD>
|
||||
case 0x02: //<2F><><EFBFBD><EFBFBD>
|
||||
|
||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD>ƺ<EFBFBD><C6BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><D6BE>λ"); //
|
||||
Rs485WxLockInfo.WeixinAskLockFlag = 0x01; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><D6BE>λ
|
||||
Rs485WxLockInfo.WeixinCtrlFlag = 0x01;
|
||||
Rs485WxLockInfo.WeixinCtrlSendCnt = WxLockCtrlSendMax;
|
||||
Rs485WxLockInfo.WeixinCtrlState = OnOff&0x00ff;
|
||||
Rs485WxLockInfo.YG_SendCnt = 0x00;
|
||||
temp1 = 0x01;
|
||||
break;
|
||||
case 0x03:
|
||||
|
||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>־"); //
|
||||
Rs485WxLockInfo.YG_LockAction_Flag = 0x01; //<2F><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD>־
|
||||
|
||||
temp1 = 0x01;
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
break;
|
||||
}
|
||||
if(0x00 != temp1)
|
||||
{
|
||||
BUS_Public.check = 0x00;
|
||||
BUS_Public.check = DoubleData_CheckSum((uint8_t *)&BUS_Public, sizeof(Device_Public_Information_G), (uint8_t *)&Rs485WxLockInfo, sizeof(RS485_WxLock_INFO));
|
||||
SRAM_DMA_Write_Buff((uint8_t *)&BUS_Public, sizeof(Device_Public_Information_G),devaddr);/*<2A><><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>*/
|
||||
SRAM_DMA_Write_Buff((uint8_t *)&Rs485WxLockInfo,sizeof(RS485_WxLock_INFO),devaddr+Dev_Privately);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/****************************************************************
|
||||
* @brief : <20><><EFBFBD><EFBFBD><EFBFBD><CEA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
|
||||
* @param :
|
||||
* DevAddr : <20>豸<EFBFBD><E8B1B8>ַ
|
||||
* DevInputLoop : <20><>·
|
||||
* DevInputType : <20><><EFBFBD><EFBFBD>
|
||||
* @retval : CtrlInvalid : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч
|
||||
CtrlValid :v<><76><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч
|
||||
* @brief : <><CEA2><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD>¼<EFBFBD>
|
||||
* @nota : <20><><EFBFBD><EFBFBD><EFBFBD><CEA2><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD>¼<EFBFBD>
|
||||
*****************************************************************/
|
||||
uint8_t Dev_YangGeLock_InType_Get(uint32_t DevAddr, uint16_t DevInputLoop, uint16_t DevInputType)
|
||||
{
|
||||
Device_Public_Information_G BUS_Public; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽṹ<DDBD><E1B9B9>
|
||||
RS485_WxLock_INFO Rs485WxLockInfo; //<><CEA2><EFBFBD><EFBFBD>˽<EFBFBD><CBBD><EFBFBD><EFBFBD><EFBFBD>ݽṹ<DDBD><E1B9B9>
|
||||
uint8_t Ret = CtrlInvalid; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч
|
||||
uint8_t Keep1 = 0x00;
|
||||
|
||||
if(DevAddr == 0x00) return Ret;
|
||||
|
||||
SRAM_DMA_Read_Buff((uint8_t *)&BUS_Public,sizeof(Device_Public_Information_G),DevAddr); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><D0B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
SRAM_DMA_Read_Buff((uint8_t *)&Rs485WxLockInfo,sizeof(RS485_WxLock_INFO),DevAddr+Dev_Privately); /*<2A><><EFBFBD><EFBFBD><EFBFBD>豸˽<E8B1B8><CBBD><EFBFBD><EFBFBD>Ϣ*/
|
||||
|
||||
// Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>¼<EFBFBD>:%d, %d",Rs485WxLockInfo.YG_LockAction_Flag,(Rs485WxLockInfo.YG_LockAction+1));
|
||||
if( (Rs485WxLockInfo.YG_LockAction + 1) == DevInputType)
|
||||
{
|
||||
if(Rs485WxLockInfo.YG_LockAction_Flag == 0x01)
|
||||
{
|
||||
Rs485WxLockInfo.YG_LockAction_Flag = 0x00;
|
||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ<EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:%d ",(Rs485WxLockInfo.YG_LockAction + 1));
|
||||
|
||||
Rs485WxLockInfo.YG_LockAction = 0x00;
|
||||
|
||||
Ret = CtrlValid;
|
||||
Keep1 = 0x01;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
if(0x00 != Keep1)
|
||||
{
|
||||
BUS_Public.check = 0x00;
|
||||
BUS_Public.check = DoubleData_CheckSum((uint8_t *)&BUS_Public, sizeof(Device_Public_Information_G), (uint8_t *)&Rs485WxLockInfo, sizeof(RS485_WxLock_INFO));
|
||||
SRAM_DMA_Write_Buff((uint8_t *)&BUS_Public, sizeof(Device_Public_Information_G),DevAddr);/*<2A><><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>*/
|
||||
SRAM_DMA_Write_Buff((uint8_t *)&Rs485WxLockInfo,sizeof(RS485_WxLock_INFO),DevAddr+Dev_Privately);
|
||||
}
|
||||
|
||||
return Ret;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
36
BasicCode/Drive/BLV_485_Protocol/BLV_485_Dev_YangGeLockFun.h
Normal file
36
BasicCode/Drive/BLV_485_Protocol/BLV_485_Dev_YangGeLockFun.h
Normal file
@@ -0,0 +1,36 @@
|
||||
#ifndef _BLV_485_DEV_YANGGELOCKFUN_H_
|
||||
#define _BLV_485_DEV_YANGGELOCKFUN_H_
|
||||
|
||||
|
||||
#include "stdint.h"
|
||||
#include "BLV_485_Dev_YangGeLockFun.h"
|
||||
#include "BLV_485_Dev_WeixinLockFun.h"
|
||||
|
||||
#define YG_COMMAND_MAX 8
|
||||
#define YG_RECEIVE_MAX_LEN 18 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD>ȣ<F3B3A4B6>Э<EFBFBD><D0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#define YG_RETRY_FLAG 0x40 //<2F>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
#define YG_CARD_ID 0x01 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>
|
||||
#define YG_BATMon 0x03 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>
|
||||
#define YG_UNLOCKING 0x10 //<2F>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
|
||||
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>ʽ*/
|
||||
typedef enum
|
||||
{
|
||||
YG_OUR_ADD = 0, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>Է<EFBFBD><D4B7><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||
YG_SEND_TYPE, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
YG_DEVICE_TYPE, //<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
||||
YG_RECE_ADD, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>Է<EFBFBD><D4B7><EFBFBD>ַ
|
||||
YG_DATA_LEN, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
YG_CHECK, //У<><D0A3><EFBFBD><EFBFBD>
|
||||
YG_COMMAND, //<2F><><EFBFBD><EFBFBD>
|
||||
YG_PARAM, //<2F><><EFBFBD><EFBFBD>
|
||||
}YANGGE_ORDER_FORMAT;
|
||||
|
||||
void YangGe_RS485_WxLockFun_Init(Device_Public_Information_G *BUS_Public, RS485_WxLock_INFO *Rs485WxLockInfo);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -183,14 +183,14 @@ uint16_t Service_Loop_State(uint32_t devaddr, uint16_t DevOutputLoop)
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
* Function Name : BLW_Service_Control_State
|
||||
* Description : BLW<4C><57><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ״̬<D7B4><CCAC><EFBFBD>ƺ<EFBFBD><C6BA><EFBFBD>
|
||||
* Input :
|
||||
* Function Name : BLW_Service_Control_State
|
||||
* Description : BLW<4C><57><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ״̬<D7B4><CCAC><EFBFBD>ƺ<EFBFBD><C6BA><EFBFBD>
|
||||
* Input :
|
||||
devaddr : <20>豸<EFBFBD><E8B1B8>Ϣ<EFBFBD><CFA2>ַ
|
||||
loop <20><><EFBFBD><EFBFBD>· <20><>·<EFBFBD><C2B7><EFBFBD>Ǵ<EFBFBD>0
|
||||
loop <20><><EFBFBD><EFBFBD>· <20><>·<EFBFBD><C2B7><EFBFBD>Ǵ<EFBFBD>0
|
||||
start <20><>״̬ 0x01<30><31> 0x02<30><32> 0x04<30><34><EFBFBD><EFBFBD><EFBFBD>״α<D7B4>־λ 0x04
|
||||
* Return : <20><>
|
||||
* attention : temp1<70><31>0<EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD>
|
||||
* Return : <20><>
|
||||
* attention : temp1<70><31>0<EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD>
|
||||
*******************************************************************************/
|
||||
void BLW_Service_Control_State(uint32_t CfgDevAddIn, uint16_t DevInputAddr, uint32_t devaddr,uint16_t DevOutputLoop,uint16_t start)
|
||||
{
|
||||
|
||||
@@ -79,7 +79,14 @@
|
||||
1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD>
|
||||
-> (0x09)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>볬ʱ<EBB3AC>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϹ<D0B6><CFB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>-><3E><><EFBFBD><EFBFBD><EFBFBD>жϵĵ<CFB5>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>볬ʱ"<22>¼<EFBFBD>
|
||||
-> (0x0A)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>볬ʱ<EBB3AC>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϹ<D0B6><CFB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>-><3E><><EFBFBD><EFBFBD><EFBFBD>жϵĵ<CFB5>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>볬ʱ"<22>¼<EFBFBD>
|
||||
|
||||
202060129 Ҷ<><D2B6><EFBFBD><EFBFBD>
|
||||
<20>ĵ㣺
|
||||
1<><31><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ж<EFBFBD><D0B6>ģ<DEB8>
|
||||
- <20><><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><CBA3><EFBFBD><EFBFBD>в<EFBFBD><D0B2>볤ʱ<EBB3A4><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>ˣ<EFBFBD><CBA3><EFBFBD><EFBFBD>ж<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
- <20><><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><CBA3><EFBFBD><EFBFBD>в<EFBFBD><D0B2>볤ʱ<EBB3A4><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵ<D0B6><CFB5><EFBFBD><EFBFBD>ˣ<EFBFBD><CBA3><EFBFBD><EFBFBD>ж<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
- ԭ<>л<EFBFBD><D0BB>ƣ<EFBFBD><C6A3>ڷ<EFBFBD><DAB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD><CBA1><EFBFBD><EFBFBD><EFBFBD>״̬֮<CCAC><D6AE><EFBFBD>л<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD>buffer<65><72><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD>䣨<EFBFBD><E4A3A8><EFBFBD><EFBFBD>->1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>->0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD>
|
||||
2<><32><EFBFBD><EFBFBD>ʱ<EFBFBD>仺<EFBFBD><E4BBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⣬<EFBFBD><E2A3AC><EFBFBD>³<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
||||
|
||||
******************************************************************************
|
||||
*/
|
||||
#include "includes.h"
|
||||
@@ -204,11 +211,11 @@ void DetWin_WriteData_Bit(uint8_t port,uint16_t idex,uint8_t state)
|
||||
{
|
||||
uint32_t detaddr = 0;
|
||||
uint8_t data_val = 0;
|
||||
uint8_t bit_offset = 0;
|
||||
uint8_t bit_remian = 0;
|
||||
uint16_t bit_offset = 0; //2026-01-29,<2C>ڴ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ڵ<EFBFBD>֮ǰʹ<C7B0><CAB9>uint8_t<5F><74><EFBFBD><EFBFBD>,<2C><><EFBFBD>±<EFBFBD><C2B1><EFBFBD>8<EFBFBD><38><EFBFBD><EFBFBD>255ʱ<35>ᵼ<EFBFBD>¶<EFBFBD>ȡ<EFBFBD><C8A1>ƫ<EFBFBD>Ƴ<EFBFBD><C6B3><EFBFBD>
|
||||
uint16_t bit_remian = 0;
|
||||
|
||||
if( port >= 10) return ;
|
||||
if( idex >= 0x1800) return ;
|
||||
if( idex >= 0xC000) return ; //2026-01-28 <20>±<EFBFBD><C2B1><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>bitλ<74><CEBB><EFBFBD>±꣬<C2B1><EAA3AC><EFBFBD><EFBFBD><EFBFBD>ǵ<EFBFBD>ַ<EFBFBD>±<EFBFBD>
|
||||
|
||||
if(idex != 0x00)
|
||||
{
|
||||
@@ -216,7 +223,7 @@ void DetWin_WriteData_Bit(uint8_t port,uint16_t idex,uint8_t state)
|
||||
bit_offset = idex / 8; //<2F><>ַƫ<D6B7><C6AB>
|
||||
}
|
||||
|
||||
if( (idex > 0x08) && (bit_remian) != 0x00 )
|
||||
if(bit_remian == 0x00)
|
||||
{
|
||||
detaddr = SRAM_VCard_DetectWin_Start_Addr + (uint32_t)(port * 0x1800) + (bit_offset) + 1;
|
||||
}else {
|
||||
@@ -240,11 +247,11 @@ uint8_t DetWin_ReadData_Bit(uint8_t port,uint16_t idex)
|
||||
{
|
||||
uint32_t detaddr = 0;
|
||||
uint8_t data_val = 0;
|
||||
uint8_t bit_offset = 0;
|
||||
uint8_t bit_remian = 0;
|
||||
uint16_t bit_offset = 0; //2026-01-29,<2C>ڴ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ڵ<EFBFBD>֮ǰʹ<C7B0><CAB9>uint8_t<5F><74><EFBFBD><EFBFBD>,<2C><><EFBFBD>±<EFBFBD><C2B1><EFBFBD>8<EFBFBD><38><EFBFBD><EFBFBD>255ʱ<35>ᵼ<EFBFBD>¶<EFBFBD>ȡ<EFBFBD><C8A1>ƫ<EFBFBD>Ƴ<EFBFBD><C6B3><EFBFBD>
|
||||
uint16_t bit_remian = 0;
|
||||
|
||||
if( port >= 10) return 0x00;
|
||||
if( idex >= 0x1800) return 0x00;
|
||||
if( idex >= 0xC000) return 0x00; //2026-01-28 <20>±<EFBFBD><C2B1><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>bitλ<74><CEBB><EFBFBD>±꣬<C2B1><EAA3AC><EFBFBD><EFBFBD><EFBFBD>ǵ<EFBFBD>ַ<EFBFBD>±<EFBFBD>
|
||||
|
||||
if(idex != 0x00)
|
||||
{
|
||||
@@ -252,7 +259,7 @@ uint8_t DetWin_ReadData_Bit(uint8_t port,uint16_t idex)
|
||||
bit_offset = idex / 8; //<2F><>ַƫ<D6B7><C6AB>
|
||||
}
|
||||
|
||||
if( (idex > 0x08) && (bit_remian) != 0x00 )
|
||||
if( bit_remian == 0x00 )
|
||||
{
|
||||
detaddr = SRAM_VCard_DetectWin_Start_Addr + (uint32_t)(port * 0x1800) + (bit_offset) + 1;
|
||||
}else {
|
||||
@@ -282,7 +289,10 @@ void Dev_VirtualCard_Dis(uint32_t DevAddr)
|
||||
RS485_SWI_INFO Rs485SwiInfo; //<2F><><EFBFBD>ؾֲ<D8BE><D6B2><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
uint8_t portstate = 0;
|
||||
|
||||
uint8_t PortEn_Cnt = 0x00; //20260129,<2C><>ʱ<EFBFBD><CAB1><EFBFBD>״<EFBFBD><D7B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˼<EFBFBD>¼<EFBFBD><C2BC><EFBFBD>㳤ʱ<E3B3A4><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵĶ˿<C4B6><CBBF><EFBFBD>
|
||||
uint8_t PortEn_max = 0x00; //20260129,<2C><>ʱ<EFBFBD><CAB1><EFBFBD>״<EFBFBD><D7B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܵĶ˿<C4B6><CBBF><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
uint32_t temp_tickout = 0x00;
|
||||
uint32_t list_addr = 0;
|
||||
uint32_t temp_jumpe_time = 0x00;
|
||||
@@ -734,7 +744,10 @@ void Dev_VirtualCard_Dis(uint32_t DevAddr)
|
||||
*/
|
||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD>˿<EFBFBD> %d <20><><EFBFBD><EFBFBD>:%d <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%d - %d <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>%.02f",i + 1,portstate,\
|
||||
VCard_Info.DetInfo.DetWinTrigger[i],VCard_Info.DetInfo.DetWinTotalNum[i],VCard_Info.ActThreshold[i]);
|
||||
LOG_LogicInfo_DebugRecord("VCLog:T6:%d:%.02f",i,VCard_Info.ActThreshold[i],VCard_Info.ExistState,VCard_Info.DetInfo.Trigger_Thres[i],VCard_Info.DetInfo.Release_Thres[i]);
|
||||
LOG_LogicInfo_DebugRecord("VCLog:T6:%d:%.02f:%d:%d:%d",i,VCard_Info.ActThreshold[i],VCard_Info.ExistState,VCard_Info.DetInfo.Trigger_Thres[i],VCard_Info.DetInfo.Release_Thres[i]);
|
||||
|
||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> %d, <20><>ǰ<EFBFBD>±<EFBFBD>:%d ",VCard_Info.DetInfo.FullFlag[i],VCard_Info.DetInfo.DetWinIdex[i]);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1200,44 +1213,57 @@ void Dev_VirtualCard_Dis(uint32_t DevAddr)
|
||||
}
|
||||
}else if( (VCard_Info.ExistState == SOMEONE) && (VCard_Info.ConGroupIndx == (DevActionGlobal.VC_ConNToSGruop + 1) ) )
|
||||
{
|
||||
PortEn_Cnt = 0x00;
|
||||
PortEn_max = 0x00;
|
||||
|
||||
/*<2A><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DFBC>жϴ<D0B6><CFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>һ<EFBFBD><D2BB>ʱ<EFBFBD><CAB1>ִ<EFBFBD>г<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>жϣ<D0B6><CFA3><EFBFBD><EFBFBD>õĻ<C3B5>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>ֵ<EFBFBD>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>*/
|
||||
for(uint8_t i = 1; i < VIRTUAL_PORT_MAX; i++)
|
||||
{
|
||||
if( (VCard_Info.Port_Info[i].PortEnFlag == 0x01) && (VCard_Info.DetInfo.Release_Thres[i] < 100) )
|
||||
{
|
||||
PortEn_max++; //<2F><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD>
|
||||
if(VCard_Info.ActThreshold[i] <= VCard_Info.DetInfo.Release_Thres[i])
|
||||
{
|
||||
KeepFlag = 0x01;
|
||||
|
||||
/*<2A><>״̬<D7B4>ı<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>ˣ<EFBFBD><CBA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD>·<EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD>ա<EFBFBD><D5A1><EFBFBD><EFBFBD>ˡ<EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䣬<EFBFBD><E4A3AC><EFBFBD><EFBFBD><EFBFBD>¿<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>*/
|
||||
VCard_Info.Action |= VC_Event_RadarPersonLeft_Flag;
|
||||
|
||||
Udp_Addtion_Roomstate(BUS_Public.type,BUS_Public.addr,0x00,VC_EventID_RadarPersonLeft);
|
||||
SRAM_Write_Byte(VC_EventID_RadarPersonLeft,SRAM_UDP_ELEReport_VirtualCard);
|
||||
SRAM_Write_DW(SysTick_1ms,SRAM_UDP_ELEReport_VirtualCard_Tick); //2026-01-20 <09><><EFBFBD>Ӽ<EFBFBD>¼ʱ<C2BC><CAB1><EFBFBD><EFBFBD>
|
||||
LOG_LogicInfo_DebugRecord("VCLog:T4:%d",VC_EventID_RadarPersonLeft);
|
||||
|
||||
VCard_Info.ExistState = NOONE;
|
||||
DevActionGlobal.Person_Detected = VCard_Info.ExistState;
|
||||
|
||||
VCard_Info.ConGroupIndx = VC_CONDGROUP_Default_StartGroup; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵĵ<CFB5>һ<EFBFBD><D2BB>
|
||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"-<2D><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>·%d %d - %.02f <20>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD>-",i,VCard_Info.DetInfo.Release_Thres[i],VCard_Info.ActThreshold[i]);
|
||||
|
||||
for(uint8_t i= 1; i < VIRTUAL_PORT_MAX; i++)
|
||||
{
|
||||
if(VCard_Info.Port_Info[i].HPort_Type != 0x00)
|
||||
{
|
||||
VCard_Info.DetInfo.DetWinTrigger[i] = 0x00;
|
||||
VCard_Info.ActThreshold[i] = 0;
|
||||
VCard_Info.DetInfo.DetWinIdex[i] = 0;
|
||||
VCard_Info.DetInfo.FullFlag[i] = 0x01;
|
||||
DetWin_WriteData((i - 1), 0x00, ((VCard_Info.DetInfo.DetWinTotalNum[i] / 8) + 1 ) );
|
||||
}
|
||||
}
|
||||
break;
|
||||
PortEn_Cnt++; //<2F><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//20260129 -<2D><EFBFBD>ȡ<EFBFBD><C8A1> - <20><><EFBFBD><EFBFBD>״̬:<3A><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD>в<EFBFBD><D0B2>볤ʱ<EBB3A4><CAB1><EFBFBD>ж϶˿ڣ<CBBF>ȫ<EFBFBD><C8AB><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if((PortEn_Cnt != 0x00)&&(PortEn_max != 0x00))
|
||||
{
|
||||
if(PortEn_Cnt == PortEn_max)
|
||||
{
|
||||
KeepFlag = 0x01;
|
||||
|
||||
/*<2A><>״̬<D7B4>ı<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>ˣ<EFBFBD><CBA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD>·<EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD>ա<EFBFBD><D5A1><EFBFBD><EFBFBD>ˡ<EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䣬<EFBFBD><E4A3AC><EFBFBD><EFBFBD><EFBFBD>¿<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>*/
|
||||
VCard_Info.Action |= VC_Event_RadarPersonLeft_Flag;
|
||||
SRAM_Write_Byte(VC_EventID_RadarPersonLeft,SRAM_UDP_ELEReport_VirtualCard);
|
||||
SRAM_Write_DW(SysTick_1ms,SRAM_UDP_ELEReport_VirtualCard_Tick); //2026-01-20 <09><><EFBFBD>Ӽ<EFBFBD>¼ʱ<C2BC><CAB1><EFBFBD><EFBFBD>
|
||||
LOG_LogicInfo_DebugRecord("VCLog:T4:%d",VC_EventID_RadarPersonLeft);
|
||||
|
||||
VCard_Info.ExistState = NOONE;
|
||||
DevActionGlobal.Person_Detected = VCard_Info.ExistState;
|
||||
|
||||
VCard_Info.ConGroupIndx = VC_CONDGROUP_Default_StartGroup; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵĵ<CFB5>һ<EFBFBD><D2BB>
|
||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"-<2D><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD>·: <20>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD>-");
|
||||
|
||||
for(uint8_t i= 1; i < VIRTUAL_PORT_MAX; i++)
|
||||
{
|
||||
if(VCard_Info.Port_Info[i].HPort_Type != 0x00)
|
||||
{
|
||||
VCard_Info.DetInfo.DetWinTrigger[i] = 0x00;
|
||||
VCard_Info.ActThreshold[i] = 0;
|
||||
VCard_Info.DetInfo.DetWinIdex[i] = 0;
|
||||
VCard_Info.DetInfo.FullFlag[i] = 0x01;
|
||||
DetWin_WriteData((i - 1), 0x00, ((VCard_Info.DetInfo.DetWinTotalNum[i] / 8) + 1 ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
PortEn_Cnt = 0x00;
|
||||
PortEn_max = 0x00;
|
||||
}
|
||||
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˽<EFBFBD><CBBD><EFBFBD>*/
|
||||
|
||||
|
||||
@@ -289,6 +289,23 @@ uint8_t CheckSum_Overlook_Check(uint8_t *data, uint16_t len, uint16_t check_id)
|
||||
return ~data_sum;
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
* Function Name : CheckSum_Overlook_Check_2
|
||||
* Description : <20><>У<EFBFBD><D0A3>,<2C><><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>
|
||||
* input: data: <20><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
|
||||
len <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܳ<EFBFBD><DCB3><EFBFBD>
|
||||
check_id: У<><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD>
|
||||
*******************************************************************************/
|
||||
uint8_t CheckSum_Overlook_Check_2(uint8_t *data, uint16_t len, uint16_t check_id)
|
||||
{
|
||||
uint8_t data_sum = 0;
|
||||
|
||||
for(uint16_t i = 0;i<len;i++)
|
||||
{
|
||||
if(check_id != i) data_sum += data[i];
|
||||
}
|
||||
return data_sum;
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
* Function Name : SOR_CRC
|
||||
|
||||
@@ -20,6 +20,7 @@ uint8_t Dev_CheckSum(uint32_t addr,uint16_t len);
|
||||
uint8_t DoubleData_CheckSum(uint8_t *Data1, uint16_t Data1Len, uint8_t *Data2, uint16_t Data2Len);
|
||||
uint8_t CheckSum(uint8_t *data,uint16_t len);
|
||||
uint8_t CheckSum_Overlook_Check(uint8_t *data, uint16_t len, uint16_t check_id);
|
||||
uint8_t CheckSum_Overlook_Check_2(uint8_t *data, uint16_t len, uint16_t check_id);
|
||||
uint8_t SOR_SRAM_CRC(uint32_t Dataaddr, uint8_t DataLen);
|
||||
uint8_t SOR_CRC(uint8_t *Data, uint8_t DataLen);
|
||||
uint8_t Device_Data_Check(uint32_t sram_addr);
|
||||
|
||||
@@ -74,6 +74,7 @@
|
||||
#include "BLV_Nor_Dev_GlobalSet.h"
|
||||
#include "BLV_485_Dev_EnergyMonitor.h"
|
||||
#include "BLV_Nor_Dev_ServiceFun.h"
|
||||
#include "BLV_485_Dev_ShangJingTianIrSendFun.h"
|
||||
|
||||
#include "BLV_Dev_Action.h"
|
||||
#include "BLV_All_Dev_Init.h"
|
||||
@@ -81,7 +82,7 @@
|
||||
#include "BLV_Logic_Edit.h"
|
||||
#include "mqtt.h"
|
||||
#include "aLiYun.h"
|
||||
|
||||
#include "BLV_485_Dev_YangGeLockFun.h"
|
||||
//#if UDPServer_Internal_Flag
|
||||
|
||||
//#include "UDPServer_Internal_Protocol.h" //<2F>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD>ͨѶ<CDA8><D1B6><EFBFBD><EFBFBD>
|
||||
@@ -260,7 +261,7 @@
|
||||
|
||||
#if (SoftName_Custom_Enable == 0x00)
|
||||
#if (LOGIC_FILE_EN == 0x01)
|
||||
#define SoftwareVer "C1F_A_L4_43_260117" //<2F><><EFBFBD><EFBFBD><EFBFBD>汾 20Byte
|
||||
#define SoftwareVer "C1F_A_L4_43_260209" //<2F><><EFBFBD><EFBFBD><EFBFBD>汾 20Byte
|
||||
#else
|
||||
#define SoftwareVer "C1F_C5_Init220525 " //<2F><><EFBFBD><EFBFBD><EFBFBD>汾 20Byte
|
||||
#endif
|
||||
|
||||
@@ -1653,6 +1653,8 @@ uint8_t Logic_DeviceType_Legal_Judgment(LOGICFILE_DEVICE_INFO *dev_info)
|
||||
case DEV_RS485_IR_SEND: //<2F><><EFBFBD>ⷢ<EFBFBD><E2B7A2>
|
||||
if((dev_info->version == 0x01) && (dev_info->port == Polling_Port)) rev = 0x00; //<2F><>ѵ<EFBFBD><D1B5><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD>豸
|
||||
if((dev_info->version == 0x02) && (dev_info->port == Active_Port)) rev = 0x00; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD>豸
|
||||
if((dev_info->version == 0x03) && (dev_info->port == Polling_Port)) rev = 0x00; //<2F><>ѵ<EFBFBD><D1B5><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD>豸
|
||||
if((dev_info->version == 0x04) && (dev_info->port == Active_Port)) rev = 0x00; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD>豸
|
||||
break;
|
||||
case DEV_RS485_DIMMING: //ֱ<><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD>豸Ԥ<E8B1B8><D4A4>ȡ<EFBFBD><C8A1> - <20>ϲ<EFBFBD><CFB2><EFBFBD>485PWM<57><4D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@ -1669,7 +1671,8 @@ uint8_t Logic_DeviceType_Legal_Judgment(LOGICFILE_DEVICE_INFO *dev_info)
|
||||
case DEV_RS485_WxLock: //<><CEA2><EFBFBD><EFBFBD>
|
||||
if((dev_info->version == 0x01) && (dev_info->port == Active_Port)) rev = 0x00; //BLW<57><CEA2><EFBFBD><EFBFBD>
|
||||
else if((dev_info->version == 0x02) && (dev_info->port == Polling_Port)) rev = 0x00; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><CEA2><EFBFBD><EFBFBD>
|
||||
else if((dev_info->version == 0x03) && (dev_info->port == Polling_Port)) rev = 0x00; //<2F><><EFBFBD><EFBFBD><EFBFBD><CEA2><EFBFBD><EFBFBD>
|
||||
else if((dev_info->version == 0x03) && (dev_info->port == Polling_Port)) rev = 0x00; //<2F><><EFBFBD><EFBFBD><EFBFBD><CEA2><EFBFBD><EFBFBD>
|
||||
else if((dev_info->version == 0x04) && (dev_info->port == Active_Port)) rev = 0x00; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2025-12-19
|
||||
break;
|
||||
case DEV_RS485_MUSIC: //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if((dev_info->version == 0x01) && (dev_info->port == Bus_port)) rev = 0x00; //BLV_Cx<43><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@ -1784,11 +1787,13 @@ uint8_t Logic_DeviceType_Legal_Judgment(LOGICFILE_DEVICE_INFO *dev_info)
|
||||
case Dev_Virtual_GlobalSet:
|
||||
if((dev_info->version == 0x01) && (dev_info->port == 0x00)) rev = 0x00; //ȫ<><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
break;
|
||||
#endif
|
||||
#endif
|
||||
#if Dev_485_Energy_Monitor_Flag
|
||||
case Dev_Energy_Monitor:
|
||||
if((dev_info->version == 0x01) && (dev_info->port == Polling_Port)) rev = 0x00; //<2F>ܺļ<DCBA><C4BC><EFBFBD>
|
||||
if((dev_info->version == 0x01) && (dev_info->port == Active_Port)) rev = 0x00; //<2F>ܺļ<DCBA><C4BC><EFBFBD>
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
|
||||
return rev;
|
||||
@@ -3427,7 +3432,7 @@ void Logic_Device_Add_To_List(uint8_t type,uint8_t *data,uint16_t len)
|
||||
#endif
|
||||
#if RS485_WxLock_Flag
|
||||
case DEV_RS485_WxLock:
|
||||
//Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸 <20><>ַ: %d",temp_dev_info.addr);
|
||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD><EFBFBD>ѯ:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸 <20><>ַ: %d",temp_dev_info.addr);
|
||||
BLW_RS485_WeixinLockFun_Logic_Init(&temp_dev_info,data,len);
|
||||
break;
|
||||
#endif
|
||||
@@ -3516,7 +3521,7 @@ void Logic_Device_Add_To_List(uint8_t type,uint8_t *data,uint16_t len)
|
||||
#endif
|
||||
#if RS485_WxLock_Flag
|
||||
case DEV_RS485_WxLock:
|
||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸 <20><>ַ: %d",temp_dev_info.addr);
|
||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸 <20><>ַ: %d",temp_dev_info.addr);
|
||||
BLW_RS485_WeixinLockFun_Logic_Init(&temp_dev_info,data,len); //<2F><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD>˿ڼ<CBBF><DABC><EFBFBD><EFBFBD>ں<EFBFBD><DABA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
break;
|
||||
#endif
|
||||
|
||||
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -22,38 +22,38 @@ Dialog DLL: TARMCM1.DLL V1.14.1.0
|
||||
|
||||
<h2>Project:</h2>
|
||||
E:\Git_Project_Sourcode\BLV_C1F_Module\Pro\Pro-9999_Logic_CC_251027_0x5000_Simplify\MDK_PROJECT\project.uvprojx
|
||||
Project File Date: 12/30/2025
|
||||
Project File Date: 02/09/2026
|
||||
|
||||
<h2>Output:</h2>
|
||||
*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'D:\Keil_v5\ARM\ARMCC\Bin'
|
||||
Rebuild target 'TEST'
|
||||
assembling startup_ARMCM0.s...
|
||||
compiling CH57x_pwr.c...
|
||||
compiling CH57x_int.c...
|
||||
compiling CH57x_gpio.c...
|
||||
compiling CH57x_sys.c...
|
||||
compiling main.c...
|
||||
compiling CH57x_int.c...
|
||||
compiling CH57x_clk.c...
|
||||
compiling CH57x_sys.c...
|
||||
compiling CH57x_adc.c...
|
||||
compiling main.c...
|
||||
compiling CH57x_uart1.c...
|
||||
compiling CH57x_timer0.c...
|
||||
compiling CH57x_uart2.c...
|
||||
compiling CH57x_uart0.c...
|
||||
compiling CH57x_flash.c...
|
||||
compiling CH57x_uart1.c...
|
||||
compiling CH57x_uart3.c...
|
||||
compiling CH57x_spi0.c...
|
||||
compiling CH57x_spi1.c...
|
||||
compiling dwg.c...
|
||||
compiling Debug.c...
|
||||
compiling rtc.c...
|
||||
compiling key.c...
|
||||
compiling dwg.c...
|
||||
compiling flash.c...
|
||||
compiling usart.c...
|
||||
compiling Log_api.c...
|
||||
compiling check_fun.c...
|
||||
compiling SPI_SRAM.c...
|
||||
compiling md5.c...
|
||||
compiling rw_logging.c...
|
||||
compiling md5.c...
|
||||
compiling DNS.c...
|
||||
compiling BLV_Authorize.c...
|
||||
compiling net.c...
|
||||
@@ -65,26 +65,26 @@ compiling PC_DeviceTest_Fun.c...
|
||||
compiling BLV_NET_Function.c...
|
||||
compiling BLV_485_Dev_TempFun.c...
|
||||
compiling BLV_485_Dev_Touch_SwiFun.c...
|
||||
compiling BLV_485_Dev_IrSendFun.c...
|
||||
compiling BLV_485_Dev_C7TFun.c...
|
||||
compiling BLV_485_Dev_IrSendFun.c...
|
||||
compiling BLV_485_Dev_A9RelayFun.c...
|
||||
compiling BLV_485_Dev_PwmFun.c...
|
||||
compiling BLV_485_Dev_TimeFun.c...
|
||||
compiling BLV_BUS_Dev_C12DimmingFun.c...
|
||||
compiling BLV_Nor_DevFun.c...
|
||||
compiling BLV_485_Dev_XiaoBaoFun.c...
|
||||
compiling BLV_Nor_DevFun.c...
|
||||
compiling BLV_485_Dev_TempT1Fun.c...
|
||||
compiling BLV_All_Dev_Init.c...
|
||||
compiling BLV_485_Dev_A9LDFun.c...
|
||||
compiling BLV_485_Dev_PirFun.c...
|
||||
compiling BLV_485_Dev_RGB_Light_BeltFun.c...
|
||||
compiling BLV_485_Dev_LEDFun.c...
|
||||
compiling BLV_485_Dev_PirFun.c...
|
||||
compiling BLV_485_Dev_SliderFun.c...
|
||||
compiling BLV_485_Dev_LEDFun.c...
|
||||
compiling BLV_485_Dev_AirRevealFun.c...
|
||||
compiling BLV_485_Dev_A9IO_SwiFun.c...
|
||||
compiling BLV_485_Dev_AirDetectFun.c...
|
||||
compiling BLV_485_Dev_SwitchFun.c...
|
||||
compiling BLV_485_Dev_A8PBFun.c...
|
||||
compiling BLV_485_Dev_SwitchFun.c...
|
||||
compiling BLV_Dev_Action.c...
|
||||
compiling BLV_485_Dev_BLWMusicFun.c...
|
||||
compiling BLV_485_Dev_MusicFun.c...
|
||||
@@ -92,63 +92,65 @@ compiling BLV_485_Dev_C5RelayFun.c...
|
||||
compiling BLV_485_Dev_C12DimFun.c...
|
||||
compiling BLV_485_Dev_IN_CH6.c...
|
||||
compiling BLV_485_Dev_SwiRelayFun.c...
|
||||
compiling BLV_485_Dev_HuaErSiFun.c...
|
||||
compiling BLV_485_Dev_LCDFun.c...
|
||||
compiling BLV_TempPrompt_Action.c...
|
||||
compiling BLV_485_Dev_HuaErSiFun.c...
|
||||
compiling BLV_485_Dev_CardStateFun.c...
|
||||
compiling BLV_485_Dev_LCDFun.c...
|
||||
compiling BLV_485_Dev_FloorHeatFun.c...
|
||||
compiling BLV_485_Dev_FreshAirFun.c...
|
||||
compiling BLV_485_Dev_CLEDFloorHeatFun.c...
|
||||
compiling BLV_485_Dev_CLEDFreshAirFun.c...
|
||||
compiling BLV_485_Dev_BLWFloorHeatFun.c...
|
||||
compiling BLV_485_Dev_BLWFreshAirFun.c...
|
||||
compiling BLV_485_Dev_BLWFloorHeatFun.c...
|
||||
compiling BLV_485_Dev_BLE_Music.c...
|
||||
compiling BLV_485_Dev_Rotary_SwitchFun.c...
|
||||
compiling BLV_485_Dev_ShangJingTianIrSendFun.c...
|
||||
compiling BLV_485_Dev_EnergyMonitor.c...
|
||||
compiling BLV_485_Dev_Rotary_SwitchFun.c...
|
||||
compiling BLV_485_Dev_BLVP1_Rotary_Switch.c...
|
||||
compiling BLV_485_Dev_BLVP2_Rotary_Switch.c...
|
||||
compiling BLV_485_Dev_CurtainFun.c...
|
||||
compiling BLV_485_Dev_BinShen_Curtain.c...
|
||||
compiling BLV_485_Dev_BLWLockFun.c...
|
||||
compiling BLV_485_Dev_CurtainFun.c...
|
||||
compiling BLV_485_Dev_ChuangJiaLockFun.c...
|
||||
compiling BLV_485_Dev_WeixinLockFun.c...
|
||||
compiling BLV_RF_GatewayHost.c...
|
||||
compiling BLV_485_Dev_PB20_Strip_Fun.c...
|
||||
compiling BLV_485_Dev_FreegoLockFun.c...
|
||||
compiling BLV_485_Dev_YangGeLockFun.c...
|
||||
compiling BLV_485_Dev_PB20_LED_Fun.c...
|
||||
compiling BLV_485_Dev_PB20_Relay_Fun.c...
|
||||
compiling BLV_485_Dev_PB20_Strip_Fun.c...
|
||||
compiling BLV_Bus_Dev_PB20Fun.c...
|
||||
compiling BLV_Nor_Dev_ServiceFun.c...
|
||||
compiling BLV_Nor_Dev_LVinputFun.c...
|
||||
compiling BLV_Nor_Dev_CurtainFun.c...
|
||||
compiling BLV_Nor_Dev_LVoutputFun.c...
|
||||
compiling BLV_Nor_Dev_HVoutFun.c...
|
||||
compiling BLV_Nor_Dev_NoCard.c...
|
||||
compiling BLV_Nor_Dev_LVoutputFun.c...
|
||||
compiling BLV_Nor_Dev_CurtainFun.c...
|
||||
compiling BLV_Nor_Dev_ColorTemp.c...
|
||||
compiling BLV_Nor_Dev_NoCard.c...
|
||||
compiling BLV_Nor_Dev_VirtualTimeFun.c...
|
||||
compiling BLV_Nor_Dev_GlobalSet.c...
|
||||
compiling aLiYun.c...
|
||||
compiling BLV_Nor_Dev_Scene_Restore.c...
|
||||
compiling BLV_Nor_Dev_CarbonFun.c...
|
||||
compiling BLV_Nor_Dev_VirtualCard.c...
|
||||
compiling BLV_Nor_Dev_GlobalSet.c...
|
||||
compiling BLV_Nor_Dev_Scene_Restore.c...
|
||||
compiling utils_hmac.c...
|
||||
compiling aLiYun.c...
|
||||
compiling utils_md5.c...
|
||||
compiling BLV_Nor_Dev_VirtualCard.c...
|
||||
compiling MQTTConnectClient.c...
|
||||
compiling mqtt.c...
|
||||
compiling Udp_Internal_Protocol.c...
|
||||
compiling MQTTDeserializePublish.c...
|
||||
compiling utils_md5.c...
|
||||
compiling MQTTFormat.c...
|
||||
compiling MQTTSerializePublish.c...
|
||||
compiling MQTTPacket.c...
|
||||
compiling mqtt.c...
|
||||
compiling MQTTSerializePublish.c...
|
||||
compiling BLV_Logic_Edit.c...
|
||||
compiling MQTTSubscribeClient.c...
|
||||
compiling MQTTUnsubscribeClient.c...
|
||||
compiling utils_sha1.c...
|
||||
linking...
|
||||
Program Size: Code=224256 RO-data=8380 RW-data=812 ZI-data=22676
|
||||
Program Size: Code=223688 RO-data=8220 RW-data=812 ZI-data=22676
|
||||
FromELF: creating hex file...
|
||||
After Build - User command #1: D:\Keil_v5\\ARM\ARMCC\bin\fromelf.exe --bin --output=Bin\C1F_A_L4_43_251230_NM.bin .\Objects\C1F_A_L4_43_251230_NM.axf
|
||||
".\Objects\C1F_A_L4_43_251230_NM.axf" - 0 Error(s), 0 Warning(s).
|
||||
After Build - User command #1: D:\Keil_v5\\ARM\ARMCC\bin\fromelf.exe --bin --output=Bin\C1F_A_L4_43_260209_NM.bin .\Objects\C1F_A_L4_43_260209_NM.axf
|
||||
".\Objects\C1F_A_L4_43_260209_NM.axf" - 0 Error(s), 0 Warning(s).
|
||||
|
||||
<h2>Software Packages used:</h2>
|
||||
|
||||
@@ -162,7 +164,7 @@ Package Vendor: Keil
|
||||
D:\Keil_v5\Pack\Keil\WCH57x_DFP\1.1.0\Drivers\CMSIS\Device\WCH\CH57x\Include
|
||||
|
||||
<h2>Collection of Component Files used:</h2>
|
||||
Build Time Elapsed: 00:00:16
|
||||
Build Time Elapsed: 00:00:18
|
||||
</pre>
|
||||
</body>
|
||||
</html>
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -77,6 +77,7 @@
|
||||
".\objects\blv_485_dev_blwfloorheatfun.o"
|
||||
".\objects\blv_485_dev_ble_music.o"
|
||||
".\objects\blv_485_dev_energymonitor.o"
|
||||
".\objects\blv_485_dev_shangjingtianirsendfun.o"
|
||||
".\objects\blv_485_dev_rotary_switchfun.o"
|
||||
".\objects\blv_485_dev_blvp1_rotary_switch.o"
|
||||
".\objects\blv_485_dev_blvp2_rotary_switch.o"
|
||||
@@ -87,6 +88,7 @@
|
||||
".\objects\blv_485_dev_weixinlockfun.o"
|
||||
".\objects\blv_rf_gatewayhost.o"
|
||||
".\objects\blv_485_dev_freegolockfun.o"
|
||||
".\objects\blv_485_dev_yanggelockfun.o"
|
||||
".\objects\blv_485_dev_pb20_led_fun.o"
|
||||
".\objects\blv_485_dev_pb20_relay_fun.o"
|
||||
".\objects\blv_485_dev_pb20_strip_fun.o"
|
||||
@@ -117,7 +119,7 @@
|
||||
".\objects\mqttserializepublish.o"
|
||||
".\objects\mqttsubscribeclient.o"
|
||||
".\objects\mqttunsubscribeclient.o"
|
||||
--library_type=microlib --strict --scatter ".\Objects\C1F_A_L4_43_251230_NM.sct"
|
||||
--library_type=microlib --strict --scatter ".\Objects\C1F_A_L4_43_260209_NM.sct"
|
||||
--summary_stderr --info summarysizes --map --load_addr_map_info --xref --callgraph --symbols
|
||||
--info sizes --info totals --info unused --info veneers
|
||||
--list ".\Listings\C1F_A_L4_43_251230_NM.map" -o .\Objects\C1F_A_L4_43_251230_NM.axf
|
||||
--list ".\Listings\C1F_A_L4_43_260209_NM.map" -o .\Objects\C1F_A_L4_43_260209_NM.axf
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -1252,6 +1252,18 @@
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>84</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\..\..\BasicCode\Drive\BLV_485_Protocol\BLV_485_Dev_ShangJingTianIrSendFun.c</PathWithFileName>
|
||||
<FilenameWithoutPath>BLV_485_Dev_ShangJingTianIrSendFun.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
@@ -1262,7 +1274,7 @@
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>84</FileNumber>
|
||||
<FileNumber>85</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1274,7 +1286,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>85</FileNumber>
|
||||
<FileNumber>86</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1286,7 +1298,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>86</FileNumber>
|
||||
<FileNumber>87</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1306,7 +1318,7 @@
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>87</FileNumber>
|
||||
<FileNumber>88</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1318,7 +1330,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>88</FileNumber>
|
||||
<FileNumber>89</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1338,7 +1350,7 @@
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>7</GroupNumber>
|
||||
<FileNumber>89</FileNumber>
|
||||
<FileNumber>90</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1350,7 +1362,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>7</GroupNumber>
|
||||
<FileNumber>90</FileNumber>
|
||||
<FileNumber>91</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1362,7 +1374,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>7</GroupNumber>
|
||||
<FileNumber>91</FileNumber>
|
||||
<FileNumber>92</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1374,7 +1386,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>7</GroupNumber>
|
||||
<FileNumber>92</FileNumber>
|
||||
<FileNumber>93</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1386,7 +1398,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>7</GroupNumber>
|
||||
<FileNumber>93</FileNumber>
|
||||
<FileNumber>94</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1396,6 +1408,18 @@
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>7</GroupNumber>
|
||||
<FileNumber>95</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\..\..\BasicCode\Drive\BLV_485_Protocol\BLV_485_Dev_YangGeLockFun.c</PathWithFileName>
|
||||
<FilenameWithoutPath>BLV_485_Dev_YangGeLockFun.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
@@ -1406,7 +1430,7 @@
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>8</GroupNumber>
|
||||
<FileNumber>94</FileNumber>
|
||||
<FileNumber>96</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1418,7 +1442,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>8</GroupNumber>
|
||||
<FileNumber>95</FileNumber>
|
||||
<FileNumber>97</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1430,7 +1454,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>8</GroupNumber>
|
||||
<FileNumber>96</FileNumber>
|
||||
<FileNumber>98</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1442,7 +1466,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>8</GroupNumber>
|
||||
<FileNumber>97</FileNumber>
|
||||
<FileNumber>99</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1462,7 +1486,7 @@
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>9</GroupNumber>
|
||||
<FileNumber>98</FileNumber>
|
||||
<FileNumber>100</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1474,7 +1498,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>9</GroupNumber>
|
||||
<FileNumber>99</FileNumber>
|
||||
<FileNumber>101</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1486,7 +1510,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>9</GroupNumber>
|
||||
<FileNumber>100</FileNumber>
|
||||
<FileNumber>102</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1498,7 +1522,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>9</GroupNumber>
|
||||
<FileNumber>101</FileNumber>
|
||||
<FileNumber>103</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1510,7 +1534,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>9</GroupNumber>
|
||||
<FileNumber>102</FileNumber>
|
||||
<FileNumber>104</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1522,7 +1546,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>9</GroupNumber>
|
||||
<FileNumber>103</FileNumber>
|
||||
<FileNumber>105</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1534,7 +1558,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>9</GroupNumber>
|
||||
<FileNumber>104</FileNumber>
|
||||
<FileNumber>106</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1546,7 +1570,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>9</GroupNumber>
|
||||
<FileNumber>105</FileNumber>
|
||||
<FileNumber>107</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1558,7 +1582,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>9</GroupNumber>
|
||||
<FileNumber>106</FileNumber>
|
||||
<FileNumber>108</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1570,7 +1594,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>9</GroupNumber>
|
||||
<FileNumber>107</FileNumber>
|
||||
<FileNumber>109</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1582,7 +1606,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>9</GroupNumber>
|
||||
<FileNumber>108</FileNumber>
|
||||
<FileNumber>110</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1594,7 +1618,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>9</GroupNumber>
|
||||
<FileNumber>109</FileNumber>
|
||||
<FileNumber>111</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1614,7 +1638,7 @@
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>10</GroupNumber>
|
||||
<FileNumber>110</FileNumber>
|
||||
<FileNumber>112</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1634,7 +1658,7 @@
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>11</GroupNumber>
|
||||
<FileNumber>111</FileNumber>
|
||||
<FileNumber>113</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1654,7 +1678,7 @@
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>12</GroupNumber>
|
||||
<FileNumber>112</FileNumber>
|
||||
<FileNumber>114</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1666,7 +1690,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>12</GroupNumber>
|
||||
<FileNumber>113</FileNumber>
|
||||
<FileNumber>115</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1678,7 +1702,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>12</GroupNumber>
|
||||
<FileNumber>114</FileNumber>
|
||||
<FileNumber>116</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1690,7 +1714,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>12</GroupNumber>
|
||||
<FileNumber>115</FileNumber>
|
||||
<FileNumber>117</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1702,7 +1726,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>12</GroupNumber>
|
||||
<FileNumber>116</FileNumber>
|
||||
<FileNumber>118</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1714,7 +1738,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>12</GroupNumber>
|
||||
<FileNumber>117</FileNumber>
|
||||
<FileNumber>119</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1726,7 +1750,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>12</GroupNumber>
|
||||
<FileNumber>118</FileNumber>
|
||||
<FileNumber>120</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1738,7 +1762,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>12</GroupNumber>
|
||||
<FileNumber>119</FileNumber>
|
||||
<FileNumber>121</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1750,7 +1774,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>12</GroupNumber>
|
||||
<FileNumber>120</FileNumber>
|
||||
<FileNumber>122</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1762,7 +1786,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>12</GroupNumber>
|
||||
<FileNumber>121</FileNumber>
|
||||
<FileNumber>123</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1774,7 +1798,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>12</GroupNumber>
|
||||
<FileNumber>122</FileNumber>
|
||||
<FileNumber>124</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1786,7 +1810,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>12</GroupNumber>
|
||||
<FileNumber>123</FileNumber>
|
||||
<FileNumber>125</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1806,7 +1830,7 @@
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>13</GroupNumber>
|
||||
<FileNumber>124</FileNumber>
|
||||
<FileNumber>126</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
<InvalidFlash>1</InvalidFlash>
|
||||
</TargetStatus>
|
||||
<OutputDirectory>.\Objects\</OutputDirectory>
|
||||
<OutputName>C1F_A_L4_43_251230_NM</OutputName>
|
||||
<OutputName>C1F_A_L4_43_260209_NM</OutputName>
|
||||
<CreateExecutable>1</CreateExecutable>
|
||||
<CreateLib>0</CreateLib>
|
||||
<CreateHexFile>1</CreateHexFile>
|
||||
@@ -812,6 +812,11 @@
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\..\..\BasicCode\Drive\BLV_485_Protocol\BLV_485_Dev_EnergyMonitor.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>BLV_485_Dev_ShangJingTianIrSendFun.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\..\..\BasicCode\Drive\BLV_485_Protocol\BLV_485_Dev_ShangJingTianIrSendFun.c</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
@@ -877,6 +882,11 @@
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\..\..\BasicCode\Drive\BLV_485_Protocol\BLV_485_Dev_FreegoLockFun.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>BLV_485_Dev_YangGeLockFun.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\..\..\BasicCode\Drive\BLV_485_Protocol\BLV_485_Dev_YangGeLockFun.c</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
|
||||
@@ -42,29 +42,29 @@
|
||||
/*<2A>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>궨<EFBFBD>忪ʼ*/
|
||||
#define RS485_HVout_C5RELAY_Flag 0x01 //C5<43>̵<EFBFBD><CCB5><EFBFBD> 1Ϊ<31><CEAA><EFBFBD><EFBFBD> 0Ϊ<30>ر<EFBFBD>
|
||||
#define RS485_HVout_A9RELAY_Flag 0x01 //A9<41>̵<EFBFBD><CCB5><EFBFBD> 1Ϊ<31><CEAA><EFBFBD><EFBFBD> 0Ϊ<30>ر<EFBFBD>
|
||||
#define RS485_HVout_SwiRELAY_Flag 0x00 //ǿ<>翪<EFBFBD>ؼ̵<D8BC><CCB5><EFBFBD> 1Ϊ<31><CEAA><EFBFBD><EFBFBD> 0Ϊ<30>ر<EFBFBD>
|
||||
#define RS485_HVout_SwiRELAY_Flag 0x01 //ǿ<>翪<EFBFBD>ؼ̵<D8BC><CCB5><EFBFBD> 1Ϊ<31><CEAA><EFBFBD><EFBFBD> 0Ϊ<30>ر<EFBFBD>
|
||||
/*<2A>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
||||
|
||||
/*485<38><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>궨<EFBFBD>忪ʼ*/
|
||||
#define RS485_Switch_Touch_Flag 0x01 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1Ϊ<31><CEAA><EFBFBD><EFBFBD> 0Ϊ<30>ر<EFBFBD>
|
||||
#define RS485_Switch_A9IO_Flag 0x00 //A9IO<49><4F><EFBFBD><EFBFBD> 1Ϊ<31><CEAA><EFBFBD><EFBFBD> 0Ϊ<30>ر<EFBFBD>
|
||||
#define RS485_Switch_Rotary_Flag 0x01 //<2F><>ť<EFBFBD><C5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#define RS485_Switch_A9IO_Flag 0x01 //A9IO<49><4F><EFBFBD><EFBFBD> 1Ϊ<31><CEAA><EFBFBD><EFBFBD> 0Ϊ<30>ر<EFBFBD>
|
||||
#define RS485_Switch_Rotary_Flag 0x00 //<2F><>ť<EFBFBD><C5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#define RS485_Switch_Rotary_P1_Flag 0x00 //<2F><>ť<EFBFBD><C5A5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Э<EFBFBD><D0AD>1
|
||||
#define RS485_Switch_Rotary_P2_Flag 0x01 //<2F><>ť<EFBFBD><C5A5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Э<EFBFBD><D0AD>2
|
||||
#define RS485_Switch_Rotary_P2_Flag 0x00 //<2F><>ť<EFBFBD><C5A5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Э<EFBFBD><D0AD>2
|
||||
/*485<38><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
||||
|
||||
/*485<38>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>궨<EFBFBD>忪ʼ*/
|
||||
#define RS485_Temp_T1_Flag 0x01 //T1<54>¿<EFBFBD><C2BF><EFBFBD> 1Ϊ<31><CEAA><EFBFBD><EFBFBD> 0Ϊ<30>ر<EFBFBD>
|
||||
#define RS485_Temp_T1_Flag_Si 0x00 //T1<54>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĺܣ<C4B9>
|
||||
#define RS485_Temp_T1_Active_Flag 0x00 //T1<54>¿<EFBFBD><C2BF><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ĺ<EFBFBD>
|
||||
#define RS485_Temp_C7T_Flag 0x01 //C7T<37>¿<EFBFBD><C2BF><EFBFBD> 1Ϊ<31><CEAA><EFBFBD><EFBFBD> 0Ϊ<30>ر<EFBFBD>
|
||||
#define RS485_Temp_T1_Flag_Si 0x01 //T1<54>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĺܣ<C4B9>
|
||||
#define RS485_Temp_T1_Active_Flag 0x01 //T1<54>¿<EFBFBD><C2BF><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ĺ<EFBFBD>
|
||||
#define RS485_Temp_C7T_Flag 0x00 //C7T<37>¿<EFBFBD><C2BF><EFBFBD> 1Ϊ<31><CEAA><EFBFBD><EFBFBD> 0Ϊ<30>ر<EFBFBD>
|
||||
/*485<38>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
||||
|
||||
/*485<38>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>궨<EFBFBD>忪ʼ*/
|
||||
#define RS485_LED_Flag 0x01 //485PWM<57><4D><EFBFBD><EFBFBD><EFBFBD>ܱ<EFBFBD><DCB1><EFBFBD>
|
||||
#define RS485_LED_PWM_Flag 0x00 //PWM0~10V<30><56><EFBFBD><EFBFBD> 1Ϊ<31><CEAA><EFBFBD><EFBFBD> 0Ϊ<30>ر<EFBFBD>
|
||||
#define RS485_LED_A9LD_Flag 0x00 //A9LD<4C><44><EFBFBD><EFBFBD> 1Ϊ<31><CEAA><EFBFBD><EFBFBD> 0Ϊ<30>ر<EFBFBD>
|
||||
#define RS485_LED_Slider_Flag 0x00 //Slider<65><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1Ϊ<31><CEAA><EFBFBD><EFBFBD> 0Ϊ<30>ر<EFBFBD>
|
||||
#define RS485_LED_A9LD_Flag 0x01 //A9LD<4C><44><EFBFBD><EFBFBD> 1Ϊ<31><CEAA><EFBFBD><EFBFBD> 0Ϊ<30>ر<EFBFBD>
|
||||
#define RS485_LED_Slider_Flag 0x00 //Slider<65><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1Ϊ<31><CEAA><EFBFBD><EFBFBD> 0Ϊ<30>ر<EFBFBD>
|
||||
#define RS485_LED_A8PB_Flag 0x00 //A8PB<50><42><EFBFBD><EFBFBD> 1Ϊ<31><CEAA><EFBFBD><EFBFBD> 0Ϊ<30>ر<EFBFBD>
|
||||
#define RS485_LED_C12Dim_Flag 0x01 //C12Dim<69><6D><EFBFBD><EFBFBD> 1Ϊ<31><CEAA><EFBFBD><EFBFBD> 0Ϊ<30>ر<EFBFBD>
|
||||
#define RS485_LED_RGB_Flag 0x00 //RGB<47><42><EFBFBD><EFBFBD> 1Ϊ<31><CEAA><EFBFBD><EFBFBD> 0Ϊ<30>ر<EFBFBD>
|
||||
@@ -77,16 +77,17 @@
|
||||
|
||||
#define RS485_RFGatewayHost_Flag 0x00 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>BLW<57><CEA2><EFBFBD><EFBFBD>
|
||||
/*485<35><CEA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>궨<EFBFBD>忪ʼ*/
|
||||
#define RS485_WxLock_Flag 0x00 //<><CEA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#define RS485_WxLock_Flag 0x01 //<><CEA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#define RS485_WxLock_BLW_Flag 0x00 //BLW<57><CEA2><EFBFBD><EFBFBD> 1Ϊ<31><CEAA><EFBFBD><EFBFBD> 0Ϊ<30>ر<EFBFBD>
|
||||
#define RS485_WxLock_FreeGo_Flag 0x00 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><CEA2><EFBFBD><EFBFBD> 1Ϊ<31><CEAA><EFBFBD><EFBFBD> 0Ϊ<30>ر<EFBFBD>
|
||||
#define RS485_WxLock_CJia_Flag 0x00 //<2F><><EFBFBD><EFBFBD><EFBFBD><CEA2><EFBFBD><EFBFBD> 1Ϊ<31><CEAA><EFBFBD><EFBFBD> 0Ϊ<30>ر<EFBFBD>
|
||||
#define RS485_WxLock_YangGe_Flag 0x01 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1Ϊ<31><CEAA><EFBFBD><EFBFBD> 0Ϊ<30>ر<EFBFBD>
|
||||
/*485<35><CEA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
||||
|
||||
#define RS485_AirDetect_Flag 0x01 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
|
||||
#define RS485_AirReveal_Flag 0x01 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>־
|
||||
#define RS485_AirDetect_Flag 0x00 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
|
||||
#define RS485_AirReveal_Flag 0x00 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>־
|
||||
|
||||
#define RS485_TimeCtrl_Flag 0x01 //ʱ<><CAB1><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
||||
#define RS485_TimeCtrl_Flag 0x00 //ʱ<><CAB1><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
||||
|
||||
#define RS485_Curtain_Flag 0x00 //485<38><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#define RS485_DOOYA_Curtain_Flag 0x00 //<2F><><EFBFBD>Ǵ<EFBFBD><C7B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@ -105,7 +106,7 @@
|
||||
#if C8_TYPE
|
||||
|
||||
#define RS485_PB20Fun_Flag 0x01 //PB20
|
||||
#define RS485_PB20_LD_Flag 0x00 //PB20-LD
|
||||
#define RS485_PB20_LD_Flag 0x01 //PB20-LD
|
||||
#define RS485_PB20_LS_Flag 0x01 //PB20-LS
|
||||
#define RS485_PB20_Relay_Flag 0x01 //PB20-Relay
|
||||
#define RS485_LCD_1602_Flag 0x01 //LCD
|
||||
@@ -126,20 +127,22 @@
|
||||
|
||||
#define Dev_485_Pir_Flag 0x00 //485<38><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ
|
||||
|
||||
#define Dev_Nor_ColorTemp 0x01 //ɫ<><C9AB>ģ<EFBFBD><C4A3>
|
||||
#define Dev_Nor_ColorTemp 0x00 //ɫ<><C9AB>ģ<EFBFBD><C4A3>
|
||||
|
||||
#define Dev_485_Card_Polling_Flag 0x01 //<2F><>ѵ<EFBFBD>˿<EFBFBD>485<38>忨ȡ<E5BFA8><C8A1>
|
||||
#define Dev_485_Card_Active_Flag 0x00 //<2F><><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>485<38>忨ȡ<E5BFA8><C8A1>
|
||||
|
||||
#define Dev_485_IrSend_Polling_Flag 0x01 //<2F><>ѵ<EFBFBD>˿ں<CBBF><DABA><EFBFBD>ת<EFBFBD><D7AA>
|
||||
#define Dev_485_IrSend_Active_Flag 0x00 //<2F><><EFBFBD><EFBFBD><EFBFBD>˿ں<CBBF><DABA><EFBFBD>ת<EFBFBD><D7AA>
|
||||
#define Dev_485_IrSend_Active_Flag 0x01 //<2F><><EFBFBD><EFBFBD><EFBFBD>˿ں<CBBF><DABA><EFBFBD>ת<EFBFBD><D7AA>
|
||||
|
||||
#define Dev_485_BLE_Music_Flag 0x00 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ
|
||||
|
||||
#define Dev_Nor_Carbon_Flag 0x01 //̼<><CCBC><EFBFBD><EFBFBD>
|
||||
|
||||
#define Dev_Nor_Scene_Restore_Flag 0x00 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>滹ԭ
|
||||
#define Dev_Nor_Scene_Restore_Flag 0x01 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>滹ԭ
|
||||
|
||||
#define Dev_Nor_GlobalSet_Flag 0x01 //ȫ<><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,2025-07-14,YYW
|
||||
|
||||
#define Dev_485_Energy_Monitor_Flag 0x01 //<2F>ܺļ<DCBA><C4BC><EFBFBD>
|
||||
|
||||
#endif
|
||||
|
||||
20
Readme.md
20
Readme.md
@@ -2,6 +2,26 @@
|
||||
|
||||
|
||||
|
||||
### 2026-02-09
|
||||
|
||||
```C
|
||||
修改人:曹聪、叶阳文
|
||||
修改内容:
|
||||
1、添加杨格蓝牙锁驱动
|
||||
-> 驱动文件名:BLV_485_Dev_YangGeLockFun
|
||||
2、对接红外转发设备协议,添加 南京尚景添IRACC中央空调驱动
|
||||
-> 设备具体型号:南京尚景添IRACC中央空调协议转换模块,型号:IRACC-SWG-H
|
||||
-> 驱动文件名:BLV_485_Dev_ShangJingTianIrSendFun
|
||||
3、修改无卡取电驱动
|
||||
-> 长时间判断修改:
|
||||
- 有人-》无人:所有参与长时间检测的传感器采用与逻辑,即,但所有传感器都判断为无人,才判断为房间无人
|
||||
- 无人-》有人:所有参与长时间检测的传感器采用或逻辑,即,任何一个传感器判断到有人,即判断为房间有人
|
||||
- 原有机制:在房间有人、无人状态之间切换时,所有传感器buffer会做一个全量填充(有人->1,无人->0),机制保留
|
||||
-> 修改长时间缓冲区填充问题,导致长时间判断无法触发阈值 == 已解决
|
||||
```
|
||||
|
||||
|
||||
|
||||
### 2026-02-03
|
||||
|
||||
```C
|
||||
|
||||
Reference in New Issue
Block a user