Exemple #1
0
        private static void InitManagers()
        {
            var iBusBusy = Pin.TH3122SENSTA;
            var kBusBusy = Pin.K_BUS_TH3122SENSTA;

#if DEBUG || DebugOnRealDeviceOverFTDI
            iBusBusy = Cpu.Pin.GPIO_NONE;
            kBusBusy = Cpu.Pin.GPIO_NONE;
#endif

            string iBusComPort = Serial.COM1;
#if NETMF
            ISerialPort iBusPort = new SerialPortTH3122(iBusComPort, iBusBusy);
#endif
#if OnBoardMonitorEmulator
            ISerialPort iBusPort = new SerialPortTH3122(iBusComPort, iBusBusy, readBufferSize: ushort.MaxValue);
#endif
            Manager.Init(iBusPort);
            Logger.Debug("Manager inited");

            Manager.Instance.BeforeMessageReceived += Manager_BeforeMessageReceived;
            Manager.Instance.AfterMessageReceived  += Manager_AfterMessageReceived;
            Manager.Instance.BeforeMessageSent     += Manager_BeforeMessageSent;
            Manager.Instance.AfterMessageSent      += Manager_AfterMessageSent;

#if NETMF || (OnBoardMonitorEmulator && (DEBUG || DebugOnRealDeviceOverFTDI))
            string      kBusComPort = Serial.COM2;
            ISerialPort kBusPort    = new SerialPortTH3122(kBusComPort, kBusBusy);
            KBusManager.Init(kBusPort, ThreadPriority.Normal);
            Logger.Debug("KBusManager inited");

            KBusManager.Instance.AfterMessageReceived += KBusManager_AfterMessageReceived;
            KBusManager.Instance.AfterMessageSent     += KBusManager_AfterMessageSent;
#endif

#if NETMF || (OnBoardMonitorEmulator && DEBUG)
            //ISerialPort dBusPort = new SerialPortTH3122("COM4", Cpu.Pin.GPIO_NONE, writeBufferSize: 1); // d31, d33
            //dBusPort.AfterWriteDelay = 4;
            //DBusManager.Init(dBusPort, ThreadPriority.Highest);
            //Logger.Debug("DBusManager inited");

            //DBusManager.Instance.AfterMessageReceived += DBusManager_AfterMessageReceived;
            //DBusManager.Instance.AfterMessageSent += DBusManager_AfterMessageSent;
#endif


#if !NETMF && DebugOnRealDeviceOverFTDI
            if (!iBusPort.IsOpen)
            {
                iBusPort.Open();
            }
#endif
        }