Hi elcrcp,
If you look in the PBP manual under "serin2" you will find the "input modifiers" table...
DEC{1...10} allows you to specify how many decimal digits to receive into the next variable.
So DEC2 latdeg,DEC2 latmin,wait(".")
will receive the next 2 decimal digits into the variable "latdeg" and then the following 2 decimal digits into "latmin"
There is also a "SKIP n" parameter to ignore the next "n" digits, etc. etc.
above is how I defined my varialbes...Code:GPRMC VAR BYTE[64] hh VAR BYTE 'hours mm VAR BYTE 'minutes ss VAR BYTE 'seconds sss var word 'milliseconds fix VAR WORD 'GPS fix latdeg VAR BYTE 'degrees latitude latmin VAR BYTE 'minutes latitude latminn var word 'fractional minutes latitude NS VAR BYTE 'north or south londeg VAR BYTE 'degrees longitude lonmin VAR BYTE 'minutes longitude lonminn var word 'fractional minutes longitude EW VAR BYTE 'east or west Knots VAR byte 'speed in knots (units) Knotss var byte 'speed in fractional knots course var word 'heading dy VAR BYTE 'day mt VAR BYTE 'month yr VAR BYTE 'year
so if the latdeg value is between 0-255 it will fit within the "byte" sized variable even if it is 1,2 or 3 digits (ie 99, 127, 08, etc)
PS. I may not have correctly sized all the varibles (bit, byte or word) so use your own judgment there... I wrote that code a couple of years ago.
Since "course" could be anything between 0-359 degrees it would need to be bigger than a byte as a byte can only hold up to 255
hope that helps
Bookmarks