Uppdaterad 2009-10-08

Firmware historik
Nedan följer firmware historik, till de tre olika modellerna av ActiveGPS

OBS! Det går inte att byta firmware mellan modellerna, då måste också hårdvaran uppdateras.

Modell 1
0.0
Första versionen
0.1
Displayen slocknade under 12V, tog bort felaktig konstant och ersatte med HI_TRIGGER Kan nu visa signalstyrka i testläget
0.2
HI_TRIGGER värdet hämtades felaktigt från BANK0 i FW 0.1
Medelvärdes beräkning av AD'ns spänningsmätning (256 gånger)
Displayen stänger av efter 34ms spänning under LO_TRIGGER istället för 136us
LO_TRIGGER aktiveras inte förrän efter ca 6 sekunder med underspänning, då stänger vi av och lägger oss i energisparläge.
Fel vid visning av signalstyrka i FW 0.1 fixat.
Visar nu också batterispänning vid uppstart när man håller inne knappen
0.3
Enheten ger pip ifrån sig om eepromet är tomt i billäget
Korrekt avrundning av hastigheten, förut klippte vi bara bort decimalerna
så att tex 21.6km/t blev 21km/t, nu avrundas det istället så att
21.5km/t blir 22km/t och 21.3km/t blir 21km/t
Förhindrar att en position sparas när enheten är i testläge, då antalet
positioner i minnet är satt till noll så skulle det innebära att alla
tidigare positioner försvinner.
0.4
Strängare kontroll för om vi har passerat en fara eller ej.
+-45 graders hantering av alla färdrikningar, istället för +-67 för
tex norrgånende och en kombination tex Nordväst blev 203 <-> 67 alltså
+-224 grader ! Nu blir allt +-45
0.5
Tagit bort 31.25kHz läget samt kontroll av IOFS flaggan som tydligen låste sig när det blev kallt.
En prick blinkar i OFF läget samt när den är kopplad till datorn
Bytt från prickar till streck vid sökning av satellit.
Modell 2
1.0
Nu är 2674 regulatorn borta, kör alltid via USB
Batterispänningen är borttagen
Enheten kan nu skicka GPS data via USB samtidigt som den varnar för kameror.
Hastigheten som visas är nu medelvärdesbildande från de två senaste hastigheterna från GPS modulen för att ge ett lite segare och stabilare värde vid svaga signaler då hastigheten annars riskerade att hoppa upp och ned lite grann
Ny funktion: Om man önskar så kan enheten inte bara visa avståndet till positionen man närmar sig utan växelvis visa hur mycket man kör för fort om man nu skulle göra det.
Problem med BrownOut Reset, vid omstart så verkar inte kretsen göra full reset som den skall göra enligt tillverkaren
Displayen visar "Lo" när spänningen understiger 3.92V, sedan startar enheten om
Enheten startar inte förrän spänningen överstiger 4.13V, tre punkter visas tills spänningen är ok in...
Enheten switchar automatiskt mellan 4800 och 9600bps
1.1
Starta alltid upp med 9600 vid power on reset
Pip när knappen trycks in i test läge
Pip vid watchdog reset och testläge.
1.2
Förbättrad visning av hastighet, snabb ändring med trend och långsam ändring mot trend.
1.3
Med gemensam anod på displayen, samma som 1.2 fast support för en annan display, Annpassad för modell 2B
1.4
Korrekt hårdvaru ID (03h), CLRWDT görs ej när apparaten är kopplad till datorn för att tillåta uppdatering av mjukvara i GPS mottagaren.
Modell 3
2.0
Initial release, samma funktioner som tidigare modell fast med några skillnader:
+ Mer minne
+ Stöd för genomsnittshastighetsmätning
+ Ljussensor
+ Snabbare processor
* Kan nu visa hastighet över 255km/t på displayen
+ Pricken i läge "OFF" lyser med fast sken, när apparaten inte är kopplad till dator
2.1
+ DOP under 3.0 visas i testläget
* Displayen kunde flimmra något i vissa ljusförhållanden
+ Testläges infon kan visas om man håller inne knappen när den söker efter satellit
2.2
* Förhindra att writes görs till flash då spänningen faller i systemet
+ När en GPS timeout har upptäcks så skickas hårdvarureset till GPS modulen detta sker efter 10 sekunder utan meddelanden från GPS-modulen
+ Efter 5 sekunder utan data från GPS-modulen så skickas kommando för att ställa om den till 9600. Detta görs i 4800bps
+ Längden på NMEA meddelanden kontrolleras så att de ej är för långa.
+ Checksumman på NMEA meddelanden kontrolleras.
* Omvandling av negativa flyttal till heltal var felaktig.
* Samtliga 3 använda NMEA kommandon måste sändas av GPS modulen annars visas "GPS" i modulen och reset görs
+ Pip signal på hel och halvtimme inlagd
+ Möjlighet att få pip när enheten får eller förlorar fix
* DisplayMode sparas inte i flash direkt när man bläddrar bland displaymodes utan först när man slutar trycka fram till ett nytt displaymode.
2.3
+ Data kan skickas i 9600 till GPS modulen, så att en eventuell laddning av ny firmware i GPS modulen kan göras.
+ Vid växelvis visande av avstånd/överhastighet så visas även eventuell underhastighet så att man inte råkar bromsa in för mycket vid en fartkamera.
* växelvis hastighetsdifferens visas bara när det finns en hastighetsgräns inprogrammerad på positionen
* Kontroll görs att flashlayout är 0.
* Optimeringar av koden för att försöka få ner storleken
+ Valmöjlighet att kunna visa hastighet istället för avstånd när man närmar sig en position, men bara på positioner som har inprogrammerad hastighetsgräns
* Jordens radie var inte korrekt angiven, vilket kunde orsaka ett räknefel på ett par meter, rättat.
* En autopage-rewrite som skriver om en hel page när man modifierat enstaka byte i flashminnet måste göras under visa förhållanden för att förhindra att innehållet i flash-minnet blir korrupt.
* ChipSelect sattes aldrig hög om man utförde skriv operation från datorn till flash-minnet för att avbryta föregående operation
* Diverse ombearbetning av programkoden som hanterar flash-minnet, förhoppningsvis är den nu både säkrare och lite snabbare.
+ Woi-ljudet spelas nu i stället om man trycker in knappen i testläge. (PWM summer)
2.5
* Den interna tripmätaren som räknar avstånd för att ActiveGPS skall kunna räkna ut medelhastighet tar inte hänsyn till altitudförändring
* Kraftig omarbetning av källkoden.
+ Firmware uppdatering kan nu ske ute hos kund då en bootloader är inkluderad.
+ Skriver "Add" på displayen när den sparar en position.
+ Förbättrad hantering av "döda" GPS moduler, kan nu kicka igång dem bättre helt automatiskt.
+ Inbyggd Trippmätare som visar hur långt du kört i km.
+ I Altitudläget visas även lutningen på vägen om den är större än +-5% växelvis
2.6
* Mikrokontrollern vägrar nu data inom 86ms från USB_ATTACH eller vid baudrate byte, detta för att förhindra att skräptecken såsom "$" skulle låsa upp all framtida kommunikation. Samt förhindra att skräp som tycks ligga i mikrokontrollerns USB buffrar vid uppstart kan sändas till GPS modulen.

* När ett $-tecken skickas från datorn så gick ActiveGPS över till att sluta behandla inkommande kommandon och istället skicka dessa till GPS modulen ombord, detta gick inte att avbryta på något annat sätt än att man bröt strömmen till apparaten, nu kan man också avbryta detta med ett långt knapptryck.

* Tripmätaren och Distansmätaren för körjournalen lagras löpande i eeprom när bilen har färdats en bestämd sträcka, när fix förloras eller så snart man stannar. Om inget av ovanstånde inträffar och strömmen istället bryts till apparaten så kan Tripmätaren/Distansmätaren visa för kort sträcka. Detta rättas nu i bästa möjliga mån genom att lat/lon hämtas från GPS-modulens backupminne, och detta avstånd mellan eepromets koordinater och GPS modulens räknas fram +30% så bör man komma nära sanningen ändå

+ Körjournal: Långtknapptryck när hastigheten är 0km/t registrerar den aktuella platsen som en start/slut position i körjournalen är bra om man gör ett kort stopp (under 180 sekunder) som man vill ha med i körjournalen, tex om man stannar till snabbt utanför posten och postar ett brev. Displayen visar då "LOG" som bekräftelse.

* Tripmätaren på displayen slår nu runt vid 999km istället för att visa overflow

2.7
* Tidpunkten för startpunkt på en sträcka var tidigare då man fick fix nu hämtas istället tiden så snart man har signal (rätt tid) från satelliterna

+ Ljusreglering i 8 steg som även ger en lägre ljusstyrka på displayen i fullt mörker för behagligt ljus vid mörkerkörning.

+ Texten "bAt" visas i displayen i testläge om GPS mottagarens batteri är lågt

* Inget resetkommando skickas till GPS-modulen om inte $GPGSV meddelandet kommer när GPS saknar fix, vilket tidigare kunde orsaka onödiga kallstarter på GPS modulen.

+ Manuell justering av ljusstyrkan? 0=Auto 1-255 manuellt

* Korrekt visning av upp till 2 decimaler på decimaltal, vilket ger bättre visning av Trippmätare och Altitud på över 1km

* Skrivningar till eeprom avbryts om spänningen sjunker i systemet

* Krävs nu 20 förflyttningar där hastigheten inte är noll för att en ny körsträcka skall registreras, detta för att undvika att skräploggningar sker

* Stillaståendet är ändrat så att man måste stå still i 5 minuter innan en ny loggposition registreras.

* USB-rutinerna är uppdaterade enligt Errata från Microchip.

+ Långt knapptryck i testläge skickar fabriksåterställningskommando till gps

+ Autodetecktering av GPS mottagarens baudrate vid uppstart.

* Datumet på slutpunkten kunde under vissa omständigheter få samma datum som startpunkten på en ny resa, vilket är olyckligt om den nya resan på börjades en annan dag än när slutpunkten var.

+ I testläget visas nu istället Time To Fix (TTF) tid innan fix i sekunder när apparaten får fix.

2.8
* Värdet för ljussensorn presenteras inte i Testläget, på FW 2.7

* StandStillTimer som håller reda på hur lång tid fordonet stått still på en plats nollställdes tidigare så snart man stannade till, vilket fick till följd att om man tex startar sin resa med att backa ut från tomten så nollställdes timern när man stannade till på gatan, och därmed hann aldrig resan att registreras som en ny startpunkt eftersom startpunkt bara registreras efter 20 sekunders körning.


* När låg matningsspänning upptäckts så startade ActiveGPS om, nu startar den inte om förrän spänningen ligger ok.

* Ett fel där altituden möjligen inte visas korrekt efter uppstart är förhoppningsvis åtgärdat.


* Anpassningar för Skytraq GPS modul


+ En ljudsignal hörs om körjournalminnet är fullt


+ Errormeddelande visas om något fel på körjournaldata upptäcks. Så att användaren
blir uppmärksam på att något är fel och inte går och tror att allting fungerar
normalt


* Anpassningar för revision B5 av Mikrokontrollern.

2.9

 Mute knapp som tystar pipet fram tills nästa kamera
+ Möjlighet att stänga av logg
+ Möjlighet att visa hastighet med decimal
+ Möjlighet att visa hastighet i knop
+ Vid GPS kommunikation så kan datorn styra baudraten till GPS modulen
+ Man kan avsluta GPS kommunikationen om man sätter baudrate till noll
* Bugg på FIFO buffern som kunde få in och utpekare ur fas när buffern blev överfull.
* Anpassning för SkyTraq modul och dess kommando set.
+ Man kan avsluta GPS kommunikation genom att ställa baudrate till 300bps under ca 200ms
+ Snyggare utseende på satellit sökningen, istället för ett horisontellt streck som vandrar blir det nu ett vertikalt streck fram och tillbaka
+ Trippmätaren visar distans i km vid km/t, nautiska mil vid knop, miles vid mph.
* Släck display medan skrivningar till flash och eeprom görs.
+ Vid kallstart av GPS så hämtas startposition från eeprom där det är möjligt.
* Stopppunkten kan bli fel för de som har fast spänning till ActiveGPS om man stannat med fordonet mindre än 20 sekunders restid från det korrekta stoppet.
* kontroll av alla flytttal som hämtas från eeprom eller flash minne så att de ej är ogiltiga (NaN) Not a Number.
* Overrun errors på UART från GPS modulen hanterades ej korrekt, nu återstartas UART vid fel.
* Första versionen av betan visade ej nautiska mil och miles korrekt, fixat.
* Ett problem där körjournalen kunde under vissa omständigheter förväxla tunnlar med långsamgående trafik med parkeringsgarage, är förhoppningsvis åtgärdat nu.
 * Ett beräkningsfel när vinkeln skulle räknas ut mot fartkameran orsakade fel på tidigare
versioner av 2.9beta. Nu fixat.
* Anpassningar för MediaTek GPS modul
+ Hela databasen för positioner kontrolleras vid uppstart, display visar "Err" om någon koordinat är ogiltig

 

3.0

* Det vertikala scanning strecket på 541 displayen var feldefinierat
+ Kompaktare interrupt rutin
+ Kompaktare heltalvisnings rutin
+ kompaktare flyttalvisnings rutin.
+ kontroll av HDOP, måste vara god annars startar ingen loggning
+ Förbättrad hantering av klockan för körjournalen. Så att tidsangivelserna stämmer bättre
kunde bli en och annan minut försent förut
+ Styvat upp kontrollen ytterligare för identifering av start/slutpunkter så att inga skräploggningar
kan ske. Dock krävs nu en resa på minst 500 meter fågelvägen från slutpunkten innan en ny startpunkt kan
registreras. Detta eliminerar skräploggar, men små resor kommer inte med.
+ Höjd precision vid sökning av nya fartkameror kameran måste ligga inom +-20 grader i förhållande till
fordonets färdriktning. Detta för att undvika falsklarm på parallella vägar.
+ Tidigare kunde det ta upp mot 1 sekund innan positionen sparades till eeprom vid stopp, nu sker det direkt.
* Bugfix, en buffer i nmea avkodaren använde ibland mer minne än vad den var tilldelad. fixat
* Bugfix, korrekt avkodning av nmea strängar som kan sluta med ",*XX" 

+ Om man valt att visa hastighet istället för avstånd och apparaten är inställd på att visa hastighet även annars så är det 1 sekund långa blinket vid passage av positionen borttagen

+ Mildrat inställningarna för HDOP, måste nu vara 3 eller bättre innan den börjar logga.

+ Stilleståndstiden innan en loggposition automatiskt skapas är nu ökad från 5 till 10 minuter.

+ Testläget visar nu HDOP (Horisontell Dilution of Precision) Noggrannheten på koordinaterna istället för hur lång tid det tog att få fix.

+ Är ActiveGPS inställd på att visa hastighet och man dessutom valt att visa hastighet vid positionerna så blinkar inte displayen längre till.

3.1

* Tidssignalen på hel och halvtimma fungerade ej i 3.0

3.2

* Rejält omskriven kod för att få mer plats
+ Resans slutposition korrigeras vid omstart av enheten, men nu lagras inte detta tillbaka till eeprom vid omstart vilket var en risk på fordon där strömmen kortvarigt bryts vid uppstart när startmotorn går
+ Nu krävs inte bara fix utan god fix där DOP måste vara 3 eller lägre för att koordinater skall registreras i körjournalen, detta för att undvika att koordinaten för den första satellitlåsningen som kan vara flera 100 meter fel skall kunna utgöra en startpunkt.

 

Hårdvaru identifikation mellan de olika modellerna:

Copyright (c) 2006 by AD-Teknik AB