Example #1
0
    // ------------------------------------------------------------------------
    // Invoked whenever the SerialController gameobject is deactivated.
    // It stops and destroys the thread that was reading from the serial device.
    // ------------------------------------------------------------------------
    void OnDisable()
    {
        // If there is a user-defined tear-down function, execute it before
        // closing the underlying COM port.
        if (userDefinedTearDownFunction != null)
        {
            userDefinedTearDownFunction();
        }

        // The serialThread reference should never be null at this point,
        // unless an Exception happened in the OnEnable(), in which case I've
        // no idea what face Unity will make.
        if (serialThread != null)
        {
            serialThread.RequestStop();
            serialThread = null;
        }

        // This reference shouldn't be null at this point anyway.
        if (thread != null)
        {
            thread.Join();
            thread = null;
        }
    }
Example #2
0
 // ------------------------------------------------------------------------
 // Invoked whenever the SerialController gameobject is activated.
 // It creates a new thread that tries to connect to the serial device
 // and start reading from it.
 // ------------------------------------------------------------------------
 void OnEnable()
 {
     serialThread = new SerialThreadASCIIProtocol(portName,
                                                  baudRate,
                                                  reconnectionDelay,
                                                  maxUnreadMessages);
     thread = new Thread(new ThreadStart(serialThread.RunForever));
     thread.Start();
 }