Hi! We see you’re using an ad-blocker. We’re fine with that and won’t stop you visiting the site.
But as we’re losing ad-revenue from this then why not make a donation towards website running costs?. Or you could disable your ad-blocker for this site. We think you’ll find our adverts are not overbearing!
Posted: Fri Mar 26, 2004 2:09 pm Post subject: RBT-3000 Datalogger Protocol
Hi,
Does anyone know the serial port commands / protocol that the RBT-3000 uses to retrieve (download) it's datalog records? Is it an NMEA command I don't know yet about or some proprietry protocol.
I'm writing some PocketPC GPS software and I want to get at the actual serial port stream as the datalogs come in, rather than have to download the datalog file using the RoyalTek PPC software and then convert the file.
I had a scout around on the web but can't seem to find a specification that covers these datalog commands.
Joined: 02/11/2002 22:41:59 Posts: 11878 Location: Massachusetts, USA
Posted: Fri Mar 26, 2004 2:19 pm Post subject:
They are most probably not NMEA based, and RoyalTek may not be willing to fill you in on the details... You could use a serial (BT) sniffer between the PocketPC and the RBT 3000 but that gets complicated quite quickly..
You will also need to consider that all dataloggers use different protocols to retrieve the data. you would have to write routines for the RBT3000, for the Deluo Blackbox, for the Emtac, etc... _________________ Lutz
Yes that's what I expect ;-) I'll try a serial port monitor over the weekend and see if I can figure it out. I've emailed Royaltek...gotta be worth a try.
Support for other dataloggers is not a concern to me as this app is for my own use while on my motorbike travels. I want the data in GPX format and rather than have to keep running file converters, I thought I'd see if I could get the logged data direct and convert it on-the-fly.
I am also on the same boat here. I wanted to write an app on the PalmOS platform to utilise the datalog function of BlueGPS. The reply I got from Royaltek was not very helpful ( no documentation was given ), but they did say that they are working on a set of apps/drivers for PalmOS.
As usual, I think this is just "keeping the custom happily waiting" theory and so I am still keen on writing my own app. The problem with a lot of these companies are that they only care about selling the production but provides limited after market support. Check out Royaltek's web site, there is virtually no software/frmware updates, but I am sure that at the very least the user manual on the web site is outdated ( I have version 1.2 while the web site has verison 1.1 ) and they don't bother to update it. Are they writing updates on software/firmware ( if they are ) but only disribute them for new sales only ??
Either way, I would be happy to participate in the quest for working out their "secret" code. Hello sniffer, here we come !! I will post any findings and hopefully we are all share !!
Royaltek have not been forthcoming with any protocol documentation despite me being a software development company :-(
Still, I had a look with a serial port analyzer and I can tell you that it uses a Sirf command to switch the gps into 'User1 Protocol'.
This is not an ascii protocol unfortunately so it's not going to be easy. So far I have managed to work out the layout of the protocol frame and I can see the commands to send to query the number of datalogs, download and delete them. I haven't yet managed to work out all the details of the payload bytes for these commands but I'm getting there. Staring at hex gives me a headache after a while :-)
I'm also very close to decoding the structure that the data is returned in, it looks like quite a straightforward C type structure comprising floats, ints etc.
There is also what appears to be some handshaking going on. Again, I cant be certain of exactly what the payload bytes mean but I'm going to see if I can knock a little test program that simply responds with the same data that I have captured.
I've got txt files containing the trace output and I can post these with details of what I (think) I have worked out if someone will tell me how to upload files to this forum.
DISCLAIMER: Use of this information is AT YOUR OWN RISK and no liability will be accepted for any damage that may be caused, either directly or indirectly, by it's use. Be aware that this may also invalidate any warranty that you may have. Basically, if you bugger it up, don't blame me.
That said, I think this is do-able. I only want to get as far as being able to download the datalogs directly in GPX format so I don't have to muck about converting files afterward. Given that a full log of 30240 records results in a file of >8Mb, it's nice to be able to go straight to the format you want than have to have multiple copies hanging around while you convert....especially when memory is limited.
Sorry about this. Have been very busy lately.
I am still interested but I can't get my Widcomm BTServer Spy Lite to sniff the port when I connected it to the BlueGPS util. I am still looking for a good ( and free ) sniffer program. What are you using ??
I did the monitoring on my laptop rather than on the PPC. As the BlueGPS communicates via a BT serial port profile, I just pointed the serial port monitor at the port that my laptop uses to communicate with the BlueGPS. I run the monitor and then run the PC version of the BlueGPS software. In other words, I'm just monitoring traffic at the serial port level, not at the BT level. This allows you to see all the commands and responses to and from the GPS.
I've got a set of files that show all the trace output from this progam. I did downloads / deletes of different numbers of datalogs, from a few, right up to the maximum of 30240 so that I could begin to crack the commands. I also have the matching txt files containing the logs to be able to decode the returned data structure.
Is there a way I can send them to you without us having to make our emails public (trying to avoid junk mail)?
I'm not that up to speed with these forums but perhaps the private message thing is a way to exchange addresses?
Thanks for the tip. I will have a look at that program. I've created a Yahoo briefcase ... [url] http://uk.f2.pg.briefcase.yahoo.com [/url]. You can upload your files there. You can login with the following details ..
Login : bluegps2004
Password : royaltek
I was just browsing the FCC ruling of the BlueGPS. I know that internally it is using RoyalTek's REB/RGM3000 Chip. Take a look at pdf page 49 and 50 of the user manual ...
It describe a "Royaltek Navigation Data" in SiRF binary protocol. The order of the data items are very similar to those generated by the log file from the BlueGPS util. Since, I don't have a working sniffer yet, I am hoping this is the protocol structure that we are looking for. I hope we are getting close to this !!!
Joined: 11/07/2002 14:36:40 Posts: 23848 Location: Hampshire, UK
Posted: Tue Apr 20, 2004 11:30 am Post subject:
Andy, we don't have a facility to upload files but if you email them to me darren @ pocketgpsworld.com I will happily upload them and provide the link for anyone who wants them.
I have a RBT-3000 but for some reason, now matter how I download the logs I get a 'Download is interrupted' entry on the last line of the log and even though Download & Delete is selected the logs are not flushed presumably because of this error. From what I can tell, all the entries are downloaded except for the very last one in each case. _________________ Darren Griffin
Joined: 11/07/2002 14:36:40 Posts: 23848 Location: Hampshire, UK
Posted: Wed Apr 21, 2004 5:51 pm Post subject:
The monitor trace file archive is now available at http://www.griffinnet.co.uk/downloads.htm . If you make any discoveries please email me with the information and I will update the archive files. _________________ Darren Griffin
Posted: Fri Apr 23, 2004 7:55 pm Post subject: I have a Palm app that works with BlueGPS
Hi,
I just joined this group and I may have some info that you might find useful. I bought a BlueGPS a few weeks ago and had the same idea to create a Palm app for it. So I did what you guys are talking about and I have a working version of a Palm app that will set Degrade and SBAS modes, query the size of the log, download the log into a Database and delete the log. I was in a hurry to get it working before I went on vacation last week so the code is a mess but it works pretty well. After our trip I downloaded the log to a database and then converted the data to a Palm DOC file (using another app I wrote). Since I'm new to the group I'm not sure what to do with it. I can share the code or the app (or both). Or I can just post info on how I do it. Let me know how I can help.
Here's some of the things I discovered to start with. Since my goal was to get this working as soon as possible I didn't spend time figuring out why something was working, in most cases I just duplicated what I saw on the Serial Port Sniffer. You probably know a lot of this already.
-After establishing a Bluetooth connection the GPS waits 1 or 2 seconds (or so) looking for the command to set it to what I call Command Mode. If it doesn't get it then it starts outputing NMEA sentences. To turn on Command Mode I just repeatedly send the data that the PC application sends until I get the appropriate acknowledge from the GPS.
-The format of commands is
// 0xAA 0x55 'datalen' 'cmd' 'data...' 'xor' 0x33 0xCC
//
// 'datalen' (2 bytes) = length of the data (including cmd)
// 'cmd' (1 byte) = the command to the BlueGPS
// 'data' = the data
// 'xor' (1 byte) = exclusive OR of all the data
-After sending the command the GPS will send back the response with cmd the same as the cmd you sent it.
-Some of the commands I figured out:
SET NAVIGATION PARAMETERS
0xAA, 0x55,
0x11, 0x00, // data length
0x15, // set navigation parameters command
0x01, 0x00, 0x01, 0x05, 0x01 ,0x00, 0x32, // ??
0x00, 0x4b, 0x00, 0x01, 0x28, 0x28 ,0x28, // ??
0x00, // degrade mode off
0x01, // SBAS on
0x40, // XOR
0x33, 0xcc
SET RECORD NUMBER FOR LOG DOWNLOAD
0xAA, 0x55,
0x11, 0x00,
0x10, // set log position for download
0x00, 0x00, 0x00, 0x00, //??
0x01, 0x00, 0x14, 0x00, //??
0x00, 0x00, // the starting record number to dowload
0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x05,
0x33, 0xcc
SEND THE LOG
0xAA, 0x55,
0x01, 0x00, // data length
0x06, // send the log
0x06, // XOR
0x33, 0xcc
QUERY NUMBER OF RECORDS IN THE LOG
0xAA, 0x55,
0x01, 0x00,
0x24, // query number of records in the log
0x24, // XOR
0x33, 0xcc
DELETE THE LOG
0xAA, 0x55,
0x01, 0x00,
0x34, // delete all records in the log
0x34, // XOR
0x33, 0xcc
SEND THE LOG (Starting with record number specified in SETPOSITION)
0xAA, 0x55,
0x01, 0x00, // data length
0x06, // send the log
0x06, // XOR
0x33, 0xcc
-Format of the log data record returned back from the GPS (cmd will be 0x06 and data is as follows):
struct bluegps
{
UInt8 recordno[2]; // record number
UInt8 year;
UInt8 month;
UInt8 day;
UInt8 na; //?? don't know what this is
UInt8 hour;
UInt8 min;
UInt16 na2; // ?? don't know what this is
float secs;
double lat; // in decimal format
double lng; // in decimal format
float alt; // in meters
float pdop;
float hdop;
float speed; // kilometers per hour
float direction;
UInt8 sats;
UInt8 eventtype; // ??
float na3; //??
};
Note: the bytes need to be swapped on the Palm (Big Endian vs Little Endian)
-When I tried to download the entire log at one time I would miss large blocks of the log, not sure why. So I download it in sections. After the log has started downloading just SetPostion of the log to the end and wait until the GPS acknowledges the SetPosition. Then I set postion to the record I want and start download again. Repeat until I get all the records.
Posted: Today Post subject: Pocket GPS Advertising
We see you’re using an ad-blocker. We’re fine with that and won’t stop you visiting the site.
Have you considered making a donation towards website running costs?. Or you could disable your ad-blocker for this site. We think you’ll find our adverts are not overbearing!
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
Or you could disable your ad-blocker for this site. We think you’ll find our adverts are not overbearing!
Hi! We see you’re using an ad-blocker. We’re fine with that and won’t stop you visiting the site.
But as we’re losing ad-revenue from this then why not make a donation towards website running costs?. Or you could disable your ad-blocker for this site. We think you’ll find our adverts are not overbearing!