void Init() { Console.WriteLine("Init"); portLeft = Device.CreateDigitalInputPort(Device.Pins.D12); portUp = Device.CreateDigitalInputPort(Device.Pins.D13); portRight = Device.CreateDigitalInputPort(Device.Pins.D07); portDown = Device.CreateDigitalInputPort(Device.Pins.D11); var config = new SpiClockConfiguration(12000, SpiClockConfiguration.Mode.Mode0); var bus = Device.CreateSpiBus(Device.Pins.SCK, Device.Pins.MOSI, Device.Pins.MISO, config); display = new Ssd1309 ( device: Device, spiBus: bus, chipSelectPin: Device.Pins.D02, dcPin: Device.Pins.D01, resetPin: Device.Pins.D00 ); graphics = new GraphicsLibrary(display); graphics.CurrentFont = new Font4x8(); graphics.Rotation = GraphicsLibrary.RotationType._270Degrees; }
void Initialize() { Console.WriteLine("Initialize hardware..."); portLeft = Device.CreateDigitalInputPort(Device.Pins.D13); portRight = Device.CreateDigitalInputPort(Device.Pins.D11); portDown = Device.CreateDigitalInputPort(Device.Pins.D12); portReset = Device.CreateDigitalInputPort(Device.Pins.D07); speaker = new PiezoSpeaker(Device.CreatePwmPort(Device.Pins.D05)); var config = new SpiClockConfiguration(12000, SpiClockConfiguration.Mode.Mode0); var bus = Device.CreateSpiBus(Device.Pins.SCK, Device.Pins.MOSI, Device.Pins.MISO, config); display = new Ssd1309 ( device: Device, spiBus: bus, chipSelectPin: Device.Pins.D02, dcPin: Device.Pins.D01, resetPin: Device.Pins.D00 ); graphics = new GraphicsLibrary(display); graphics.CurrentFont = new Font4x8(); }
void Initialize() { portLeft = Device.CreateDigitalInputPort(Device.Pins.D12); portUp = Device.CreateDigitalInputPort(Device.Pins.D13); portRight = Device.CreateDigitalInputPort(Device.Pins.D07); portDown = Device.CreateDigitalInputPort(Device.Pins.D11); var config = new SpiClockConfiguration( speed: new Frequency(48000, Frequency.UnitType.Kilohertz), mode: SpiClockConfiguration.Mode.Mode3); var spiBus = Device.CreateSpiBus( clock: Device.Pins.SCK, copi: Device.Pins.MOSI, cipo: Device.Pins.MISO, config: config); var display = new Ssd1309 ( device: Device, spiBus: spiBus, chipSelectPin: Device.Pins.D02, dcPin: Device.Pins.D01, resetPin: Device.Pins.D00 ); graphics = new MicroGraphics(display); graphics.CurrentFont = new Font4x8(); graphics.Rotation = RotationType._270Degrees; }
void Initialize() { Console.WriteLine("Initialize hardware..."); onboardLed = new RgbPwmLed(device: Device, redPwmPin: Device.Pins.OnboardLedRed, greenPwmPin: Device.Pins.OnboardLedGreen, bluePwmPin: Device.Pins.OnboardLedBlue, 3.3f, 3.3f, 3.3f, Meadow.Peripherals.Leds.IRgbLed.CommonType.CommonAnode); Console.WriteLine("Create Display with SPI..."); var config = new Meadow.Hardware.SpiClockConfiguration(12000, Meadow.Hardware.SpiClockConfiguration.Mode.Mode0); var bus = Device.CreateSpiBus(Device.Pins.SCK, Device.Pins.MOSI, Device.Pins.MISO, config); ssd1309 = new Ssd1309 ( device: Device, spiBus: bus, chipSelectPin: Device.Pins.D02, dcPin: Device.Pins.D01, resetPin: Device.Pins.D00 ); Console.WriteLine("Create GraphicsLibrary..."); display = new GraphicsLibrary(ssd1309) { CurrentFont = new Font8x12(), // Rotation = GraphicsLibrary.RotationType._270Degrees }; Console.WriteLine("Load menu data..."); var menuData = LoadResource("menu.json"); Console.WriteLine($"Data length: {menuData.Length}..."); Console.WriteLine("Create buttons..."); var encoder = new RotaryEncoderWithButton(Device, Device.Pins.D13, Device.Pins.D14, Device.Pins.D15); // next = new PushButton(Device, Device.Pins.D15); // select = new PushButton(Device, Device.Pins.D12); // previous = new PushButton(Device, Device.Pins.D11); Console.WriteLine("Create menu..."); // menu = new Menu(display, next, previous, select, menuData, false); menu = new Menu(display, encoder, menuData, false); Console.WriteLine("Enable menu..."); menu.Enable(); }
void Initialize() { Console.WriteLine("Initialize hardware..."); display = new Ssd1309(Device.CreateI2cBus()); Console.WriteLine("Display created"); graphics = new GraphicsLibrary(display); graphics.CurrentFont = new Font8x8(); Console.WriteLine("Graphics library created"); //COM4 - Pins D00 & D01 on the Meadow F7 port = Device.CreateSerialMessagePort( Device.SerialPortNames.Com4, suffixDelimiter: Encoding.ASCII.GetBytes("\r\n"), preserveDelimiter: true, 9600); Console.WriteLine("Serial port created"); port.MessageReceived += (object sender, SerialMessageData e) => { nmea.ProcessNmeaMessage(e.GetMessageString(Encoding.ASCII)); }; nmea = new NmeaSentenceProcessor(); var ggaParser = new GgaDecoder(); ggaParser.PositionReceived += GgaParser_OnPositionReceived; nmea.RegisterDecoder(ggaParser); // open serial port.Open(); }
void Initialize() { Console.WriteLine("Initialize hardware..."); var config = new SpiClockConfiguration(12000, SpiClockConfiguration.Mode.Mode0); var bus = Device.CreateSpiBus(Device.Pins.SCK, Device.Pins.MOSI, Device.Pins.MISO, config); display = new Ssd1309 ( device: Device, spiBus: bus, chipSelectPin: Device.Pins.D02, dcPin: Device.Pins.D01, resetPin: Device.Pins.D00 ); graphics = new GraphicsLibrary(display); graphics.CurrentFont = new Font12x16(); buttonLeft = new PushButton(Device, Device.Pins.D11, ResistorMode.Disabled); buttonRight = new PushButton(Device, Device.Pins.D10, ResistorMode.Disabled); buttonUp = new PushButton(Device, Device.Pins.D09, ResistorMode.Disabled); buttonDown = new PushButton(Device, Device.Pins.D12, ResistorMode.Disabled); speaker = new PiezoSpeaker(Device, Device.Pins.D13); Console.WriteLine("Initialize hardware complete."); }
void Initialize() { Console.WriteLine("Initialize hardware..."); portLeft = Device.CreateDigitalInputPort(Device.Pins.D13); portRight = Device.CreateDigitalInputPort(Device.Pins.D11); portDown = Device.CreateDigitalInputPort(Device.Pins.D12); portReset = Device.CreateDigitalInputPort(Device.Pins.D07); speaker = new PiezoSpeaker(Device.CreatePwmPort(Device.Pins.D05)); var config = new SpiClockConfiguration( speed: new Frequency(12000, Frequency.UnitType.Kilohertz), mode: SpiClockConfiguration.Mode.Mode0); var spiBus = Device.CreateSpiBus( clock: Device.Pins.SCK, copi: Device.Pins.MOSI, cipo: Device.Pins.MISO, config: config); var display = new Ssd1309 ( device: Device, spiBus: spiBus, chipSelectPin: Device.Pins.D02, dcPin: Device.Pins.D01, resetPin: Device.Pins.D00 ); graphics = new MicroGraphics(display); graphics.CurrentFont = new Font4x8(); }
void Initialize() { var config = new SpiClockConfiguration( speed: new Frequency(12000, Frequency.UnitType.Kilohertz), mode: SpiClockConfiguration.Mode.Mode0); var spiBus = Device.CreateSpiBus( clock: Device.Pins.SCK, copi: Device.Pins.MOSI, cipo: Device.Pins.MISO, config: config); display = new Ssd1309 ( device: Device, spiBus: spiBus, chipSelectPin: Device.Pins.D02, dcPin: Device.Pins.D01, resetPin: Device.Pins.D00 ); graphics = new MicroGraphics(display); graphics.CurrentFont = new Font12x16(); buttonLeft = new PushButton(Device, Device.Pins.D11, ResistorMode.Disabled); buttonRight = new PushButton(Device, Device.Pins.D10, ResistorMode.Disabled); buttonUp = new PushButton(Device, Device.Pins.D09, ResistorMode.Disabled); buttonDown = new PushButton(Device, Device.Pins.D12, ResistorMode.Disabled); speaker = new PiezoSpeaker(Device, Device.Pins.D13); }
void Initialize() { Console.WriteLine("Initialize hardware..."); onboardLed = new RgbPwmLed(device: Device, redPwmPin: Device.Pins.OnboardLedRed, greenPwmPin: Device.Pins.OnboardLedGreen, bluePwmPin: Device.Pins.OnboardLedBlue, 3.3f, 3.3f, 3.3f, Meadow.Peripherals.Leds.IRgbLed.CommonType.CommonAnode); Console.WriteLine("Create Display with SPI..."); var config = new Meadow.Hardware.SpiClockConfiguration(6000, Meadow.Hardware.SpiClockConfiguration.Mode.Mode0); var bus = Device.CreateSpiBus(Device.Pins.SCK, Device.Pins.MOSI, Device.Pins.MISO, config); display = new Ssd1309 ( device: Device, spiBus: bus, chipSelectPin: Device.Pins.D02, dcPin: Device.Pins.D01, resetPin: Device.Pins.D00 ); Console.WriteLine("Create Graphics Library..."); graphics = new GraphicsLibrary(display); graphics.Rotation = GraphicsLibrary.RotationType._270Degrees; graphics.CurrentFont = new Font8x12(); graphics.Clear(); graphics.DrawText(0, 0, "Hello"); graphics.Show(); Console.WriteLine("Create buttons..."); portLeft = Device.CreateDigitalInputPort(Device.Pins.D12, InterruptMode.EdgeFalling, ResistorMode.PullDown); portUp = Device.CreateDigitalInputPort(Device.Pins.D13, InterruptMode.EdgeFalling, ResistorMode.PullDown); portRight = Device.CreateDigitalInputPort(Device.Pins.D07, InterruptMode.EdgeFalling, ResistorMode.PullDown); portDown = Device.CreateDigitalInputPort(Device.Pins.D11, InterruptMode.EdgeFalling, ResistorMode.PullDown); portRight.Changed += PortRight_Changed; portLeft.Changed += PortLeft_Changed; portUp.Changed += PortUp_Changed; portDown.Changed += PortDown_Changed; /* btnUp = new PushButton(Device, Device.Pins.D13); * btnLeft = new PushButton(Device, Device.Pins.D12); * btnDown = new PushButton(Device, Device.Pins.D11); * btnRight = new PushButton(Device, Device.Pins.D10); * * btnUp.Clicked += BtnUp_Clicked; * btnLeft.Clicked += BtnLeft_Clicked; * btnDown.Clicked += BtnDown_Clicked; * btnRight.Clicked += BtnRight_Clicked; */ }
void CreateI2CDisplay() { Console.WriteLine("Create Display with I2C..."); display = new Ssd1309 ( i2cBus: Device.CreateI2cBus(), address: 60 ); }
void Initialize() { Console.WriteLine("Initialize hardware..."); onboardLed = new RgbPwmLed(device: Device, redPwmPin: Device.Pins.OnboardLedRed, greenPwmPin: Device.Pins.OnboardLedGreen, bluePwmPin: Device.Pins.OnboardLedBlue, 3.3f, 3.3f, 3.3f, Meadow.Peripherals.Leds.IRgbLed.CommonType.CommonAnode); Console.WriteLine("Create Display with SPI..."); var config = new SpiClockConfiguration(12000, SpiClockConfiguration.Mode.Mode0); var bus = Device.CreateSpiBus(Device.Pins.SCK, Device.Pins.MOSI, Device.Pins.MISO, config); ssd1309 = new Ssd1309 ( device: Device, spiBus: bus, chipSelectPin: Device.Pins.D02, dcPin: Device.Pins.D01, resetPin: Device.Pins.D00 ); Console.WriteLine("Create GraphicsLibrary..."); graphics = new GraphicsLibrary(ssd1309) { CurrentFont = new Font8x12(), }; graphics.Clear(); graphics.DrawText(0, 0, "Loading Menu"); graphics.Show(); CreateMenu(graphics); Console.WriteLine("Create buttons..."); up = new PushButton(Device, Device.Pins.D14, ResistorMode.Disabled); up.Clicked += Up_Clicked; left = new PushButton(Device, Device.Pins.D11, ResistorMode.Disabled); left.Clicked += Left_Clicked; right = new PushButton(Device, Device.Pins.D10, ResistorMode.Disabled); right.Clicked += Right_Clicked; down = new PushButton(Device, Device.Pins.D12, ResistorMode.Disabled); down.Clicked += Down_Clicked; menu.Enable(); }
//untested void CreateSpiDisplay() { Console.WriteLine("Create Display with SPI..."); display = new Ssd1309 ( device: Device, spiBus: Device.CreateSpiBus(), chipSelectPin: Device.Pins.D02, dcPin: Device.Pins.D01, resetPin: Device.Pins.D00 ); }
//untested void CreateSpiDisplay() { Console.WriteLine("Create Display with SPI..."); var config = new Meadow.Hardware.SpiClockConfiguration(6000, Meadow.Hardware.SpiClockConfiguration.Mode.Mode0); var bus = Device.CreateSpiBus(Device.Pins.SCK, Device.Pins.MOSI, Device.Pins.MISO, config); display = new Ssd1309 ( device: Device, spiBus: bus, chipSelectPin: Device.Pins.D02, dcPin: Device.Pins.D01, resetPin: Device.Pins.D00 ); }
void Initialize() { Debug.WriteLine("Initialize hardware..."); var controller = PwmController.FromName(SC20260.Timer.Pwm.Controller3.Id); var led1 = controller.OpenChannel(SC20260.Timer.Pwm.Controller3.PB0); var led2 = controller.OpenChannel(SC20260.Timer.Pwm.Controller3.PB1); var led3 = controller.OpenChannel(SC20260.Timer.Pwm.Controller3.PC6); onboardLed = new RgbPwmLed(led1, led2, led3, 3.3f, 3.3f, 3.3f, CommonType.CommonAnode); //onboardLed = new RgbPwmLed(device: Device, // redPwmPin: Device.Pins.OnboardLedRed, // greenPwmPin: Device.Pins.OnboardLedGreen, // bluePwmPin: Device.Pins.OnboardLedBlue, // 3.3f, 3.3f, 3.3f, // Meadow.Peripherals.Leds.IRgbLed.CommonType.CommonAnode); Debug.WriteLine("Create Display with SPI..."); var cs = GpioController.GetDefault().OpenPin(SC20260.GpioPin.PE4); var settings = new SpiConnectionSettings() { ChipSelectType = SpiChipSelectType.Gpio, ChipSelectLine = cs, Mode = SpiMode.Mode1, ClockFrequency = 4_000_000, }; var controllerSpi = SpiController.FromName(SC20100.SpiBus.Spi4); var deviceSpi = controllerSpi.GetDevice(settings); ssd1309 = new Ssd1309 ( SC20260.SpiBus.Spi2, SC20260.GpioPin.PE4, SC20260.GpioPin.PC2, SC20260.GpioPin.PC3 ); Debug.WriteLine("Create GraphicsLibrary..."); graphics = new GraphicsLibrary(ssd1309) { CurrentFont = new Font8x12(), }; graphics.Clear(); graphics.DrawText(0, 0, "Loading Menu"); graphics.Show(); CreateMenu(graphics); Debug.WriteLine("Create buttons..."); up = new PushButton(SC20260.GpioPin.PC6, GpioPinDriveMode.InputPullDown); up.Clicked += Up_Clicked; left = new PushButton(SC20260.GpioPin.PC7, GpioPinDriveMode.InputPullDown); left.Clicked += Left_Clicked; right = new PushButton(SC20260.GpioPin.PC8, GpioPinDriveMode.InputPullDown); right.Clicked += Right_Clicked; down = new PushButton(SC20260.GpioPin.PC9, GpioPinDriveMode.InputPullDown); down.Clicked += Down_Clicked; menu.Enable(); }
void Initialize() { Console.WriteLine("Initialize hardware..."); onboardLed = new RgbPwmLed(device: Device, redPwmPin: Device.Pins.OnboardLedRed, greenPwmPin: Device.Pins.OnboardLedGreen, bluePwmPin: Device.Pins.OnboardLedBlue, 3.3f, 3.3f, 3.3f, Meadow.Peripherals.Leds.IRgbLed.CommonType.CommonAnode); Console.WriteLine("Create Display with SPI..."); var config = new SpiClockConfiguration(12000, SpiClockConfiguration.Mode.Mode0); var bus = Device.CreateSpiBus(Device.Pins.SCK, Device.Pins.MOSI, Device.Pins.MISO, config); ssd1309 = new Ssd1309 ( device: Device, spiBus: bus, chipSelectPin: Device.Pins.D02, dcPin: Device.Pins.D01, resetPin: Device.Pins.D00 ); Console.WriteLine("Create GraphicsLibrary..."); var gl = new GraphicsLibrary(ssd1309) { CurrentFont = new Font8x12(), }; gl.Clear(); gl.DrawText(0, 0, "Loading Menu"); gl.Show(); display = gl as ITextDisplay; Console.WriteLine("Load menu data..."); var menuData = LoadResource("menu.json"); Console.WriteLine($"Data length: {menuData.Length}..."); Console.WriteLine("Create buttons..."); Console.WriteLine("Create menu..."); menu = new Menu(display, menuData, false); next = new PushButton(Device, Device.Pins.D10); next.Clicked += (s, e) => { menu.Next(); }; select = new PushButton(Device, Device.Pins.D11); select.Clicked += (s, e) => { menu.Select(); }; previous = new PushButton(Device, Device.Pins.D12); previous.Clicked += (s, e) => { menu.Previous(); }; Console.WriteLine("Enable menu..."); menu.Enable(); }