parent
f22cabc224
commit
dbb0a80ff8
|
@ -27,7 +27,7 @@ TinyMessage::TinyMessage(byte code) : Message(code)
|
||||||
Data = _Data;
|
Data = _Data;
|
||||||
|
|
||||||
// 如果地址不是8字节对齐,长整型操作会导致异常
|
// 如果地址不是8字节对齐,长整型操作会导致异常
|
||||||
memset(&Dest, 0, MinSize);
|
Buffer(&Dest, MinSize).Clear();
|
||||||
|
|
||||||
Checksum = 0;
|
Checksum = 0;
|
||||||
Crc = 0;
|
Crc = 0;
|
||||||
|
@ -240,7 +240,7 @@ TinyController::TinyController() : Controller()
|
||||||
QueueLength = 8;
|
QueueLength = 8;
|
||||||
|
|
||||||
// 默认屏蔽心跳日志
|
// 默认屏蔽心跳日志
|
||||||
ArrayZero(NoLogCodes);
|
Buffer(NoLogCodes, sizeof(NoLogCodes)).Clear();
|
||||||
NoLogCodes[0] = 0x03;
|
NoLogCodes[0] = 0x03;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -293,7 +293,7 @@ void TinyController::Open()
|
||||||
|
|
||||||
// 初始化发送队列
|
// 初始化发送队列
|
||||||
_Queue = new MessageNode[QueueLength];
|
_Queue = new MessageNode[QueueLength];
|
||||||
memset(_Queue, 0, QueueLength);
|
Buffer(_Queue, sizeof(_Queue)).Clear();
|
||||||
|
|
||||||
if(!_taskID)
|
if(!_taskID)
|
||||||
{
|
{
|
||||||
|
@ -302,9 +302,6 @@ void TinyController::Open()
|
||||||
Sys.SetTask(_taskID, false);
|
Sys.SetTask(_taskID, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
//memset(&Total, 0, sizeof(TinyStat));
|
|
||||||
//memset(&Last, 0, sizeof(TinyStat));
|
|
||||||
|
|
||||||
#if MSG_DEBUG
|
#if MSG_DEBUG
|
||||||
Sys.AddTask([](void* p){ return ((TinyController*)p)->ShowStat(); }, this, 1000, 15000, "微网统计");
|
Sys.AddTask([](void* p){ return ((TinyController*)p)->ShowStat(); }, this, 1000, 15000, "微网统计");
|
||||||
#endif
|
#endif
|
||||||
|
@ -848,22 +845,21 @@ void MessageNode::Set(const TinyMessage& msg, int msTimeout)
|
||||||
Length = ms.Position();
|
Length = ms.Position();
|
||||||
if(Length > 32) debug_printf("Length=%d \r\n", Length);
|
if(Length > 32) debug_printf("Length=%d \r\n", Length);
|
||||||
|
|
||||||
Mac[0] = 0;
|
Buffer mcs(Mac, ArrayLength(Mac));
|
||||||
|
mcs[0] = 0;
|
||||||
if(msg.State)
|
if(msg.State)
|
||||||
{
|
{
|
||||||
Mac[0] = 5;
|
mcs[0] = mcs.Length();
|
||||||
memcpy(&Mac[1], msg.State, 5);
|
mcs.Copy(1, msg.State, -1);
|
||||||
}
|
}
|
||||||
Seq = msg.Seq;
|
Seq = msg.Seq;
|
||||||
|
|
||||||
//debug_printf("Set 0x%08x \r\n", this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*================================ 环形队列 ================================*/
|
/*================================ 环形队列 ================================*/
|
||||||
RingQueue::RingQueue()
|
RingQueue::RingQueue()
|
||||||
{
|
{
|
||||||
Index = 0;
|
Index = 0;
|
||||||
ArrayZero(Arr);
|
Buffer(Arr, sizeof(Arr)).Clear();
|
||||||
Expired = 0;
|
Expired = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -897,7 +893,7 @@ bool RingQueue::Check(ushort item)
|
||||||
//msg_printf("环形队列过期,清空 \r\n");
|
//msg_printf("环形队列过期,清空 \r\n");
|
||||||
// 清空队列,重新开始
|
// 清空队列,重新开始
|
||||||
Index = 0;
|
Index = 0;
|
||||||
ArrayZero(Arr);
|
Buffer(Arr, sizeof(Arr)).Clear();
|
||||||
Expired = 0;
|
Expired = 0;
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
@ -914,12 +910,12 @@ TinyStat::TinyStat()
|
||||||
|
|
||||||
TinyStat& TinyStat::operator=(const TinyStat& ts)
|
TinyStat& TinyStat::operator=(const TinyStat& ts)
|
||||||
{
|
{
|
||||||
memcpy(this, &ts, sizeof(this[0]));
|
Buffer(this, sizeof(this[0])) = &ts;
|
||||||
|
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TinyStat::Clear()
|
void TinyStat::Clear()
|
||||||
{
|
{
|
||||||
memset(this, 0, sizeof(this[0]));
|
Buffer(this, sizeof(this[0])).Clear();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue