How do I discern Maidenhead Locator from GPS lat long info.


Closed Thread
Results 1 to 40 of 126

Hybrid View

  1. #1
    Join Date
    Oct 2010
    Posts
    413

    Default Re: How do I discern Maidenhead Locator from GPS lat long info.

    ok i have a problem using the command arraywrite, because at the compiler doesnt recognise it and it wont make it CAPITAL and bold

    Code:
    arraywrite ndays,[0,31,28,31,30,31,30,31,31,30,31,30,31]
    numofdays=ndays[month]
    then i tried to use it as well as following

    Code:
    arraywrite ndays,13,NDAY,[0,31,28,31,30,31,30,31,31,30,31,30,31]
    where the NDAY
    Code:
    NDAY:
    ndays[0] = 0
    ndays[1] = 31       'January
    ndays[2] = 28       'February
    ndays[3] = 31       'March
    ndays[4] = 30       'April
    ndays[5] = 31       'May
    ndays[6] = 30       'June
    ndays[7] = 31       'July
    ndays[8] = 31       'August
    ndays[9] = 30       'September
    ndays[10] = 31      'October
    ndays[11] = 30      'November
    ndays[12] = 31      'December
    But no luck, compiler was telling me that there is a syntax error.

    So i tried to use the lookup command

    Code:
    day_added = 0           
    hh = hh + 3             'the Hour from GPS is UTC so for our country in Greece we add +3
    if  hh > 23 then        'if the hh+3 hour is greater than 23 (23:00) then
    day_added = 1           'we check the day added is true
    endif
    hh = hh//24             'but the hour not exceed the 24 so go to 00:00
    if day_added = 1 then   'now if day added is true
    day = day + 1           'then ADD 1 day
    if day > Numofdays then   'if day is greater than the numbers of the days in this month
    lookup month,[0,31,28,31,30,31,30,31,31,30,31,30,31],numofdays 'here it is suppose to look at a table NDAYS for each month
    day = 1                 'then day goes to number 1
    if month > 12 then 'if month is greater than 12 which is December
    month = 1             ' then month will go to 1, January
    year = year +1      ' and the year will increase by 1
    if ((year//4 = 0) and (year//400 != 0)) then
    year = 1
    if month = 2 then numofdays = numofdays + 1
        endif
          endif
            endif
                endif
    But i dont know if code is ok, because i Still havent specified the lookup table.

    One more question. at the following line:
    Code:
    if ((year//4 = 0) and (year//400 != 0))
    the AND in the middle of the statements is says that statement 1 in order to be true , the statement 2 need also to be true. Is that right?

    Because as far as i understand, the statement 1 : year//4 = 0 is that we have every 4 years a leap year, then the statement 2: year//400 !=0 which != is not equal.

    Could you tell me what does the code in this line mean?

    Code:
    if ((year//4 = 0) and (year//400 != 0))
    thanks once again for your time. I know that is difficult for you to explain to someone that tries to understand even the basics. but believe me i search these days in the web for more info about picbasic pro, and in the forum here, but i cannot understand me things because i feel that are not a clear as should be for someone would like to start from zero.

  2. #2
    Join Date
    May 2013
    Location
    australia
    Posts
    2,680

    Default Re: How do I discern Maidenhead Locator from GPS lat long info.

    Could you tell me what does the code in this line mean?
    if ((year//4 = 0) and (year//400 != 0))

    https://en.wikipedia.org/wiki/Leap_year



    ok i have a problem using the command arraywrite
    arraywrite ndays,[0,31,28,31,30,31,30,31,31,30,31,30,31]
    numofdays=ndays[month
    what version of pbp , what error
    what actual code , snippets of code are pointless for debugging



    is syntactically correct for PBP3 the byte vars ndays and month also need to have been declared

    eg

    ndays var byte[13]
    month var byte


    your not executing the required steps in any sort of logical order , work out what steps are required then what order the must be done in


    Code:
    day_added = 0           
    hh = hh + 3             'the Hour from GPS is UTC so for our country in Greece we add +3
    if  hh > 23 then        'if the hh+3 hour is greater than 23 (23:00) then
    day_added = 1           'we check the day added is true
    endif
    hh = hh//24             'but the hour not exceed the 24 so go to 00:00
    if day_added = 1 then   'now if day added is true
    day = day + 1           'then ADD 1 day
    if day > Numofdays then   'if day is greater than the numbers of the days in this month
    how can you test if day is greater than the month has before you have looked up how many days the month has ?
    
    lookup month,[0,31,28,31,30,31,30,31,31,30,31,30,31],numofdays 'here it is suppose to look at a table NDAYS for each month
    day = 1                 'then day goes to number 1
    if month > 12 then 'if month is greater than 12 which is December
    month = 1             ' then month will go to 1, January
    year = year +1      ' and the year will increase by 1
    
    
    what is the point of checking if its a leapyear and the month is feb after you have already  tested the number of days for month limit
    if ((year//4 = 0) and (year//400 != 0)) then
    year = 1
    if month = 2 then numofdays = numofdays + 1
        endif
          endif
            endif
                endif
    Warning I'm not a teacher

  3. #3
    Join Date
    Oct 2010
    Posts
    413

    Default Re: How do I discern Maidenhead Locator from GPS lat long info.

    Hi Richard,

    i need to thank you again for your time. I'll start from the part of what version am i using.

    It is an old one, Pic Basic Pro 2.5 with MCSP version 3. I got it from a guy who purchased the PBP 3.0 full pack and gave me this one. I really appreciate his help as well. I have the CD and manual no any identification key on it.

    Now with people like you helping here, i'm thinking also to purchase the PBP 3.1 with MCSPX 5. (but i would like to know if i could use one license with two computers) Anyway it is not a place to discuss it right now.

    Lets go to coding now.

    This is a mesh code, because up to now i try to add code for a specific function and then Quote some parts of the code in order to use them later if needed.

    Code:
    '*  Author  : LEONARDO BILALIS                                  *
    '*  Notice  : Copyright (c) 2018 [LEONARDOS BILALIS]            *
    '*          : All Rights Reserved                               *
    '*  Date    : 12/5/2018                                         *
    '*  Version : 1.0                                               *
    '*  Notes   : This is an G.TOP015 G9 MT3333 gps module          * 
    '*          :                                                   *
    '****************************************************************
    
    @ ERRORLEVEL -306 ; this command prevents the compiler to give you a notice of
                      ; crossing page boundary - make sure bits are set 
    
    @ __config _CONFIG1, _HS_OSC & _WDT_OFF & _LVP_OFF & _CP_OFF
    
    Include "MODEDEFS.BAS"
    DEFINE OSC 8   
    OSCCON=%01111000     '8 Mhz
    CMCON = 7            'turn comparators off
    ANSEL = 0            'All digital
    PORTB = 0            'make low all ports at B range
    input portb.0        'make input portb.0
    
    '-----------------------------------------------------------------------------/
    '                           [ ULCD 1'44 4D System ]                          /
    '---------------------------------------------------------------------------/
    
    ' "o" degree character is manual created for degree value 
    
    '----------------------------------------------------------------------------/
    '                              [ PIC Variables ]                            /  
    '--------------------------------------------------------------------------/
    
    PWRLED      var     PORTb.1   ; this shows that the initialization is finished
    LCD         var     PORTb.2   ; to LCD operation
    GPS_TX      var     PORTb.0   ; info from GPS 
    GPS_RX      var     PORTb.4   ; COMMANDS TO GPS
    Testled     var     PORTb.5 
    dots        var     byte
    dots = 21
    countremain var     byte      ; we use a countremain to check the incoming from portb.0  
    pause 1000
               
    ;serout2 gps_rx,84, ["$PMTK330,62*1A",13,10]      ' check MTK manual configuration
    
    ' --------------------[ GPS Variables for NMEA sentenses ]---------------------/
    '                                                                             /
    '   $GPRMC,090045.000,A,3823.6645,N,02353.3600,E,0.02,195.80,170518,,,A*62   /
    '   $GNGGA,140405.000,3823.6010,N,02353.3054,E,1,9,0.88,0.8,M,35.9,M,,*40   /
    '                                                                          /
    '-------------------------------------------------------------------------/
    Timeout     con     2000
    hh          var     byte    'hours
    mm          var     byte    'minutes
    ss          var     byte    'seconds  
    sss         var     word    'milisecs
    degrees		VAR     BYTE	'latitude/longitude degrees
    minutes		VAR		BYTE	'latitude/Longitude minutes
    minutesD	VAR		word	'latitude/LONGITUDE DECIMAL MINUTES
    dir       	VAR     BYTE   	' direction (latitude: 0 = N, 1 = S / longitude: 0 = E, 1 = W)
    degrees2	VAR     BYTE	'latitude/longitude degrees
    minutes2	VAR		BYTE	'latitude/Longitude minutes
    minutesD2	VAR		word	'latitude/LONGITUDE DECIMAL MINUTES
    dir2        var     byte    ;direction (latitude: 0 = N, 1 = S / longitude: 0 = E, 1 = W)
    SatNo   	VAR		BYTE	'number of satellites connected
    knots       var     word    'speed over ground
    knots2      var     byte    'speed over ground
    course      var     word    'course
    course2     var     byte    'course
    day         var     byte    'day
    month       var     byte    'month
    year        var     byte    'year
    i           var     word    
    GNRMC       var     word    'protocol
    GNGGA       var     WORD    'protocol
    FIX         var     word    'fix sat V/A
    Modefix     var     byte    'mode fix 1 or 2 or 3 depens
    horizon     var     byte
    precision   var     byte
    meter       var     byte
    METERS      var     byte
    Meters2     var     byte
    Day_added   var     byte
    Numofdays   var     byte            'these are the days of each months
    ndays       var     byte    [13]    'create an array with 13 byte location for Months values
    
    
    ' -------------------------------------------------------------------------/  
    '                          [ LCD Initialization ]                         /
    '------------------------------------------------------------------------/
    high testled
    
    serout2 LCD,32,[$55]      ' uOLED Initialize
    pause 2000
    serout2 lcd,32,[$56,$01]
    pause 1000
    serout2 lcd,32,[$45]      ' clear the lcd
    pause 500
    serout2 lcd,32,[$55]
    pause 500
    serout2 lcd,32,[$45]      ' clesr the lcd
    pause 500
    serout2 lcd,32,[$73,$00,$03,$11,$ff,$ff," Leonardo Bilalis",$00]
    pause 200                       
    serout2 lcd,32,[$73,$02,$06,$10,$ff,"     Copyright 2018",$00]
    pause 3000
    serout2 lcd,32,[$45]
    pause 1000
    serout2 lcd,32,[$73,$02,$06,$10,$ff,$ff,"      GPS.........",$00]
    pause 500
    serout2 lcd,32,[$45]
    pause 200
    
    '----------------------------------------------------------------------/
    '     [ After the lcd initialization we power the Led at PIC ]        /
    '--------------------------------------------------------------------/
    
    HIGH pwrled
    
    '----------------------sent a centence to gps------------------------
    
    'Here i was planning to send a code to the GPS, i will find out the way later once i fix the Calendar part
    
    ;serout gps_rx,84,[$PMTK_103*30,,,] 
    ;pause 100
    
    '-------------------------------------------------------------------/
    '                         [MAIN Program]                           /
    '-----------------------------------------------------------------/
    
    Main: 
    
    '-------------------------------------------------------------------------------/
    '                                                                              /
    '                    [ Example NMEA Sentense of GNRMC ]                       /
    ' [$GNRMC,090045.000,A,3823.6645,N,02353.3600,E,0.02,195.80,170518,,,A*62]   /
    '                                                                           /
    '--------------------------------------------------------------------------/
    serin2  gps_tx,84,timeout,lostcable,[wait("$GNRMC"),_           ;we wait for $GNRMC
    wait(","),dec2 hh,dec2 mm,dec2 ss,wait("."),dec3 sss,_          ;we wait for 090045.000 which is the time when we got the info
    wait(","),fix,_                                                 ;we wait for A
    wait(","),dec2 degrees,dec2 minutes,wait("."),dec4 minutesd,_   ;we wait for 3823.6645
    wait(","),dir,_                                                 ;we wait for N/S 
    wait(","),dec3 degrees2,dec2 minutes2,wait("."),dec4 minutesd2,_;we wait for 02353.3600
    wait(","),dir2,_                                                ;we wait for E/W
    wait(","),SKIP 4,_         ; i also used SKIP command but doesnt look like the compiler identified it as long as is not in Capital / Bold. But seems to be working and compiling the code. 
    wait(","),SKIP 6,_
    wait(","),dec2 day,dec2 month,dec2 year]                        ;we wait for 170518                            
    pause 100
    
    'wait(","),dec1 knots,wait("."),dec2 knots2,_                    ;we wait for 0.02
    'wait(","),dec3 course,wait("."),dec2 course2,_                  ;we wait for 195.80
    
    '------------------------------------------------------------------------------/
    '                                                                             /
    '                     [ Example NMEA Sentense of GNGGA ]                     /
    ' [$GNGGA,140405.000,3823.6010,N,02353.3054,E,1,9,0.88,0.8,M,35.9,M,,*40    /           
    '                                                                          /
    '-------------------------------------------------------------------------/
    
    serin2 gps_tx,84,timeout,lostcable,[wait("$GNGGA"),_            ;we wait for GNGGA
    wait(","),SKIP 37,_
    wait(","),dec2 satno,_
    wait(","),SKIP 19]
    pause 100
    
    ;wait(","),dec2 hh,dec2 mm,dec2 ss,wait("."),dec3 sss,_          ;we wait for 140405.000 which is the time when we got info 
    ;wait(","),dec2 degrees,dec2 minutes,wait("."),dec4 minutesd,_   ;we wait for 3823.6010 longitude
    ;wait(","),dir,_                                                 ;we wait for the N/S
    ;wait(","),dec3 degrees2,dec2 minutes2,wait("."),dec4 minutesd2,_;we wait for 02353.3054 latitude
    ;wait(","),dir2,_                                                ;we wait for E/W
    ;wait(","),modefix,_                                             ;we wait for modefix 1,2 or 3 check gps manual for NMEA
    ;wait(","),dec2 satno,_                                          ;we wait for the number of fixed satellites, this is impoetant info
    ;wait(","),dec3 horizon,dec precision,_                          ;we wait for horizon
    ;wait(","),meter,dec2 METERS,dec Meters2]                        ;we wait for the meters 
    
    
    '---------------------------------------------------------------------------------/
    ' Here if the GPS module havent been fixed to any satellite will jump to notfix  /
    '-------------------------------------------------------------------------------/
    
    if fix = "V" then notfix                                                        
    pause 100
    
    '-----------------------------------------------------------------------------/
    '                           [ Return from notfix ]                           /
    '                   [ We clear any character on the display ]               /
    '--------------------------------------------------------------------------/
    
    serout2 lcd,32,[$45]     'Clear the ulcd 1'44
    pause 500
    
    '-----------------------------------------------------------------------------/
    '                   Here we start the calendar conversion                    /
    '---------------------------------------------------------------------------/
    
    ; arraywrite ndays,13,NDAY,[0,31,28,31,30,31,30,31,31,30,31,30,31] ; This Code doesnt compile as there is a syntax error. 
    ; numofdays=ndays[month]
    
    day_added = 0           
    hh = hh + 3             'the Hour from GPS is UTC so for our country in Greece we add +3
    if  hh > 23 then        'if the hh+3 hour is greater than 23 (23:00) then
    day_added = 1           'we check the day added is true
    endif
    hh = hh//24             'but the hour not exceed the 24 so go to 00:00
    if day_added = 1 then   'now if day added is true
    day = day + 1           'then ADD 1 day
    if day > Numofdays then   'if day is greater than the numbers of the days in this month
    lookup month,[0,31,28,31,30,31,30,31,31,30,31,30,31],numofdays
    day = 1                 'then day goes to number 1
    if month > 12 then      '
    month = 1               'then day goes to number 1
    year = year +1          'and the year will increase by 1
    if ((year//4 = 0) and (year//400 != 0)) then 
    year = 1
    if month = 2 then 
    numofdays = numofdays + 1
        endif
          endif
            endif
                endif
                    endif
                    
           
    '--------------------------------------------------------------------------/
    ' here is where the code dispays the stored info from the NMEA sentenses  /
    '------------------------------------------------------------------------/
                
                    
    serout2 lcd,32,[$73,$03,$00,$00,$FF,$FF," Protocol:","NMEA",$00]
    pause 100
    serout2 lcd,32,[$73,$01,$02,$01,$07,$E0," Date:",dec2 day,"/",dec2 month,"/",dec2 year,$00]
    pause 100
    serout2  lcd,32,[$73,$00,$04,$00,$FF,$E0,"   TIME: ",dec2 hh," :",dec2 mm," :",dec2 ss,$00]
    pause 100
    serout2 lcd,32,[$73,$00,$07,$00,$FF,$FF," Satellites",$00] 
    pause 100
    serout2 lcd,32,[$73,$03,$09,$11,$07,$FF,dec2 satno,$00]
    pause 100
    serout2 lcd,32,[$73,$00,$07,$00,$FF,$FF,"               Fixed",$00]
    pause 100
    serout2 lcd,32,[$73,$0B,$09,$11,$07,$FF,fix," 3D",$00]
    pause 100
    serout2 lcd,32,[$73,$00,$0B,$00,$ff,$ff," Lat : ",dec2 degrees,"*",dec2 minutes,"'",dec4 minutesd,"@"," ",$00]
    pause 100
    serout2 lcd,32,[$73,$BE,$0B,$10,$f8,$00,dir,$00]
    pause 100
    serout2 lcd,32,[$73,$00,$0D,$00,$ff,$ff," Lon :",dec3 degrees2,"*",dec2 minutes2,"'",dec4 minutesd2,"@"," ",$00]
    pause 100
    serout2 lcd,32,[$73,$BE,$0D,$10,$f8,$00,dir2,$00]
    
    ;serout2 lcd,32,[$73,$00,$0C,$00,$ff,$ff,"GND SPEED : ",(dec knots,".",dec2 knots2)*/1.852,$00]
    ;pause 200
    ;serout2 lcd,32,[$73,$00,$0E,$00,$ff,$ff,"Meters : ",dec2 METERS,dec Meters2,$00]
    pause 5000
    serout2 lcd,32,[$45]  ' clears the LCD 
    pause 100
    
            goto main
    
    '-----------------------------------------------------------------------------/
    '                              [ SUB ROUTINES ]                              /
    '---------------------------------------------------------------------------/
    
    '-----------------------------------------------------------------------------/
    '                         [ Calendar days in Months ]                        /
    '---------------------------------------------------------------------------/
    
    'The following i was planning to use it with ARRAYWRITE but cant seem i can get it working. 
    
    NDAY:
    ndays[0] = 0
    ndays[1] = 31       'January
    ndays[2] = 28       'February
    ndays[3] = 31       'March
    ndays[4] = 30       'April
    ndays[5] = 31       'May
    ndays[6] = 30       'June
    ndays[7] = 31       'July
    ndays[8] = 31       'August
    ndays[9] = 30       'September
    ndays[10] = 31      'October
    ndays[11] = 30      'November
    ndays[12] = 31      'December
    '-----------------------------------------------------------------------------/
    '                         [ Waiting for GPS signal ]                         /
    '---------------------------------------------------------------------------/
    
    notfix:     ' Still looking for fixed signal
     
    serout2 lcd,32,[$73,$00,$03,$11,$07,$ff,"   Waiting for GPS",$00]
    pause 100
    hh = hh + 3
    hh = hh//24
    serout2 lcd,32,[$73,$03,$06,$10,$ff,$E0," Time:",dec2 hh," :",dec2 mm," :",dec2 ss,$00]
    pause 1000
    serout2 lcd,32,[$73,$00,$08,$10,$07,$ff,rep "." \dots,$00]
    
    pause 200
    serout2 lcd,32,[$45]  ' clears the LCD 
    pause 100
    
    
    goto main       'returns to main    
    
    '-----------------------------------------------------------------------------/
    '                 [ Connection lost Please check the GPS ]                   /
    '---------------------------------------------------------------------------/
    
    lostcable:
    
    serout2 lcd,32,[$73,$00,$03,$11,$f8,$00,"  Connection lost",$00]
    pause 200
    serout2 lcd,32,[$73,$01,$06,$10,$07,$FF,"  Please check cable",$00]
    pause 2000
    serout2 lcd,32,[$45]  ' clears the LCD 
    pause 100
    
    goto main
    
    '-------------------------------------------------------------------------/
    '                      GREEK TIME and Correcrion                         /
    '-----------------------------------------------------------------------/
    
    ' at the moment this is not connected to any part of the code
    ;Plusthree:
    ;  hh = hh + 3
    ;  IF hh = 25 THEN hh = 0  
    ;RETURN  
    '---------------------------------------------------------------------------/
    '                              [ CLEAR LCD ]                               /
    '-------------------------------------------------------------------------/
    
    Clearlcd:
    serout2 lcd,32,[$45]
    pause 500
    RETURN
    Regarding the following part of the code, MARKED items with RED by Richard i will fix it on my next message. I think it is clear what needs to be done. Thanks once again.

    Code:
    day_added = 0           
    hh = hh + 3             'the Hour from GPS is UTC so for our country in Greece we add +3
    if  hh > 23 then        'if the hh+3 hour is greater than 23 (23:00) then
    day_added = 1           'we check the day added is true
    endif
    hh = hh//24             'but the hour not exceed the 24 so go to 00:00
    if day_added = 1 then   'now if day added is true
    day = day + 1           'then ADD 1 day
    if day > Numofdays then   'if day is greater than the numbers of the days in this month
    how can you test if day is greater than the month has before you have looked up how many days the month has ?
    
    lookup month,[0,31,28,31,30,31,30,31,31,30,31,30,31],numofdays 'here it is suppose to look at a table NDAYS for each month
    day = 1                 'then day goes to number 1
    if month > 12 then 'if month is greater than 12 which is December
    month = 1             ' then month will go to 1, January
    year = year +1      ' and the year will increase by 1
    
    
    what is the point of checking if its a leapyear and the month is feb after you have already  tested the number of days for month limit
    if ((year//4 = 0) and (year//400 != 0)) then
    year = 1
    if month = 2 then numofdays = numofdays + 1
        endif
          endif
            endif
                endif

  4. #4
    Join Date
    Oct 2010
    Posts
    413

    Default Re: How do I discern Maidenhead Locator from GPS lat long info.

    This weekend i will try to make some changes. I also found out that the NMEA sentence $GPVTG (from a chip MT3339) or $GNVTG (from a chip MT3333, with GLONASS) has the info of the speed in Km/h so it will be simpler to display speed at km/h.

  5. #5
    Join Date
    Oct 2010
    Posts
    413

    Default Re: How do I discern Maidenhead Locator from GPS lat long info.

    ok it is being some time since i made a change to the code. These days i l was trying to figure out how to embed the speed in my code. I left the part of the code with Days, Months, Years, on a side for a while.

    Tomorrow i will upload the code with the speed embeded, and the limits at 10Km/h, 50Km/h, 100Km/h. I have placed for the indication of each limit some LEDs at A Port.

    I have also noticed that code is expanding, and at the end i might need a bigger PIC chip.
    Last edited by astanapane; - 11th June 2018 at 22:29.

  6. #6
    Join Date
    Oct 2010
    Posts
    413

    Default Re: How do I discern Maidenhead Locator from GPS lat long info.

    These days i tried to use the $GPVTG sentence and get the speed from there as it is in Km/h

    First of all the format of the $GPVTG sentence is as follows.

    1. X.XX for the left X before the "dot" when the speed is less than 10km/h
    2. XX.XX for the XX before the "dot" when the speed is more than 9 km/h and less than 100km/h
    2. XXX.XX for the XXX before the "dot" when the speed is more than 99km/h

    For the .XX so the two digits after the "dots" those are the decimal part and stays stable in the $GPVTG sentence.

    We need to check when the speed change, where is the dot.

    Code:
    serin2 gps_tx,84,timeout,lostcable,[wait("GPVTG"),wait("N"),_
    wait(","),TS[0],TS[1],TS[2],TS[3],TS[4],_
    wait(","),SKIP 3]
    
    for i = 1 to 3
        if TS[i]="." then decimal = i   'TOTAL SPEED. find which character is the decimal point 
        next i
    
    select case decimal 'if the gps shows 1.45 it may be 145
                        'for the conversion ASCII to number we can use the -48
        case    1       'decimal position is x.xx
            speed = (10*(TS[0]-48))+(TS[2]-48)
        case    2       'decimal position is xx.xx
            speed = (100*(TS[0]-48))+(10*(TS[1]-48))+(TS[3]-48)
        case    3       'decimal position is xxx.xx
            speed = (1000*(TS[0]-48))+(100*(TS[1]-48))+(10*(TS[2]-48))
        end select     
        
    gosub OVERSPEED:
    
    
    OVERSPEED: 
    
    if SPEED > 1000 then     ' 100Km/h
        high porta.3
        low  porta.2
        low  porta.1    
    else
        LOW porta.3
        
    if SPEED > 500 then     ' 50Km/h
        high porta.2
        low  porta.1    
    else
        LOW porta.2
        
    if SPEED > 100  then    ' 10Km/h
        high porta.1
    else
        LOW porta.1
    
    endif
        endif
            endif
        return
    At the moment the code is working as it is, but i think i need to change the multiplication of 10*, 100* and 1000*, to 1*, 10* and 100*, because as you see at the OVERSPEED: i use 1000 for the 100 km/h, 500 for the 50km/h and 100 for the 10km/h.
    But then the dot will change place, or i will not being able to identify the right place of it. Anyhow the code is working for the speed.

    Still i need to:

    1. Make the Day/Month/Year to work properly, now i think i will not have a problem to solve this.

    2. The display data are refreshed, my goal is to make the data stable all the time at the screen and change only the needed values.
    Attached Images Attached Images   

  7. #7
    Join Date
    Oct 2010
    Posts
    413

    Default Re: How do I discern Maidenhead Locator from GPS lat long info.

    Could you tell me if it is a good choise continuing this project with PIC16f887 i/p?

Similar Threads

  1. LAT replaces PORT command?
    By markscotford in forum mel PIC BASIC Pro
    Replies: 2
    Last Post: - 3rd December 2011, 16:37
  2. Need Info for PBP?
    By azmax100 in forum mel PIC BASIC Pro
    Replies: 0
    Last Post: - 30th January 2009, 07:44
  3. Replies: 1
    Last Post: - 27th July 2008, 06:14
  4. dmx info.
    By oscar in forum mel PIC BASIC Pro
    Replies: 0
    Last Post: - 8th May 2005, 11:54

Members who have read this thread : 1

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts