Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
        /// <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;
        }
Beispiel #4
0
        /// <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);
 }
Beispiel #6
0
 public SensorReader(F7Micro device, Layout layout)
 {
     _temperature = new AnalogTemperature(device, device.Pins.A00, AnalogTemperature.KnownSensorType.LM35);
     layout.Bind("sensors", this);
 }