-
Notifications
You must be signed in to change notification settings - Fork 126
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add a new port number 75 for the AIRBORNE_APP #619
base: master
Are you sure you want to change the base?
Conversation
Most of the GPS chips we support have the ability to change their operating model "dynamics" based on the intended activities. We currently assume everyone is a pedestrian and configure as such. However, there are users out there on bikes, planes, balloons, and with fixed devices. Where GPS chips support it, we can configure for each of this circumstances and improve performance. For example, fixed nodes might no longer jump around on the map. Planes will have a more responsive and less filtered position. Balloons' GPS won't simply cut out because its gone over an altitude limit. Boats won't have altitudes that make them appear to be floating in the air. Additionally, this could provide the opportunity for a bit of fun in the apps - surface information about the use case so people know when they're connecting to a plane or baloon :) Related to: meshtastic/firmware#3984 Related to: meshtastic#619 Related to: meshtastic/firmware#5281
@pjalocha can you tell us a bit more about this data format? @geeksville actually started this project partially around the paragliding use case, so it presumably serves that already with the existing Position packets, minus the ones you mentioned like climb rate. I have a hard time believing that this format will eclipse the uint32 packed lat / lon / alt fields in the native position packets in our existing protobufs in terms of efficiency over the wire. IMO the additional metrics you're interested in would make more sense as optional position flags to be unlocked for this use case. After those are added, you could translate the packets into your interop formats. |
FANET protocol is here: https://github.com/3s1d/fanet-stm32/blob/master/Src/fanet/radio/protocol.txt For simple GPS position which I see on Meshtantic it is like 40 bytes long and it does not include many elements like climb/sink, turn rate, both geometric and pressure altitudes, thus I would see a gain of at least factor two if not three. It could be organized otherwise, I agree, as other types of "position" or "GPS position", thus keep all under one category. Actually, there could be one reason to do it as a separate application: there are not just position packets in the airborne application, but as well others like aircraft registration and other info, aircraft telemetry, and possibly others. |
@pjalocha oh yeah great you are working on this! Eventually meshtastic I think could be great for glider land for a few reasons:
Btw @thebentern sorry but my Chinese class is kicking my ass so I haven't been able to volunteer for meshtastic this month. I should hopefully have more time for hobbies by Jan? I hope you and everyone else is doing great! |
@geeksville 加油! |
btw @pjalocha and @thebentern: For any airborne applications I think it might make sense for the 'application layer' (not the routing layer) of meshtastic to set max-hops for most messages sent by the airborne node to 1 or 0 (i.e. request minimal / no routing / suppress mesh forwarding). Because when airborne the odds are very high of GREAT line-of-site (so excellent for routing for ground based nodes, but no need to forward messages from other nodes in a gaggle). This behavior would ideally be controlled automatically by the node detecting is flying vs !flying. |
I agree, the airborne would not go for hopping, unless for emergency signalling purposes. As well: airborne might use the faster rate like 250kHz SF7 for air-to-air (like FANET is doing) and slower for air-ground. |
as long as its only location formats, i think we can handle this within position packets. When it's encapsulating another protocol like ADS-* a new portnum would be in order. But as it is now this would only be a portnumber to replace the position_app (which can also be done in an oneof...) |
Hi there! TL;DR if you are interested in airborne stuff one should really consider having an extra app. It's way more complex as ground stuff. Just my 2 cents... |
Airborne will be really useful with less impact on the frequency utilization. |
I ask again, after not very succesful yesterday, where I did it at a wrong place, for a new port number.
I propose a new port number for airborne applications like OGN-Tracer or FANET or ADS-L whch have well establilshed compact position packet formats. It is more efficient to put position in this format, which takes like 16 bytes for OGN than use the GPS generic format where many elements are missing like climb rate ro turn rate.
The new port number would allow efficient (low rate) position reports by objects like amateur balloons.
The formatting would be simple: I define ID's for particulat packet type and they would be embedded as a pack of bytes, the decoding of the pack would follow the particular system.
If this gets accepted, I will proceed to define those ID's
Thank you.
BTW. I am beta-receiving Meshtantic on ground receivers of the Open Glider Network (OGN) and I wonder if it would be worth to upload this traffic to a server of yours ?