public static void Dispose() { UsbPort.Dispose(); SparcKeyboard.Dispose(); IrDAChannel.Dispose(); Lis3Lv02DMotionSensor.Dispose(); if (mProceesingThread != null) { mProceesingThread.Abort(); } }
public static void Init(Application.OS type) { if (mProceesingThread != null) { return; } mLastEventTime = DateTime.Now; if (StandbyTimeout == new TimeSpan()) { StandbyTimeout = TimeSpan.MaxValue; } switch (type) { case Application.OS.Linux: { //UsbPort.Init(); //UsbPort.OnConnect += UsbPort.MultiGadget.Start; //UsbPort.OnDisconnect += UsbPort.MultiGadget.Stop; //Console.WriteLine("HwInit"); UpdateTimeout(); //TouchSensor.Init(new FileStream(@"/dev/input/ts0", FileMode.Open)); TouchSensor.OnTouch += UpdateTimeout; //GpioKeyboard.Init(new FileStream("/dev/input/gpio-keys", FileMode.Open)); GpioKeyboard.OnUpdate += UpdateTimeout; SparcKeyboard.OnUpdate += UpdateTimeout; /* * SparcKeyboard.Init("/dev/ttySP1"); * SparcKeyboard.KeyToAscii = new int[]{'1', // auto * 'Q', * 'A', * 'L', // left * 'Z', * 'X', * 'C', * 'V', * 'B', * 'N', * 'R', // right * 'H', * 'Y', * '6' * }; */ //IrDAChannel.Init("/dev/ttySP2"); //Lis3Lv02DMotionSensor.Init(); Lis3Lv02DMotionSensor.OnMotion += HandDown; } break; case Application.OS.Windows: { SparcKeyboard.Init("COM7"); //IrDAChannel.Init("COM30"); } break; } mProceesingThread = new Thread(ThreadHandler); mProceesingThread.Start(); }