feat: 新增激光定时关闭与姿态角持续输出测试功能,编码转UTF-8
1. 激光定时自动关闭:默认10分钟,laser on启动计时,超时自动关并上报 2. laser time <min>可配置定时分钟数,0=关闭定时 3. att on/off持续输出姿态角(Pitch/Roll/Yaw),不注册不低功耗 4. 20个源文件从GB2312编码转为UTF-8 with BOM
This commit is contained in:
+209
-209
@@ -1,37 +1,37 @@
|
||||
#include "SGCP.h"
|
||||
#include "SGCP.h"
|
||||
#include "main.h"
|
||||
#include "UartDebug.h"
|
||||
#include "Update.h"
|
||||
#include "sx127x.h"
|
||||
#include "Algorithm.h"
|
||||
|
||||
/*烧录时配置项
|
||||
IROM1起始地址 0x00 0x20000
|
||||
IROM1串口升级地址 0x2A00 0x1D600
|
||||
串口升级打开USE_BOOTLOADER和点s文件中的LDR R2, =new_vect_table ;升级时打开
|
||||
/*烧录时配置项
|
||||
IROM1起始地址 0x00 0x20000
|
||||
IROM1串口升级地址 0x2A00 0x1D600
|
||||
串口升级打开USE_BOOTLOADER和点s文件中的LDR R2, =new_vect_table ;升级时打开
|
||||
*/
|
||||
|
||||
uint32_t LocalType; //本机设备类型
|
||||
uint32_t CommWay; //本机通讯方式
|
||||
uint32_t DeviceSign; //本机设备标志
|
||||
uint32_t AddNumber; //本机地址编号,数字部分对应唯一地址编号
|
||||
uint32_t LocalType; //本机设备类型
|
||||
uint32_t CommWay; //本机通讯方式
|
||||
uint32_t DeviceSign; //本机设备标志
|
||||
uint32_t AddNumber; //本机地址编号,数字部分对应唯一地址编号
|
||||
//09 00 01 00 00 00
|
||||
uint8_t LocalMAC[6] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00};//本机MAC地址
|
||||
uint8_t GatewayMAC[6] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; //网关MAC地址,注册时全为0
|
||||
uint8_t LocalDataPack[sizeof(SGCP.DevData.LaserTracing)]; //本机数据包
|
||||
uint8_t LocalDataLen = sizeof(SGCP.DevData.LaserTracing); //本机设备数据长度
|
||||
uint8_t LocalMAC[6] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00};//本机MAC地址
|
||||
uint8_t GatewayMAC[6] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; //网关MAC地址,注册时全为0
|
||||
uint8_t LocalDataPack[sizeof(SGCP.DevData.LaserTracing)]; //本机数据包
|
||||
uint8_t LocalDataLen = sizeof(SGCP.DevData.LaserTracing); //本机设备数据长度
|
||||
|
||||
SGCP_t SGCP;
|
||||
|
||||
/**
|
||||
*******************************************************************************
|
||||
** \brief 设备数据信息获取
|
||||
** \brief 设备数据信息获取
|
||||
**
|
||||
** \param Devtype 设备类型
|
||||
** \param Devtype 设备类型
|
||||
**
|
||||
** \param PayLoad 数据体
|
||||
** \param PayLoad 数据体
|
||||
**
|
||||
** \retval Len 数据长度
|
||||
** \retval Len 数据长度
|
||||
******************************************************************************/
|
||||
static uint8_t DevGetDataMess(DEVICE_TYPE_M Devtype, uint8_t *PayLoad)
|
||||
{
|
||||
@@ -108,13 +108,13 @@ static uint8_t DevGetDataMess(DEVICE_TYPE_M Devtype, uint8_t *PayLoad)
|
||||
}
|
||||
/**
|
||||
*******************************************************************************
|
||||
** \brief 子设备校准指令
|
||||
** \brief 子设备校准指令
|
||||
**
|
||||
** \param [in] Addr 子设备地址
|
||||
** \param [in] Addr 子设备地址
|
||||
**
|
||||
** \param [in] PayLoad 数据体
|
||||
** \param [in] PayLoad 数据体
|
||||
**
|
||||
** \retval 无
|
||||
** \retval 无
|
||||
******************************************************************************/
|
||||
static void ToSDCali(uint8_t Addr)
|
||||
{
|
||||
@@ -140,13 +140,13 @@ static void ToSDCali(uint8_t Addr)
|
||||
}
|
||||
/**
|
||||
*******************************************************************************
|
||||
** \brief 子设备读取数据指令
|
||||
** \brief 子设备读取数据指令
|
||||
**
|
||||
** \param [in] Addr 子设备地址
|
||||
** \param [in] Addr 子设备地址
|
||||
**
|
||||
** \param [in] PayLoad 数据体
|
||||
** \param [in] PayLoad 数据体
|
||||
**
|
||||
** \retval 无
|
||||
** \retval 无
|
||||
******************************************************************************/
|
||||
static void ToSDReadData(uint8_t Addr)
|
||||
{
|
||||
@@ -172,13 +172,13 @@ static void ToSDReadData(uint8_t Addr)
|
||||
}
|
||||
/**
|
||||
*******************************************************************************
|
||||
** \brief 子设备查询指令
|
||||
** \brief 子设备查询指令
|
||||
**
|
||||
** \param [in] Addr 子设备485地址
|
||||
** \param [in] Addr 子设备485地址
|
||||
**
|
||||
** \param [in] PayLoad 数据体
|
||||
** \param [in] PayLoad 数据体
|
||||
**
|
||||
** \retval 无
|
||||
** \retval 无
|
||||
******************************************************************************/
|
||||
static void ToSDInquire(uint8_t Addr)
|
||||
{
|
||||
@@ -204,13 +204,13 @@ static void ToSDInquire(uint8_t Addr)
|
||||
}
|
||||
/**
|
||||
*******************************************************************************
|
||||
** \brief 子设备设置采集时间间隔指令
|
||||
** \brief 子设备设置采集时间间隔指令
|
||||
**
|
||||
** \param [in] Addr 子设备地址
|
||||
** \param [in] Addr 子设备地址
|
||||
**
|
||||
** \param [in] CollTime 采集时间间隔
|
||||
** \param [in] CollTime 采集时间间隔
|
||||
**
|
||||
** \retval 无
|
||||
** \retval 无
|
||||
******************************************************************************/
|
||||
static void ToSDSetColTime(uint8_t Addr, uint16_t CollectInterval)
|
||||
{
|
||||
@@ -239,13 +239,13 @@ static void ToSDSetColTime(uint8_t Addr, uint16_t CollectInterval)
|
||||
}
|
||||
/**
|
||||
*******************************************************************************
|
||||
** \brief 子设备时间同步指令
|
||||
** \brief 子设备时间同步指令
|
||||
**
|
||||
** \param [in] Addr 子设备地址
|
||||
** \param [in] Addr 子设备地址
|
||||
**
|
||||
** \param [in] PayLoad 数据体
|
||||
** \param [in] PayLoad 数据体
|
||||
**
|
||||
** \retval 无
|
||||
** \retval 无
|
||||
******************************************************************************/
|
||||
static void ToSDSyncTime(uint8_t Addr, uint32_t TimeStamp)
|
||||
{
|
||||
@@ -277,13 +277,13 @@ static void ToSDSyncTime(uint8_t Addr, uint32_t TimeStamp)
|
||||
|
||||
/**
|
||||
*******************************************************************************
|
||||
** \brief 子设备校准回应
|
||||
** \brief 子设备校准回应
|
||||
**
|
||||
** \param [in] Addr 子设备地址
|
||||
** \param [in] Addr 子设备地址
|
||||
**
|
||||
** \param [in] Ok_Err 成功失败标志位
|
||||
** \param [in] Ok_Err 成功失败标志位
|
||||
**
|
||||
** \retval 无
|
||||
** \retval 无
|
||||
******************************************************************************/
|
||||
static void ToMDCaliRes(uint8_t Addr, bool Ok_Err)
|
||||
{
|
||||
@@ -311,13 +311,13 @@ static void ToMDCaliRes(uint8_t Addr, bool Ok_Err)
|
||||
}
|
||||
/**
|
||||
*******************************************************************************
|
||||
** \brief 子设备读取数据指令回应
|
||||
** \brief 子设备读取数据指令回应
|
||||
**
|
||||
** \param [in] Addr 子设备地址
|
||||
** \param [in] Addr 子设备地址
|
||||
**
|
||||
** \param [in] PayLoad 数据体
|
||||
** \param [in] PayLoad 数据体
|
||||
**
|
||||
** \retval 无
|
||||
** \retval 无
|
||||
******************************************************************************/
|
||||
static void ToMDReadDataRes(uint8_t Addr, uint8_t *PayLoad, uint8_t Len)
|
||||
{
|
||||
@@ -348,13 +348,13 @@ static void ToMDReadDataRes(uint8_t Addr, uint8_t *PayLoad, uint8_t Len)
|
||||
}
|
||||
/**
|
||||
*******************************************************************************
|
||||
** \brief 子设备查询指令回应
|
||||
** \brief 子设备查询指令回应
|
||||
**
|
||||
** \param [in] Addr 子设备485地址
|
||||
** \param [in] Addr 子设备485地址
|
||||
**
|
||||
** \param [in] PayLoad 数据体
|
||||
** \param [in] PayLoad 数据体
|
||||
**
|
||||
** \retval 无
|
||||
** \retval 无
|
||||
******************************************************************************/
|
||||
static void ToMDInquireRes(uint8_t Addr)
|
||||
{
|
||||
@@ -385,13 +385,13 @@ static void ToMDInquireRes(uint8_t Addr)
|
||||
}
|
||||
/**
|
||||
*******************************************************************************
|
||||
** \brief 子设备设置采集时间间隔指令回应
|
||||
** \brief 子设备设置采集时间间隔指令回应
|
||||
**
|
||||
** \param [in] Addr 子设备地址
|
||||
** \param [in] Addr 子设备地址
|
||||
**
|
||||
** \param [in] Ok_Err 成功失败标志位
|
||||
** \param [in] Ok_Err 成功失败标志位
|
||||
**
|
||||
** \retval 无
|
||||
** \retval 无
|
||||
******************************************************************************/
|
||||
static void ToMDSetColTimeRes(uint8_t Addr, bool Ok_Err)
|
||||
{
|
||||
@@ -419,13 +419,13 @@ static void ToMDSetColTimeRes(uint8_t Addr, bool Ok_Err)
|
||||
}
|
||||
/**
|
||||
*******************************************************************************
|
||||
** \brief 子设备时间同步指令回应
|
||||
** \brief 子设备时间同步指令回应
|
||||
**
|
||||
** \param [in] Addr 子设备地址
|
||||
** \param [in] Addr 子设备地址
|
||||
**
|
||||
** \param [in] Ok_Err 成功失败标志位
|
||||
** \param [in] Ok_Err 成功失败标志位
|
||||
**
|
||||
** \retval 无
|
||||
** \retval 无
|
||||
******************************************************************************/
|
||||
static void ToMDSyncTimeRes(uint8_t Addr, bool Ok_Err)
|
||||
{
|
||||
@@ -455,11 +455,11 @@ static void ToMDSyncTimeRes(uint8_t Addr, bool Ok_Err)
|
||||
|
||||
/**
|
||||
*******************************************************************************
|
||||
** \brief 向网关申请注册
|
||||
** \brief 向网关申请注册
|
||||
**
|
||||
** \param PayLoad 数据体
|
||||
** \param PayLoad 数据体
|
||||
**
|
||||
** \retval 无
|
||||
** \retval 无
|
||||
******************************************************************************/
|
||||
static void ToGWDevLogin(void)
|
||||
{
|
||||
@@ -499,11 +499,11 @@ static void ToGWDevLogin(void)
|
||||
}
|
||||
/**
|
||||
*******************************************************************************
|
||||
** \brief 网关校准指令回应
|
||||
** \brief 网关校准指令回应
|
||||
**
|
||||
** \param Ok_Err 成功失败标志位
|
||||
** \param Ok_Err 成功失败标志位
|
||||
**
|
||||
** \retval 无
|
||||
** \retval 无
|
||||
******************************************************************************/
|
||||
static void ToGWCaliRes(bool Ok_Err)
|
||||
{
|
||||
@@ -538,11 +538,11 @@ SGCP.GWRS485Rx.sCmdMDToGW = (GWTOMD_CMD_M)GFHeader->Cmd;
|
||||
|
||||
/**
|
||||
*******************************************************************************
|
||||
** \brief 信号质量查询指令
|
||||
** \brief 信号质量查询指令
|
||||
**
|
||||
** \param 无
|
||||
** \param 无
|
||||
**
|
||||
** \retval 无
|
||||
** \retval 无
|
||||
******************************************************************************/
|
||||
static void ToGWSignalQuery(void)
|
||||
{
|
||||
@@ -574,11 +574,11 @@ static void ToGWSignalQuery(void)
|
||||
}
|
||||
/**
|
||||
*******************************************************************************
|
||||
** \brief 网关读取数据指令回应
|
||||
** \brief 网关读取数据指令回应
|
||||
**
|
||||
** \param PayLoad 数据体
|
||||
** \param PayLoad 数据体
|
||||
**
|
||||
** \retval 无
|
||||
** \retval 无
|
||||
******************************************************************************/
|
||||
static void ToGWReadDataRes(uint8_t *PayLoad)
|
||||
{
|
||||
@@ -615,11 +615,11 @@ SGCP.GWRS485Rx.sCmdMDToGW = (GWTOMD_CMD_M)GFHeader->Cmd;
|
||||
|
||||
/**
|
||||
*******************************************************************************
|
||||
** \brief 网关设置采集时间间隔指令回应
|
||||
** \brief 网关设置采集时间间隔指令回应
|
||||
**
|
||||
** \param Ok_Err 成功失败标志位
|
||||
** \param Ok_Err 成功失败标志位
|
||||
**
|
||||
** \retval 无
|
||||
** \retval 无
|
||||
******************************************************************************/
|
||||
static void ToGWSetColTimeRes(bool Ok_Err)
|
||||
{
|
||||
@@ -654,11 +654,11 @@ SGCP.GWRS485Rx.sCmdMDToGW = (GWTOMD_CMD_M)GFHeader->Cmd;
|
||||
|
||||
/**
|
||||
*******************************************************************************
|
||||
** \brief 网关时间同步指令回应
|
||||
** \brief 网关时间同步指令回应
|
||||
**
|
||||
** \param Ok_Err 成功失败标志位
|
||||
** \param Ok_Err 成功失败标志位
|
||||
**
|
||||
** \retval 无
|
||||
** \retval 无
|
||||
******************************************************************************/
|
||||
static void ToGWSyncTimeRes(bool Ok_Err)
|
||||
{
|
||||
@@ -692,11 +692,11 @@ SGCP.GWRS485Rx.sCmdMDToGW = (GWTOMD_CMD_M)GFHeader->Cmd;
|
||||
}
|
||||
/**
|
||||
*******************************************************************************
|
||||
** \brief 内部指令修改RS485地址回应
|
||||
** \brief 内部指令修改RS485地址回应
|
||||
**
|
||||
** \param PayLoad 数据体
|
||||
** \param PayLoad 数据体
|
||||
**
|
||||
** \retval 无
|
||||
** \retval 无
|
||||
******************************************************************************/
|
||||
static void Alter485AddrRes(uint8_t *MAC, bool Ok_Err)
|
||||
{
|
||||
@@ -723,11 +723,11 @@ static void Alter485AddrRes(uint8_t *MAC, bool Ok_Err)
|
||||
}
|
||||
/**
|
||||
*******************************************************************************
|
||||
** \brief 主设备接收子设备数据处理
|
||||
** \brief 主设备接收子设备数据处理
|
||||
**
|
||||
** \param 无
|
||||
** \param 无
|
||||
**
|
||||
** \retval 无
|
||||
** \retval 无
|
||||
******************************************************************************/
|
||||
static void SubsetRevHandler(void)
|
||||
{
|
||||
@@ -759,7 +759,7 @@ static void SubsetRevHandler(void)
|
||||
break;}
|
||||
|
||||
case MDTOSD_CMD_INQUIRE:{
|
||||
memcpy(&SGCP.DeviceMAC[SGCP.DeviceN], PayLoad, sizeof(SGCP.DeviceMAC[SGCP.DeviceN]));//子设备MAC
|
||||
memcpy(&SGCP.DeviceMAC[SGCP.DeviceN], PayLoad, sizeof(SGCP.DeviceMAC[SGCP.DeviceN]));//子设备MAC
|
||||
SGCP.SubsetMACOk = true;
|
||||
break;}
|
||||
|
||||
@@ -774,11 +774,11 @@ static void SubsetRevHandler(void)
|
||||
}
|
||||
/**
|
||||
*******************************************************************************
|
||||
** \brief 子设备接收主设备数据处理
|
||||
** \brief 子设备接收主设备数据处理
|
||||
**
|
||||
** \param 无
|
||||
** \param 无
|
||||
**
|
||||
** \retval 无
|
||||
** \retval 无
|
||||
******************************************************************************/
|
||||
static void MasRevHandler(void)
|
||||
{
|
||||
@@ -858,9 +858,9 @@ static void MasRevHandler(void)
|
||||
App.Para.Layout.CollectTime = temp;
|
||||
SAVE_APP_PARA((uint32_t *)&App.Para);
|
||||
if(App.Para.Layout.CollectTime >= 30)
|
||||
RTCInit(30);//定时采集时间重新初始化
|
||||
RTCInit(30);//定时采集时间重新初始化
|
||||
else
|
||||
RTCInit(App.Para.Layout.CollectTime);//定时采集时间重新初始化
|
||||
RTCInit(App.Para.Layout.CollectTime);//定时采集时间重新初始化
|
||||
if(SGCP.MasStatus == MAS_STATUS_IDLE)
|
||||
{
|
||||
SGCP.MasStatus = MAS_STATUS_SET_COL_TIME;
|
||||
@@ -883,7 +883,7 @@ static void MasRevHandler(void)
|
||||
{
|
||||
App.Para.Layout.TimeStamp = temp;
|
||||
SAVE_APP_PARA((uint32_t *)&App.Para);
|
||||
TimeSync(App.Para.Layout.TimeStamp); //设置时间
|
||||
TimeSync(App.Para.Layout.TimeStamp); //设置时间
|
||||
if(SGCP.MasStatus == MAS_STATUS_IDLE)
|
||||
{
|
||||
SGCP.MasStatus = MAS_STATUS_SYNC_TIME;
|
||||
@@ -894,11 +894,11 @@ static void MasRevHandler(void)
|
||||
}
|
||||
/**
|
||||
*******************************************************************************
|
||||
** \brief 主设备接收网关数据处理
|
||||
** \brief 主设备接收网关数据处理
|
||||
**
|
||||
** \param 无
|
||||
** \param 无
|
||||
**
|
||||
** \retval 无
|
||||
** \retval 无
|
||||
******************************************************************************/
|
||||
static void GWRevHandler(void)
|
||||
{
|
||||
@@ -969,12 +969,12 @@ static void GWRevHandler(void)
|
||||
{
|
||||
App.Para.Layout.TimeStamp = LPay->TimeStamp;
|
||||
|
||||
int8_t TimeDiff;//时间差
|
||||
int8_t TimeDiff;//时间差
|
||||
int RTCTimes = TimeTs();
|
||||
TimeDiff = App.Para.Layout.TimeStamp - RTCTimes;
|
||||
if(TimeDiff > 1 || TimeDiff < -1)
|
||||
{
|
||||
TimeSync(App.Para.Layout.TimeStamp); //向通讯单元RTC时间寄存器写入时间网关下发的时间
|
||||
TimeSync(App.Para.Layout.TimeStamp); //向通讯单元RTC时间寄存器写入时间网关下发的时间
|
||||
}
|
||||
SGCP.UploadOk = true;
|
||||
SGCP.NextGWStatus = GW_STATUS_IDLE;
|
||||
@@ -993,12 +993,12 @@ static void GWRevHandler(void)
|
||||
LPay->ERInterval,
|
||||
LPay->ERTime);
|
||||
|
||||
int8_t TimeDiff;//时间差
|
||||
int8_t TimeDiff;//时间差
|
||||
int RTCTimes = TimeTs();
|
||||
TimeDiff = App.Para.Layout.TimeStamp - RTCTimes;
|
||||
if(TimeDiff > 1 || TimeDiff < -1)
|
||||
{
|
||||
TimeSync(App.Para.Layout.TimeStamp); //向通讯单元RTC时间寄存器写入时间网关下发的时间
|
||||
TimeSync(App.Para.Layout.TimeStamp); //向通讯单元RTC时间寄存器写入时间网关下发的时间
|
||||
}
|
||||
SGCP.UploadOk = true;
|
||||
SGCP.NextGWStatus = GW_STATUS_UPLOAD_SENSOR;
|
||||
@@ -1071,7 +1071,7 @@ static void GWRevHandler(void)
|
||||
}
|
||||
App.Para.Layout.TimeStamp = temp;
|
||||
SAVE_APP_PARA((uint32_t *)&App.Para);
|
||||
TimeSync(App.Para.Layout.TimeStamp); //设置时间
|
||||
TimeSync(App.Para.Layout.TimeStamp); //设置时间
|
||||
}
|
||||
}
|
||||
break;}
|
||||
@@ -1116,11 +1116,11 @@ static void GWRevHandler(void)
|
||||
}
|
||||
/**
|
||||
*******************************************************************************
|
||||
** \brief 内部指令指令数据接收处理
|
||||
** \brief 内部指令指令数据接收处理
|
||||
**
|
||||
** \param 无
|
||||
** \param 无
|
||||
**
|
||||
** \retval 无
|
||||
** \retval 无
|
||||
******************************************************************************/
|
||||
static void InRevHandler(void)
|
||||
{
|
||||
@@ -1172,14 +1172,14 @@ static void InRevHandler(void)
|
||||
break;}
|
||||
}
|
||||
}
|
||||
#if (SGCP_SELECT == 0)//本机为单个主设备接多个子设备
|
||||
#if (SGCP_SELECT == 0)//本机为单个主设备接多个子设备
|
||||
/**
|
||||
*******************************************************************************
|
||||
** \brief 接收子设备数据状态机
|
||||
** \brief 接收子设备数据状态机
|
||||
**
|
||||
** \param 无
|
||||
** \param 无
|
||||
**
|
||||
** \retval 无
|
||||
** \retval 无
|
||||
******************************************************************************/
|
||||
void SubRevLoopHandler(void)
|
||||
{
|
||||
@@ -1293,8 +1293,8 @@ void SubRevLoopHandler(void)
|
||||
SGCP.Subset_IRQ_Status = false;
|
||||
memset(&SGCP.Dev485Addrs, NULL, sizeof(SGCP.Dev485Addrs));
|
||||
memset(&SGCP.DeviceMAC, NULL, sizeof(SGCP.DeviceMAC));
|
||||
SGCP.Dev485Addrs[SGCP.DeviceN] = SGCP.Dev485Addr;//主设备485
|
||||
memcpy(SGCP.DeviceMAC[SGCP.DeviceN], LocalMAC, sizeof(LocalMAC));//主设备MAC
|
||||
SGCP.Dev485Addrs[SGCP.DeviceN] = SGCP.Dev485Addr;//主设备485
|
||||
memcpy(SGCP.DeviceMAC[SGCP.DeviceN], LocalMAC, sizeof(LocalMAC));//主设备MAC
|
||||
DBG_LOG("Master Device MAC:%02X %02X %02X %02X %02X %02X\r\n",
|
||||
SGCP.DeviceMAC[SGCP.DeviceN][0],SGCP.DeviceMAC[SGCP.DeviceN][1],SGCP.DeviceMAC[SGCP.DeviceN][2],
|
||||
SGCP.DeviceMAC[SGCP.DeviceN][3],SGCP.DeviceMAC[SGCP.DeviceN][4],SGCP.DeviceMAC[SGCP.DeviceN][5]);
|
||||
@@ -1363,11 +1363,11 @@ void SubRevLoopHandler(void)
|
||||
|
||||
/**
|
||||
*******************************************************************************
|
||||
** \brief 接收网关数据状态机
|
||||
** \brief 接收网关数据状态机
|
||||
**
|
||||
** \param 无
|
||||
** \param 无
|
||||
**
|
||||
** \retval 无
|
||||
** \retval 无
|
||||
******************************************************************************/
|
||||
void GwRevLoopHandler(void)
|
||||
{
|
||||
@@ -1441,14 +1441,14 @@ void GwRevLoopHandler(void)
|
||||
ToGWCaliRes(SGCP.MasterCaliOk);
|
||||
DBG_LOG("Alone Cali Ok!\r\n");
|
||||
}
|
||||
SGCP.TimingAcquisition = true;//采集新的传感器数据
|
||||
SGCP.TimingAcquisition = true;//采集新的传感器数据
|
||||
break;}
|
||||
|
||||
case GW_STATUS_READ_SENSOR:{
|
||||
PrintfMess();
|
||||
ToGWReadDataRes(SGCP.DeviceData);
|
||||
DBG_LOG("Upload data Ok!\r\n");
|
||||
SGCP.TimingAcquisition = true;//采集新的传感器数据
|
||||
SGCP.TimingAcquisition = true;//采集新的传感器数据
|
||||
SGCP.GWStatus = GW_STATUS_WAIT_SUBIDLE;
|
||||
SGCP.NextSubStatus = SUB_STATUS_READMASTER_DATA;
|
||||
SGCP.GW1mSDelayCnt = 5000;
|
||||
@@ -1493,30 +1493,30 @@ void GwRevLoopHandler(void)
|
||||
|
||||
|
||||
|
||||
/* 中断回调函数 */
|
||||
/* 中断回调函数 */
|
||||
/*****************************************************************************************
|
||||
* 函数名称: LORA_RxCallBack
|
||||
* 功能描述: Lora数据接收函数
|
||||
* 参 数: *rBuff,接收到的字符串
|
||||
rlen,接收到的字符串长度
|
||||
* 返 回 值: 无
|
||||
* 函数名称: LORA_RxCallBack
|
||||
* 功能描述: Lora数据接收函数
|
||||
* 参 数: *rBuff,接收到的字符串
|
||||
rlen,接收到的字符串长度
|
||||
* 返 回 值: 无
|
||||
*****************************************************************************************/
|
||||
void LORA_RxCallBack(uint8_t *rBuff, uint8_t rlen)
|
||||
{
|
||||
// if (rlen > 0 && rBuff[0] == 0x7C && memcmp(&rBuff[7],&Comm_DevAddr[0],6) == 0) // 如果接收到了数据,并且设备地址相同则处理接收到的数据
|
||||
// if (rlen > 0 && rBuff[0] == 0x7C && memcmp(&rBuff[7],&Comm_DevAddr[0],6) == 0) // 如果接收到了数据,并且设备地址相同则处理接收到的数据
|
||||
// {
|
||||
// //< 处理接收到的数据
|
||||
// //< 处理接收到的数据
|
||||
// memcpy(App.UpperBuff, rBuff, rlen);
|
||||
// App.UpperBuffLen = rlen;
|
||||
// App.Upper_IRQ_Status = true;//上位机串口中断
|
||||
// App.Upper_IRQ_Status = true;//上位机串口中断
|
||||
// }
|
||||
}
|
||||
|
||||
/*****************************************************************************************
|
||||
* 函数名称: LPUartRx_CallBack
|
||||
* 功能描述: 低功耗串口数据接收函数
|
||||
* 参 数: rData,接收到的字节
|
||||
* 返 回 值: 无
|
||||
* 函数名称: LPUartRx_CallBack
|
||||
* 功能描述: 低功耗串口数据接收函数
|
||||
* 参 数: rData,接收到的字节
|
||||
* 返 回 值: 无
|
||||
*****************************************************************************************/
|
||||
void LPUartRx_CallBack(uint8_t rData)
|
||||
{
|
||||
@@ -1543,7 +1543,7 @@ void LPUartRx_CallBack(uint8_t rData)
|
||||
if(SGCP.GWRS485Rx.RxLen == 15) {
|
||||
SGCP.GWRS485Rx.rPayLen |= (rData << 8);
|
||||
}
|
||||
if(SGCP.GWRS485Rx.rPayLen > 10) { //大于最大负载长度,认为错误
|
||||
if(SGCP.GWRS485Rx.rPayLen > 10) { //大于最大负载长度,认为错误
|
||||
SGCP.GWRS485Rx.HeaderFrame = false;
|
||||
return;
|
||||
}
|
||||
@@ -1556,7 +1556,7 @@ void LPUartRx_CallBack(uint8_t rData)
|
||||
|
||||
memcpy(SGCP.GatewayBuff, SGCP.GWRS485Rx.RxBuff, SGCP.GWRS485Rx.RxLen);
|
||||
SGCP.GatewayBuffLen = SGCP.GWRS485Rx.RxLen;
|
||||
if(SGCP.GWRS485Rx.RxBuff[0] == 0x7B) GWRevHandler();//网关数据接收处理
|
||||
if(SGCP.GWRS485Rx.RxBuff[0] == 0x7B) GWRevHandler();//网关数据接收处理
|
||||
}
|
||||
}
|
||||
if(SGCP.GWRS485Rx.RxBuff[0] == 0x7D)
|
||||
@@ -1572,17 +1572,17 @@ void LPUartRx_CallBack(uint8_t rData)
|
||||
|
||||
memcpy(SGCP.InsideBuff, SGCP.GWRS485Rx.RxBuff, SGCP.GWRS485Rx.RxLen);
|
||||
SGCP.InsideBuffLen = SGCP.GWRS485Rx.RxLen;
|
||||
if(SGCP.InsideBuff[0] == 0x7D) InRevHandler();//内部指令
|
||||
if(SGCP.InsideBuff[0] == 0x7D) InRevHandler();//内部指令
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*****************************************************************************************
|
||||
* 函数名称: Uart1Rx_CallBack
|
||||
* 功能描述: 串口1数据接收函数
|
||||
* 参 数: rData,接收到的字节
|
||||
* 返 回 值: 无
|
||||
* 函数名称: Uart1Rx_CallBack
|
||||
* 功能描述: 串口1数据接收函数
|
||||
* 参 数: rData,接收到的字节
|
||||
* 返 回 值: 无
|
||||
*****************************************************************************************/
|
||||
void Uart1Rx_CallBack(uint8_t rData)
|
||||
{
|
||||
@@ -1600,7 +1600,7 @@ void Uart1Rx_CallBack(uint8_t rData)
|
||||
}
|
||||
else {
|
||||
if(SGCP.SDRS485Rx.RxLen == 3) {
|
||||
if(rData > 36) { //大于最大负载长度,认为错误
|
||||
if(rData > 36) { //大于最大负载长度,认为错误
|
||||
SGCP.SDRS485Rx.HeaderFrame = false;
|
||||
return;
|
||||
}
|
||||
@@ -1615,21 +1615,21 @@ void Uart1Rx_CallBack(uint8_t rData)
|
||||
|
||||
memcpy(SGCP.SubsetBuff, SGCP.SDRS485Rx.RxBuff, SGCP.SDRS485Rx.RxLen);
|
||||
SGCP.SubsetBuffLen = SGCP.SDRS485Rx.RxLen;
|
||||
if(SGCP.SDRS485Rx.RxBuff[0] == 0x7C) SGCP.Subset_IRQ_Status = true;//子设备串口中断
|
||||
if(SGCP.SDRS485Rx.RxBuff[0] == 0x7C) SGCP.Subset_IRQ_Status = true;//子设备串口中断
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#if (SGCP_SELECT == 1)//本机为单个主设备
|
||||
#if (SGCP_SELECT == 1)//本机为单个主设备
|
||||
#if (LocalType == LASER_TRACING)
|
||||
/**
|
||||
*******************************************************************************
|
||||
** \brief 网关激光状态回应
|
||||
** \brief 网关激光状态回应
|
||||
**
|
||||
** \param Ok_Err 成功失败标志位
|
||||
** \param Ok_Err 成功失败标志位
|
||||
**
|
||||
** \retval 无
|
||||
** \retval 无
|
||||
******************************************************************************/
|
||||
static void ToGWLaserRes(bool Ok_Err)
|
||||
{
|
||||
@@ -1664,11 +1664,11 @@ SGCP.GWRS485Rx.sCmdMDToGW = (GWTOMD_CMD_M)GFHeader->Cmd;
|
||||
#endif
|
||||
/**
|
||||
*******************************************************************************
|
||||
** \brief 接收网关数据状态机
|
||||
** \brief 接收网关数据状态机
|
||||
**
|
||||
** \param 无
|
||||
** \param 无
|
||||
**
|
||||
** \retval 无
|
||||
** \retval 无
|
||||
******************************************************************************/
|
||||
void GwRevLoopHandler(void)
|
||||
{
|
||||
@@ -1686,8 +1686,8 @@ void GwRevLoopHandler(void)
|
||||
SGCP.Dev485Addr = 0;
|
||||
memset(&SGCP.Dev485Addrs, NULL, sizeof(SGCP.Dev485Addrs));
|
||||
memset(&SGCP.DeviceMAC, NULL, sizeof(SGCP.DeviceMAC));
|
||||
SGCP.Dev485Addrs[SGCP.DeviceN] = SGCP.Dev485Addr;//主设备485
|
||||
memcpy(SGCP.DeviceMAC[SGCP.DeviceN], LocalMAC, sizeof(LocalMAC));//主设备MAC
|
||||
SGCP.Dev485Addrs[SGCP.DeviceN] = SGCP.Dev485Addr;//主设备485
|
||||
memcpy(SGCP.DeviceMAC[SGCP.DeviceN], LocalMAC, sizeof(LocalMAC));//主设备MAC
|
||||
DBG_LOG("Master Device MAC:%02X %02X %02X %02X %02X %02X\r\n",
|
||||
SGCP.DeviceMAC[SGCP.DeviceN][0],SGCP.DeviceMAC[SGCP.DeviceN][1],SGCP.DeviceMAC[SGCP.DeviceN][2],
|
||||
SGCP.DeviceMAC[SGCP.DeviceN][3],SGCP.DeviceMAC[SGCP.DeviceN][4],SGCP.DeviceMAC[SGCP.DeviceN][5]);
|
||||
@@ -1714,8 +1714,8 @@ void GwRevLoopHandler(void)
|
||||
if(SGCP.LoginOk == true)
|
||||
{
|
||||
DBG_LOG("Login Ok!\r\n");
|
||||
/*注册后传感器需立即更新数据*/
|
||||
SGCP.TimingAcquisition = true;//采集新的传感器数据
|
||||
/*注册后传感器需立即更新数据*/
|
||||
SGCP.TimingAcquisition = true;//采集新的传感器数据
|
||||
}
|
||||
if(SGCP.LoginOk == false)
|
||||
{
|
||||
@@ -1738,7 +1738,7 @@ void GwRevLoopHandler(void)
|
||||
ToGWCaliRes(SGCP.MasterCaliOk);
|
||||
DBG_LOG("Alone Cali Ok!\r\n");
|
||||
}
|
||||
SGCP.TimingAcquisition = true;//采集新的传感器数据
|
||||
SGCP.TimingAcquisition = true;//采集新的传感器数据
|
||||
SGCP.GWStatus = GW_STATUS_IDLE;
|
||||
break;}
|
||||
|
||||
@@ -1753,7 +1753,7 @@ void GwRevLoopHandler(void)
|
||||
SGCP.DevData.LaserTracing.MasterDev.BatLevel = 0x00;
|
||||
#endif
|
||||
#if (SGCP_SELECT == 1 || SGCP_SELECT == 2)
|
||||
SX1276LoCalcRssiSnr(&SGCP.DevData.LaserTracing.MasterDev.RSSI, &SGCP.DevData.LaserTracing.MasterDev.Nsr);//获取信号强度
|
||||
SX1276LoCalcRssiSnr(&SGCP.DevData.LaserTracing.MasterDev.RSSI, &SGCP.DevData.LaserTracing.MasterDev.Nsr);//获取信号强度
|
||||
#else
|
||||
SGCP.DevData.LaserTracing.MasterDev.RSSI = 0x00;
|
||||
SGCP.DevData.LaserTracing.MasterDev.Nsr = 0x00;
|
||||
@@ -1774,8 +1774,8 @@ void GwRevLoopHandler(void)
|
||||
}
|
||||
ToGWReadDataRes(SGCP.DeviceData);
|
||||
DBG_LOG("Upload data Ok!\r\n");
|
||||
/*上传完数据后传感器需立即更新数据*/
|
||||
SGCP.TimingAcquisition = true;//采集新的传感器数据
|
||||
/*上传完数据后传感器需立即更新数据*/
|
||||
SGCP.TimingAcquisition = true;//采集新的传感器数据
|
||||
SGCP.GWStatus = GW_STATUS_IDLE;
|
||||
break;}
|
||||
|
||||
@@ -1791,7 +1791,7 @@ void GwRevLoopHandler(void)
|
||||
ToGWSetColTimeRes(true);
|
||||
DBG_LOG("Alone CollectInterval Set as %04d\r\n",0x00, App.Para.Layout.CollectTime);
|
||||
}
|
||||
/*GWRevHandler函数中已经缓存了接收到的采集时间间隔*/
|
||||
/*GWRevHandler函数中已经缓存了接收到的采集时间间隔*/
|
||||
SGCP.GWStatus = GW_STATUS_IDLE;
|
||||
break;}
|
||||
|
||||
@@ -1807,7 +1807,7 @@ void GwRevLoopHandler(void)
|
||||
ToGWSyncTimeRes(true);
|
||||
DBG_LOG("Alone time synchronization %08d\r\n",App.Para.Layout.TimeStamp);
|
||||
}
|
||||
/*GWRevHandler函数中已经同步了接收到的时间戳*/
|
||||
/*GWRevHandler函数中已经同步了接收到的时间戳*/
|
||||
SGCP.GWStatus = GW_STATUS_IDLE;
|
||||
break;}
|
||||
|
||||
@@ -1847,8 +1847,8 @@ void GwRevLoopHandler(void)
|
||||
if(SGCP.UploadOk == true)
|
||||
{
|
||||
DBG_LOG("\r\nUpload data ok!\r\n");
|
||||
/*上传完数据后传感器需立即更新数据*/
|
||||
SGCP.TimingAcquisition = true;//采集新的传感器数据
|
||||
/*上传完数据后传感器需立即更新数据*/
|
||||
SGCP.TimingAcquisition = true;//采集新的传感器数据
|
||||
}
|
||||
else if(SGCP.UploadOk == false)
|
||||
{
|
||||
@@ -1907,30 +1907,30 @@ void GwRevLoopHandler(void)
|
||||
}
|
||||
}
|
||||
|
||||
/* 中断回调函数 */
|
||||
/* 中断回调函数 */
|
||||
/*****************************************************************************************
|
||||
* 函数名称: LORA_RxCallBack
|
||||
* 功能描述: Lora数据接收函数
|
||||
* 参 数: *rBuff,接收到的字符串
|
||||
rlen,接收到的字符串长度
|
||||
* 返 回 值: 无
|
||||
* 函数名称: LORA_RxCallBack
|
||||
* 功能描述: Lora数据接收函数
|
||||
* 参 数: *rBuff,接收到的字符串
|
||||
rlen,接收到的字符串长度
|
||||
* 返 回 值: 无
|
||||
*****************************************************************************************/
|
||||
void LORA_RxCallBack(uint8_t *rBuff, uint8_t rlen)
|
||||
{
|
||||
if (rlen > 0 && rBuff[0] == 0x7B && memcmp(&rBuff[7],&LocalMAC[0],6) == 0) // 如果接收到了数据,并且设备地址相同则处理接收到的数据
|
||||
if (rlen > 0 && rBuff[0] == 0x7B && memcmp(&rBuff[7],&LocalMAC[0],6) == 0) // 如果接收到了数据,并且设备地址相同则处理接收到的数据
|
||||
{
|
||||
//< 处理接收到的数据
|
||||
//< 处理接收到的数据
|
||||
memcpy(SGCP.GatewayBuff, rBuff, rlen);
|
||||
SGCP.GatewayBuffLen = rlen;
|
||||
GWRevHandler();//网关数据接收处理
|
||||
GWRevHandler();//网关数据接收处理
|
||||
}
|
||||
}
|
||||
|
||||
/*****************************************************************************************
|
||||
* 函数名称: LPUartRx_CallBack
|
||||
* 功能描述: 低功耗串口数据接收函数
|
||||
* 参 数: rData,接收到的字节
|
||||
* 返 回 值: 无
|
||||
* 函数名称: LPUartRx_CallBack
|
||||
* 功能描述: 低功耗串口数据接收函数
|
||||
* 参 数: rData,接收到的字节
|
||||
* 返 回 值: 无
|
||||
*****************************************************************************************/
|
||||
void LPUartRx_CallBack(uint8_t rData)
|
||||
{
|
||||
@@ -1957,7 +1957,7 @@ void LPUartRx_CallBack(uint8_t rData)
|
||||
if(SGCP.GWRS485Rx.RxLen == 15) {
|
||||
SGCP.GWRS485Rx.rPayLen |= (rData << 8);
|
||||
}
|
||||
if(SGCP.GWRS485Rx.rPayLen > 10) { //大于最大负载长度,认为错误
|
||||
if(SGCP.GWRS485Rx.rPayLen > 10) { //大于最大负载长度,认为错误
|
||||
SGCP.GWRS485Rx.HeaderFrame = false;
|
||||
return;
|
||||
}
|
||||
@@ -1970,7 +1970,7 @@ void LPUartRx_CallBack(uint8_t rData)
|
||||
|
||||
memcpy(SGCP.GatewayBuff, SGCP.GWRS485Rx.RxBuff, SGCP.GWRS485Rx.RxLen);
|
||||
SGCP.GatewayBuffLen = SGCP.GWRS485Rx.RxLen;
|
||||
if(SGCP.GWRS485Rx.RxBuff[0] == 0x7B) GWRevHandler();//网关数据接收处理
|
||||
if(SGCP.GWRS485Rx.RxBuff[0] == 0x7B) GWRevHandler();//网关数据接收处理
|
||||
}
|
||||
}
|
||||
if(SGCP.GWRS485Rx.RxBuff[0] == 0x7D)
|
||||
@@ -1986,17 +1986,17 @@ void LPUartRx_CallBack(uint8_t rData)
|
||||
|
||||
memcpy(SGCP.InsideBuff, SGCP.GWRS485Rx.RxBuff, SGCP.GWRS485Rx.RxLen);
|
||||
SGCP.InsideBuffLen = SGCP.GWRS485Rx.RxLen;
|
||||
if(SGCP.GWRS485Rx.RxBuff[0] == 0x7D) InRevHandler();//内部指令
|
||||
if(SGCP.GWRS485Rx.RxBuff[0] == 0x7D) InRevHandler();//内部指令
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*****************************************************************************************
|
||||
* 函数名称: Uart1Rx_CallBack
|
||||
* 功能描述: 串口1数据接收函数
|
||||
* 参 数: rData,接收到的字节
|
||||
* 返 回 值: 无
|
||||
* 函数名称: Uart1Rx_CallBack
|
||||
* 功能描述: 串口1数据接收函数
|
||||
* 参 数: rData,接收到的字节
|
||||
* 返 回 值: 无
|
||||
*****************************************************************************************/
|
||||
void Uart1Rx_CallBack(uint8_t rData)
|
||||
{
|
||||
@@ -2014,7 +2014,7 @@ void Uart1Rx_CallBack(uint8_t rData)
|
||||
// }
|
||||
// else {
|
||||
// if(SGCP.SDRS485Rx.RxLen == 3) {
|
||||
// if(rData > 36) { //大于最大负载长度,认为错误
|
||||
// if(rData > 36) { //大于最大负载长度,认为错误
|
||||
// SGCP.SDRS485Rx.HeaderFrame = false;
|
||||
// return;
|
||||
// }
|
||||
@@ -2029,20 +2029,20 @@ void Uart1Rx_CallBack(uint8_t rData)
|
||||
|
||||
// memcpy(SGCP.SubsetBuff, SGCP.SDRS485Rx.RxBuff, SGCP.SDRS485Rx.RxLen);
|
||||
// SGCP.SubsetBuffLen = SGCP.SDRS485Rx.RxLen;
|
||||
// if(SGCP.SDRS485Rx.RxBuff[0] == 0x7C) SGCP.Subset_IRQ_Status = true;//子设备串口中断
|
||||
// if(SGCP.SDRS485Rx.RxBuff[0] == 0x7C) SGCP.Subset_IRQ_Status = true;//子设备串口中断
|
||||
// }
|
||||
// }
|
||||
}
|
||||
#endif
|
||||
|
||||
#if (SGCP_SELECT == 2)//本机为单个子设备
|
||||
#if (SGCP_SELECT == 2)//本机为单个子设备
|
||||
/**
|
||||
*******************************************************************************
|
||||
** \brief 接收主设备数据状态机
|
||||
** \brief 接收主设备数据状态机
|
||||
**
|
||||
** \param 无
|
||||
** \param 无
|
||||
**
|
||||
** \retval 无
|
||||
** \retval 无
|
||||
******************************************************************************/
|
||||
void MasRevLoopHandler(void)
|
||||
{
|
||||
@@ -2063,7 +2063,7 @@ void MasRevLoopHandler(void)
|
||||
ToMDCaliRes(App.Para.Layout.RS485Addr, SGCP.SubsetCaliOk);
|
||||
DBG_LOG("Alone Cail!\r\n");
|
||||
}
|
||||
SGCP.TimingAcquisition = true;//采集新的传感器数据
|
||||
SGCP.TimingAcquisition = true;//采集新的传感器数据
|
||||
SGCP.MasStatus = MAS_STATUS_IDLE;
|
||||
break;}
|
||||
|
||||
@@ -2082,7 +2082,7 @@ void MasRevLoopHandler(void)
|
||||
|
||||
ToMDReadDataRes(App.Para.Layout.RS485Addr, SGCP.DeviceData, SGCP.DeviceDataLen);
|
||||
DBG_LOG("Upload Sensor Data Ok!\r\n");
|
||||
SGCP.TimingAcquisition = true;//采集新的传感器数据
|
||||
SGCP.TimingAcquisition = true;//采集新的传感器数据
|
||||
SGCP.MasStatus = MAS_STATUS_IDLE;
|
||||
break;}
|
||||
|
||||
@@ -2125,30 +2125,30 @@ void MasRevLoopHandler(void)
|
||||
break;}
|
||||
}
|
||||
}
|
||||
/* 中断回调函数 */
|
||||
/* 中断回调函数 */
|
||||
/*****************************************************************************************
|
||||
* 函数名称: LORA_RxCallBack
|
||||
* 功能描述: Lora数据接收函数
|
||||
* 参 数: *rBuff,接收到的字符串
|
||||
rlen,接收到的字符串长度
|
||||
* 返 回 值: 无
|
||||
* 函数名称: LORA_RxCallBack
|
||||
* 功能描述: Lora数据接收函数
|
||||
* 参 数: *rBuff,接收到的字符串
|
||||
rlen,接收到的字符串长度
|
||||
* 返 回 值: 无
|
||||
*****************************************************************************************/
|
||||
void LORA_RxCallBack(uint8_t *rBuff, uint8_t rlen)
|
||||
{
|
||||
// if (rlen > 0 && rBuff[0] == 0x7C && memcmp(&rBuff[7],&Comm_DevAddr[0],6) == 0) // 如果接收到了数据,并且设备地址相同则处理接收到的数据
|
||||
// if (rlen > 0 && rBuff[0] == 0x7C && memcmp(&rBuff[7],&Comm_DevAddr[0],6) == 0) // 如果接收到了数据,并且设备地址相同则处理接收到的数据
|
||||
// {
|
||||
// //< 处理接收到的数据
|
||||
// //< 处理接收到的数据
|
||||
// memcpy(App.UpperBuff, rBuff, rlen);
|
||||
// App.UpperBuffLen = rlen;
|
||||
// App.Upper_IRQ_Status = true;//上位机串口中断
|
||||
// App.Upper_IRQ_Status = true;//上位机串口中断
|
||||
// }
|
||||
}
|
||||
|
||||
/*****************************************************************************************
|
||||
* 函数名称: LPUartRx_CallBack
|
||||
* 功能描述: 低功耗串口数据接收函数
|
||||
* 参 数: rData,接收到的字节
|
||||
* 返 回 值: 无
|
||||
* 函数名称: LPUartRx_CallBack
|
||||
* 功能描述: 低功耗串口数据接收函数
|
||||
* 参 数: rData,接收到的字节
|
||||
* 返 回 值: 无
|
||||
*****************************************************************************************/
|
||||
void LPUartRx_CallBack(uint8_t rData)
|
||||
{
|
||||
@@ -2170,7 +2170,7 @@ void LPUartRx_CallBack(uint8_t rData)
|
||||
if(SGCP.SDRS485Rx.RxBuff[0] == 0x7C)
|
||||
{
|
||||
if(SGCP.SDRS485Rx.RxLen == 3) {
|
||||
if(rData > 36) { //大于最大负载长度,认为错误
|
||||
if(rData > 36) { //大于最大负载长度,认为错误
|
||||
SGCP.SDRS485Rx.HeaderFrame = false;
|
||||
return;
|
||||
}
|
||||
@@ -2185,7 +2185,7 @@ void LPUartRx_CallBack(uint8_t rData)
|
||||
|
||||
memcpy(SGCP.SubsetBuff, SGCP.SDRS485Rx.RxBuff, SGCP.SDRS485Rx.RxLen);
|
||||
SGCP.SubsetBuffLen = SGCP.SDRS485Rx.RxLen;
|
||||
if(SGCP.SDRS485Rx.RxBuff[0] == 0x7C) MasRevHandler();//子设备串口中断
|
||||
if(SGCP.SDRS485Rx.RxBuff[0] == 0x7C) MasRevHandler();//子设备串口中断
|
||||
}
|
||||
}
|
||||
if(SGCP.SDRS485Rx.RxBuff[0] == 0x7D)
|
||||
@@ -2201,16 +2201,16 @@ void LPUartRx_CallBack(uint8_t rData)
|
||||
|
||||
memcpy(SGCP.InsideBuff, SGCP.SDRS485Rx.RxBuff, SGCP.SDRS485Rx.RxLen);
|
||||
SGCP.InsideBuffLen = SGCP.SDRS485Rx.RxLen;
|
||||
if(SGCP.SDRS485Rx.RxBuff[0] == 0x7D) InRevHandler();//内部指令
|
||||
if(SGCP.SDRS485Rx.RxBuff[0] == 0x7D) InRevHandler();//内部指令
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
/*****************************************************************************************
|
||||
* 函数名称: Uart1Rx_CallBack
|
||||
* 功能描述: 串口1数据接收函数
|
||||
* 参 数: rData,接收到的字节
|
||||
* 返 回 值: 无
|
||||
* 函数名称: Uart1Rx_CallBack
|
||||
* 功能描述: 串口1数据接收函数
|
||||
* 参 数: rData,接收到的字节
|
||||
* 返 回 值: 无
|
||||
*****************************************************************************************/
|
||||
void Uart1Rx_CallBack(uint8_t rData)
|
||||
{
|
||||
@@ -2228,7 +2228,7 @@ void Uart1Rx_CallBack(uint8_t rData)
|
||||
// }
|
||||
// else {
|
||||
// if(SGCP.SDRS485Rx.RxLen == 3) {
|
||||
// if(rData > 36) { //大于最大负载长度,认为错误
|
||||
// if(rData > 36) { //大于最大负载长度,认为错误
|
||||
// SGCP.SDRS485Rx.HeaderFrame = false;
|
||||
// return;
|
||||
// }
|
||||
@@ -2243,7 +2243,7 @@ void Uart1Rx_CallBack(uint8_t rData)
|
||||
|
||||
// memcpy(SGCP.SubsetBuff, SGCP.SDRS485Rx.RxBuff, SGCP.SDRS485Rx.RxLen);
|
||||
// SGCP.SubsetBuffLen = SGCP.SDRS485Rx.RxLen;
|
||||
// if(SGCP.SDRS485Rx.RxBuff[0] == 0x7C) SGCP.Subset_IRQ_Status = true;//子设备串口中断
|
||||
// if(SGCP.SDRS485Rx.RxBuff[0] == 0x7C) SGCP.Subset_IRQ_Status = true;//子设备串口中断
|
||||
// }
|
||||
// }
|
||||
}
|
||||
@@ -2252,11 +2252,11 @@ void Uart1Rx_CallBack(uint8_t rData)
|
||||
|
||||
/**
|
||||
*******************************************************************************
|
||||
** \brief 内部指令数据状态机
|
||||
** \brief 内部指令数据状态机
|
||||
**
|
||||
** \param 无
|
||||
** \param 无
|
||||
**
|
||||
** \retval 无
|
||||
** \retval 无
|
||||
******************************************************************************/
|
||||
void InRevLoopHandler(void)
|
||||
{
|
||||
@@ -2273,17 +2273,17 @@ void InRevLoopHandler(void)
|
||||
break;}
|
||||
|
||||
case IN_STATUS_UPDATE:{
|
||||
Update(SGCP.InsidePay);//固件更新.
|
||||
Update(SGCP.InsidePay);//固件更新.
|
||||
memset(SGCP.InsidePay, NULL, sizeof(SGCP.InsidePay));
|
||||
SGCP.InStatus = IN_STATUS_IDLE;
|
||||
break;}
|
||||
}
|
||||
}
|
||||
/*****************************************************************************************
|
||||
* 函数名称: SGCP1mSRoutine
|
||||
* 功能描述: SGCP时基循环处理函数
|
||||
* 参 数: 无
|
||||
* 返 回 值: 无
|
||||
* 函数名称: SGCP1mSRoutine
|
||||
* 功能描述: SGCP时基循环处理函数
|
||||
* 参 数: 无
|
||||
* 返 回 值: 无
|
||||
*****************************************************************************************/
|
||||
void SGCP1mSRoutine(void)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user