Exemple #1
0
        public void Start(IFirmataEngine firmataEngine)
        {
            _firmata = firmataEngine;

            var config = new byte[TotalNumberOfPorts];

            // buttons
            config[PinToPort((int)Buttons.Up)] |= PinToBit((int)Buttons.Up);
            config[PinToPort((int)Buttons.Down)] |= PinToBit((int)Buttons.Down);
            config[PinToPort((int)Buttons.Left)] |= PinToBit((int)Buttons.Left);
            config[PinToPort((int)Buttons.Right)] |= PinToBit((int)Buttons.Right);

            // touch pads (synthetic port, port=8)
            config[8] = 0x0f;

            // Register our interest in those pins
            for (var i = 0 ; i < TotalNumberOfPorts ; ++i)
            {
                if (config[i] != 0)
                {
                    _firmata.ReportDigital((byte)i, config[i]);
                }
            }
        }