123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading;
- using System.Threading.Tasks;
- using chutian_parking_terminal.data_buffer;
- using tool;
- namespace chutian_parking_terminal.front_terminal_manager
- {
- //终端管理 检查数据缓存
- class Front_terminal_manager : Singleton<Front_terminal_manager>
- {
- //状态枚举
- public enum front_terminal_manager_statu
- {
- TERMINAL_MANAGER_UNKNOW = 0,//未知
- TERMINAL_MANAGER_INIT = 1,//初始化
- TERMINAL_MANAGER_READY = 2,//准备
- TERMINAL_MANAGER_ERROR = 3,//错误
- };
- private Front_terminal_manager()
- {
- m_check_data_buffer_condition = false;
- m_check_data_buffer_thread = new Thread(check_data_buffer_thread);
- m_ground_radar_data_bufferr = new Ground_radar_data_buffer();
- m_parkspace_status_data_buffer = new Parkspace_status_data_buffer();
- m_singlechip_data_buffer = new Singlechip_data_buffer();
- m_tip_data_bufferr = new Tip_data_buffer();
- m_unnormalized_module_data_buffer = new Unnormalized_module_data_buffer();
- m_event_exit = new EventWaitHandle(false, EventResetMode.ManualReset);
- }
- /// <summary>
- /// 初始化(取车单片机连接数)
- /// </summary>
- public void front_terminal_manager_init(int t_connect_count)
- {
- m_statu = front_terminal_manager_statu.TERMINAL_MANAGER_INIT;
- m_ground_radar_data_bufferr.ground_radar_data_buffer_init();
- m_singlechip_data_buffer.singlechip_data_buffer_init(t_connect_count);
- m_check_data_buffer_thread.Start();
- }
- /// <summary>
- /// 反初始化
- /// </summary>
- /// <param name="t_connect_count"></param>
- public void front_terminal_manager_uninit()
- {
- m_statu = front_terminal_manager_statu.TERMINAL_MANAGER_UNKNOW;
- m_check_data_buffer_condition = false;
- m_check_data_buffer_thread.Abort();
- }
- /// <summary>
- /// 检查数据缓存线程函数
- /// </summary>
- public void check_data_buffer_thread()
- {
- while (m_check_data_buffer_condition && !m_event_exit.WaitOne(1))
- {
- if (m_check_data_buffer_condition)
- {
-
- }
- }
- }
- /// <summary>
- /// 检查状态
- /// </summary>
- /// <returns></returns>
- public bool check_statu()
- {
- if (m_statu == front_terminal_manager_statu.TERMINAL_MANAGER_READY)
- {
- return true;
- }
- return false;
- }
- /// <summary>
- /// 获取雷达数据
- /// </summary>
- /// <returns></returns>
- public Ground_radar_data_buffer get_ground_radar_data_buffer()
- {
- return m_ground_radar_data_bufferr;
- }
- /// <summary>
- /// 获取车位状态数据
- /// </summary>
- /// <returns></returns>
- public Parkspace_status_data_buffer get_parkspace_status_data_buffer()
- {
- return m_parkspace_status_data_buffer;
- }
- /// <summary>
- /// 获取单片机数据
- /// </summary>
- /// <returns></returns>
- public Singlechip_data_buffer get_singlechip_data_bufferr()
- {
- return m_singlechip_data_buffer;
- }
- /// <summary>
- /// 获取非标节点数据
- /// </summary>
- /// <returns></returns>
- public Unnormalized_module_data_buffer get_unnormalized_module_data_bufferr()
- {
- return m_unnormalized_module_data_buffer;
- }
- /// <summary>
- /// 获取提示消息数据
- /// </summary>
- /// <returns></returns>
- public Tip_data_buffer get_tip_data_buffer()
- {
- return m_tip_data_bufferr;
- }
- //检查数据缓存线程
- protected Thread m_check_data_buffer_thread;
- //数据缓存线程条件变量
- protected bool m_check_data_buffer_condition;
- //状态
- protected front_terminal_manager_statu m_statu;
- //雷达数据缓存
- protected Ground_radar_data_buffer m_ground_radar_data_bufferr;
- //车位状态数据缓存
- protected Parkspace_status_data_buffer m_parkspace_status_data_buffer;
- //单片机数据缓存
- protected Singlechip_data_buffer m_singlechip_data_buffer;
- //提示信息数据缓存
- protected Tip_data_buffer m_tip_data_bufferr;
- //非标节点数据缓存
- protected Unnormalized_module_data_buffer m_unnormalized_module_data_buffer;
- protected EventWaitHandle m_event_exit; //防止CPU卡死
- }
- }
|