/// <summary> /// Create a new Bluetooth controller object with characteristics for directional control. /// </summary> /// <param name="_device">Hardware device the system is running on.</param> public BluetoothController(F7Micro _device) { Forward = new CharacteristicBool( "Forward", uuid: "017e99d6-8a61-11eb-8dcd-0242ac1300aa", permissions: CharacteristicPermission.Write | CharacteristicPermission.Read, properties: CharacteristicProperty.Write | CharacteristicProperty.Read ); Reverse = new CharacteristicBool( "Reverse", uuid: "017e99d6-8a61-11eb-8dcd-0242ac1300bb", permissions: CharacteristicPermission.Write | CharacteristicPermission.Read, properties: CharacteristicProperty.Write | CharacteristicProperty.Read ); Left = new CharacteristicBool( "Left", uuid: "017e99d6-8a61-11eb-8dcd-0242ac1300cc", permissions: CharacteristicPermission.Write | CharacteristicPermission.Read, properties: CharacteristicProperty.Write | CharacteristicProperty.Read ); Right = new CharacteristicBool( "Right", uuid: "017e99d6-8a61-11eb-8dcd-0242ac1300dd", permissions: CharacteristicPermission.Write | CharacteristicPermission.Read, properties: CharacteristicProperty.Write | CharacteristicProperty.Read ); var service = new Service(name: "DirectionalControl", uuid: 253, Forward, Reverse, Left, Right); BleTreeDefinition = new Definition("Mars Rover", service); _device.BluetoothAdapter.StartBluetoothServer(BleTreeDefinition); }
/// <summary> /// Constructor for the DriverController object. /// </summary> /// <param name="device">Meadow device object (required to access the GPIO pins).</param> public DriveController(F7Micro device) { _enableMotors = device.CreateDigitalOutputPort(device.Pins.D04); Stop(); FrontLeftWheel = new Wheel(device.CreateDigitalOutputPort(device.Pins.D02), device.CreateDigitalOutputPort(device.Pins.D03)); FrontRightWheel = new Wheel(device.CreateDigitalOutputPort(device.Pins.D11), device.CreateDigitalOutputPort(device.Pins.D10)); RearLeftWheel = new Wheel(device.CreateDigitalOutputPort(device.Pins.A00), device.CreateDigitalOutputPort(device.Pins.A01)); RearRightWheel = new Wheel(device.CreateDigitalOutputPort(device.Pins.D13), device.CreateDigitalOutputPort(device.Pins.D14)); }
public Worker(F7Micro device) { // TODO: make this all configurable m_resultsStore = new ResultsStore(); Registry = Provider = new WorkerRegistry("/meadow0/test", device); Console.WriteLine(" Creating serial port..."); var port = device.CreateSerialPort( device.SerialPortNames.Com4, 9600, 8, Parity.None, StopBits.One); Serializer = new CommandJsonSerializer(JsonLibrary.SystemTextJson); Listener = new MeadowSerialListener(port, Serializer); Listener.CommandReceived += Listener_CommandReceived; }
/// <summary> /// Create a new <see cref="Mcp9808"/> using default I2C settings for the <see cref="F7Micro"/>. /// </summary> /// <param name="device">The device.</param> /// <param name="i2CAddress">The I2C address.</param> /// <returns><see cref="Mcp9808"/>.</returns> public static Mcp9808 FromF7Micro(F7Micro device, I2cAddress i2CAddress = defaultI2cAddress) { II2cBus i2c = device.CreateI2cBus(); return(new Mcp9808(i2c, i2CAddress)); }
/// <summary> /// Initializes a new instance of the <see cref="OnboardLed"/> class. /// </summary> /// <param name="device">The device.</param> public OnboardLed(F7Micro device) { this.redLed = device.CreateDigitalOutputPort(device.Pins.OnboardLedRed, initialState: false); this.blueLed = device.CreateDigitalOutputPort(device.Pins.OnboardLedBlue, initialState: false); this.greenLed = device.CreateDigitalOutputPort(device.Pins.OnboardLedGreen, initialState: false); }
public SensorReader(F7Micro device, Layout layout) { _temperature = new AnalogTemperature(device, device.Pins.A00, AnalogTemperature.KnownSensorType.LM35); layout.Bind("sensors", this); }