/// <summary> /// Testing method for DisplayNHVN module /// </summary> private static void TestGlide() { var lcd = new DisplayNHVN(GHIElectronics.TinyCLR.Pins.FEZRaptor.I2cBus.Socket13, FEZRaptor.Socket16.Pin9, FEZRaptor.Socket13.Pin3, DisplayNHVN.DisplayTypes.Display7inch); Glide.SetupGlide(800, 480, 96, 0, lcd.displayController); string GlideXML = @"<Glide Version=""1.0.7""><Window Name=""instance115"" Width=""800"" Height=""480"" BackColor=""dce3e7""><Button Name=""btn"" X=""40"" Y=""60"" Width=""120"" Height=""40"" Alpha=""255"" Text=""Click Me"" Font=""4"" FontColor=""000000"" DisabledFontColor=""808080"" TintColor=""000000"" TintAmount=""0""/><TextBlock Name=""TxtTest"" X=""42"" Y=""120"" Width=""650"" Height=""32"" Alpha=""255"" Text=""TextBlock"" TextAlign=""Left"" TextVerticalAlign=""Top"" Font=""6"" FontColor=""0"" BackColor=""000000"" ShowBackColor=""False""/></Window></Glide>"; //Resources.GetString(Resources.StringResources.Window) Window window = GlideLoader.LoadWindow(GlideXML); GlideTouch.Initialize(); GHI.Glide.UI.Button btn = (GHI.Glide.UI.Button)window.GetChildByName("btn"); GHI.Glide.UI.TextBlock txt = (GHI.Glide.UI.TextBlock)window.GetChildByName("TxtTest"); btn.TapEvent += (object sender) => { txt.Text = "Welcome to Glide for TinyCLR - Cheers from Mif ;)"; Debug.WriteLine("Button tapped."); window.Invalidate(); txt.Invalidate(); }; Glide.MainWindow = window; lcd.CapacitiveScreenReleased += Lcd_CapacitiveScreenReleased; lcd.CapacitiveScreenPressed += Lcd_CapacitiveScreenPressed; //Thread.Sleep(Timeout.Infinite); }
private void InitializeDisplay() { _window = GlideLoader.LoadWindow(Resources.GetString(Resources.StringResources.Window)); GlideTouch.Initialize(); _buttons = new UIButton[5]; _forwardButton = (UIButton)_window.GetChildByName("forwardButton"); _forwardButton.TapEvent += s => Move(Action.Forward); _buttons[0] = _forwardButton; _backwardButton = (UIButton)_window.GetChildByName("backwardButton"); _backwardButton.TapEvent += s => Move(Action.Backward); _buttons[1] = _backwardButton; _leftButton = (UIButton)_window.GetChildByName("leftButton"); _leftButton.TapEvent += s => Move(Action.Left); _buttons[2] = _leftButton; _rightButton = (UIButton)_window.GetChildByName("rightButton"); _rightButton.TapEvent += s => Move(Action.Right); _buttons[3] = _rightButton; _stopButton = (UIButton)_window.GetChildByName("stopButton"); _stopButton.TapEvent += s => Move(Action.Stop); _buttons[4] = _stopButton; _logTextBlock = (UITextBlock)_window.GetChildByName("logTextBlock"); Glide.FitToScreen = true; Glide.MainWindow = _window; }
// This method is run when the mainboard is powered up or reset. void ProgramStarted() { multicolorLED.BlinkOnce(GT.Color.Red); //7" Displays Display.Width = 800; Display.Height = 480; Display.OutputEnableIsFixed = false; Display.OutputEnablePolarity = true; Display.PixelPolarity = false; Display.PixelClockRateKHz = 30000; Display.HorizontalSyncPolarity = false; Display.HorizontalSyncPulseWidth = 48; Display.HorizontalBackPorch = 88; Display.HorizontalFrontPorch = 40; Display.VerticalSyncPolarity = false; Display.VerticalSyncPulseWidth = 3; Display.VerticalBackPorch = 32; Display.VerticalFrontPorch = 13; Display.Type = Display.DisplayType.Lcd; if (Display.Save()) // Reboot required? { PowerState.RebootDevice(false); } //set up touch screen CapacitiveTouchController.Initialize(GHI.Pins.FEZRaptor.Socket14.Pin3); window = GlideLoader.LoadWindow(Resources.GetString(Resources.StringResources.MyForm)); //glide init GlideTouch.Initialize(); GHI.Glide.UI.Button btn = (GHI.Glide.UI.Button)window.GetChildByName("btnTest"); img = (GHI.Glide.UI.Image)window.GetChildByName("img1"); txtLora = (GHI.Glide.UI.TextBlock)window.GetChildByName("txtLora"); txtStatus = (GHI.Glide.UI.TextBlock)window.GetChildByName("txtStatus"); txtSPO2 = (GHI.Glide.UI.TextBlock)window.GetChildByName("txtSPO2"); txtSignal = (GHI.Glide.UI.TextBlock)window.GetChildByName("txtSignal"); txtPulseRate = (GHI.Glide.UI.TextBlock)window.GetChildByName("txtPulseRate"); txtDesc = (GHI.Glide.UI.TextBlock)window.GetChildByName("txtDesc"); img.Visible = false; btn.TapEvent += btn_TapEvent; Glide.MainWindow = window; JoinWifi(); Thread.Sleep(500); if (client == null) { // create client instance MQTT_BROKER_ADDRESS = "cloud.makestro.com"; client = new MqttClient(MQTT_BROKER_ADDRESS); string clientId = Guid.NewGuid().ToString(); client.Connect(clientId, "mifmasterz", "123qweasd"); SubscribeMessage(); } Thread th1 = new Thread(new ThreadStart(Loop)); th1.Start(); }
// Show result for each row in the rectangles private bool populateVisualResult(int fc, int hc) { bool result = false; int fullWrong = 4 - (fc + hc); GHI.Glide.UI.Canvas canvas = new GHI.Glide.UI.Canvas(); int xPosition = 100; masterMind.AddChild(canvas); for (int i = 0; i < fc; i++) { xPosition += 20; canvas.DrawRectangle(GHI.Glide.Colors.Green, 1, xPosition, yPostition, 10, 10, 0, 0, GHI.Glide.Colors.Green, 0, 0, GHI.Glide.Colors.Green, 0, 0, 100); } for (int i = 0; i < hc; i++) { xPosition += 20; canvas.DrawRectangle(GHI.Glide.Colors.Gray, 1, xPosition, yPostition, 10, 10, 0, 0, GHI.Glide.Colors.Gray, 0, 0, GHI.Glide.Colors.Gray, 0, 0, 100); } for (int i = 0; i < fullWrong; i++) { xPosition += 20; canvas.DrawRectangle(GHI.Glide.Colors.Red, 1, xPosition, yPostition, 10, 10, 0, 0, GHI.Glide.Colors.Red, 0, 0, GHI.Glide.Colors.Red, 0, 0, 100); } if (fc == 4 | round == 10) { showResultCode(canvas); txtResult = (GHI.Glide.UI.TextBlock)masterMind.GetChildByName("txtResult"); if (fc == 4) { txtResult.Text = "You Win! "; txtResult.FontColor = GHI.Glide.Colors.Green; } else { txtResult.Text = "You Lost ! Code is : "; txtResult.FontColor = GHI.Glide.Colors.Red; } result = true; } return(result); }
// This method is run when the mainboard is powered up or reset. void ProgramStarted() { //set display this.videoOut.SetDisplayConfiguration(VideoOut.Resolution.Vga800x600); //set glide window = GlideLoader.LoadWindow(Resources.GetString(Resources.StringResources.MyForm)); txtLora = (GHI.Glide.UI.TextBlock)window.GetChildByName("txtLora"); txtStatus = (GHI.Glide.UI.TextBlock)window.GetChildByName("txtStatus"); txtSPO2 = (GHI.Glide.UI.TextBlock)window.GetChildByName("txtSPO2"); txtSignal = (GHI.Glide.UI.TextBlock)window.GetChildByName("txtSignal"); txtPulseRate = (GHI.Glide.UI.TextBlock)window.GetChildByName("txtPulseRate"); Glide.MainWindow = window; //LORA init _loraSerial = new SimpleSerial(GHI.Pins.FEZSpiderII.Socket11.SerialPortName, 57600); _loraSerial.Open(); _loraSerial.DataReceived += _loraSerial_DataReceived; //reset lora _restPort.Write(false); Thread.Sleep(1000); _restPort.Write(true); Thread.Sleep(1000); //setup lora for point to point //get lora version _loraSerial.WriteLine("sys get ver"); Thread.Sleep(1000); //pause join _loraSerial.WriteLine("mac pause"); Thread.Sleep(1000); //set antena power _loraSerial.WriteLine("radio set pwr 14"); Thread.Sleep(1000); //var DT = new DateTime(2016, 6, 19, 12, 43, 0); // This will set the clock to 9:30:00 on 9/15/2014 //RealTimeClock.SetDateTime(DT); //This will set the hardware Real-time Clock to what is in DT //Debug.Print("New Real-time Clock " + RealTimeClock.GetDateTime().ToString()); new Thread(SendData).Start(); //connect wifi SetupNetwork(); //sync time var result = Waktu.UpdateTimeFromNtpServer("time.nist.gov", 7); // Eastern Daylight Time Debug.Print(result ? "Time successfully updated" : "Time not updated"); }
// This method is run when the mainboard is powered up or reset. void ProgramStarted() { multicolorLED.BlinkOnce(GT.Color.Red); //7" Displays Display.Width = 800; Display.Height = 480; Display.OutputEnableIsFixed = false; Display.OutputEnablePolarity = true; Display.PixelPolarity = false; Display.PixelClockRateKHz = 30000; Display.HorizontalSyncPolarity = false; Display.HorizontalSyncPulseWidth = 48; Display.HorizontalBackPorch = 88; Display.HorizontalFrontPorch = 40; Display.VerticalSyncPolarity = false; Display.VerticalSyncPulseWidth = 3; Display.VerticalBackPorch = 32; Display.VerticalFrontPorch = 13; Display.Type = Display.DisplayType.Lcd; if (Display.Save()) // Reboot required? { PowerState.RebootDevice(false); } //set up touch screen CapacitiveTouchController.Initialize(GHI.Pins.FEZRaptor.Socket14.Pin3); window = GlideLoader.LoadWindow(Resources.GetString(Resources.StringResources.MyForm)); //glide init GlideTouch.Initialize(); GHI.Glide.UI.Button btn = (GHI.Glide.UI.Button)window.GetChildByName("btnTest"); img = (GHI.Glide.UI.Image)window.GetChildByName("img1"); txtLora = (GHI.Glide.UI.TextBlock)window.GetChildByName("txtLora"); txtStatus = (GHI.Glide.UI.TextBlock)window.GetChildByName("txtStatus"); txtSPO2 = (GHI.Glide.UI.TextBlock)window.GetChildByName("txtSPO2"); txtSignal = (GHI.Glide.UI.TextBlock)window.GetChildByName("txtSignal"); txtPulseRate = (GHI.Glide.UI.TextBlock)window.GetChildByName("txtPulseRate"); txtDesc = (GHI.Glide.UI.TextBlock)window.GetChildByName("txtDesc"); img.Visible = false; btn.TapEvent += btn_TapEvent; Glide.MainWindow = window; Thread th1 = new Thread(new ThreadStart(Loop)); th1.Start(); }
void setup() { /* * //7" Displays * Display.Width = 800; * Display.Height = 480; * Display.OutputEnableIsFixed = false; * Display.OutputEnablePolarity = true; * Display.PixelPolarity = false; * Display.PixelClockRateKHz = 30000; * Display.HorizontalSyncPolarity = false; * Display.HorizontalSyncPulseWidth = 48; * Display.HorizontalBackPorch = 88; * Display.HorizontalFrontPorch = 40; * Display.VerticalSyncPolarity = false; * Display.VerticalSyncPulseWidth = 3; * Display.VerticalBackPorch = 32; * Display.VerticalFrontPorch = 13; * Display.Type = Display.DisplayType.Lcd; * if (Display.Save()) // Reboot required? * { * PowerState.RebootDevice(false); * }*/ Display.Width = 800; Display.Height = 480; Display.HorizontalSyncPulseWidth = 1; Display.HorizontalBackPorch = 88; Display.HorizontalFrontPorch = 40; Display.VerticalSyncPulseWidth = 3; Display.VerticalBackPorch = 32; Display.VerticalFrontPorch = 13; Display.PixelClockRateKHz = 25000; Display.OutputEnableIsFixed = true; Display.OutputEnablePolarity = true; Display.HorizontalSyncPolarity = false; Display.VerticalSyncPolarity = false; Display.PixelPolarity = true; Display.Type = Display.DisplayType.Lcd; if (Display.Save()) // Reboot required? { PowerState.RebootDevice(false); } //init touch i2cDevice = new I2CDevice(new I2CDevice.Configuration(0x38, 400)); CapDriver = new CapTouchDriver(i2cDevice); CapDriver.SetBacklightTime(0); CapDriver.ResetBacklight(); //CapacitiveTouchController.Initialize(GHI.Pins.G120.P2_21); //CapacitiveTouchController.Initialize(GHI.Pins.FEZCobraII.Socket4.Pin3); GlideTouch.Initialize(); MainWindow = GlideLoader.LoadWindow(Resources.GetString(Resources.StringResources.Form1)); img = (GHI.Glide.UI.Image)MainWindow.GetChildByName("img"); btn = (GHI.Glide.UI.Button)MainWindow.GetChildByName("BtnChange"); txt = (GHI.Glide.UI.TextBlock)MainWindow.GetChildByName("txtStatus"); GT.Picture pic = new GT.Picture(Resources.GetBytes(Resources.BinaryResources.empty), GT.Picture.PictureEncoding.JPEG); img.Bitmap = pic.MakeBitmap(); Glide.MainWindow = MainWindow; btn.ReleaseEvent += btn_ReleaseEvent; Glide.FitToScreen = true; //Thread th1 = new Thread(new ThreadStart(LoopButton)); //th1.Start(); }
// This method is run when the mainboard is powered up or reset. void ProgramStarted() { multicolorLED.BlinkOnce(GT.Color.Red); //7" Displays Display.Width = 800; Display.Height = 480; Display.OutputEnableIsFixed = false; Display.OutputEnablePolarity = true; Display.PixelPolarity = false; Display.PixelClockRateKHz = 30000; Display.HorizontalSyncPolarity = false; Display.HorizontalSyncPulseWidth = 48; Display.HorizontalBackPorch = 88; Display.HorizontalFrontPorch = 40; Display.VerticalSyncPolarity = false; Display.VerticalSyncPulseWidth = 3; Display.VerticalBackPorch = 32; Display.VerticalFrontPorch = 13; Display.Type = Display.DisplayType.Lcd; if (Display.Save()) // Reboot required? { PowerState.RebootDevice(false); } //set up touch screen CapacitiveTouchController.Initialize(GHI.Pins.FEZRaptor.Socket13.Pin3); window = GlideLoader.LoadWindow(Resources.GetString(Resources.StringResources.MyForm)); //glide init GlideTouch.Initialize(); GHI.Glide.UI.Button btn = (GHI.Glide.UI.Button)window.GetChildByName("btnTest"); img = (GHI.Glide.UI.Image)window.GetChildByName("img1"); txtLora = (GHI.Glide.UI.TextBlock)window.GetChildByName("txtLora"); txtStatus = (GHI.Glide.UI.TextBlock)window.GetChildByName("txtStatus"); txtSPO2 = (GHI.Glide.UI.TextBlock)window.GetChildByName("txtSPO2"); txtSignal = (GHI.Glide.UI.TextBlock)window.GetChildByName("txtSignal"); txtPulseRate = (GHI.Glide.UI.TextBlock)window.GetChildByName("txtPulseRate"); txtDesc = (GHI.Glide.UI.TextBlock)window.GetChildByName("txtDesc"); img.Visible = false; btn.TapEvent += btn_TapEvent; Glide.MainWindow = window; //reset lora _restPort.Write(false); Thread.Sleep(1000); _restPort.Write(true); Thread.Sleep(1000); _loraSerial = new SimpleSerial(GHI.Pins.FEZRaptor.Socket10.SerialPortName, 57600); _loraSerial.Open(); _loraSerial.DataReceived += _loraSerial_DataReceived; //get version _loraSerial.WriteLine("sys get ver"); Thread.Sleep(1000); //pause join _loraSerial.WriteLine("mac pause"); Thread.Sleep(1000); //antena power _loraSerial.WriteLine("radio set pwr 14"); Thread.Sleep(1000); //set device to receive _loraSerial.WriteLine("radio rx 0"); //set module to RX }
public override void Init(params string[] Param) { MainWindow = GlideLoader.LoadWindow(Resources.GetString(Resources.StringResources.MyRoomForm)); ArrayList control = new ArrayList(); GT.Picture pic = null; var imgTemp = (GHI.Glide.UI.Image)MainWindow.GetChildByName("imgTemp"); pic = new GT.Picture(Resources.GetBytes(Resources.BinaryResources.temperature), GT.Picture.PictureEncoding.JPEG); imgTemp.Bitmap = pic.MakeBitmap(); control.Add(imgTemp); var imgLight = (GHI.Glide.UI.Image)MainWindow.GetChildByName("imgLight"); pic = new GT.Picture(Resources.GetBytes(Resources.BinaryResources.light), GT.Picture.PictureEncoding.JPEG); imgLight.Bitmap = pic.MakeBitmap(); control.Add(imgLight); var imgHumid = (GHI.Glide.UI.Image)MainWindow.GetChildByName("imgHumid"); pic = new GT.Picture(Resources.GetBytes(Resources.BinaryResources.humidity), GT.Picture.PictureEncoding.JPEG); imgHumid.Bitmap = pic.MakeBitmap(); control.Add(imgHumid); GT.Timer timer = new GT.Timer(2000); var Btn = (GHI.Glide.UI.Button)MainWindow.GetChildByName("btnBack"); control.Add(Btn); Btn.PressEvent += (sender) => { timer.Stop(); CallFormRequestEvent(ScreenTypes.MainMenu); }; txtTemp = (GHI.Glide.UI.TextBlock)MainWindow.GetChildByName("txtTemp"); txtHumid = (GHI.Glide.UI.TextBlock)MainWindow.GetChildByName("txtHumid"); txtLight = (GHI.Glide.UI.TextBlock)MainWindow.GetChildByName("txtLight"); Glide.MainWindow = MainWindow; timer.Tick += (a) => { var measure = tempHumidSI70.TakeMeasurement(); txtTemp.Text = Toolbox.NETMF.Tools.Round((float)measure.Temperature, 2);// + "C"; txtHumid.Text = Toolbox.NETMF.Tools.Round((float)measure.RelativeHumidity);// + "%"; txtLight.Text = Toolbox.NETMF.Tools.Round((float)lightSense.GetIlluminance());// + "Lux"; //MainWindow.Graphics.DrawRectangle(txtTemp.Rect, MainWindow.BackColor, 255); //MainWindow.Graphics.DrawRectangle(txtHumid.Rect, MainWindow.BackColor, 255); //MainWindow.Graphics.DrawRectangle(txtLight.Rect, MainWindow.BackColor, 255); txtTemp.Invalidate(); txtHumid.Invalidate(); txtLight.Invalidate(); MainWindow.Invalidate(); }; timer.Start(); //MainWindow.Invalidate(); }
// Show result for each row in the rectangles private bool populateVisualResult(int fc, int hc) { bool result = false; int fullWrong = 4 - (fc + hc); GHI.Glide.UI.Canvas canvas = new GHI.Glide.UI.Canvas(); int xPosition = 100; masterMind.AddChild(canvas); for (int i = 0; i < fc; i++) { xPosition += 20; canvas.DrawRectangle(GHI.Glide.Colors.Green, 1, xPosition, yPostition, 10, 10, 0, 0, GHI.Glide.Colors.Green, 0, 0, GHI.Glide.Colors.Green, 0, 0, 100); } for (int i = 0; i < hc; i++) { xPosition += 20; canvas.DrawRectangle(GHI.Glide.Colors.Gray, 1, xPosition, yPostition, 10, 10, 0, 0, GHI.Glide.Colors.Gray, 0, 0, GHI.Glide.Colors.Gray, 0, 0, 100); } for (int i = 0; i < fullWrong; i++) { xPosition += 20; canvas.DrawRectangle(GHI.Glide.Colors.Red, 1, xPosition, yPostition, 10, 10, 0, 0, GHI.Glide.Colors.Red, 0, 0, GHI.Glide.Colors.Red, 0, 0, 100); } if (fc == 4 | round == 10) { showResultCode(canvas); txtResult = (GHI.Glide.UI.TextBlock)masterMind.GetChildByName("txtResult"); if (fc == 4) { txtResult.Text = "You Win! "; txtResult.FontColor = GHI.Glide.Colors.Green; } else { txtResult.Text = "You Lost ! Code is : "; txtResult.FontColor = GHI.Glide.Colors.Red; } result = true; } return result; }