Announcement

Collapse
No announcement yet.

RR and Windows 7/8 Location/Sensor API

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • RR and Windows 7/8 Location/Sensor API

    I am moving RR to a Lenovo Thinkpad Tablet 2 running Windows 8.

    The device (like a few other Windows tablets) has a built in GPS receiver.

    I believe that the only access the receiver is via the Windows Location API.

    Several questions:

    1. Is there any support in RR that uses the Location API to set the GPSxxx variables?

    2. If not, is such support planned?

    3. If not, if I set the GPSPORT to 0, does RR clear the GPSxxx variables or simply leave them alone?

    4. If not, can I set the GPSxxx variables from my own code (plugin or other program) without them being disturbed by RR?

    Regards,
    Jim

  • #2
    I played a little with the BU-353 GPS and it comes with a driver for the GPS...

    I have it working right now as a location sensor by running a generic program that pulls the GPS signal and converts it for the location sensor.

    You may need to see if you can find the driver for your GPS so you can read it directly instead of as a location sensor.

    You could always load the generic driver then after that to allow you to use it as either. You may have to use a port duplication program to make it work with both at the same time but it should work if you want it to.

    See this thread for links to the generic driver I am using. This requires a USB or Serial connected GPS with the proper drivers loaded for normal GPS usage. You would only need this if you can get the generic driver for your GPS and still want to keep the location sensor driver if you can't load both at the same time.

    http://www.mp3car.com/bu-353-globals...7-or-win8.html

    Comment


    • #3
      Unfortunately you missed the point.

      The tablet I will be using has a built-in GPS receiver (like many phones) which is only accessible via the Windows Location API.

      The GPS receiver is part of the sensor array in the tablet (includes compass, accelerometer, and other sensors).

      I currently use the USB based receiver you mention with my setup using my laptop but with the tablet I no longer need it nor want to use it.

      What I am interested in is whether RR does/will support the Windows Sensor API (includes Location) or if I need to write the support myself and whether RR will leave the GPSxxx variables along.

      I have also investigated both Franson GPSGate and XPort but they currently don't support the API and have not announced if they will.

      Regards,
      Jim

      Comment


      • #4
        Checkout Centrafuse Localizer. It connects directly to your onboard gps/gnss device and provides a standard comport for desktop nav apps to connect to.

        www.centrafuse.com

        VegasGuy

        Comment


        • #5
          obrien, you misunderstood my message.

          The GPS device in your computer should have a GPS driver available that would allow it to be accessed as a standard "USB" type GPS.

          I was mentioning this as an option. If you can get a "standard" GPS driver for your device it likely wouldn't be a "Location sensor" any longer and you would need to use the generic driver I mentioned above which you could use with one of the mentioned programs to provide both the location sensor and a standard GPS device.

          If this is an integrated device I am assuming that the other sensors come up as location sensors as well? And do they all come in on the same device driver? If they do then removing the driver for the GPS would remove the others as well... Then it would make sense if someone could make a generic GPS driver that accesses the Location sensor information to provide a standard GPS interface.

          Comment


          • #6
            Originally posted by redheadedrod View Post
            obrien, you misunderstood my message.

            The GPS device in your computer should have a GPS driver available that would allow it to be accessed as a standard "USB" type GPS.

            I was mentioning this as an option. If you can get a "standard" GPS driver for your device it likely wouldn't be a "Location sensor" any longer and you would need to use the generic driver I mentioned above which you could use with one of the mentioned programs to provide both the location sensor and a standard GPS device.

            If this is an integrated device I am assuming that the other sensors come up as location sensors as well? And do they all come in on the same device driver? If they do then removing the driver for the GPS would remove the others as well... Then it would make sense if someone could make a generic GPS driver that accesses the Location sensor information to provide a standard GPS interface.
            Uh, I'm not quite sure you understand how the Windows Sensor platform works. The Windows Location Platform sits between the consuming application (Bing Maps, for instance) and the actual sensor driver. Each sensor has an associated driver, which exposes it within the System.Devices namespace. So, for instance, my Broadcom GNSS chip has a driver which exposes various methods, properties and events to the system. The Windows location platform accesses a portion, but not all, of those properties and provides them to applications that make use of the platform. When GPS/GNSS-derived position information is not available, the location platform will look to other sources (wifi triangulation, Cell tower location, IP address) and methods to try and get position data. Turn off the GNSS/GPS, Wifi, Bluetooth in the device control panel, and the location platform will not be a able to provide a location. All te other sensors (orientation, compass, ambient light) have their own drivers as well.

            In point of fact, most tablets or laptops with integrated GPS/GNSS do not provide a serial interface to the data stream, or a driver to create one. Not sure why that is, but its a fact. That's why I created Centrafuse Localizer, to solve this exact problem. I bypass the location platform entirely and talk directly to the sensor driver, then provide that data to a virtual com port. As far as the OS and applications are concerned, its just another comport. All the applications sees when it connects is standard NMEA strings.

            In the course of development, I had to uninstall and re-install the Broadcom driver for my GNSS chipset. That had no effect on the location platform , or any of it's other sources of data. it just couldn't deliver high-accuracy position information.

            A lot of this is pretty new (at least to me) so I thought it was worth the walk through.

            cheers!

            VegasGuy

            Comment


            • #7
              Originally posted by obrienj View Post
              Unfortunately you missed the point.

              The tablet I will be using has a built-in GPS receiver (like many phones) which is only accessible via the Windows Location API.

              The GPS receiver is part of the sensor array in the tablet (includes compass, accelerometer, and other sensors).

              I currently use the USB based receiver you mention with my setup using my laptop but with the tablet I no longer need it nor want to use it.

              What I am interested in is whether RR does/will support the Windows Sensor API (includes Location) or if I need to write the support myself and whether RR will leave the GPSxxx variables along.

              I have also investigated both Franson GPSGate and XPort but they currently don't support the API and have not announced if they will.

              Regards,
              Jim
              I suppose that a plugin would be your best friend ?

              Comment


              • #8
                Originally posted by obrienj View Post
                I currently use the USB based receiver you mention with my setup using my laptop but with the tablet I no longer need it nor want to use it.
                I totally understand what you are asking, and it makes logical sense to use the built in GPS function. On the other hand, I would personally much rather use the BU-353 external GPS in the real world. First, trying to get RR to work with the internal sensor it is probably going to require a custom written plugin to access the API.

                Also, the BU-353 is a MUCH better receiver than you will find in any phone or tablet. I get a solid lock on at least 10 satellites very quickly. The ability to locate it on the roof, or at least on the dash is also a huge plus. When you build the tablet into the dash, or even place it down lower in the car, the GPS signal is greatly reduced.

                I can connect my Galaxy S3 to a Bluetooth GPS device, and it automatically switches all apps to use that far more accurate GPS signal. I would think that Windows would probably allow for the same type of auto switching.

                I know this does not answer your question directly, but it certainly gives you some thing to think about.
                Front End of Choice: Ride Runner (Is there anything else??? ) & Powered by the DFX5.1 Skin Available in the Mobile App Mart

                My Fiero Build Thread

                Comment


                • #9
                  Originally posted by JohnWPB View Post
                  I totally understand what you are asking, and it makes logical sense to use the built in GPS function. On the other hand, I would personally much rather use the BU-353 external GPS in the real world. First, trying to get RR to work with the internal sensor it is probably going to require a custom written plugin to access the API.

                  Also, the BU-353 is a MUCH better receiver than you will find in any phone or tablet. I get a solid lock on at least 10 satellites very quickly. The ability to locate it on the roof, or at least on the dash is also a huge plus. When you build the tablet into the dash, or even place it down lower in the car, the GPS signal is greatly reduced.

                  I can connect my Galaxy S3 to a Bluetooth GPS device, and it automatically switches all apps to use that far more accurate GPS signal. I would think that Windows would probably allow for the same type of auto switching.

                  I know this does not answer your question directly, but it certainly gives you some thing to think about.
                  I offer my personal observation (for what its worth)

                  I use my Asus VivoTab (Broadcom GNSS chipset) daily to and from work. Typically get 7-12 sats depending upon weather, time of day, which way I'm driving, but always a 3d fix. Tab sits low in the center console, well below the windshield. As far as native support for external GPS goes, no. Windows 8 will not recognize your external GPS (automatically) unless it has the necessary sensor driver installed. There is a generic GPS sensor driver available, but you have to install it manually. Once its setup, though, it should work all the time. Using Centrafuse Localizer, I run PC Navigator or Sygic without any special apps or plugins. It just looks like an external GPS to them.

                  I will add the YMMV caveat. Different tablets have different chipsets, antennas and mounting which may negatively affect performance. I'm just reporting what I see.

                  Comment


                  • #10
                    VegasGuy,

                    You describe the System.Devices.xxx (xxx = Location for GPS) correctly except for Windows 8 which will not allow (easily) that capability in desktop apps according to some MS doc I have read. Other non-MS doc says you can "fool" Windows into allowing one to use the sensors in a desktop app but it requires some obscure privileges manipulation. Since I have no plans to use Metro (or Modern if you prefer) this might present a problem. One option is to use a third party program that allows Metro apps it run on the desktop and "hack" that way.

                    On the other hand, I would assume your Localizer requires Centrafuse to work and is not a stand-alone package. Might be attractive if it was standalone. It and Franson GPSGate would be an interesting combination for tablets with built-in sensors unless Franson decides to do it themselves. What I have heard from them is that it is being considered.

                    BTW, my tablet is a Lenovo Thinkpad Tablet 2 and should arrive this week and I will start "playing" with it.

                    Regards,
                    Jim
                    Last edited by obrienj; 06-12-2013, 09:33 PM.

                    Comment


                    • #11
                      Originally posted by obrienj View Post
                      VegasGuy,

                      You describe the System.Devices.xxx (xxx = Location for GPS) correctly except for Windows 8 which will not allow (easily) that capability in desktop apps according to some MS doc I have read. Other non-MS doc says you can "fool" Windows into allowing one to use the sensors in a desktop app but it requires some obscure privileges manipulation. Since I have no plans to use Metro (or Modern if you prefer) this might present a problem. One option is to use a third party program that allows Metro apps it run on the desktop and "hack" that way.

                      On the other hand, I would assume your Localizer requires Centrafuse to work and is not a stand-alone package. Might be attractive if it was standalone. It and Franson GPSGate would be an interesting combination for tablets with built-in sensors unless Franson decides to do it themselves. What I have heard from them is that it is being considered.

                      BTW, my tablet is a Lenovo Thinkpad Tablet 2 and should arrive this week and I will start "playing" with it.

                      Regards,
                      Jim
                      Centrafuse Localizer is completely standalone. It will work with any desktop application. I use it with Franson GPS gate to split the output to multiple nav programs during testing. Works like a champ.
                      http://www.centrafuse.com/centrafuse-localizer

                      Cheers!

                      Comment


                      • #12
                        VegasGuy,

                        Excellent!

                        I ordered and downloaded Localizer this AM.

                        I have my BU-385 plugged in and it is at COM20 which I can't access from the Localizer menu.

                        Will Localizer work with an external GPS receiver or should I wait until my tablet gets here?

                        Or are there other setup things I must do?

                        Could you explain how you setup Localizer and Franson GPSGate?

                        I need to use GPSGate as I have 3 apps (Sygic being one) that need their own GPS com port.

                        Any help or doc pointers would be helpful.

                        Regards,
                        Jim

                        Comment


                        • #13
                          Originally posted by obrienj View Post
                          VegasGuy,

                          Excellent!

                          I ordered and downloaded Localizer this AM.

                          I have my BU-385 plugged in and it is at COM20 which I can't access from the Localizer menu.

                          Will Localizer work with an external GPS receiver or should I wait until my tablet gets here?

                          Or are there other setup things I must do?

                          Could you explain how you setup Localizer and Franson GPSGate?

                          I need to use GPSGate as I have 3 apps (Sygic being one) that need their own GPS com port.

                          Any help or doc pointers would be helpful.

                          Regards,
                          Jim
                          Well obviously, Localizer isn't actally needed in this scenario, since you have a GPS connected to a comport already. But for testing purposes and to get the concept of operation, here's what you'll need:

                          1. Download the GPSDirect from the Centrafuse repositiory: (x86) http://repo.centrafuse.com/centrafus...st/gps7s32.exe , (x64)http://repo.centrafuse.com/centrafus...st/gps7s64.exe
                          2. Install the appropriate version and run it. Set it to use the right comport for your GPS, verify that it is receiving data, and close it. This is the driver for the location platform. This creates the GPS sensor for Localizer to attach to.
                          3. Now run Localizer. It should find the GPS sensor, and start displaying data. The port list is the one YOU are offering to the system, not the port you use to connect to the GPS.
                          4. If localizer reports that the sensor is ready and you are receiving data (you can see $GP data in the bottom window, select a comport and press the "play" button. Localizer is now delivering NMEA data to the selected port.
                          5. You can attach Franson GPSGate to the selected port as you would any normal comport.

                          Cheers!

                          Comment


                          • #14
                            VegasGuy,

                            Thank you for the detailed explanation.

                            And yes this is only for testing but will help during future development which occurs on my Win 7 laptop with an external GPS.

                            BTW, when I ordered and paid for Localizer I was presented with an invoice that included a download option, all of which I expected.

                            However, when I clicked the "Download" option I was told I was downloading the "trial" version.

                            Is there a license code or something or does the download know it was purchased?

                            Just a little confusing, nothing major.

                            Again, thanks.

                            Regards,
                            Jim

                            Comment


                            • #15
                              On your "My account" page on www.centrafuse.com, you'll see a link to "Manage License". On that page you can create a license file for localizer. You'll need the hardware ID (click the "About" menu item in localizer). THe license will be emailed automatically to your account email address. Drop it in the localizer folder and you're all set.

                              Comment

                              Working...
                              X