private void btPlay_Click(object sender, EventArgs e) { wclWeDoHub Hub = GetHub(); wclWeDoPiezo Piezo = FRobot.GetPiezoDevice(Hub); if (Piezo != null) { wclWeDoPiezoNote[] Notes = new wclWeDoPiezoNote[] { wclWeDoPiezoNote.pnA, wclWeDoPiezoNote.pnAis, wclWeDoPiezoNote.pnB, wclWeDoPiezoNote.pnC, wclWeDoPiezoNote.pnCis, wclWeDoPiezoNote.pnD, wclWeDoPiezoNote.pnDis, wclWeDoPiezoNote.pnE, wclWeDoPiezoNote.pnF, wclWeDoPiezoNote.pnFis, wclWeDoPiezoNote.pnG, wclWeDoPiezoNote.pnGis }; wclWeDoPiezoNote Note = Notes[cbNote.SelectedIndex]; Int32 Res = Piezo.PlayNote(Note, (Byte)(cbOctave.SelectedIndex + 1), Convert.ToUInt16(edDuration.Text)); if (Res != wclErrors.WCL_E_SUCCESS) { MessageBox.Show("Play failed: 0x" + Res.ToString("X8")); } } }
private void Hub_OnConnected(Object Sender, Int32 Error) { wclWeDoHub Hub = (wclWeDoHub)Sender; foreach (ListViewItem Item in lvHubs.Items) { if (Item.Text == Hub.Address.ToString("X12")) { if (Error != wclErrors.WCL_E_SUCCESS) { lvHubs.Items.Remove(Item); FHubs.Remove(Hub); break; } else { Item.SubItems[2].Text = "Connected"; Byte Level; Int32 Res = Hub.BatteryLevel.ReadBatteryLevel(out Level); if (Res == wclErrors.WCL_E_SUCCESS) { Item.SubItems[3].Text = Level.ToString(); } } } } }
private void Hub_OnDeviceDetached(object Sender, wclWeDoIo Device) { wclWeDoHub Hub = GetHub(); if (Hub != null && Hub.Address == Device.Hub.Address) { switch (Device.DeviceType) { case wclWeDoIoDeviceType.iodCurrentSensor: RemovePage(tsCurrent); break; case wclWeDoIoDeviceType.iodVoltageSensor: RemovePage(tsVoltage); break; case wclWeDoIoDeviceType.iodRgb: RemovePage(tsRgb); break; case wclWeDoIoDeviceType.iodPiezo: RemovePage(tsPiezo); break; case wclWeDoIoDeviceType.iodMotionSensor: if (Device.PortId == 0) { RemovePage(tsMotion1); } else { RemovePage(tsMotion2); } break; case wclWeDoIoDeviceType.iodTiltSensor: if (Device.PortId == 0) { RemovePage(tsTilt1); } else { RemovePage(tsTilt2); } break; case wclWeDoIoDeviceType.iodMotor: if (Device.PortId == 0) { RemovePage(tsMotor1); } else { RemovePage(tsMotor2); } break; } } }
private void BatteryLevel_OnBatteryLevelChanged(object Sender, byte Level) { wclWeDoHub Hub = GetHub(); if (Hub != null && Hub.Address == (Sender as wclWeDoBatteryLevelService).Hub.Address) { UpdateBattLevel(Level); } }
private void FmMain_OnCurrentChanged(object sender, EventArgs e) { wclWeDoHub Hub = GetHub(); if (Hub != null && Hub.Address == (sender as wclWeDoIo).Hub.Address) { UpdateCurrent(sender as wclWeDoCurrentSensor); } }
private void FmMain_OnVoltageChanged(object sender, EventArgs e) { wclWeDoHub Hub = GetHub(); if (Hub != null && Hub.Address == (sender as wclWeDoIo).Hub.Address) { UpdateVoltage(sender as wclWeDoVoltageSensor); } }
private void Hub_OnHighCurrentAlert(object Sender, bool Alert) { wclWeDoHub Hub = GetHub(); if (Hub != null && (Sender as wclWeDoHub).Address == Hub.Address) { laHighCurrent.Visible = Alert; } }
private void FmMain_OnModeChanged(object sender, EventArgs e) { wclWeDoHub Hub = GetHub(); if (Hub != null && Hub.Address == (sender as wclWeDoRgbLight).Hub.Address) { UpdateRgbMode(sender as wclWeDoRgbLight); } }
private void Hub_OnButtonStateChanged(object Sender, bool Pressed) { wclWeDoHub Hub = GetHub(); if (Hub != null && (Sender as wclWeDoHub).Address == Hub.Address) { laButtonPressed.Visible = Pressed; } }
private void Hub_OnLowSignalAlert(object Sender, bool Alert) { wclWeDoHub Hub = GetHub(); if (Hub != null && (Sender as wclWeDoHub).Address == Hub.Address) { laLowSignal.Visible = Alert; } }
private void Tilt_OnModeChanged(object sender, EventArgs e) { wclWeDoHub Hub = GetHub(); wclWeDoTiltSensor Sensor = (sender as wclWeDoTiltSensor); if (Hub != null && Hub.Address == Sensor.Hub.Address) { UpdateTiltMode(Sensor); } }
private wclWeDoHub GetSelectedHub() { wclWeDoHub Hub = GetHub(); if (Hub == null) { MessageBox.Show("Select Hub"); } return(Hub); }
private void btDisconnect_Click(object sender, EventArgs e) { wclWeDoHub Hub = GetSelectedHub(); if (Hub != null) { Int32 Res = Hub.TurnOff(); if (Res != wclErrors.WCL_E_SUCCESS) { MessageBox.Show("Disconnect failed: 0x" + Res.ToString("X8")); } } }
private void btSetDeviceName_Click(object sender, EventArgs e) { wclWeDoHub Hub = GetHub(); if (Hub != null) { Int32 Res = Hub.WriteDeviceName(edDeviceName.Text); if (Res != wclErrors.WCL_E_SUCCESS) { MessageBox.Show("Write hub name failed with error: 0x" + Res.ToString("X8")); } } }
private wclWeDoMotor GetMotor(Byte Port) { wclWeDoHub Hub = GetHub(); List <wclWeDoMotor> Sensors = FRobot.GetMotors(Hub); foreach (wclWeDoMotor Sensor in Sensors) { if (Sensor.PortId == Port) { return(Sensor); } } return(null); }
private void Hub_OnDisconnected(Object Sender, Int32 Reason) { wclWeDoHub Hub = (wclWeDoHub)Sender; foreach (ListViewItem Item in lvHubs.Items) { if (Item.Text == Hub.Address.ToString("X12")) { lvHubs.Items.Remove(Item); FHubs.Remove(Hub); break; } } }
private void btSetDefault_Click(object sender, EventArgs e) { wclWeDoHub Hub = GetHub(); wclWeDoRgbLight Rgb = FRobot.GetRgbDevice(Hub); if (Rgb != null) { Int32 Res = Rgb.SwitchToDefaultColor(); if (Res != wclErrors.WCL_E_SUCCESS) { MessageBox.Show("Unable to set default color: 0x" + Res.ToString("X8")); } } }
private void button1_Click(object sender, EventArgs e) { wclWeDoHub Hub = GetHub(); wclWeDoPiezo Piezo = FRobot.GetPiezoDevice(Hub); if (Piezo != null) { Int32 Res = Piezo.StopPlaying(); if (Res != wclErrors.WCL_E_SUCCESS) { MessageBox.Show("Stop failed: 0x" + Res.ToString("X8")); } } }
private void btSetIndex_Click(object sender, EventArgs e) { wclWeDoHub Hub = GetHub(); wclWeDoRgbLight Rgb = FRobot.GetRgbDevice(Hub); if (Rgb != null) { Int32 Res = Rgb.SetColorIndex((wclWeDoColor)cbColorIndex.SelectedIndex); if (Res != wclErrors.WCL_E_SUCCESS) { MessageBox.Show("Unable to set color index: 0x" + Res.ToString("X8")); } } }
private void btTurnOff_Click(object sender, EventArgs e) { wclWeDoHub Hub = GetHub(); wclWeDoRgbLight Rgb = FRobot.GetRgbDevice(Hub); if (Rgb != null) { Int32 Res = Rgb.SwitchOff(); if (Res != wclErrors.WCL_E_SUCCESS) { MessageBox.Show("Unable to switch LED off: 0x" + Res.ToString("X8")); } } }
private void FRobot_OnHubDisconnected(object Sender, wclWeDoHub Hub, int Reason) { String Address = Hub.Address.ToString("X12"); lbLog.Items.Add("Hub " + Address + " disconnected by reason: 0x" + Reason.ToString("X8")); foreach (ListViewItem Item in lvHubs.Items) { if (Item.Text == Address) { lvHubs.Items.Remove(Item); break; } } }
/** * <summary>Once a hub has been found, connect to it</summary> * <param name="sender">Object on which the change happened</param> * <param name="Address">The address of the hub</param> * <param name="Name">Name of the found hub</param> */ private void Watcher_OnHubFound(object Sender, long Address, string Name) { wclWeDoHub Hub = new wclWeDoHub(); int res = Hub.Connect(Watcher.Radio, Address); if (res != wclErrors.WCL_E_SUCCESS) { MessageBox.Show("Can't connect to the Hub."); } else { lineTracker.AddHub(Hub); } }
private void fmMain_Load(object sender, EventArgs e) { FManager = new wclBluetoothManager(); FWatcher = new wclWeDoWatcher(); FWatcher.OnHubFound += FWatcher_OnHubFound; FHub = new wclWeDoHub(); FHub.OnConnected += FHub_OnConnected; FHub.OnDisconnected += FHub_OnDisconnected; FHub.OnDeviceAttached += FHub_OnDeviceAttached; FHub.OnDeviceDetached += FHub_OnDeviceDetached; FColor = null; FRgb = null; }
private void btSetRgb_Click(object sender, EventArgs e) { wclWeDoHub Hub = GetHub(); wclWeDoRgbLight Rgb = FRobot.GetRgbDevice(Hub); if (Rgb != null) { Color c = Color.FromRgb(Convert.ToByte(edR.Text), Convert.ToByte(edG.Text), Convert.ToByte(edB.Text)); Int32 Res = Rgb.SetColor(c); if (Res != wclErrors.WCL_E_SUCCESS) { MessageBox.Show("Unable to set color: 0x" + Res.ToString("X8")); } } }
private void FmMain_OnCountChanged(object sender, EventArgs e) { wclWeDoHub Hub = GetHub(); wclWeDoMotionSensor Sensor = (sender as wclWeDoMotionSensor); if (Hub != null && Hub.Address == Sensor.Hub.Address) { if (Sensor.PortId == 0) { laCount1.Text = Sensor.Count.ToString(); } else { laCount2.Text = Sensor.Count.ToString(); } } }
private void FmMain_Load(Object Sender, EventArgs e) { cbMode.SelectedIndex = 0; FManager = new wclBluetoothManager(); FWatcher = new wclWeDoWatcher(); FWatcher.OnHubFound += FWatcher_OnHubFound; FHub = new wclWeDoHub(); FHub.OnConnected += FHub_OnConnected; FHub.OnDisconnected += FHub_OnDisconnected; FHub.OnDeviceAttached += FHub_OnDeviceAttached; FHub.OnDeviceDetached += FHub_OnDeviceDetached; FTilt = null; }
private void FmMain_OnMotionModeChanged(object sender, EventArgs e) { wclWeDoHub Hub = GetHub(); wclWeDoMotionSensor Sensor = (sender as wclWeDoMotionSensor); if (Hub != null && Hub.Address == Sensor.Hub.Address) { switch (Sensor.Mode) { case wclWeDoMotionSensorMode.mmDetect: if (Sensor.PortId == 0) { cbMode1.SelectedIndex = 0; } else { cbMode2.SelectedIndex = 0; } break; case wclWeDoMotionSensorMode.mmCount: if (Sensor.PortId == 0) { cbMode1.SelectedIndex = 1; } else { cbMode2.SelectedIndex = 1; } break; default: if (Sensor.PortId == 0) { cbMode1.SelectedIndex = -1; } else { cbMode2.SelectedIndex = -1; } break; } } }
private void btSetMode_Click(object sender, EventArgs e) { wclWeDoHub Hub = GetHub(); wclWeDoRgbLight Rgb = FRobot.GetRgbDevice(Hub); if (Rgb != null) { Boolean RgbEnabled = (cbColorMode.SelectedIndex == 1); Boolean IndexEnabled = (cbColorMode.SelectedIndex == 0); Int32 Res = wclErrors.WCL_E_SUCCESS; if (RgbEnabled) { Res = Rgb.SetMode(wclWeDoRgbLightMode.lmAbsolute); } else { if (IndexEnabled) { Res = Rgb.SetMode(wclWeDoRgbLightMode.lmDiscrete); } } if (Res != wclErrors.WCL_E_SUCCESS) { MessageBox.Show("Unable to change color mode: 0x" + Res.ToString("X8")); } else { if (RgbEnabled) { UpdateRgbColors(Rgb); } else { if (IndexEnabled) { UpdateRgbIndex(Rgb); } } } } }
private void FRobot_OnHubConnected(object Sender, wclWeDoHub Hub, int Error) { String Address = Hub.Address.ToString("X12"); if (Error == wclErrors.WCL_E_SUCCESS) { lbLog.Items.Add("Hub " + Address + " connected."); lvHubs.Items.Add(Address); Hub.BatteryLevel.OnBatteryLevelChanged += BatteryLevel_OnBatteryLevelChanged; Hub.OnLowSignalAlert += Hub_OnLowSignalAlert; Hub.OnHighCurrentAlert += Hub_OnHighCurrentAlert; Hub.OnLowVoltageAlert += Hub_OnLowVoltageAlert; Hub.OnButtonStateChanged += Hub_OnButtonStateChanged; Hub.OnDeviceAttached += Hub_OnDeviceAttached; Hub.OnDeviceDetached += Hub_OnDeviceDetached; } else { lbLog.Items.Add("Hub " + Address + " connect error: 0x" + Error.ToString("X8")); } }
private void FWatcher_OnHubFound(Object Sender, Int64 Address, String Name) { wclWeDoHub Hub = new wclWeDoHub(); Hub.OnConnected += Hub_OnConnected; Hub.OnDisconnected += Hub_OnDisconnected; Hub.OnButtonStateChanged += Hub_OnButtonStateChanged; Hub.OnLowVoltageAlert += Hub_OnLowVoltageAlert; Hub.BatteryLevel.OnBatteryLevelChanged += BatteryLevel_OnBatteryLevelChanged; Int32 Res = Hub.Connect(FWatcher.Radio, Address); if (Res == wclErrors.WCL_E_SUCCESS) { ListViewItem Item = lvHubs.Items.Add(Address.ToString("X12")); Item.SubItems.Add(Name); Item.SubItems.Add("Connecting"); Item.SubItems.Add(""); Item.SubItems.Add(""); Item.SubItems.Add(""); FHubs.Add(Hub); } }