0801,0802,pandora 底板 默认启用定时策略
This commit is contained in:
parent
97727ccc5d
commit
79cdde44a1
|
@ -192,7 +192,7 @@ void AP0801::InitClient()
|
|||
Client = tc;
|
||||
|
||||
tc->MaxNotActive = 480000;
|
||||
|
||||
InitAlarm();
|
||||
// 重启
|
||||
tc->Register("Gateway/Restart", &TokenClient::InvokeRestart, tc);
|
||||
// 重置
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
#include "..\App\FlushPort.h"
|
||||
|
||||
AP0802 * AP0802::Current = nullptr;
|
||||
static TokenClient* Client = nullptr; // 令牌客户端
|
||||
|
||||
AP0802::AP0802()
|
||||
{
|
||||
|
@ -110,6 +111,35 @@ void ButtonOnpress(InputPort* port, bool down, void* param)
|
|||
AP0802::OnLongPress(port, down);
|
||||
}
|
||||
|
||||
static void OnAlarm(AlarmItem& item)
|
||||
{
|
||||
// 1长度n + 1类型 + 1偏移 + (n-2)数据
|
||||
auto bs = item.GetData();
|
||||
debug_printf("OnAlarm ");
|
||||
bs.Show(true);
|
||||
|
||||
if (bs[1] == 0x06)
|
||||
{
|
||||
auto client = Client;
|
||||
client->Store.Write(bs[2], bs.Sub(3, bs[0] - 2));
|
||||
|
||||
// 主动上报状态
|
||||
client->ReportAsync(bs[2], bs[0] - 2);
|
||||
}
|
||||
}
|
||||
|
||||
void AP0802::InitAlarm()
|
||||
{
|
||||
if (!Client)return;
|
||||
|
||||
if (!AlarmObj)AlarmObj = new Alarm();
|
||||
Client->Register("Policy/AlarmSet", &Alarm::Set, AlarmObj);
|
||||
Client->Register("Policy/AlarmGet", &Alarm::Get, AlarmObj);
|
||||
|
||||
AlarmObj->OnAlarm = OnAlarm;
|
||||
AlarmObj->Start();
|
||||
}
|
||||
|
||||
void AP0802::InitButtons(const Delegate2<InputPort&, bool>& press)
|
||||
{
|
||||
for (int i = 0; i < ButtonPins.Count(); i++)
|
||||
|
@ -175,6 +205,8 @@ void AP0802::InitClient()
|
|||
|
||||
// 需要使用本地连接
|
||||
//client->UseLocal();
|
||||
//配置闹钟
|
||||
InitAlarm();
|
||||
|
||||
Client = client;
|
||||
Client->MaxNotActive = 480000;
|
||||
|
@ -475,7 +507,7 @@ void AP0802::OnLongPress(InputPort* port, bool down)
|
|||
debug_printf("Press P%c%d Time=%d ms\r\n", _PIN_NAME(port->_Pin), port->PressTime);
|
||||
|
||||
ushort time = port->PressTime;
|
||||
auto client = AP0802::Current->Client;
|
||||
auto client =Client;
|
||||
if (time >= 5000 && time < 10000)
|
||||
{
|
||||
if (client) client->Reset("按键重置");
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
#include "TokenNet\TokenClient.h"
|
||||
#include "Device\Port.h"
|
||||
#include "App\Alarm.h"
|
||||
|
||||
#define HardwareVerFist 0
|
||||
#define HardwareVerAt160712 1
|
||||
|
@ -25,7 +26,6 @@ public:
|
|||
|
||||
ISocketHost* Host; // 网络主机
|
||||
ISocketHost* HostAP; // 网络主机
|
||||
TokenClient* Client; // 令牌客户端
|
||||
byte HardwareVer;
|
||||
|
||||
AP0802();
|
||||
|
@ -37,7 +37,7 @@ public:
|
|||
// 设置数据区
|
||||
void* InitData(void* data, int size);
|
||||
void Register(int index, IDataPort& dp);
|
||||
|
||||
void InitAlarm();
|
||||
void InitLeds();
|
||||
void InitButtons(const Delegate2<InputPort&, bool>& press);
|
||||
void InitPort();
|
||||
|
@ -65,7 +65,7 @@ private:
|
|||
bool NetBra;
|
||||
bool EspMaster;
|
||||
bool EspBra;
|
||||
|
||||
Alarm* AlarmObj;
|
||||
// uint Flag; // 内部使用 标识Controller创建情况
|
||||
|
||||
void OpenClient(ISocketHost& host);
|
||||
|
|
|
@ -102,6 +102,7 @@ void PA0903::InitClient()
|
|||
|
||||
Client = client;
|
||||
|
||||
InitAlarm();
|
||||
// 重启
|
||||
Client->Register("Gateway/Restart", &TokenClient::InvokeRestart, Client);
|
||||
// 重置
|
||||
|
|
Loading…
Reference in New Issue