private UARTMode ColorModeToSensorMode(ColorMode mode) { UARTMode sensorMode = UARTMode.Mode0; switch (mode) { case ColorMode.Ambient: sensorMode = UARTMode.Mode1; break; case ColorMode.Color: sensorMode = UARTMode.Mode2; break; case ColorMode.Blue: sensorMode = UARTMode.Mode1; break; case ColorMode.Green: sensorMode = UARTMode.Mode0; //not supported by the EV3 use relection break; case ColorMode.Reflection: sensorMode = UARTMode.Mode0; break; } return(sensorMode); }
protected bool SetMode(UARTMode mode) { SetOperatingMode(mode); int status = WaitNonZeroStatus(WaitTimout); if ((status & UartDataReady) != 0 && (status & UartPortChanged) == 0) { return(true); } else { return(Initialise(mode)); } }
protected bool Initialise(UARTMode mode) { for (int i = 0; i < InitRetry; i++) { if (SensorManager.Instance.GetConnectionType(this.port) != ConnectionType.UART) { return(false); } if (InitUart(mode)) { return(true); } Reset(); } return(false); }
private ColorMode SensorModeToColorMode(UARTMode mode) { ColorMode colorMode = ColorMode.Reflection; switch (mode) { case UARTMode.Mode1: colorMode = ColorMode.Ambient; break; case UARTMode.Mode2: colorMode = ColorMode.Color; break; case UARTMode.Mode0: colorMode = ColorMode.Reflection; break; } return(colorMode); }
private bool InitUart(UARTMode mode) { for (int i = 0; i < SetUpRetry; i++) { byte status; if (SensorManager.Instance.GetConnectionType(this.port) != ConnectionType.UART) { return(false); } // now try and configure as a UART SetOperatingMode(mode); status = WaitNonZeroStatus(WaitTimout); while ((status & UartPortChanged) != 0) { //something change wait for it to become ready if (SensorManager.Instance.GetConnectionType(this.port) != ConnectionType.UART) { return(false); } ClearPortChanged(); System.Threading.Thread.Sleep(InitDelay); status = WaitNonZeroStatus(WaitTimout); if ((status & UartDataReady) != 0 && (status & UartPortChanged) == 0) { // device ready make sure it is now in the correct mode SetOperatingMode(mode); //status = WaitNonZeroStatus(WaitTimout); } } if ((status & UartDataReady) != 0 && (status & UartPortChanged) == 0) { return(true); } } return(false); }
private void SetOperatingMode(UARTMode mode) { SensorManager.Instance.SetUartOperatingMode(mode, this.port); this.uartMode = mode; }
private ColorMode SensorModeToColorMode (UARTMode mode) { ColorMode colorMode = ColorMode.Reflection; switch (mode) { case UARTMode.Mode1: colorMode = ColorMode.Ambient; break; case UARTMode.Mode2: colorMode = ColorMode.Color; break; case UARTMode.Mode0: colorMode = ColorMode.Reflection; break; case UARTMode.Mode4: colorMode = ColorMode.RGB; break; } return colorMode; }
public void SetUartOperatingMode(UARTMode mode, SensorPort port) { unchecked { UartDevice.IoCtl((Int32)UartIOSetConnection, SetupCommand(port, ConnectionType.UART, SensorType.None, (byte)mode)); } }
private bool InitUart (UARTMode mode) { for (int i = 0; i < SetUpRetry; i++) { byte status; if ( SensorManager.Instance.GetConnectionType (this.port) != ConnectionType.UART) return false; // now try and configure as a UART SetOperatingMode (mode); status = WaitNonZeroStatus (WaitTimout); while ((status & UartPortChanged) != 0) { //something change wait for it to become ready if ( SensorManager.Instance.GetConnectionType (this.port) != ConnectionType.UART) return false; ClearPortChanged (); System.Threading.Thread.Sleep (InitDelay); status = WaitNonZeroStatus (WaitTimout); if ((status & UartDataReady) != 0 && (status & UartPortChanged) == 0) { // device ready make sure it is now in the correct mode SetOperatingMode (mode); //status = WaitNonZeroStatus(WaitTimout); } } if ((status & UartDataReady) != 0 && (status & UartPortChanged) == 0) return true; } return false; }
private void SetOperatingMode (UARTMode mode) { SensorManager.Instance.SetUartOperatingMode(mode, this.port); this.uartMode = mode; }
protected bool SetMode(UARTMode mode) { SetOperatingMode(mode); int status = WaitNonZeroStatus(WaitTimout); if ((status & UartDataReady) != 0 && (status & UartPortChanged) == 0) { return true; } else return Initialise(mode); }
protected bool Initialise(UARTMode mode) { for(int i = 0; i < InitRetry; i++) { if (SensorManager.Instance.GetConnectionType(this.port) != ConnectionType.UART) return false; if (InitUart(mode)) { return true; } Reset(); } return false; }
public void SetUartOperatingMode (UARTMode mode, SensorPort port) { unchecked { UartDevice.IoCtl ((Int32)UartIOSetConnection, SetupCommand (port, ConnectionType.UART, SensorType.None,(byte) mode)); } }