151 Commits

Author SHA1 Message Date
Wouter Bokslag
f21400acda Now passes arch flag to cross compiler v0.5.6-f21400a 2026-03-27 13:43:40 +01:00
Wouter Bokslag
ad5a85e1de Initial release for automated binary releases for amd64 and aach64 targets
Automatically builds amd64 and aach64 target through gitlab workflow.
Also allows for local cross-compilation through `cross` tool

Co-authored-by: Frédéric Druppel <Frederic.druppel@icloud.com>
v0.5.6-ad5a85e
2026-03-26 13:08:42 +01:00
Wouter Bokslag
3074412492 Fix for group-addressed SDS 2026-03-25 20:40:28 +01:00
Wouter Bokslag
756d6e2ddd Merge branch 'sdr_autoselect' 2026-03-25 19:38:47 +01:00
Wouter Bokslag
a7612bda3e Merge branch 'sdr_autoselect' of github.com:MidnightBlueLabs/tetra-bluestation into sdr_autoselect 2026-03-25 19:38:12 +01:00
Wouter Bokslag
a73ed88fbc Version 0.5.6, final tweaks to new soapy config
Config file should now be version 0.6
Slight tweaks to example config
Program now prints version number on startup
Formatting changes
2026-03-25 19:19:30 +01:00
proxiboi69
7b9238d4b4 Reject floor requests during active transmission to prevent speaker override (#65)
* Reject floor requests during active transmission to prevent speaker override
* Reduce UL inactivity timeout for faster stuck transmitter detection
2026-03-25 19:17:17 +01:00
Wouter Bokslag
51f1fb354c Version 0.5.6, final tweaks to new soapy config
Config file should now be version 0.6
Slight tweaks to example config
Formatting changes
2026-03-25 17:27:32 +01:00
Tatu Peltola
98cefd855f Add automatic selection of SDR device, remove device specific iocfg (#64)
* Try to make SDR device selection cleaner and more robust
* Automatically select a supported SDR device
* Handle missing timestamps, detect SoapyRemote
* Remove device specific iocfg, implement overrides in a more generic way
* Cleanup device opening, skip enumeration if device string is given
* Add config overrides for sample rate and channel numbers
* Fix SXceiver period size for overridden sample rates
* Show errors for unsupported SDR configuration fields

---------

Co-authored-by: wbokslag <w.bokslag@midnightblue.nl>
2026-03-25 16:33:48 +01:00
proxiboi69
87be70a665 Fix PTT during hangtime by carrying RA flag through STCH and suppressing late-entry D-SETUP (#63)
* Skip late-entry D-SETUP retransmission during hangtime
* Carry random_access_flag through STCH when RA ack is dropped on hangtime exit
2026-03-25 13:31:18 +01:00
Wouter Bokslag
b8dc3146ee LLC improvements and fixes, version to 0.5.5
Higher entities now signal which service to use through Layer2Service::(Un)acknowledged
MLE now parses Layer2Service fields from higher entities
LLC now accepts TlData for acked and TlUnitdata for unacked messages
LLC now sends BL-UDATA messages down to Umac last, at end of tick.
2026-03-24 14:06:55 +01:00
Wouter Bokslag
e43b2c0849 Improved debug printing when a timestamp is provided in the tracing call
Before, the timestamp was erroneously repeated at the end of the printed debug line. That's resolved now.
Also, trace level printing of mle, cmce, mm and sndcp is now disabled by default
2026-03-24 11:40:07 +01:00
Wouter Bokslag
32d327fc73 Version to 0.5.4 2026-03-23 21:03:50 +01:00
Wouter Bokslag
08c616cc06 Merge remote-tracking branch 'origin/main' into aach_fix 2026-03-23 20:58:17 +01:00
Tatu Peltola
6c958dfd38 Try to fix LimeSDR configuration issues (#62)
* Try to fix LimeSDR configuration issues, update soapysdr crate

* Make default gains consistent with configuration example

Also increase default PAD gain for LimeSDR a bit.
PAD gains below 19 dB gave TX calibration errors on my LimeSDR USB.

* Some SdrSettings cleanup
2026-03-20 17:01:30 +01:00
Wouter Bokslag
1bb79d82fe Merge branch 'main' of github.com:MidnightBlueLabs/tetra-bluestation 2026-03-20 10:10:11 +01:00
Wouter Bokslag
a427fd69fe Better SDR config debug prints
- Now prints detected SDR driver and device
- Also prints the final soapy configuration that's used
- Updated default print level to show Phy info messages
2026-03-20 09:59:17 +01:00
Manoel
7ddcd7a5f9 Pluto/Pluto+ config cleanup (#60) 2026-03-20 09:30:42 +01:00
Wouter Bokslag
9db59a9e97 Version bump to 0.5.3, formatting improvements 2026-03-19 16:00:58 +01:00
Wouter Bokslag
61601612bb Merge branch 'plutosdr' 2026-03-19 15:15:43 +01:00
Wouter Bokslag
728b821ac2 Some improvements and restructuring in time broadcast 2026-03-19 11:48:44 +01:00
proxiboi69
1eee8ac30f Fix MCCH AACH and hangtime AACH for Cleartone and other radio compatibility (#58)
* Fix MCCH AACH CommonOnly and TS1 SYSINFO broadcast for Cleartone delay=0 registration
* Use AACH AssignedOnly during hangtime for Cleartone compatibility
* Remove hangtime guard and switch AACH immediately on floor release
2026-03-19 11:36:07 +01:00
wbokslag
1f15c00d85 Merge pull request #59 from wahlm/pluto-timestamp-pr
Support for original Pluto and Pluto+, refactoring of configuration code
2026-03-19 11:25:16 +01:00
Wouter Bokslag
238449af33 Some improvements and restructuring in time broadcast 2026-03-19 10:56:19 +01:00
Wouter Bokslag
a7f598a19a Merge branch 'broadcast', version 0.5.2 2026-03-19 10:26:25 +01:00
Wouter Bokslag
fdeabbbf4c MLE and LLC refactors
- MLE now sends TL-UNITDATA for certain unacknowledged frames
- LLC now implements handling of TL-UNITDATA for sending BL-UDATA
- MLE broadcast functionality to separate file
- Various other fixes, cleanups and improvement
2026-03-19 10:05:29 +01:00
Wouter Bokslag
58a95dd641 Redesigned, improved LLC logic
Now features fully fledged retransmission support.
2026-03-18 22:29:04 +01:00
Mark Wahl
0ec39150ff improve configuration doc 2026-03-16 16:41:16 +01:00
Mark Wahl
35e3f2fb67 cleanup 2026-03-15 21:27:22 +01:00
Mark Wahl
b10805e8c0 configurable pluto settings 2026-03-15 15:16:29 +01:00
Mark Wahl
160d6ce3db set pluto default args 2026-03-14 22:29:58 +01:00
Mark Wahl
7568b612b3 Merge remote-tracking branch 'tejeez/soapysettings' into pluto-timestamp-tejeez 2026-03-14 22:08:40 +01:00
Tatu Peltola
11b3a1dcce Put use_get_hardware_time in SdrSettings, some cleanup 2026-03-14 20:41:59 +02:00
Mark Wahl
95e6cfdba3 add sane defaults 2026-03-14 18:20:11 +01:00
Mark Wahl
affe333532 USB needs timestamp_every 1500 2026-03-14 18:20:11 +01:00
Mark Wahl
fe4826cc7c more doc in example config 2026-03-14 18:20:11 +01:00
Mark Wahl
61dc0cbee0 fix PlutoDto 2026-03-14 18:20:11 +01:00
Mark Wahl
6b04797908 support for pluto+ with timestamp 2026-03-14 18:20:11 +01:00
Wouter Bokslag
b1834fef45 Prevent crash when out-of-spec large SDS comes in over Brew
The stack will now detect an SDS is too long to be transmitted over the air, and instead issue a warning on the console output and drop the offending sds.
2026-03-14 14:29:44 +01:00
Tatu Peltola
7d0e5dd3b1 Refactor SDR settings 2026-03-14 15:22:18 +02:00
proxiboi69
56c8882334 Add D-NWRK-BROADCAST time broadcasting (#38)
* Add D-NWRK-BROADCAST time broadcasting
- Broadcast UTC time and local offset once per hyperframe (~61s)
- Add configurable timezone setting to cell config
- Use GSSI 0xFFFFFF broadcast address per clause 23.4.1.2.1
- Include number_of_ca_neighbour_cells field with value 0
- Skip first broadcast at startup before any radios have registered
- Remove incorrect trailing M-bit from D-NWRK-BROADCAST PDU (MLE PDUs don't use M-bits, per Annex E.2.1)
- Validate timezone at config parse and offset D-NWRK-BROADCAST timing
2026-03-13 16:37:40 +01:00
Wouter Bokslag
75660c1fdc Added config options for enabling/disabling SDS over Brew 2026-03-13 15:52:50 +01:00
proxiboi69
f88824bf3b Fix subscriber Register/Deregister not being sent to Brew when no groups are affiliated (#53) 2026-03-13 15:11:17 +01:00
Wouter Bokslag
82d1c4cc4a Small improved with regards to TS1 transmission of sds data 2026-03-13 11:23:36 +01:00
proxiboi69
9eff98194d SDS fixes and Brew compatibility improvements (#50)
* Fix downlink signaling scheduled on wrong timeslot for Brew SDS
* Forward U-STATUS to Brew when destination is not locally registered
* Zero-fill SHORT_TRANSFER number field instead of duplicating destination ISSI
* Use REREGISTER instead of REGISTER for already-registered subscribers on Brew
* Convert SDS-TL short report to Type4 for Brew and improve SDS_REPORT comment and logging
2026-03-13 09:59:41 +01:00
Wouter Bokslag
2aa2a34d78 Removed obsolete TM report functionality, now implemented using RxReceipts 2026-03-11 11:16:38 +01:00
Wouter Bokslag
b3d13b3bf0 Cleaned up verbose brew logging
Reduced tracing print levels for various messages from info to debug
2026-03-11 10:20:13 +01:00
Wouter Bokslag
1b4dc0421d Added parsing for U-STATUS and D-STATUS pre-coded status field 2026-03-11 10:05:39 +01:00
proxiboi69
d5ec440a46 Add SDS delivery report and fix MAC-END-HU reserved length handling (#49)
* Add SDS_REPORT delivery ack for incoming Brew SDS and fix test_sds_bs compilation

* Downgrade MAC-END-HU reserved length indication 0 from warning to debug
2026-03-11 08:52:34 +01:00
Wouter Bokslag
db9992f8af Refactors in SDS handling code
* SDS user defined data types now enums
* Improved state SubscriberRegistry
* Small printing and formatting fixes
2026-03-10 19:38:01 +01:00