Beispiel #1
0
        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"));
                }
            }
        }
Beispiel #2
0
        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();
                        }
                    }
                }
            }
        }
Beispiel #3
0
        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;
                }
            }
        }
Beispiel #4
0
        private void BatteryLevel_OnBatteryLevelChanged(object Sender, byte Level)
        {
            wclWeDoHub Hub = GetHub();

            if (Hub != null && Hub.Address == (Sender as wclWeDoBatteryLevelService).Hub.Address)
            {
                UpdateBattLevel(Level);
            }
        }
Beispiel #5
0
        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);
            }
        }
Beispiel #6
0
        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);
            }
        }
Beispiel #7
0
        private void Hub_OnHighCurrentAlert(object Sender, bool Alert)
        {
            wclWeDoHub Hub = GetHub();

            if (Hub != null && (Sender as wclWeDoHub).Address == Hub.Address)
            {
                laHighCurrent.Visible = Alert;
            }
        }
Beispiel #8
0
        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);
            }
        }
Beispiel #9
0
        private void Hub_OnButtonStateChanged(object Sender, bool Pressed)
        {
            wclWeDoHub Hub = GetHub();

            if (Hub != null && (Sender as wclWeDoHub).Address == Hub.Address)
            {
                laButtonPressed.Visible = Pressed;
            }
        }
Beispiel #10
0
        private void Hub_OnLowSignalAlert(object Sender, bool Alert)
        {
            wclWeDoHub Hub = GetHub();

            if (Hub != null && (Sender as wclWeDoHub).Address == Hub.Address)
            {
                laLowSignal.Visible = Alert;
            }
        }
Beispiel #11
0
        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);
            }
        }
Beispiel #12
0
        private wclWeDoHub GetSelectedHub()
        {
            wclWeDoHub Hub = GetHub();

            if (Hub == null)
            {
                MessageBox.Show("Select Hub");
            }
            return(Hub);
        }
Beispiel #13
0
        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"));
                }
            }
        }
Beispiel #14
0
        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"));
                }
            }
        }
Beispiel #15
0
        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);
        }
Beispiel #16
0
        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;
                }
            }
        }
Beispiel #17
0
        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"));
                }
            }
        }
Beispiel #18
0
        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"));
                }
            }
        }
Beispiel #19
0
        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"));
                }
            }
        }
Beispiel #20
0
        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"));
                }
            }
        }
Beispiel #21
0
        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;
                }
            }
        }
Beispiel #22
0
        /**
         * <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);
            }
        }
Beispiel #23
0
        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;
        }
Beispiel #24
0
        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"));
                }
            }
        }
Beispiel #25
0
        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();
                }
            }
        }
Beispiel #26
0
        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;
        }
Beispiel #27
0
        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;
                }
            }
        }
Beispiel #28
0
        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);
                        }
                    }
                }
            }
        }
Beispiel #29
0
        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"));
            }
        }
Beispiel #30
0
        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);
            }
        }