Skip to content
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

FLARM NMEA protocol serie #827

Open
wants to merge 855 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
855 commits
Select commit Hold shift + click to select a range
43a1192
Merge branch 'pid'
b3nn0 Sep 20, 2021
19150eb
Fixed accidentally multiplying pwm frequency too often
b3nn0 Sep 20, 2021
d23c453
add support for T-Beam with new QinHeng USB-serial chip
b3nn0 Sep 26, 2021
66e21b6
Set Hard=STX and Soft=... for OGN tracker, show Stratux icon in traff…
b3nn0 Sep 27, 2021
8a372ed
forgot logo file
b3nn0 Sep 27, 2021
04fbb10
detect SoftRF T-Echo (limited, no GPS precision)
b3nn0 Oct 5, 2021
15b6e12
Work on AIS
rvt Oct 11, 2021
e80c660
Work on sending AIS message in a format that Stratux can understand
rvt Oct 12, 2021
1bca2f0
Use wpa_supplicant to create the stratux AP instead of hostapd. Seems…
b3nn0 Oct 14, 2021
c8adcfe
only use OGN tracker as ownship position if we are not equipped with …
b3nn0 Oct 14, 2021
3e85cd1
removed SD GDL90 disconnect workaround option - it's not needed any m…
b3nn0 Oct 14, 2021
4dbc0ba
Handle different timins for AIS traffic
rvt Oct 14, 2021
c6b2983
fixed accidentally wrong udev rule for T-Echo, disable wpa_supplicant…
b3nn0 Oct 15, 2021
f7a4eb4
wpa supplicant AP config cleanup
b3nn0 Oct 15, 2021
eb34918
made some labels more clear, display error message if user has more p…
b3nn0 Oct 16, 2021
f35c3f1
Remove sdr config error again once the user fixes its setup (plugs in…
b3nn0 Oct 16, 2021
81001fa
force keypad config method for Wifi direct - might fix some devices t…
b3nn0 Oct 17, 2021
10d2925
properly detect network cable plug in/out on eth0 and configure/uncon…
b3nn0 Oct 17, 2021
0378bcf
Work on a way to ensure that colors in traffic and map are the same, …
rvt Oct 17, 2021
e0ae694
Code cleanup on AIS and javascript
rvt Oct 20, 2021
b98cd91
Merge remote-tracking branch 'upstream/master' into stratux-ais
rvt Oct 20, 2021
5f0aefb
Spelling
rvt Oct 20, 2021
437b737
Merged away something that was not intentional
rvt Oct 20, 2021
b047e82
Keep vessel traffix for 15 minutes
rvt Oct 20, 2021
084bfa5
enforce unblocked rfkill switch on boot without relying on systemd
b3nn0 Oct 21, 2021
780cf6a
Started implementation if priorized network/serial message queueing, …
b3nn0 Oct 20, 2021
598d230
some cleanups to network queueing, discard oldest low-prio messages f…
b3nn0 Oct 21, 2021
7b164d3
cleanup/move old NMEA handling code
b3nn0 Oct 21, 2021
a5f33da
downgrade wifi firmware as the older version seems to be much more re…
b3nn0 Oct 21, 2021
ffea425
Merge review comments
rvt Oct 22, 2021
4585fb1
Remove log line from ais
rvt Oct 22, 2021
90998de
revert wifi firmware downgrade
b3nn0 Oct 22, 2021
e90a7bd
re-enable connected clients count poller, remove unused ffMonitor fun…
b3nn0 Oct 22, 2021
55bd9a2
re-enable log rotation
b3nn0 Oct 23, 2021
a62f1b4
fix startup race condition
b3nn0 Oct 23, 2021
323c7a2
Code cleanup
rvt Oct 26, 2021
0136f41
Implement support to configure multiple wifi client networks
mpotthoff Oct 26, 2021
c66c3af
Cleanup and listen to local SDR
rvt Oct 27, 2021
826c699
Merge branch 'master' into ais
b3nn0 Oct 27, 2021
40b2ad6
switch rtl-ais to newer commit hash
b3nn0 Oct 27, 2021
555cdbb
don't show rtl-ais as modified, revert aircraft symbol in traffic list
b3nn0 Oct 27, 2021
8cd2a3d
allow setting wifi country for accessing wifi with local-only channels
b3nn0 Oct 28, 2021
3648439
added some emitter-category specific icons to map, fixed emitter cate…
b3nn0 Oct 28, 2021
b61059b
bullseye testing
b3nn0 Oct 27, 2021
6fe4934
fixed wrong removal of targets from traffic list and code formatting
b3nn0 Oct 30, 2021
773af16
fixed wrong removal of targets from traffic list and code formatting
b3nn0 Oct 30, 2021
c3ad5a5
use official bullseye image
b3nn0 Nov 8, 2021
789d9dc
Merge branch 'bullseye'
b3nn0 Nov 8, 2021
1b2f35a
install ip tables
b3nn0 Nov 8, 2021
8b12898
also transmit Hard=STX for directly mounted RF module
b3nn0 Nov 10, 2021
94aa9e0
turn status LED back to normal if error is cleared, fix fancontrol st…
b3nn0 Nov 13, 2021
ef5aa82
fancontrol command line parameters, prepare for new ogn-rx
b3nn0 Nov 13, 2021
09a2950
i2c serial chip support sc16is752
b3nn0 Nov 19, 2021
4b3c5f8
new ogn-rx, fan startup indicator added again
b3nn0 Nov 20, 2021
75c473c
fix boot partition offset check
b3nn0 Nov 20, 2021
3d07b46
add build/debug target for fancontrol, fix fancontrol if stratux.conf…
b3nn0 Nov 20, 2021
83a06d7
do proper shutdown/reboot sequence instead of just removing power whe…
b3nn0 Nov 23, 2021
d65a0ea
updated to latest OpenLayers, rudimentary support for vector tiles
b3nn0 Nov 28, 2021
9806469
fix format on save setting
b3nn0 Dec 18, 2021
258ca7f
Garmin Pilot compatibility by changing IP Address to 10.29.39.1
b3nn0 Dec 28, 2021
ada2ac9
disable NTP client on image build
b3nn0 Feb 19, 2022
b61c131
Bugfix: Send bearingless targets via NMEA even if 'GDL90 bearingless …
b3nn0 Mar 25, 2022
d0769d6
remove some log messages that seem to confuse users, reduce 120s star…
b3nn0 Mar 25, 2022
06533f8
use stable aarch64 raspios image
b3nn0 Mar 25, 2022
d26780a
switch to latest dump1090, ogntracker and golang; added build for SX1…
b3nn0 Mar 26, 2022
ddd2bb3
remove old target if OGN Tracker changes ID to keep ownship-filtering…
b3nn0 Mar 26, 2022
4a841d6
more robust ID change handling, also time out on web interface
b3nn0 Mar 26, 2022
58b395d
allow disabling of OGN TX capabilities via I2C radio chip to not inte…
b3nn0 Apr 3, 2022
3bb7eb8
compile ogn tracker with latest esp-idf so it works on newer distribu…
b3nn0 May 21, 2022
6dd3304
Change ap_scan to 1 to make the connection in AP+Client mode more rel…
mpotthoff May 22, 2022
6aa0ffb
automatically set pi password during image creation, as in the olden …
b3nn0 May 22, 2022
1ee87b9
use latest ogn-rx and RPiOs image
b3nn0 May 22, 2022
32d5e58
Revert "Garmin Pilot compatibility by changing IP Address to 10.29.39.1"
b3nn0 May 22, 2022
9a5f8a2
fixed rare race condition on disk usage global
b3nn0 Jun 14, 2022
94820f2
clean import from previous fork
qubolino Jun 14, 2022
41e071d
send position tentative
qubolino Jun 18, 2022
6acbd7a
filter update
qubolino Jun 20, 2022
1d99f74
cleanup auth
qubolino Jun 20, 2022
f352d62
filter fix
qubolino Jun 21, 2022
df47e13
using globalStatus.Version to log in APRS
qubolino Jun 21, 2022
9f754e1
APRS filter range is linked to radar range
qubolino Jun 21, 2022
c780bf1
logs & cleanup
qubolino Jun 21, 2022
e5cd744
handling goroutines exit
qubolino Jun 21, 2022
82465ad
cleanup
qubolino Jun 21, 2022
94af993
commenting out test code
qubolino Jun 21, 2022
4d957e0
imporving verbosity and readbility
qubolino Jun 21, 2022
977ea22
degree conversion fix
qubolino Jun 21, 2022
3b8fdf0
proper timestamp handling for APRS client, so locally received target…
b3nn0 Jun 21, 2022
092599a
don't use hardcoded filter coodinates when debug logging is on
b3nn0 Jun 21, 2022
7a3c406
ignore unreadable APRS data, instead of trying to parse something and…
b3nn0 Jun 21, 2022
be70247
comments only, fixes #177
b3nn0 Jul 7, 2022
f52fc9b
Support additional MPUs
Jul 16, 2022
b1bd567
Fixed log output for MPU detection
susanneeichel Jul 16, 2022
a0b746d
set NTP time before downloading map data for SSL certificate check
b3nn0 Aug 7, 2022
b3671b6
add ! to valid SSID strings
ptimoney Aug 14, 2022
e2b6073
adjustments to APRS
susanneeichel Aug 28, 2022
f96e799
Changed UART GPS baud detection and initialisation
rush0815 Dec 29, 2022
a747738
hide OpenAIP layer for now as it is not publicly available any more
b3nn0 Jan 10, 2023
f37d931
use new openaip API for fetching tiles
b3nn0 Jan 11, 2023
61ac999
correct SBAS numbering
VirusPilot Jun 18, 2022
35aa9d9
extend Beidou sv numbering from 437 to 463
VirusPilot Jan 31, 2023
f571237
fixed errors removing directories during image build
b3nn0 Feb 8, 2023
90d0d32
UART config bug fixed
sternflyer Feb 20, 2023
98208d8
probably fix mount point busy warning
b3nn0 Mar 2, 2023
cd6fc76
Merge remote-tracking branch 'upstream/master'
b3nn0 Mar 2, 2023
40efc85
always sort aircraft symbols/trails to top in map layer chooser
b3nn0 Mar 3, 2023
dffc0c3
make it easier to see which map layers require internet connection
b3nn0 Mar 3, 2023
94ad7b7
new feature: add trace recording and replay, to record raw messages r…
b3nn0 Mar 4, 2023
d639043
clean up test package dependencies
b3nn0 Mar 4, 2023
366b24b
force current time when replaying OGN targets, allow skipping forward…
b3nn0 Mar 4, 2023
ff35934
don't crash if no version set at build time
b3nn0 Mar 4, 2023
75d225a
unify /view_logs and /logs URL handlers to only preset /logs with a n…
b3nn0 Mar 5, 2023
0623857
oops: don't launch with trace by default
b3nn0 Mar 5, 2023
1ddd76e
makefile cleanup
b3nn0 Mar 5, 2023
485744a
import existing /boot/stratux.conf on first boot, reconfigure network…
b3nn0 May 12, 2023
baa564e
only apply imported network settings if there is actually wifi stuff …
b3nn0 May 12, 2023
67cfd7b
fix green LED on recent kernels
b3nn0 May 12, 2023
baa3b94
Fix trace replay for targets received via ogn-rx
b3nn0 May 17, 2023
42ba51e
implement custom log-rotation, 10mb max per file, 10 files max, inclu…
b3nn0 May 18, 2023
fbcc1cc
better error checking
b3nn0 May 18, 2023
acdad0f
some more minor logging cleanups
b3nn0 May 18, 2023
cd02f6d
TTGO T-Beam S3 supreme (with native esp32 USB). Expecting SoftRF/OGN …
b3nn0 Jun 1, 2023
0cc1575
one more T-Beam S3 udev rule
b3nn0 Jun 11, 2023
a54aaee
force sending to statically configured IPs and ARP cache, even if dhc…
b3nn0 Jun 28, 2023
93b0fb7
xplane output: make it more similar to real simulator - no linefeed a…
b3nn0 Jun 28, 2023
1070cb4
make simulator protocol match the one that Foreflight uses
b3nn0 Jun 29, 2023
01fcd98
oops: forgot to remove some testing fake data
b3nn0 Jun 29, 2023
6952a27
make AHRS work with Garmin Pilot on Android
b3nn0 Jul 1, 2023
c6e3950
preliminary ADS-L support (rx/tx)
b3nn0 Jul 3, 2023
ad52d16
dump1090 v8.2
b3nn0 Jul 3, 2023
8745a95
Initial version GxAirCOM compatibility geared towards usign FLARM
rvt Jul 1, 2023
09e31ad
Download GxAirCom Firmware
rvt Jul 1, 2023
d8ea002
Fix makefile
rvt Jul 2, 2023
12b2b25
Add AddressType for GxAirCom
rvt Jul 7, 2023
223ce80
Fix Typo on Address Type
rvt Jul 7, 2023
b288176
GxAirCom: some tweaks
b3nn0 Jul 8, 2023
e4bd4cb
erase_flash before writing GxAirCom firmware
b3nn0 Jul 9, 2023
1e73d19
Ensure GxAirCOm uses seriout out
rvt Jul 9, 2023
9d85f24
gxaircom-stratux-rc3
rvt Jul 9, 2023
d7977f5
Wrong serial mode
rvt Jul 9, 2023
cff329b
Set Correct version to download for GxAirCom
rvt Jul 10, 2023
41e41f8
Calibrated gpsTimeOffsetPpsMs
rvt Jul 11, 2023
3c87208
use beidou instead of glonass
b3nn0 Jul 11, 2023
0257970
don't redirect whole STRATUX_HOME, only web root
b3nn0 Jul 11, 2023
ab6fd4d
ogn tracker firmware with OGNTP, FANET, PAW and ADS-L, fix build script
b3nn0 Jul 11, 2023
d0fe0ca
latest OGN tracker, disable AXP as it seems to be more reliable this way
b3nn0 Jul 23, 2023
ac19725
update OFM build to latest AIRAC and include france, add ADS-L to OGN…
b3nn0 Jul 29, 2023
9d27c9d
new ogn-rx with US frequency hopping
b3nn0 Jul 30, 2023
447d5ab
properly run apt remove steps during image build
b3nn0 Jul 30, 2023
94438ef
build stratux dependencies single threaded during image build
b3nn0 Jul 30, 2023
fdc5224
image build: use own process/mount namespace for chroot
b3nn0 Jul 31, 2023
7903eb4
update git submodules individually in makefile
b3nn0 Jul 31, 2023
68e10ad
ogn tracker: build with AP and web interface on button press
b3nn0 Aug 12, 2023
7f0815f
use latest librtlsdr and rtl-sdr.rules file
b3nn0 Aug 26, 2023
ee43934
initial work for adding bmp388
oriagranat9 Aug 30, 2023
379b564
cleanup retry connection and error handeling
oriagranat9 Aug 31, 2023
238b625
added read test for reading bmp388
oriagranat9 Aug 31, 2023
775d0cd
fixed wront adress
oriagranat9 Sep 14, 2023
319878b
changed default address
oriagranat9 Sep 21, 2023
9518818
fixed missing config
oriagranat9 Sep 22, 2023
c71c010
temp in c and pressure in mbar
oriagranat9 Sep 22, 2023
d7d4be4
final fixes, read correct sensor id from reg
oriagranat9 Sep 22, 2023
ab49130
Support for BMP390 (untested)
b3nn0 Nov 2, 2023
32944b1
fix(settings): remove obsolete CountryCodeList variable causing excep…
zyv Nov 7, 2023
b51bc6e
feat(settings): add apostrophe (') to the list of supported ssid char…
zyv Nov 7, 2023
de9718a
Added support for uAvionix pingUSB - MavLink #259
stefanux2 Nov 7, 2023
aac0be7
Added AutoReconnect every 10s b3nn0#259
stefanux2 Nov 7, 2023
d86cbf1
Pull request changes b3nn0#261
stefanux2 Nov 12, 2023
1f7acbe
option to conifgure gps manually
Jan 9, 2024
fbc252e
gps manual config
Jan 9, 2024
dbae1ef
reeneabled log messages
Jan 9, 2024
e6d1586
added ubox10
Jan 9, 2024
fd5f64a
synced gps type enumeration in javascript and go code
Jan 9, 2024
79fdc0f
change in javascript comment
Jan 9, 2024
6d6c593
cleaned comments and logging
Jan 10, 2024
0be072c
gps accuracy for ublox 10
b3nn0 Jan 12, 2024
6a3f58d
bookworm migration WIP
b3nn0 Feb 14, 2024
50ad712
make GPS solution text same on backend/status page and GPS page
b3nn0 Mar 6, 2024
4ec7b22
read GNGST NMEA for accuracy estimation, hdop estimation only as fall…
b3nn0 Mar 6, 2024
845a8e0
Also read GNGST via UART
b3nn0 Mar 6, 2024
21733e8
Revert "use beidou instead of glonass"
b3nn0 Mar 23, 2024
642ca78
make GPS solution text same on backend/status page and GPS page
b3nn0 Mar 6, 2024
081f27a
read GNGST NMEA for accuracy estimation, hdop estimation only as fall…
b3nn0 Mar 6, 2024
eab5115
Also read GNGST via UART
b3nn0 Mar 6, 2024
dd49b57
Revert "use beidou instead of glonass"
b3nn0 Mar 23, 2024
8c29995
latest image
b3nn0 Mar 23, 2024
9fba560
fixed bookworm first boot behaviour
b3nn0 Mar 23, 2024
245949f
back to hardcoded clone url
b3nn0 Mar 23, 2024
e28558a
ogn-rx-eu release for new protocol revision
b3nn0 Mar 24, 2024
0a5c01a
correctly apply overlay after update script execution
b3nn0 Mar 24, 2024
28cdfe3
Merge branch 'master' into bookworm
b3nn0 Mar 24, 2024
9f47302
make a bit more space during image building
b3nn0 Mar 24, 2024
ed5c29e
adjust first-boot handling for bookworm
b3nn0 Mar 24, 2024
902a622
fixed partition accidentally being shrunk too much
b3nn0 Mar 24, 2024
523bd56
fix for parted not wanting to shrink partitions from script
b3nn0 Mar 25, 2024
28060d2
write config file to home directory when not running as root
b3nn0 Mar 26, 2024
64edd25
Remove UBX-CFG-PMS configuration. Closes #274
b3nn0 Mar 26, 2024
c11e548
live-update "my location marker" on map page
b3nn0 Mar 26, 2024
97cb1d5
Merge branch 'master' into bookworm
b3nn0 Mar 26, 2024
4f82c23
make gain setting actually work correctly
b3nn0 Mar 26, 2024
56d1e9d
Merge branch 'webimprovements'
b3nn0 Mar 26, 2024
474c031
fix kernel driver crash when TTGO T-Motion connected
b3nn0 Apr 1, 2024
c66bfdd
disable quiet boot
b3nn0 Apr 1, 2024
de812ff
Antenna_Gain_rev1
xiaprojects Apr 1, 2024
263e155
Antenna_Gain_UploadChanges
xiaprojects Apr 1, 2024
73c1bce
Renamed Gain to Dump1090Gain
xiaprojects Apr 1, 2024
a953276
Web minor improvements bugfixes
xiaprojects Apr 1, 2024
0be177e
fix formatting
b3nn0 Mar 26, 2024
d8c53c9
Merge branch 'master' into bookworm
b3nn0 Apr 1, 2024
d4ac867
Merge branch 'master' into bookworm
b3nn0 Apr 2, 2024
1cd1382
add pico-tts to release image for future voice alert support
b3nn0 Apr 3, 2024
7a7bd27
use jq instead of heuristic grep for overlay enable/disable
b3nn0 Apr 7, 2024
7c32d0c
wrong path
b3nn0 Apr 7, 2024
6b1adbd
minor tweaks, also correctly import persistent logging setting on fir…
b3nn0 Apr 7, 2024
150f282
fix for OGN wrong aircraft type reporting
b3nn0 Apr 7, 2024
5e05a54
make sure aircraft category can update on map view
b3nn0 Apr 11, 2024
b4d0ca1
pi5 max usb current
b3nn0 Apr 20, 2024
103de34
Remove all Flush() calls for GPS serial writing, hopefully fixes #278
b3nn0 May 11, 2024
eb390c4
dwc2,dr_mode=host. Closes #280
b3nn0 May 12, 2024
60df05a
always prefer GPS position for ownship report over received transpond…
b3nn0 May 14, 2024
862eadf
Change error message to better reflect BMP pressure sensor
mechanicalamit Jun 2, 2024
ac018ab
update goflying for BME280 support
b3nn0 Jun 10, 2024
f87ef6b
first try to implement COT target input via UDP port 8087
b3nn0 Jun 16, 2024
21eaa40
also parse track/speed from cot event
b3nn0 Jun 16, 2024
93c5628
only log cot traffic in debug mode
b3nn0 Jun 16, 2024
f08079c
migrate to new ogn-tracker project
b3nn0 Jun 17, 2024
f976fe8
firmware binaries for TBeam S3
b3nn0 Jun 20, 2024
88a3528
rename firmware tbeam 20 -> tbeam 12
b3nn0 Jun 20, 2024
5bca4b2
install new ogn tracker binaries to /opt
b3nn0 Jun 20, 2024
6d88024
OGN Tracker PAW protocol implementation
b3nn0 Jun 24, 2024
a84d6e4
fixed ogn-tracker compile flags
b3nn0 Jun 26, 2024
becba10
experimental support for SoftRF-Like BLE traffic output
b3nn0 Jul 5, 2024
a05d270
self-compile latest bluez
b3nn0 Jul 6, 2024
1009f1c
fix image build
b3nn0 Jul 6, 2024
c05b112
make UART GPS work again
b3nn0 Jul 6, 2024
5e63e5e
bug fix for multiple GATT services, also transmit on standard Nordic …
b3nn0 Jul 6, 2024
1f67816
more robust serial port baud detection
b3nn0 Aug 1, 2024
5b29863
don't clear log file on startup by default
b3nn0 Aug 1, 2024
fa60a06
remove Logging indicator "light" to not confuse users
b3nn0 Sep 20, 2024
2114b2b
make image build script more robust
b3nn0 Sep 20, 2024
c66ca98
make image build script more robust
b3nn0 Sep 20, 2024
af690aa
Fix BMP280 detection on alternate i2c address for newer Stratux AHRS …
b3nn0 Sep 20, 2024
a703a16
update to latest ogn-tracker
b3nn0 Sep 20, 2024
434f8ef
use latest raspiOS and bluez
b3nn0 Sep 22, 2024
82bc9cc
accidentally used wrong link
b3nn0 Sep 22, 2024
4812d1e
fix script execution in bash
b3nn0 Sep 22, 2024
ff1f01d
make bluetooth init more robust
b3nn0 Sep 22, 2024
327e877
Update README.md
b3nn0 Sep 23, 2024
f47c5f7
Update README.md
b3nn0 Sep 23, 2024
ebac600
Fix discord invite link
b3nn0 Sep 25, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# These are supported funding model platforms

github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: ["https://paypal.me/stratuxeu"]
6 changes: 4 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
.idea/
.vscode/
dump978/extract_nexrad
dump978/uat2esnt
dump978/uat2json
dump978/uat2text
gen_gdl90
libdump978.so
fancontrol
ogn/ddb.json
ogn/esp-idf
ogn/esp32-ogn-tracker

*.mp4

*.img

*.zip
#*.zip

test/bmp180_read

Expand Down
15 changes: 10 additions & 5 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
[submodule "dump1090"]
path = dump1090
url = https://github.com/stratux/dump1090
[submodule "goflying"]
path = goflying
url = https://github.com/cyoung/goflying
path = dump1090
url = https://github.com/flightaware/dump1090.git
branch = dev
[submodule "rtl-ais"]
path = rtl-ais
url = https://github.com/mik3y/rtl-ais
ignore = dirty
[submodule "ogn/ogn-tracker"]
path = ogn/ogn-tracker
url = https://github.com/pjalocha/ogn-tracker.git
30 changes: 30 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch rPI/x86",
"type": "go",
"request": "launch",
"mode": "exec",
"cwd": "${workspaceRoot}",
"program": "${workspaceRoot}/gen_gdl90",
"env": {"CGO_CFLAGS_ALLOW": "-L${workspaceRoot}"},
"args": ["-log_dir", "/tmp/", "-logtostderr"],//, "-trace", "/var/log/stratux/2023-05-17T13:17:29Z_trace.txt.gz", "-traceSpeed", "1", "-traceSkip", "20"],
//"args": ["-log_dir", "/tmp/", "-logtostderr", "-replay", "-uatlog", "test-data/cyoung-09062015-noproblem-stratux-uat.log"],
"preLaunchTask": "Build",
"internalConsoleOptions": "openOnSessionStart"
},
{
"name": "Launch Fancontrol",
"type": "go",
"request": "launch",
"mode": "exec",
"cwd": "${workspaceRoot}",
"program": "${workspaceRoot}/fancontrol",
"env": {"CGO_CFLAGS_ALLOW": "-L${workspaceRoot}"},
//"args": ["-log_dir", "/tmp/", "-logtostderr", "-replay", "-uatlog", "test-data/cyoung-09062015-noproblem-stratux-uat.log"],
"preLaunchTask": "Build Fancontrol",
"internalConsoleOptions": "openOnSessionStart"
}
]
}
23 changes: 23 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"go.useLanguageServer": true,
"go.lintFlags": [ "--disable-all" ],
"go.toolsEnvVars": {
"CGO_CFLAGS_ALLOW": "-L${workspaceRoot}",
},
"go.buildOnSave": "off",

"terminal.integrated.env.linux": {
"CGO_CFLAGS_ALLOW": "-L${workspaceRoot}",
},

"[go]": {
"editor.formatOnSave": false
},

// Use this to make it possible to hide the gen_gdl90 vs fancontrol redeclaration errors..
"files.exclude": {
"**/.git": true,
"ogn/esp-idf/**": true,
"test/**": true
}
}
27 changes: 27 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "Build",
"type": "shell",
"command": "make gen_gdl90 debug=true",
"problemMatcher": "$go",
"group": {
"kind": "build",
"isDefault": true
}
},
{
"label": "Build Fancontrol",
"type": "shell",
"command": "make fancontrol debug=true",
"problemMatcher": "$go",
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
49 changes: 49 additions & 0 deletions GxAirCom/install-GxAirCom-Stratux-firmware.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
#!/bin/bash

fwName=firmware_psRam

RED='\033[1;31m'
NC='\033[0m' # No Color

function cleanup {
sudo systemctl start stratux
}
trap cleanup EXIT


cd "$(dirname "$0")"

if [ -e /dev/serialin ]; then
usbDevice=/dev/serialin
else
echo ""
echo "To which USB would you like to install the firmware at?"
echo ""
echo -e "${RED}If you are unsure about which USB device is which (sorry we cannot detect..) then unplug${NC}"
echo -e "${RED}the device you do not want to flash and re-run this script.${NC}"
echo ""
list=$(find /dev/ -regextype egrep -regex '\/dev\/(ttyACM|ttyAMA|ttyUSB)[0-9]')

if [ -z "$list" ]; then
echo "No connected USB, ACM or AMA device found"
exit
fi

select usbDevice in $list
do test -n "$usbDevice" && break;
echo "No USB device selected"
exit
done
fi

echo "Installing $fwName to $usbDevice"
echo ""

sudo systemctl stop stratux
echo ""

python3 esptool.py --chip esp32 --port $usbDevice --baud 921600 --before default_reset erase_flash

python3 esptool.py --chip esp32 --port $usbDevice --baud 921600 --before default_reset --after hard_reset \
write_flash -u --flash_mode dio --flash_freq 40m --flash_size detect \
0x1000 bootloader_dio_40m.bin 0x10000 $fwName.bin 0x8000 partitions.bin 0x3d0000 spiffs.bin 0xe000 boot_app0.bin
131 changes: 96 additions & 35 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,63 +1,124 @@

export STRATUX_HOME := /opt/stratux/
ifeq "$(CIRCLECI)" "true"
BUILDINFO=
PLATFORMDEPENDENT=
else
LDFLAGS_VERSION=-X main.stratuxVersion=`git describe --tags --abbrev=0` -X main.stratuxBuild=`git log -n 1 --pretty=%H`
BUILDINFO=-ldflags "$(LDFLAGS_VERSION)"
BUILDINFO_STATIC=-ldflags "-extldflags -static $(LDFLAGS_VERSION)"
$(if $(GOROOT),,$(error GOROOT is not set!))
LFLAGS=-X main.stratuxVersion=`git describe --tags --abbrev=0` -X main.stratuxBuild=`git log -n 1 --pretty=%H`
BUILDINFO=-ldflags "$(LFLAGS)"
BUILDINFO_STATIC=-ldflags "-extldflags -static $(LFLAGS)"
PLATFORMDEPENDENT=fancontrol
endif

all:
make xdump978 xdump1090 xgen_gdl90 $(PLATFORMDEPENDENT)
ifeq ($(debug),true)
BUILDINFO := -gcflags '-N -l' $(BUILDINFO)
endif

ARCH=$(shell arch)
ifeq ($(ARCH),aarch64)
OGN_RX_BINARY=ogn/ogn-rx-eu_aarch64
else ifeq ($(ARCH),x86_64)
OGN_RX_BINARY=ogn/ogn-rx-eu_x86
else
OGN_RX_BINARY=ogn/ogn-rx-eu_arm
endif


xgen_gdl90:
go get -t -d -v ./main ./godump978 ./uatparse ./sensors
go build $(BUILDINFO) -p 4 main/gen_gdl90.go main/traffic.go main/gps.go main/network.go main/managementinterface.go main/sdr.go main/ping.go main/uibroadcast.go main/monotonic.go main/datalog.go main/equations.go main/sensors.go main/cputemp.go main/lowpower_uat.go

fancontrol:
go get -t -d -v ./main
go build $(BUILDINFO_STATIC) -p 4 main/fancontrol.go main/equations.go main/cputemp.go
all: libdump978.so xdump1090 xrtlais gen_gdl90 $(PLATFORMDEPENDENT)

gen_gdl90: main/*.go common/*.go libdump978.so
LIBRARY_PATH=$(CURDIR) CGO_CFLAGS_ALLOW="-L$(CURDIR)" go build $(BUILDINFO) -o gen_gdl90 -p 4 ./main/

fancontrol: fancontrol_main/*.go common/*.go
go build $(BUILDINFO) -o fancontrol -p 4 ./fancontrol_main/

xdump1090:
git submodule update --init
cd dump1090 && make
git submodule update --init dump1090
cd dump1090 && make BLADERF=no

xdump978:
libdump978.so: dump978/*.c dump978/*.h
cd dump978 && make lib
sudo cp -f ./libdump978.so /usr/lib/libdump978.so

xrtlais:
git submodule update --init rtl-ais
cd rtl-ais && sed -i 's/^LDFLAGS+=-lpthread.*/LDFLAGS+=-lpthread -lm -lrtlsdr -L \/usr\/lib\//' Makefile && make


.PHONY: test
test:
make -C test
make -C test

www:
cd web && make

install:
cp -f gen_gdl90 /usr/bin/gen_gdl90
chmod 755 /usr/bin/gen_gdl90
cp -f fancontrol /usr/bin/fancontrol
chmod 755 /usr/bin/fancontrol
-/usr/bin/fancontrol remove
/usr/bin/fancontrol install
make -C web

ogn/ddb.json:
cd ogn && ./fetch_ddb.sh

optinstall: www ogn/ddb.json
mkdir -p $(STRATUX_HOME)/bin
mkdir -p $(STRATUX_HOME)/www
mkdir -p $(STRATUX_HOME)/ogn
mkdir -p $(STRATUX_HOME)/GxAirCom
mkdir -p $(STRATUX_HOME)/cfg
mkdir -p $(STRATUX_HOME)/lib
mkdir -p $(STRATUX_HOME)/mapdata
chmod a+rwx $(STRATUX_HOME)/mapdata # so users can upload their stuff as user pi

# binaries
cp -f gen_gdl90 $(STRATUX_HOME)/bin/
cp -f fancontrol $(STRATUX_HOME)/bin/
cp -f dump1090/dump1090 $(STRATUX_HOME)/bin
cp -f rtl-ais/rtl_ais $(STRATUX_HOME)/bin
cp -f $(OGN_RX_BINARY) $(STRATUX_HOME)/bin/ogn-rx-eu
chmod +x $(STRATUX_HOME)/bin/*

# Libs
cp -f libdump978.so $(STRATUX_HOME)/lib/

# map data
cp -ru mapdata/* $(STRATUX_HOME)/mapdata/

# OGN stuff
cp -f ogn/ddb.json ogn/*ogn-tracker-bin-*.zip ogn/install-ogntracker-firmware-pi.sh ogn/fetch_ddb.sh $(STRATUX_HOME)/ogn

# GxAirCom stuff
# Wget -N doesn't work with -O.. need to change directory temporarily
# Could also use latest CI build: https://github.com/rvt/GxAirCom/releases/latest/download/$$artifact
cd $(STRATUX_HOME)/GxAirCom/; \
wget -N https://raw.githubusercontent.com/pjalocha/esp32-ogn-tracker/master/esptool.py; \
for artifact in "firmware_psRam.bin" "spiffs.bin" "partitions.bin" "version.txt" "README.md" "bootloader_dio_40m.bin" "boot_app0.bin" ; do \
wget -N https://github.com/rvt/GXAirCom/releases/download/stratux-eu029/$$artifact; \
done
cp -f GxAirCom/install-GxAirCom-Stratux-firmware.sh $(STRATUX_HOME)/GxAirCom

# Scripts
cp __opt__stratux__bin__stratux-pre-start.sh $(STRATUX_HOME)/bin/stratux-pre-start.sh
chmod 744 $(STRATUX_HOME)/bin/stratux-pre-start.sh
cp -f image/stratux-wifi.sh $(STRATUX_HOME)/bin/
cp -f image/sdr-tool.sh $(STRATUX_HOME)/bin/
chmod 755 $(STRATUX_HOME)/bin/*

# Config templates
cp -f image/stratux-dnsmasq.conf.template $(STRATUX_HOME)/cfg/
cp -f image/interfaces.template $(STRATUX_HOME)/cfg/
cp -f image/wpa_supplicant.conf.template $(STRATUX_HOME)/cfg/
cp -f image/wpa_supplicant_ap.conf.template $(STRATUX_HOME)/cfg/


install: optinstall
-$(STRATUX_HOME)/bin/fancontrol remove
$(STRATUX_HOME)/bin/fancontrol install

# System configuration
cp image/10-stratux.rules /etc/udev/rules.d/10-stratux.rules
cp image/99-uavionix.rules /etc/udev/rules.d/99-uavionix.rules
rm -f /etc/init.d/stratux
cp __lib__systemd__system__stratux.service /lib/systemd/system/stratux.service
cp __root__stratux-pre-start.sh /root/stratux-pre-start.sh
chmod 644 /lib/systemd/system/stratux.service
chmod 744 /root/stratux-pre-start.sh
ln -fs /lib/systemd/system/stratux.service /etc/systemd/system/multi-user.target.wants/stratux.service
make www
cp -f libdump978.so /usr/lib/libdump978.so
cp -f dump1090/dump1090 /usr/bin/
cp -f image/hostapd_manager.sh /usr/sbin/
cp -f image/stratux-wifi.sh /usr/sbin/


clean:
rm -f gen_gdl90 libdump978.so fancontrol ahrs_approx
cd dump1090 && make clean
cd dump978 && make clean
cd rtl-ais && make clean
Loading