Wireless Communication Library Support Forum

Frameworks => Bluetooth Framework => Topic started by: hanyelmehy on February 18, 2009, 10:06:40 PM

Title: ClassOfDevice vb code
Post by: hanyelmehy on February 18, 2009, 10:06:40 PM
can you please send VB example for ClassOfDevice using,i cant convert listed code to vb
Title: Re: ClassOfDevice vb code
Post by: Mike Petrichenko on February 18, 2009, 10:21:26 PM
It is easy. Use AND and OR operators to mask the required bits. Unfortunately I am not so good VB developer.
Title: Re: ClassOfDevice vb code
Post by: TheodorosGR on February 19, 2009, 03:58:30 PM
Please email me at thiodor[at]gmail[dot]com, i maybe have a solution for you.
Cheers.
Title: Re: ClassOfDevice vb code
Post by: Mike Petrichenko on February 19, 2009, 05:25:36 PM
May be you can sher it here? :)
Title: Re: ClassOfDevice vb code
Post by: TheodorosGR on February 19, 2009, 06:08:31 PM
ok,i am an open source guy but the following code is written by me and i would like credits.I have spend hours(and days) to figure it out how to accomplise it.Be warned:It not optimized and should not be used if you are developing serious applications.It works for me though.
Its in C#,dont have VB.NET at the moment but i will maybe convert in the future.(and its easier to convert it).Here it goes:

Code: [Select]
string hexa = String.Format("{0:x2}", Device.ClassOfDevice(Radio));
            string MajDevCod = hexa.Substring(3, 1);
            string MinDevCod =RightString(hexa, 3);
            //5a0204 Actuall hex value
           switch (MajDevCod)
                {
                    case "1"://Computer (desktop,notebook, PDA, organizers etc )
                        MajDescription = "Computer";
                        deviceType = 3;
                        switch (MinDevCod)
                        {
                            case "100":
                                MinDescription = "Uncategorized";
                                break;
                            case "104":
                                MinDescription = "Desktop workstation";
                                break;
                            case "108":
                                MinDescription = "Server-class computer";
                                break;
                            case "10C":
                                MinDescription = "Laptop";
                                break;
                            case "110":
                                MinDescription = "Handheld PC/PDA";
                                break;
                            case "114":
                                MinDescription = "Palm sized PC/PDA";
                                break;
                            case "118":
                                MinDescription = "Wearable computer(Watch sized)";
                                break;
                        }

                        break;

                    case "2"://Phone (cellular, cordless, payphone, modem)
                        MajDescription = "Phone";
                        deviceType = 1;
                        switch (MinDevCod)
                        {
                            case "200":
                                MinDescription = "Uncategorized";
                                break;
                            case "204":
                                MinDescription = "Cellular";
                                break;
                            case "208":
                                MinDescription = "Cordless";
                                break;
                            case "20C":
                                MinDescription = "Smart phone";
                                break;
                            case "210":
                                MinDescription = "Wired modem or voice gateway";
                                break;
                            case "214":
                                MinDescription = "Common ISDN Access";
                                break;

                        }
                        break;

                    case "3"://LAN/Network Access point
                        deviceType = 0;
                        MajDescription = "LAN/Network Access point";
                        MinDescription = "LAN/Network Access point";
                        break;

                    case "4"://Audio/Video (headset, speaker, stereo, video display etc
                        MajDescription = "Audio/Video";
                        deviceType = 0;

                        switch (MinDevCod)
                        {
                            case "400":
                                MinDescription = "Uncategorized";
                                break;
                            case "404":
                                MinDescription = "Wearable Headset Device";
                                break;
                            case "408":
                                MinDescription = "Hands-free Device";
                                break;
                            case "410":
                                MinDescription = "Microphone";
                                break;
                            case "414":
                                MinDescription = "Loudspeaker";
                                break;
                            case "418":
                                MinDescription = "Headphones";
                                break;
                            case "41C":
                                MinDescription = "Portable Audio";
                                break;
                            case "420":
                                MinDescription = "Car audio";
                                break;
                            case "424":
                                MinDescription = "Set-top box";
                                break;
                            case "428":
                                MinDescription = "HiFi Audio Device";
                                break;
                            case "42C":
                                MinDescription = "VCR";
                                break;
                            case "430":
                                MinDescription = "Video Camera";
                                break;
                            case "434":
                                MinDescription = "Camcorder";
                                break;
                            case "438":
                                MinDescription = "Video Monitor";
                                break;
                            case "43C":
                                MinDescription = "Video Display and Loudspeaker";
                                break;
                            case "440":
                                MinDescription = "Video Conferencing";
                                break;
                            case "448":
                                MinDescription = "Gaming/Toy";
                                break;
                        }
                        break;

                    case "5"://Peripheral (mouse, joystick, keyboards etc )
                        deviceType = 0;
                        MajDescription = "Peripheral";

                        break;

                    case "6"://Imaging (printing, scanner, camera, display etc)
                        MajDescription = "Imaging";
                        deviceType = 0;

                        switch (MinDevCod)
                        {
                            case "610":
                                MinDescription = "Display";
                                break;
                            case "620":
                                MinDescription = "Camera";
                                break;
                            case "640":
                                MinDescription = "Scanner";
                                break;
                            case "680":

                                MinDescription = "Printer";
                                break;
                        }
                        break;

                    case "7"://Wearable
                        MajDescription = "Wearable";
                        deviceType = 0;

                        switch (MinDevCod)
                        {
                            case "704":
                                MinDescription = "Wrist Watch";
                                break;
                            case "708":
                                MinDescription = "Pager";
                                break;
                            case "70C":
                                MinDescription = "Jacket";
                                break;
                            case "710":
                                MinDescription = "Helmet";
                                break;
                            case "714":
                                MinDescription = "Glasses";
                                break;
                        }
                        break;

                    case "8"://Toy
                        MajDescription = "Toy";
                        deviceType = 0;

                        switch (MinDevCod)
                        {
                            case "804":
                                MinDescription = "Robot";
                                break;
                            case "808":
                                MinDescription = "Vehicle";
                                break;
                            case "80C":
                                MinDescription = "Doll/Action Figure";
                                break;
                            case "810":
                                MinDescription = "Controller";
                                break;
                            case "814":
                                MinDescription = "Game";
                                break;
                        }
                        break;



                }
           

So MajDescription and MinDescription will return the class of device

Put it an function and make it return a string like this
Code: [Select]
sting CoD=MajDescription + ">" + MinDescription
Hope it helps.It helped me!
Mike,if you recall i had asked here about CoD but my C# skills werent so big to make it work as you descripted it.So i came up with my way of doing it.