本地计数。不同方向有自己的累计数

This commit is contained in:
大石头X2 2017-03-08 10:24:11 +08:00
parent 3e5013f00d
commit 09430efa68
2 changed files with 9 additions and 5 deletions

View File

@ -83,6 +83,7 @@ void Raster::OnInit()
Filter = false;
Count = 0;
Count2 = 0;
}
bool Raster::Open()
@ -167,10 +168,10 @@ void Raster::OnHandlerB(PulsePort& raster)
}
// 已经匹配一对通过事件
void Raster::LineReport()
{
auto size = sizeof(RasTriData);
Count++;
Stop = true;
// 构造当前数据
RasTriData data;
@ -179,18 +180,21 @@ void Raster::LineReport()
data.TimeA = FlagA.Time;
data.TimeB = FlagB.Time;
debug_printf("data获得波长%d\r\n", data.TimeB);
data.Count = Count;
// 时间差加方向
if (FlagA.Start > FlagB.Start)
{
data.Direction = 0x00;
data.Time = (ushort)(FlagA.Start - FlagB.Start);
Count++;
data.Count = Count;
}
else
{
data.Direction = 0x01;
data.Time = (ushort)(FlagB.Start - FlagA.Start);
Count2++;
data.Count = Count2;
}
Buffer bs(&data, size);
@ -199,7 +203,7 @@ void Raster::LineReport()
Report();
_Cache->Write(bs);
debug_printf("写入%d\r\n", Count);
debug_printf("写入%d\r\n", data.Count);
//写完数据后标致清零
FlagA.Count = FlagB.Count = 0;
@ -220,5 +224,4 @@ void Raster::Report()
//委托执行时间太久了
OnReport(cache);
}

View File

@ -16,7 +16,7 @@ struct RasTriData
ushort TimeA; // 光栅A遮挡时间
ushort TimeB; // 光栅B遮挡时间
ushort Count; // 本地计数
ushort Count; // 本地计数。不同方向有自己的累计数
byte Size() { return sizeof(this[0]); }
};
@ -64,6 +64,7 @@ private:
bool Stop = false; //
ushort Count;
ushort Count2;
void OnInit();
void OnHandlerA(PulsePort& raster);