EPIRB RX app rework + EPIRB TX app fixes (#3172)

* First step to EPIRB rx app fix
* Added spike filtering on carrier detection for more robustness.
* Created dedicated packet builder
* First step to fixing UI.
* First step to epirb-rx ui rework.
* Made static methods static members
* Code optim
* Code cleanup + first step to new UI
* Fixed display
* Added BeaconList widget + BeaconDB
* Epirb TX app memory optim
* Fixed OOM when opening Map Display or Locator editor on EPIRB TX app
* First step to tabs + code cleanup to free some space...
* Added spectrum analyzer + fixed display
* Fixed display refresh issue after leaving spectrum.
* More code optim + first step to detail view.
* Fixed float coord display.
* Fixed protocol names
* Fixed location display
* Externalized country base to sd card + more code optim
* Fixed country display
* Fixed path
* Added protocol description and resource manager
* Added main/aux loc device
* Removed specan to save space
* First step to adding QR code
* Used a custom TextArea component instead of Console
* Fixed QR code display for map URL
* Added beacon selection management + fixes
* First step to map/data qr.
* QR tab : added data + detail/map toggle
* Removed sqhelch to save space
* Removed audio to save space
* Removed freq label to save space
* Removed packet timestamp to save space
* Moved frequency values to resource file
* Fixed detection parameters to suite real beacons (slower phase shift time).
* Fixed countdown field size
* Fixed frequency list.
* Fixed detail view on select.
* First step to fix settings.
* Fixed squelch for a 0-99 range.
* Added bch code correction (single bit error).
* More code optim, disable country cache, removed inline from location to reduce code size.
* Removed inline, code formatting.
* Added bch code correction display.
* Fixed focus bug, fixed packet size check. Added BCH1/BCH2 correction test cases in BEACONS.TXT file for EPIRB TX application.
* Fixed merge
* Added countdown setting.
* Added selection display to beacon list
* Restored squelch control. Added countdown reset.
* Code optim on formatSummary
* More code optim
* Made ResourceManager methods static
* Externalized beacon strings to res file
*Removed frame parameter from methods
* Added test beacons for emergency. Removed old res file.
* Fixed resource manager
* Fixed resources. Added emergency display.
* BCH + res fixes
* Fixed beacons
* Fixed app color. Fixed HexId and Serial calculation.
* Fixed frequency list. Comments.
* Code cleanup and comments
* Added slideshow mode to EPIRB TX application. Code comments / cleanup.
* Fixed frame end after wrong code cleanup
* More code optim and comments. Removed touch from beacon list.
* Added beacon selection with encoder on detail view.
* Added beacon paging in header. Fixed timeout display
* Fixed build for PRALINE
* Fixed formatting
* Potential fix for pull request finding
* stop on carriage return
* empty string if unknown
* zeroing data buffer before use
* fix typo
* add include
* fix case if pair == 0
* fix scpectrum_on to spectrum_on
* fix typos
* replaced 3 inlined offset blocks with apply_offset calls
* set_beacon consolidation
This commit is contained in:
Frederic BORRY
2026-05-12 14:00:47 +02:00
committed by GitHub
parent 33330e4c34
commit c34a6940ca
26 changed files with 4710 additions and 2328 deletions
+11 -2
View File
@@ -13,7 +13,7 @@ EPIRB; Standard Location Protocol EPIRB-MMSI; FFFED0A0D205F260850F3DC9E0B70B6E4F
PLB; Standard Location Protocol - PLB (Serial); FFFED0A3E7B10016150D364D8B3689C09437
SAAS; Std. Location ship security protocol (SSAS); FFFED0A5DC19E1A07FDFFE5C803483E0FCCA
ELT 24; Serial user Location (ELT with Aircraft 24-bit Address); FFFED0CE46E76EF8C00C2BAA31CFE0FF0F61
MMSO; Maritime User Protocol MMSI - EPIRB; FFFED0D9D4EB28140AA6893F16A2C67282EC
MMSI; Maritime User Protocol MMSI - EPIRB; FFFED0D9D4EB28140AA6893F16A2C67282EC
Float Free EPIRB; Float Free EPIRB with Serial Identification Number; FFFED0DF76A9A9C800174DE27BE1F0277E45
Non Float Free EPIRB; Non Float Free EPIRB with Serial Identification; FFFED0DF77200000001168C610AFE0FF0146
Radio Call Sign; Radio Call Sign - EPIRB; FFFED0E0DDAE599508268E4C05E054651307
@@ -22,4 +22,13 @@ ELT Aircraft; ELT with Aircraft Operator Designator & Serial Number; FFFED0EDF67
PLB Serial; Standard Location Protocol - PLB (Serial); FFFED0A157B081437FDFF8B4833783E0F66C
RLS Location; RLS Location Protocol; FFFED096ED09900149D4D467EE0851A3B2E8
Orbitography; Orbitography Protocol (from Toulouse FMCC's LUT); FFFE2FCE3000000000000DBD0E4022417500
ELT 24 2; ELT 24 bits; FFFED08DB345B146202DDF3C71F59BAB7072
ELT 24 2; ELT 24 bits; FFFED08DB345B146202DDF3C71F59BAB7072
Selftest BCH1 ERR; Serial user Location Protocol; FFFED0D7E6202820000C29FF51041775302D
Selftest BCH2 ERR; Serial user Location Protocol; FFFED0D6E6202820000C29FF51041765302D
Selftest BCH12 ERR; Serial user Location Protocol; FFFED0D7E6202820000C29FF51041765302D
Emergency Cap;EPIRB Emergency Capsizing;FFFED056E68040022021A4CDC675
Emergency No Mar.;Emergency non maritime;FFFED056EE8040022021A5623CFE
Emergency PLB;Emergency PLB no fire+med+dis;FFFED056E7804002202123F39E36
Emergency PLB fire;Emergency PLB fire;FFFED056E7804002202123F39E39
EPIRB Sinking;Emergency EPIRB Sinking;FFFED056E58040022021342FAD76
EPIRB Call Sign Col.;EPIRB Radio Call Sign Emergency collision;FFFED056ED80400220217185E933
+11
View File
@@ -0,0 +1,11 @@
406025000
406028000
406037000
406040000
406049000
406052000
406061000
406064000
433025000
144875000
406022000
+59
View File
@@ -0,0 +1,59 @@
EPIRB - Maritime
EPIRB - Radio Call Sign
ELT - Aviation
Serial User Protocol
Test User Protocol
Orbitography Protocol
National User Protocol
2nd Generation Beacons
EPIRB - MMSI / Location
ELT-24-bit Address / Location
ELT Serial Location
ELT Serial Aircraft Location
EPIRB Serial Location
PLB Serial Location
Ship Security Location
Test Standard Location
ELT National Location
EPIRB National Location
PLB National Location
Test National Location
RLS Location Protocol
ELT(DT) Location Protocol
Spare
Unknown
# L. 25: additional data
ELTs/SN
ELTs/AC op & SN
FF EPIRBs/SN
ELTs+AC 24-bit ad.
NFF EPIRBs/SN
Not Used
PLBs/SN
# L. 33: long additinal data
MMSI=0x%08lX MID=%ld
24 bits AC ad.
C/S TA #=%ld
Op Design.=%c%c%c
Nati. data=%ld
# L. 39: emmergency
Other
Fire
Flooding
Collision
Grounding
Capsizing
Sinking
Disabled
Abandoning
# L. 49: other emmergency
Fire
Med.
Dis.
# L. 53:
Undefined
No device
Other/no device
Other device
121.5 MHz
SART
+292
View File
@@ -0,0 +1,292 @@
501:ADE:AdelieLand
201:ALB:Albania
202:AND:Andorra
203:AUT:Austria
204:AZC:Azores
205:BEL:Belgium
206:BLR:Belarus
207:BUL:Bulgaria
208:VAT:Vatican
209:CYP:Cyprus
210:CYP:Cyprus
211:GER:Germany
212:CYP:Cyprus
213:GOG:Georgia
214:MOL:Moldova
215:MAL:MALTA
216:ARM:Armenia
218:GER:Germany
219:DEN:Denmark
220:DEN:Denmark
224:SPA:Spain
225:SPA:Spain
226:FRA:France
227:FRA:France
228:FRA:France
229:MAL:Malta
230:FIN:Finland
231:FAR:Faro Isle
232:UKM:G Britain
233:UKM:G Britain
234:UKM:G Britain
235:UKM:G Britain
236:GIB:Gibraltar
237:GRE:Greece
238:CRT:Croatia
239:GRE:Greece
240:GRE:Greece
241:GRE:Greece
242:MOR:Morocco
243:HUN:Hungary
244:NET:Netherland
245:NET:Netherland
246:NET:Netherland
247:ITA:Italy
248:MAL:Malta
249:MAL:Malta
250:IRE:Ireland
251:ICE:Iceland
252:LIE:Liechten
253:LUX:Luxembourg
254:MON:Monaco
255:MAE:Madeira
256:MAL:Malta
257:NOR:Norway
258:NOR:Norway
259:NOR:Norway
261:POL:Poland
262:MNT:Montenegro
263:POR:Portugal
264:ROM:Romania
265:SWE:Sweden
266:SWE:Sweden
267:SLV:Slovakia
268:SAN:San Marino
269:SWT:Swiss
270:CZH:Czech Rep
271:TUR:Turkiye
272:UKR:Ukraine
273:RUS:Russia
274:MKD:North Mac
275:LAT:Latvia
276:EST:Estonia
277:LIT:Lithuania
278:SVN:Slovenia
279:SER:Serbia
301:ANA:Anguilla
303:ALA:Alaska
304:ANT:Antigua
305:ANT:Antigua
306:NEA:N Antilles
307:ARU:Aruba
308:BAA:Bahamas
309:BAA:Bahamas
310:BER:Bermuda
311:BAA:Bahamas
312:BEZ:Belize
314:BAR:Barbados
316:CAN:Canada
319:CAY:Cayman Is
321:COS:Costa Rica
323:CUB:Cuba
325:DOM:Dominica
327:DOR:Dominican
329:GUA:Guadeloupe
330:GRA:Grenada
331:GRN:Greenland
332:GUT:Guatemala
334:HON:Honduras
336:HAI:Haiti
338:USA:USA
339:JAM:Jamaica
341:SKN:St Kitts
343:SLU:St Lucia
345:MEX:Mexico
347:MTQ:Martinique
348:MOT:Montserrat
350:NIC:Nicaragua
351:PAN:Panama
352:PAN:Panama
353:PAN:Panama
354:PAN:Panama
355:PAN:Panama
356:PAN:Panama
357:PAN:Panama
358:PUE:PuertoRico
359:ELS:ElSalvador
361:SPI:St Pierre
362:TAT:Trinidad
364:TUK:Caicos Is
366:USA:USA
367:USA:USA
368:USA:USA
369:USA:USA
370:PAN:Panama
371:PAN:Panama
372:PAN:Panama
373:PAN:Panama
374:PAN:Panama
375:SVG:St Vincent
376:SVG:St Vincent
377:SVG:St Vincent
378:BVI:Virgin GB
379:USV:Virgin US
401:AFG:Afghan
403:SAU:Saudi
405:BAN:Bangladesh
408:BAH:Bahrain
410:BHU:Bhutan
412:CHN:China
413:CHN:China
414:CHN:CHINA
416:TAI:Taipei
417:SRI:Sri Lanka
419:IND:India
422:IRN:Iran
423:AZR:Azerbaijan
425:IRQ:Iraq
428:ISR:Israel
431:JPN:Japan
432:JPN:Japan
434:TKM:Turkmenist
436:KAZ:Kazakhstan
437:UZB:Uzbekistan
438:JOR:Jordan
440:KOR:Korea Sou
441:KOR:Korea Sou
443:PAA:Palestine
445:KDR:Korea Nor
447:KUW:Kuwait
450:LEB:Lebanon
451:KYR:Kyrgyzia
453:MAC:Macao
455:MAV:Maldives
457:MNG:Mongolia
459:NEP:Nepal
461:OMN:Oman
463:PAK:Pakistan
466:QAT:Qatar
468:SYR:Syria
470:UAE:UAE
471:UAE:UAE
472:TJK:TAJIKISTAN
473:YEM:Yemen
475:YEM:Yemen
477:HKG:Hong Kong
478:BOS:Bosniaherz
503:AUS:Australia
506:BUR:Burma
508:BRU:Brunei
510:MIC:Micronesia
511:PAL:Palau
512:NZL:NewZealand
514:CMB:Cambodia
515:CMB:Cambodia
516:CHR:Christmas
518:COO:Cook Isles
520:FIJ:Fiji
523:COC:Cocos Isle
525:INO:Indonesia
529:KIR:Kiribati
531:LAO:Lao
533:MLY:Malaysia
536:MAI:Mariana Is
538:MAR:Marshall I
540:NCA:Caledonia
542:NIU:Niue Isle
544:NAU:Nauru
546:PLY:Polynesia
548:PHI:Philippine
550:TIM:TimorLeste
553:PAP:Papua NG
555:PIT:Pitcairn I
557:SOL:Solomon Is
559:ASA:Samoa USA
561:WSA:West Samoa
563:SIN:Singapore
564:SIN:Singapore
565:SIN:Singapore
566:SIN:SINGAPORE
567:THA:Thailand
570:TON:Tonga
572:TUV:Tuvalu Is
574:VIE:Vietnam
576:VAN:Vanuatu
577:VAN:Vanuatu
578:WAL:Wallis Is
601:SAF:So Africa
603:ANG:Angola
605:ALG:Algeria
607:SPL:St Paul
608:ASC:Ascension
609:BUI:Burundi
610:BEN:Benin
611:BOT:Botswana
612:CAR:CenAfr Rep
613:CAM:Cameroon
615:CON:Congo
616:COM:Comoros
617:CAP:Cape Verde
618:CRP:Crozet
619:IVO:IvoryCoast
620:COM:Comoros
621:DJI:Djibouti
622:EGY:Egypt
624:ETH:Ethiopia
625:ERT:Eritrea
626:GAB:Gabon Rep
627:GHA:Ghana
629:GAM:Gambia
630:GUB:Guinea Bis
631:EQG:Eq Guinea
632:GUN:Guinea Rep
633:BUF:Burkina FS
634:KEN:Kenya
635:KER:Kerguelen
636:LIB:Liberia
637:LIB:Liberia
638:SSD:Southsudan
642:LBY:Libya
644:LES:Lesotho
645:MAU:Mauritius
647:MAD:Madagascar
649:MLI:Mali
650:MOZ:Mozambique
654:MAA:Mauritania
655:MAW:Malawi
656:NIG:Niger
657:NIA:Nigeria
659:NAM:Namibia
660:REU:Reunion
661:RWA:Rwanda
662:SUD:Sudan
663:SEN:Senegal
664:SEY:Seychelle
665:SHE:St Helena
666:SOM:Somali
667:SIL:Sierra Leo
668:SAO:Sao Tome
669:SWZ:Eswatini
670:CHA:Chad
671:TOG:Togo
672:TUN:Tunisia
674:TAN:Tanzania
675:UGA:Uganda
676:ZAI:Zaire
677:TAN:Tanzania
678:ZAM:Zambia
679:ZIM:Zimbabwe
701:ARG:Argentina
710:BRA:Brazil
720:BOL:Bolivia
725:CHI:Chile
730:COL:Colombia
735:ECU:Ecuador
740:FAL:Falkland I
745:GUI:Guiana
750:GUY:Guyana
755:PAR:Paraguay
760:PER:Peru
765:SUR:Suriname
770:URU:Uruguay
775:VEN:Venezuela