ezod / flipperzero-gps Goto Github PK
View Code? Open in Web Editor NEWFlipper Zero application for NMEA 0183 serial GPS modules.
License: GNU General Public License v3.0
Flipper Zero application for NMEA 0183 serial GPS modules.
License: GNU General Public License v3.0
Building the FAP currently generates the following error:
scons: warning: build/f7-firmware-D/gps.fap: app won't run. Unresolved symbols: {'xStreamBufferGenericCreate', 'xStreamBufferSendFromISR', 'vStreamBufferDelete', 'xStreamBufferReceive'}
These functions are all from stream_buffer.h
in FreeRTOS, and are not exported in the Flipper API's api_symbols.csv
. According to the developers, these functions will be made available next week through API wrappers.
Currently, the app only supports a single viewport which displays data from GpsUart::status
. The viewport has all of the information relevant to the user when viewing the data received from the gps module. The only issue with the single viewport implementation is that the app is severely limited in what it can do based on this.
I am proposing a more complex UI structure that will allow the app to provide more functionality while still maintaining the functionality is currently contains. This would entail leveraging the concept of scenes and views. Utilizing these would allow for more complex app navigation and viewing potential.
The following is an implementation plan for the rearchitcture described above.
Per the current documentation, it appears that your plugin can only be installed from builds on github. Is it possible for other downstream devs to build this plugin locally?
I would like to branch off of main or fork your project to potentially make modifications to the plugin, but I am not sure how I would be able to build it.
I have a NEO-6M connected as shown in the wiring diagram but I'm just getting all zeros in the app. I have verified it's working by using the UART Terminal app with 9600 baud rate set and I can see the NMEA sentences. I'll leave an example of one below
$GPGSV,3,3,09,29,74,325,3964
$GPGLL,3118.44597,N,097 2156679,W,225424.00,A, A7A
Document the new functionality from #10 in a usage section of the README.
I can't use the ones from the documentation because they are used for other applications, trying to find a way to set up my own in the .c function but don't see a way to do it.
Thanks
Thank you for producing this tool, I have found it quite useful so far but being in the UK speed is usually measured in MPH on GPS systems, on the road at least.
Would it be possible to include MPH in the supported units for speed at some point ?
Hello,
I have BE-180 GPS receptor Module (amazon say replace BN-180 GPS) can you add this module ?
This is the data with USB-UART bridge at 38400 bauds:
$GPGSV,3,3,10,26,28,169,29,27,77,335,37,16A
$GPGSV,1,1,02,15,05,040,,30,04,331,,064
$GAGSV,2,1,05,13,51,052,34,14,59,290,28,21,44,178,18,31,19,318,24,779
$GAGSV,2,2,05,33,20,242,17,746
$GAGSV,1,1,03,03,06,039,,08,07,085,,15,01,058,,042
$GBGSV,1,1,04,11,50,066,26,28,36,275,27,37,34,288,22,43,76,033,29,175
$GBGSV,1,1,01,23,33,224,,043
$GQGSV,1,1,00,064
$GNGLL,4547.41957,N,00125.16551,E,112608.00,A,A77
$GNRMC,112609.00,A,4547.41959,N,00125.16549,E,0.129,,030623,,,A,V1C
$GNVTG,,T,,M,0.129,N,0.239,K,A3F
$GNGGA,112609.00,4547.41959,N,00125.16549,E,1,12,0.85,441.0,M,47.5,M,,4D
$GNGSA,A,3,02,08,10,16,18,21,23,26,27,,,,1.71,0.85,1.48,100
$GNGSA,A,3,13,,,,,,,,,,,,1.71,0.85,1.48,306
$GNGSA,A,3,11,28,37,43,,,,,,,,,1.71,0.85,1.48,40A
$GNGSA,A,3,,,,,,,,,,,,,1.71,0.85,1.48,502
$GPGSV,3,1,10,02,26,245,26,07,15,305,17,08,42,297,29,10,50,129,25,165
$GPGSV,3,2,10,16,61,186,18,18,25,056,19,21,19,244,17,23,45,072,34,16A
$GPGSV,3,3,10,26,28,169,30,27,77,335,37,162
$GPGSV,1,1,02,15,05,040,,30,04,331,,064
$GAGSV,2,1,05,13,51,052,33,14,59,290,29,21,44,178,18,31,19,318,24,77F
$GAGSV,2,2,05,33,20,242,14,745
$GAGSV,1,1,03,03,06,039,,08,07,085,,15,01,058,,042
$GBGSV,2,1,05,11,50,066,27,23,33,224,18,28,36,275,27,37,34,288,21,174
$GBGSV,2,2,05,43,76,033,29,14E
$GQGSV,1,1,00,064
$GNGLL,4547.41959,N,00125.16549,E,112609.00,A,A*71
Thank you :)
The default baud rate at the begin of GPS development was 4800 baud and there are still some of these devices available. Thanks a lot for the application.
I installed it using the fap builder. And it says api mismatch. Then it is just stuck on the hourglass loading screen. No updated.
Store GPS info every X seconds into a log file on the SD card.
I think there is a correct format to use it on google earth, for example.
Here is a sample on the log generated by one of my radios:
$GPGGA,164418.000,3840.5838,N,00919.2875,W,2,10,0.92,8.0,M,50.7,M,,73
$GPGSA,A,3,10,27,16,18,26,08,20,07,21,11,,,1.23,0.92,0.8100
$GPRMC,164418.000,A,3840.5838,N,00919.2875,W,0.55,140.65,250420,,,D70
$GPVTG,140.65,T,,M,0.55,N,1.02,K,D3D
$GPGGA,164428.000,3840.5837,N,00919.2831,W,2,9,0.98,8.0,M,50.7,M,,4D
$GPGSA,A,3,10,27,16,26,08,20,07,21,11,,,,1.29,0.98,0.840C
$GPRMC,164428.000,A,3840.5837,N,00919.2831,W,1.34,93.06,250420,,,D40
$GPVTG,93.06,T,,M,1.34,N,2.49,K,D0D
Can we add a feature to synchronize the system time?
The new long press back to exit from #10 appears to lock up the Flipper, requiring a hard reset.
I have been in a position to test a number of GPS modules (mostly Beitian) covering 6 GPS chipsets. All of these work with this application with the exception of the compass on 2 of them since these are on I2C which does not appear to be supported (at present - maybe this could be a future addition).
ThinkAI ATGM336H GP-02
Uputronics Ublox M8C M8PICO
Beitian M8 series (Ublox 8030) - BN-280, BN-880 (no compass support).
Beitian M9 series (Ublox M9140) - BK-250, BK-357, BK-880Q (no compass support).
Beitian M10 series Ublox (M10050) - BE-280.
AT6558F - BN-280ZF, BN-357ZF
Thank you for making this utility available to the community.
Store GPS positions can be useful to implement simple navigation feature like mini GPSs
https://www.joom.com/pt-br/products/5d8eea051436d40101e68228
This feature store a position (like home) and it can plot an arrow pointing to position's direction and the distance.
Analog Clock can be a good app too check how to plot the arrow.
Hi Ezod! Thanks for the app, I've made a YouTube video on this with Lab401 if you want to add it to the readme that'd be great. ๐
The manufacturer's website states backward compatibility with version neo-6
https://www.u-blox.com/en/product/neo-7-series
Also flipperzero-GPS claims compatibility with neo-6
But the app doesn't work. Outputs NaN in all lines
Am I doing something wrong or does the software not allow me to work with NEO-7M?
I would like to get support for this board.
I know it is out of scope for this project, but you maybe know some other project :-)
How to create device what will send GPS position messages (NMEA 0183) just like external GPS receivers to the iOS devices?
Something for ESP32 or Flipper. User will hardcode fake latitude and longitude, pair (is pairing required) it with iPhone or iPad and map app will then think they are in this location.
Currently, the only coordinate system supported by the app is lat long. The app could also support UTM and MGRS coordinate systems based on the lat long values.
Based on values of GpsUart::status::latitude
and GpsUart::status::longitude
you could be able to convert them into a UTM coordinate system. And from the UTM zone, northing, and easting, you could convert that into a MGRS grid.
Visualizing the current coordinates in alternative coordinate systems could be achieved by a similar method to how changing the baudrate of the GpsUart
is implemented by holding down on the "up" arrow key. By long pressing the "down" arrow key, you could switch between viewing the coordinates in lat long, UTM, and or MGRS.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.