|
@@ -5,7 +5,7 @@ import time
|
|
|
import async_communication as CM
|
|
|
import message_pb2 as message
|
|
|
import google.protobuf.text_format as tf
|
|
|
-
|
|
|
+import asyncio
|
|
|
MeasureStatu={"ok":0,"无数据":1,"噪声":2,"超界":3}
|
|
|
ArrowType={0:"正确图片",0x01:"向后调整",0x02:"向前调整",0x04:"向右调整",0x08:"向左调整"
|
|
|
,0x10:"左前调整",0x06:"右前调整",0x09:"右后调整",0x05:"左后调整"}
|
|
@@ -29,26 +29,21 @@ class EntranceChecker(threading.Thread):
|
|
|
def receive_measureInfo(self,statu):
|
|
|
self.measure_statu=statu
|
|
|
|
|
|
- def exit_isOK(self, pick_table):
|
|
|
+ async def exit_isOK(self, pick_table):
|
|
|
if pick_table.primary_key is None:
|
|
|
pick_table.statu.execute_statu = message.eError
|
|
|
pick_table.statu.statu_description = " 唯一码不能为空!"
|
|
|
return tf.MessageToString(pick_table, as_utf8=True)
|
|
|
return tf.MessageToString(pick_table, as_utf8=True)
|
|
|
|
|
|
- def entrance_isOK(self,park_table):
|
|
|
+ async def entrance_isOK(self,park_table):
|
|
|
park = message.park_table()
|
|
|
park.CopyFrom(park_table)
|
|
|
measure_info = message.measure_info()
|
|
|
- if self.measure_statu.statu is not None and self.measure_statu.timeout() is False:
|
|
|
- tf.Parse(self.measure_statu.statu, measure_info)
|
|
|
- else:
|
|
|
- park.statu.execute_statu = message.eError
|
|
|
- park.statu.statu_description = "服务器超时,请联系管理员!"
|
|
|
- return tf.MessageToString(park, as_utf8=True)
|
|
|
+ tf.Parse(self.measure_statu.statu, measure_info)
|
|
|
tm = time.time()
|
|
|
if self.error_str == 'OK':
|
|
|
- while time.time() - tm < 1:
|
|
|
+ while time.time() - tm < 2:
|
|
|
if measure_info.border_statu == MeasureStatu["ok"] and measure_info.ground_status == 0:
|
|
|
park.statu.execute_statu = message.eNormal
|
|
|
park.statu.statu_description = self.error_str
|
|
@@ -63,13 +58,23 @@ class EntranceChecker(threading.Thread):
|
|
|
park.entrance_measure_info.height = 1.90
|
|
|
return tf.MessageToString(park, as_utf8=True)
|
|
|
else:
|
|
|
+ await asyncio.sleep(0.1)
|
|
|
+ #time.sleep(0.1)
|
|
|
if self.measure_statu.statu is not None and self.measure_statu.timeout() is False:
|
|
|
- tf.Parse(self.measure_statu.statu, measure_info)
|
|
|
- time.sleep(0.05)
|
|
|
+ try:
|
|
|
+ measure_info = message.measure_info()
|
|
|
+ tf.Parse(self.measure_statu.statu, measure_info)
|
|
|
+ print("check measure info again:",measure_info)
|
|
|
+ except:
|
|
|
+ print("parse exception:\n"+self.measure_statu.statu)
|
|
|
+
|
|
|
+
|
|
|
+ print(measure_info)
|
|
|
park.statu.execute_statu = message.eError
|
|
|
park.statu.statu_description = "请检查入口处是否有人员逗留!"
|
|
|
return tf.MessageToString(park, as_utf8=True)
|
|
|
else:
|
|
|
+ print(measure_info)
|
|
|
park.statu.execute_statu = message.eError
|
|
|
park.statu.statu_description = self.error_str
|
|
|
return tf.MessageToString(park, as_utf8=True)
|