Niccolò Izzo
5ff74aaaa7
Add FM tone decrease Macro
...
Reorganize macro menu buttons to enable tone decrease and eliminate
channel save as it was not yet implemented.
2022-09-27 22:35:50 +02:00
Niccolò Izzo
d395afd370
Fix missing splashscreen
...
Fix a bug where the splashscreen was not showing on radios with GPS
enabled.
2022-09-27 22:35:50 +02:00
Niccolò Izzo
6a9ce50f6b
Usability improvements
...
Remove DMR from macro menu until we actually support it.
Remove print of M17 source callsign
Bank and channel visualization is more compact to make room for
additional data on a single screen.
Refactor mode screen to fit all data into a single screen.
2022-09-27 22:35:50 +02:00
Silvano Seva
91d608cc6b
Small reorganization of threads and tasks
2022-09-08 09:11:00 +02:00
Silvano Seva
94baec6981
Changed the granularity of VFO frequency input mode from tens to hundreds: this reduces the number of digits to be inserted to seven and avoids the line to overflow towards the bottom
2022-09-02 07:54:32 +02:00
Silvano Seva
b5fc9b252d
Moved code of compensating filter for MDx PWM-based DAC to a dedicated class.
2022-08-28 12:17:04 +02:00
Silvano Seva
d11bb903b1
Made public the M17Modulator.stop() function, added macro to enable the transmission of an M17 EOT frame (disabled by default).
2022-08-28 12:00:36 +02:00
Jacob McSwain
fa33f15417
Implemented M17 EOT marker
2022-08-28 11:59:31 +02:00
Silvano Seva
a22aceb576
Reorganized code for M17 transmission: removed M17Transmitter class, use M17FrameEncoder to assemble LSF and data frames, modified API of M17Modulator class.
2022-08-28 11:59:31 +02:00
Silvano Seva
48cd81ee7c
Changed to 'static' some variables inside UI module
2022-08-28 11:49:10 +02:00
Silvano Seva
b26d783429
Small optimisation of UI management: perform an update and render of the graphics only when necessary
2022-08-28 11:49:03 +02:00
edgetriggered
a5a0de1428
UI: Build time font selection
2022-08-15 08:17:37 +02:00
Silvano Seva
e2137eae23
Implemented CRC of persistent data (settings and VFO state) in MDx devices
2022-08-11 17:02:04 +02:00
Silvano Seva
84d66ca1b3
Changed parameters of ui_pushEvent(): now it accepts event type and payload instead of a single element, this cleans the code up a little bit
2022-08-10 18:05:02 +02:00
Silvano Seva
f1dbfbfe1f
Fixed compilation warnings
2022-08-04 22:22:56 +02:00
Silvano Seva
5ebdb36ffb
Resetting M17 frame decoder when demodulator transitions from unlocked to locked state
2022-07-22 22:54:57 +02:00
Silvano Seva
9c2091c060
Changed M17 RX behaviour so that received stream data is forwarded to codec2 decode only when a full valid LSF is received.
2022-07-21 22:14:55 +02:00
Silvano Seva
1bb574c4fa
Reorganised graphics module and moved graphics.h from interfaces to core folder
2022-07-18 21:30:43 +02:00
Alain Carlucci
dea0ecbf29
fix double-free when codec_terminate is called multiple times
2022-07-17 22:28:03 +02:00
AlexandreRouma
bb5891aca5
Fixed setPixel swapping red and blue
2022-07-11 15:54:17 +02:00
Silvano Seva
844e0619e2
Fixed bug in check for M17 phase inversion causing MD3x0 UHF not to demodulate the signal anymore
2022-07-11 15:35:59 +02:00
Silvano Seva
eda835ee0b
Tightened locking conditions for M17 demodulator: now lock is acquired only when there is an exact syncword match (zero hamming distance)
2022-07-11 10:37:58 +02:00
Silvano Seva
fa58b99c9e
Fixed text blink in settings restore menu
2022-07-11 10:09:18 +02:00
Silvano Seva
7e8a960001
Fixed compiler warnings on MD-UV3x0 and MD-9600 targets
2022-07-10 09:23:37 +02:00
tarxvf
111cb9e431
Fixed compiler warnings after signedness conversion of point_t
2022-07-10 09:14:41 +02:00
tarxvf
ac3c8ea711
Renamed sat_t data structure to gpssat_t, changed signedness of point_t coordinates from unsigned to signed.
...
rename sat_t to gpssat_t to avoid future name collisions
allow signed values in point_t to allow relative values
fix crash when attempting to 'draw' negative absolute pixel values (like when zooming a map)
2022-07-10 09:13:47 +02:00
Silvano Seva
54aa794bf8
Changed file extension of all C++ only header files from .h to .hpp
2022-07-09 18:22:36 +02:00
Silvano Seva
34c90c2485
Moved FIR filter class to a dedicated header file
2022-07-09 18:07:42 +02:00
Silvano Seva
22ce4d6925
Moved codeplug initialisation from state init function to main initialisation sequence
2022-07-02 10:47:19 +02:00
Silvano Seva
d39783af2f
Moved libc implementation of CPS I/O interface to drivers folder
2022-07-02 10:47:19 +02:00
Silvano Seva
5f40ceceb3
Added field to state data structure containing the current operating state of the device. Implemented clean shutdown of all the threads.
2022-07-02 10:47:19 +02:00
Silvano Seva
810daf7599
Reorganised system initialisation sequence, improved reactivity of UI and device threads
2022-07-02 10:47:19 +02:00
Silvano Seva
42569af38a
Improved GPS management routine
2022-07-02 10:47:19 +02:00
Silvano Seva
23a1a38a3a
Moved mutex for concurrent access to radio state inside state.h/.c, minimized the time spent with state mutex locked when updating the GPS data fields
2022-07-02 10:47:19 +02:00
Silvano Seva
101b33ce6b
Merged keyboard and UI threads, merged GPS and device threads.
2022-07-02 10:47:18 +02:00
Silvano Seva
4528e102a2
Moved the UI event queue inside the UI engine itself, UI FSM update now becomes a periodic task
2022-07-02 10:28:28 +02:00
Silvano Seva
fed368a4db
Fixed routine computing the battery charge level so that the returned charge value cannot be greater than 100%
2022-07-02 10:28:28 +02:00
Silvano Seva
40337e7c97
Removed radio model name from UI info page
2022-07-02 10:28:28 +02:00
Silvano Seva
2fc89bf583
Renamed 'HAS_GPS' and 'HAS_RTC' to, respectively, 'GPS_PRESENT' and 'RTC_PRESENT'
2022-07-02 10:28:28 +02:00
Silvano Seva
6d10f52b5b
Clean termination of all the threads on device shutdown
2022-07-02 10:28:28 +02:00
Silvano Seva
bc0c80edf6
Displaying of current heap usage in info page
2022-07-02 10:28:28 +02:00
Silvano Seva
52ead401bd
Reorganised GPS task to make it a non-blocking task to be called periodically
2022-07-02 10:28:28 +02:00
Silvano Seva
d16eb04696
Reorganised data structures and functions to manage date and time
2022-07-02 10:28:28 +02:00
Silvano Seva
45d919f50f
Reorganised GPS driver to allow for non-blocking acquisition of NMEA sentences
2022-07-02 10:28:28 +02:00
Silvano Seva
3cc5852ef3
Refactored keyboard thread by moving the keypad scan logic to a dedicated function inside input.h
2022-07-02 10:28:28 +02:00
Wojciech Kaczmarski
f1b1dc2034
Changed battery type for Module17 to BAT_NONE
2022-06-21 12:06:20 +02:00
Jeff Gustafson
1f56018e52
Added space character to UI text input mode.
2022-06-17 12:15:00 +02:00
Wojciech Kaczmarski
a5b7658878
Fixed bug causing the newline character to misalign text if "TEXT_ALIGN_CENTER" is used with multi-line strings.
2022-06-17 12:14:22 +02:00
Wojciech Kaczmarski
e5fbb77cd2
Fixed displayed voltage error
2022-06-12 11:52:17 +02:00
Silvano Seva
c966f82352
Fixed setting of battery voltage and transmission of PTT press signal from linux emulator shell
2022-06-09 23:02:38 +02:00
Silvano Seva
980fa32e73
Reorganised source code of linux emulator SDL engine
2022-06-09 22:48:41 +02:00
Silvano Seva
d2e0b7d940
Improved heap memory management in M17 modulator class
2022-06-05 12:27:25 +02:00
Silvano Seva
a1888ae19e
Improved heap memory management in M17 demodulator class
2022-06-05 12:24:43 +02:00
Silvano Seva
8b5b6ed571
Moved OpenRTX startup code from main.c to dedicated openrtx_init() and openrtx_run() functions in a separate source file.
2022-06-02 10:01:34 +02:00
Silvano Seva
316e588bc3
Updated copyright headers
2022-06-02 09:56:05 +02:00
Niccolò Izzo
521865f489
Fix bug in new cps code
...
Fixed some bugs in the write and insert functions of the new cps format
functions, currently available only on libc implementations.
Add unit test to ensure that no regressions happen.
TG-428
2022-06-01 16:05:36 +02:00
Niccolò Izzo
ae12a2126a
Implement codeplug read and write functions
...
Implemented remaining codeplug functions to read, write and insert
codeplug entries. Fix bugs in ui code. Add unit tests.
TG-428
2022-06-01 16:05:35 +02:00
Niccolò Izzo
dc250a25d6
Implement new codeplug interface
...
The new codeplug interface was implemented for linux and retrofitted to
all the existing OpenRTX platforms. Limited unit testing was also
implemented.
TG-428
2022-06-01 15:59:27 +02:00
Silvano Seva
cbd3922325
Cleanup and reorganisation of state header file, new OpenRTX CPS data structure
2022-06-01 15:04:17 +02:00
Silvano Seva
da22d6ff64
Separated interface for CPS loading from the non volatile memory one
2022-06-01 14:56:33 +02:00
Silvano Seva
c3cfaba4b2
Renamed zones into banks to align to M17 codeplug naming convention.
2022-06-01 14:56:22 +02:00
Silvano Seva
7ed4a64027
On MD-3x0 added a fixed gain of four to codec2 demodulated audio to compensate for the low output volume
2022-05-31 21:28:09 +02:00
Silvano Seva
4367db53d0
Added configuration of AT1846S registers for digital modes in MD-UV3x0 driver. In M17 mode handler forced signal phase inversion at demodulator side also for MD-UV3x0 devices
2022-05-31 18:19:57 +02:00
Silvano Seva
4d4ebae2f3
Added configurable phase inversion to M17 demodulator. Forced enabling of phase inversion for MD3x0 VHF radios.
2022-05-30 19:19:01 +02:00
Silvano Seva
bfa3494777
Fixed bug in M17 demodulator causing the M17Demodulator::getFrame() function to return the frame currently being processed instead of the fully demodulated one.
2022-05-27 21:49:33 +02:00
Silvano Seva
63f4c787c0
Moved helper functions for M17 Golay to a dedicated source file
2022-05-27 21:49:33 +02:00
Silvano Seva
1620889640
Reorganised main FSM inside M17 operating mode handler
2022-05-27 21:49:33 +02:00
Niccolò Izzo
6322cb49a4
Cleanup demodulator, improved quantization log
...
Unified offset and phase variable to reduce the chance of off-by-ones
between buffers. Improved logging on linux and module17 adding
quantization indices.
TG-81
2022-05-27 21:49:33 +02:00
Silvano Seva
46c988bdc2
Restoring priority level of output streams to PRIO_BEEP when the stream terminates, made M17Modulator::emitBaseband() wait for effective stream termination before returning when transmission stop is requested. Fixes #76
2022-05-27 21:49:33 +02:00
Silvano Seva
76be50db61
Improved debug log in M17 demodulator, changed trigger condition for log dump, re-enabled audio reproduction when logging.
2022-05-27 21:49:33 +02:00
Silvano Seva
4304013d62
Updated M17 demodulator debug logger: now log data is continously updated and dumped only in case of a missed sync after lock has been acquired.
2022-05-27 21:49:33 +02:00
Niccolò Izzo
29ad0830f0
M17 demodulation improvement
...
Add logging in syncword sweep, fix unsigned underflow bug,
fixed symbol average computation for quantization.
Do syncword sweep whenever available.
TG-81
2022-05-27 21:49:33 +02:00
Silvano Seva
d17d683b2d
M17 code cleanup pass: reorganised data type definitions and constants
2022-05-27 21:49:33 +02:00
Silvano Seva
5b27e6b692
Ensure proper termination of baseband sampling when M17Demodulator::terminate() is called.
...
Solves #74 .
2022-05-27 21:49:33 +02:00
Silvano Seva
7aff678069
Improved robustness of frame type detection, now based on minimum hamming distance between syncwords
2022-05-27 21:49:33 +02:00
Niccolò Izzo
115982d279
Add demod log script
...
Add script to receive the demodulated data from Module17/radio, to use
it you need to add in meson.build:12 the ENABLE_DEMOD_LOG define.
Build and flash into the platform, build and run scripts/get_demod_log,
turn on the radio, remember to turn of radio before you terminate
get_demod_log, print the output with
`scripts/plot_m17_demod_csv.py serial_demod_log.csv`.
TG-81
2022-05-27 21:49:32 +02:00
Niccolò Izzo
c987848382
Add syncword hot re-sync fix DC removal
...
DC removal filter had a bug that created weird positive spikes on
Module17, add a syncword hot re-sync to be able to correct small phase
errors that appear every five seconds more or less.
TG-81
2022-05-27 21:48:47 +02:00
Silvano Seva
1f77c2af6c
Reorganised logging inside M17 demodulator, logging is disabled by default.
...
On non-linux devices log data is printed on the serial port in raw binary format.
2022-05-27 21:48:47 +02:00
Niccolò Izzo
ef61c532a3
Cleaned up quantization average
...
Now average is computed over all the syncword symbols, for each syncword
as a simple average.
TG-81
2022-05-27 21:48:47 +02:00
Niccolò Izzo
5fe5b0e578
Refactor M17 logging
...
Refactored logging functions to enable in-system logging on Module17 and
MDx radios.
TG-81
2022-05-27 21:48:47 +02:00
Niccolò Izzo
c3c984d504
Add syncword fuzzy detection
...
Frame decoder now tolerates bit error in syncword, removed syncword type
detection in demodulator code.
TG-81
2022-05-27 21:48:47 +02:00
Silvano Seva
b998d3b78f
Modified time constant of DC removal high-pass filter to avoid a too high cut-off frequency when run with at fast sample rates
2022-05-27 21:48:47 +02:00
Silvano Seva
6b31a73f42
Corrected RRC gain and changed HR_C5000 modulation factor and input gain to have the correct 2.4kHz deviation when transmitting M17 with an MD3x0 radio
2022-05-27 21:48:47 +02:00
Niccolò Izzo
b1f2cb109f
Switch M17 Rx sample rate to 5SPS
...
Due to the RRC computation sometimes violating the timing constraints,
we switched the M17 demodulator to 5 samples per symbol (24KHz), thus
dividing the processing time by four ar the number of samples halves as
well as the number of taps of the RRC.
Minor adaptation on the code followed.
TG-81
2022-05-27 21:48:47 +02:00
Silvano Seva
e68b05d859
Fixed double free errors in M17 code, see #73
2022-05-27 21:48:47 +02:00
Niccolò Izzo
2d59658d60
Switch M17 Rx sample rate to 5SPS
...
Due to the RRC computation sometimes violating the timing constraints,
we switched the M17 demodulator to 5 samples per symbol (24KHz), thus
dividing the processing time by four ar the number of samples halves as
well as the number of taps of the RRC.
Minor adaptation on the code followed.
TG-81
2022-05-27 21:48:47 +02:00
Niccolò Izzo
63bd864674
Fix M17 Rx LED
...
Now LED turns on when a syncword is successfully detected, not just when
the correlation is sufficiently high.
TG-81
2022-05-27 21:48:47 +02:00
Niccolò Izzo
c4483edff0
Improve quantization strategy
...
Now quantization is performed by averaging syncword samples and dividing
the resulting threshold by a constant.
TG-81
2022-05-27 21:48:47 +02:00
Niccolò Izzo
2e7ed7a8f0
M17 demodulator further improvements
...
- Fix phase propagation across buffers
- Fix initial syncword offset detection
- Improve quantization algorithm
TG-81
2022-05-27 21:48:47 +02:00
Niccolò Izzo
7d1b89550e
Rewrite quantization algorithm
...
Quantization algorithm is now based on separate rolling averages for
positive and negative samples.
Merged csv outputs from syncword search and quantization on Linux.
TG-81
2022-05-27 21:48:47 +02:00
Niccolò Izzo
aa9fcc26b7
Remove useless DC bias in quantization
...
TG-81
2022-05-27 21:48:47 +02:00
Niccolò Izzo
d1651a702c
Add proper DC-bias removal, tuned EMAs
2022-05-27 21:48:47 +02:00
Silvano Seva
da5c453852
Implemented unpacking and decoding of M17 audio stream frames
2022-05-27 21:48:47 +02:00
Silvano Seva
beca0d2acc
Reorganised constants inside M17 demodulator class
2022-05-27 21:48:47 +02:00
Silvano Seva
77dfeef9e7
Implemented audio decoding functions in CODEC2 module
2022-05-27 21:48:47 +02:00
Silvano Seva
e5b5daba85
Moved state variables of PWM compensator and DC removal filter outside the function bodies to allow keeping their consistency among function calls
2022-05-27 21:48:47 +02:00
Mathis Schmieder
89c05a7332
Adjusted Module17 mic processing gain; interim-fix for DC offset removal
2022-05-27 21:48:47 +02:00
Silvano Seva
49e5486ea6
Parametric mic gain inside codec2 module
2022-05-27 21:48:47 +02:00
Silvano Seva
b144657257
Moved CODEC2 management to a dedicated module
2022-05-27 21:48:47 +02:00
Silvano Seva
4b8685b853
Changed gain and added an offset at tx RRC stage only for Module 17 to compensate for an hardware bug
2022-05-27 21:48:47 +02:00
Silvano Seva
4a3e31cd03
Fixed bug in M17 demodulator caused by the precedent code refactoring
2022-05-27 21:48:47 +02:00
Silvano Seva
d1b4973cc9
Fixed reset of DC bias on stream stop in Module 17 output stream driver, made parametric the gain of the RRC at modulator side
2022-05-27 21:48:47 +02:00
Silvano Seva
83020d4fa3
Increased priority of CODEC2 thread, this fixes glitches when generating M17 baseband signal
2022-05-27 21:48:47 +02:00
Silvano Seva
3d169484e9
Improved management of CODEC2 thread in M17 mode handler, now activated only when transmitting. Fixes a confict with RTX and MIC input streams causing the rtx thread to hang when PTT was pressed
2022-05-27 21:48:47 +02:00
Silvano Seva
54a89abcd0
Removed a printf left behind after debugging from M17 demodulator class and slightly cleaned up the code
2022-05-27 21:48:47 +02:00
Silvano Seva
c9a4bfb199
Cleanup and refactoring of M17 modulator class, now using output streams for baseband signal output
2022-05-27 21:48:47 +02:00
Silvano Seva
5c90c19bea
Data conversion utilities
2022-05-27 21:48:47 +02:00
Silvano Seva
7891288030
Fixed compilation warnings generated by graphics.cpp
2022-05-27 21:48:47 +02:00
Silvano Seva
427c5f50b3
Made M17Demodulator::update() return a boolean indicating when a new decoded frame is ready
2022-05-27 21:48:47 +02:00
Niccolò Izzo
77aead675a
Improve runtime performance of M17 Demodulator
...
Tweaked the exponential moving average alpha factors to improve the
reactivity of the M17 demodulator.
TG-81
2022-05-27 21:48:47 +02:00
Niccolò Izzo
5ef145cd39
Add fuzzy syncword validation
...
Now syncword match is not exact but can tolerate up to two erroneous
bits.
TG-81
2022-05-27 21:48:47 +02:00
Niccolò Izzo
ca49b306b9
Update constants for M17 demodulation
...
Constants were updated to increase performance based on baseband sample
collected with Module17.
TG-81
2022-05-27 21:48:47 +02:00
Niccolò Izzo
2d8c696a09
Complete M17 demodulator implementation
...
Make quantization work also on DC offset signal
Add samples plot code
Fix bug in buffer wrap around
Fix oob memory access in M17 modulator
Update tests with DC offset signal
Switch to 48KHz sample rate for Module17 and MD380
Add DC biasing script
TG-81
2022-05-27 21:48:46 +02:00
Niccolò Izzo
f9c23452bc
Add plotting function to graphics library
...
Added plotting function to graphics library which is native C++, so
refactored the graphics source file to allow that, consequently adapted
the hwconfig header files to be included also in C++ sources.
Propagated compile flags also to C++ sources, including asan what was
previously disabled for C++ compilation units.
TG-81
2022-05-27 21:48:46 +02:00
Niccolò Izzo
a091bca35f
M17 Demodulator bugfixes
...
Fixed several bugs in the M17 Demodulator code.
TG-81
2022-05-27 21:48:46 +02:00
Silvano Seva
d2c7be9cc8
Fixed bug affecting LSF reassembling from LICH segments inside M17 frame decoder class
2022-05-27 21:48:46 +02:00
Silvano Seva
35c1f062c6
Implementation of M17 frame encoder
2022-05-27 21:48:46 +02:00
Silvano Seva
82dd0a63f1
Clarification of naming: renamed DATA_SYNC_WORD to STREAM_SYNC_WORD and Audio_puncture to DATA_PUNCTURE
2022-05-27 21:48:46 +02:00
Silvano Seva
5fbd39959c
Implementation of M17 frame decoder
2022-05-27 21:48:46 +02:00
Silvano Seva
49bd8ee2f4
Reorganised internal structure of M17LinkSetupFrame class, renamed M17Frame to M17StreamFrame and reorganised its structure
2022-05-27 21:48:46 +02:00
Silvano Seva
c73aa92305
Reorganised M17LinkSetupframe and M17Frame classes, encapsulating structs defining their internal data structure
2022-05-27 21:48:46 +02:00
Silvano Seva
8f63d349a2
Temporarily deactivating M17 demodulator until fully debugged as it makes the radio crash
2022-05-27 21:48:46 +02:00
Niccolò Izzo
7a9bbfcaf2
Demodulator bugfix
...
Fix several bugs in the demodulator code, tipycally sign errors.
2022-05-27 21:48:46 +02:00
Niccolò Izzo
1a9b3c4168
Implement M17 demodulator logic
...
Implemented frame wrapping logic and demodulator loop.
2022-05-27 21:48:46 +02:00
Silvano Seva
963fbdc141
M17 mode handler: calling demodulator update function when in RX mode
2022-05-27 21:48:46 +02:00
Niccolò Izzo
d22948a096
Fix naming error
...
Replaced FM with OPMODE_FM and DMR with OPMODE_DMR.
2022-05-27 21:48:46 +02:00
Niccolò Izzo
5bf4df75ba
Fine tune demodulator to OpenRTX M17 baseband
...
Fine tuned M17 demodulator with code generated from OpenRTX itself.
TG-81
2022-05-27 21:48:46 +02:00
Niccolò Izzo
4b498689f5
Replace RRC filter taps, update M17 testsuite
...
RRC filter taps have been replaced with the ones generated by Wojciech,
a new baseband for the M17 demodulation testsuite has been generated,
using OpenRTX itself and some further minor changes.
TG-81
2022-05-27 21:48:46 +02:00
Niccolò Izzo
3163dd49d7
Add M17 demodulator code and tests
...
Added implementation of the M17 4FSK demodulator, including clock
recovery, phase detection, and quantization algorithms.
A testsuite is also included to do regression testing against a
reference baseband pre-generated and the corresponding reference
bitstream.
A 1% BER is still present due to a fault likely in the RRC filtering,
since the eye diagram of the filtered stream is bad.
TG-81
2022-05-27 21:48:46 +02:00
Niccolò Izzo
3aeade6c1f
Clarify M17 modulator constant naming
...
Further clarify modulator constant naming for sample rate and frame
lengths, to distinguish between demodulator values.
2022-05-27 21:48:46 +02:00
Niccolò Izzo
6588a6718e
Add M17 namespace in M17 related source files
...
Now M17 source files reside in the M17 namespace, the OPMODE_ prefix
was added to all opmode enums to avoid a name clash.
2022-05-27 21:48:46 +02:00
Niccolò Izzo
876cb87d57
Move rrc filter into separate compilation unit
...
By moving the rrc filter into a separate compilation unit with its own
header file, we can use it both in the modulator and in the demodulator.
2022-05-27 21:48:46 +02:00
Silvano Seva
8a3643ad3a
Implementation of Golay(24,12) decoder, reimplemented Golay(24,12) encoder using generator matrix, unit test for Golay(24,12) encoding and decoding routines
2022-05-27 21:48:46 +02:00
Silvano Seva
a3b7b490d4
Fixed jitter in M17 baseband signal generation
2022-05-27 21:48:46 +02:00
Silvano Seva
5ffd6e5c43
Fixed compilation errors with MD-9600 and Module 17 targets
2022-03-24 19:09:00 +01:00
Silvano Seva
ab3d148449
Implemented activation of external flash backup and restore via menu entries
2022-03-22 15:10:52 +01:00
Silvano Seva
a1c26b2898
Simple utility functions for backup and restore of external flash memory content
2022-03-22 13:39:08 +01:00
Silvano Seva
f513454acf
Implementation of xmodem data reception
2022-03-21 17:36:27 +01:00
Niccolò Izzo
48824accb9
Add flash backup and restore menu
...
Add flash backup and flash restore entries to menu system, to access
these functionalities from the radio itself.
TG-428
2022-03-13 00:21:52 +01:00
Silvano Seva
7e3131d9d1
Implemented xmodem data sending
2022-03-12 23:32:31 +01:00
Silvano Seva
e56cf52f28
Partial implementation of xmodem protocol: function for transmission of xmodem packets and small testsuite for dumping the content of external flash memory via xmodem
2022-03-11 19:28:45 +01:00
Silvano Seva
052580df3a
Implementation of CCITT CRC16
2022-03-05 11:08:31 +01:00
Silvano Seva
3588f351a1
Created 'core' subfolders inside openrtx/include and openrtx/src containing main OpenRTX source files
2022-03-05 10:39:35 +01:00
Silvano Seva
3f2df608c9
Moved code for radio state update to a dedicated function
2022-02-27 09:00:49 +01:00
Silvano Seva
a5209d6f52
Modified range for display backlight level from 0 - 255 to 0 - 100, set minimum allowed level to 5.
2022-02-26 15:45:41 +01:00
tarxvf
9297c08b05
Add a menu for clearing settings and vfo to sane defaults ( #67 )
2022-02-26 12:42:28 +01:00
Alessio Caiazza
d04180c0df
Rename brightness_timer into display_timenr
2022-01-03 14:51:22 +01:00
Alessio Caiazza
d742d027b7
Display timer UI
2022-01-03 14:51:22 +01:00
Alessio Caiazza
269420c2be
Load standby timer from settings
2022-01-03 14:51:22 +01:00
Alessio Caiazza
fefe2f6de0
Exit standby when the squelch is open
2022-01-03 14:51:22 +01:00
Alessio Caiazza
ade9c47f71
Implement platform_setBacklightLevel for linux
2022-01-03 14:51:22 +01:00
Alessio Caiazza
6e3fda2a70
PTT terminates standby
...
Also the keypress getting out of standby is ignored unless is the MONI
key to activate the MACRO menu
2022-01-03 14:51:22 +01:00
Alessio Caiazza
f9751c9867
Send the screen in standby after 30s idle
2022-01-03 14:51:22 +01:00
Alessio Caiazza
78a2b02c91
Show TX frequency during transmission
2021-12-23 14:52:25 +01:00
Alessio Caiazza
91486291b6
MD380: adjust squelch with left and right keys
2021-12-23 14:52:25 +01:00
Silvano Seva
3c6ad9802c
Added API function allowing to query the current status of the RX audio squelch
2021-12-23 14:52:25 +01:00
Alessio Caiazza
18fb916834
Remove all tabs
2021-12-23 14:52:25 +01:00
Alessio Caiazza
8a0f0564b9
Ensure proper finalization is done in emulator mode
2021-12-23 14:52:25 +01:00
Alessio Caiazza
82699f3d07
Implement an SDL main loop inside the Main Thread
2021-12-23 14:52:25 +01:00
Alessio Caiazza
51acccaec2
Don't pump SDL events outside from the main thread
2021-12-23 14:52:25 +01:00
tarxvf
e7c98aa71f
fixes #60 (make sure volume setting is restored after tx)
2021-12-23 14:52:25 +01:00
Alessio Caiazza
5605797816
Never store a brightness level of 0
...
Enforce a minimum brightness level to prevent booting with a black screen
Related to https://github.com/OpenRTX/OpenRTX/issues/50
2021-12-23 14:52:25 +01:00
Niccolò Izzo
2fdbf0f236
Initial support for I2C soft pots on Module17
...
Initial support for I2C soft pots on Module17, ADC1 driver for input voltage
reading. Cherry-picked from Mathis DB9MAT repo.
TG-398
2021-12-23 14:52:25 +01:00
Silvano Seva
691b388228
Implemented load/save of settings and VFO configuration for MDx devices
2021-11-09 19:28:23 +01:00
Silvano Seva
756812ca31
Created function for writing settings and VFO status to NVM, starting of temporary implementation writing data to the MCU's internal flash
2021-11-08 22:22:26 +01:00
Silvano Seva
c91e306026
Reorganised settings data structure
2021-11-08 21:44:33 +01:00
Silvano Seva
83fdfc4367
Setting default squelch level at boot to S3 for all platforms. Solves #44
2021-10-18 21:05:32 +02:00
mark
17cdf3c67b
https://github.com/OpenRTX/OpenRTX/issues/43 Force Squelch re-detection when coming out of TX.
2021-10-18 20:58:24 +02:00
Federico Amedeo Izzo
1e19574fd6
Add destination callsign input for M17, Add -/ to keypad input
2021-10-09 18:53:28 +02:00
Niccolò Izzo
65a632054a
Disable CTCSS tones in M17 mode
...
Removed CTCSS modulation for M17 mode, removed FM analog specific
settings in macro menu such as tone selection, tone enable and tx
bandwidth.
2021-10-08 16:02:03 +02:00
Silvano Seva
42e7521205
Fixed compilation error with GDx targets
...
Added codec2 as a dependency also for GD77, DM1801 and MD9600 targets to allow compilation of OpMode_17.cpp file
Stub input audio stream driver for GDx targets
2021-10-06 21:43:07 +02:00
Silvano Seva
7db53b8bdc
Fixed some compiler warnings
2021-10-06 21:30:45 +02:00
Federico Amedeo Izzo
990f5e8ce6
UI: Fix level meter and set it to platform mic level
2021-09-26 18:38:29 +02:00
Silvano Seva
f2f013f5a5
Switched to pthread API for CODEC2 thread management inside M17 OpMode handler
2021-09-19 15:29:43 +02:00
Silvano Seva
0b276b2b64
Experimental implementation of voice transmission in M17 protocol handler
2021-09-07 12:22:35 +02:00
Niccolò Izzo
120fd92d73
Fix M17 callsign management
...
Now a default callsign "OPNRTX" is used in M17 mode, and when the user
sets its own callsign in the settings menu, that one is correctly used
instead. Add initialization to RTX data structure.
2021-09-06 22:55:46 +02:00
Niccolò Izzo
e60d79241d
Set CAN to 0
2021-09-05 22:05:13 +02:00
Silvano Seva
b1a91603c8
Fixed wrong function signature in dsp.cpp causing linking errors
2021-09-05 19:03:29 +02:00
Silvano Seva
e954f3fda2
Moved sleep regulating update rate of rtx task from rtx thread to OpMode implementations, as each operating mode may require a custom update rate
2021-09-03 16:44:57 +02:00
Silvano Seva
2f3db118fc
Changed streamType_t from bitfield struct to union of anonymous bitfield struct and uint16_t to facilitate endianness conversion. Change also fixed a bug in endianness conversion inside M17LinkSetupFrame class due to unaligned memory access.
2021-09-03 16:44:57 +02:00
Silvano Seva
065c15fb72
Force deactivation of TX and RX tone squelch for operating modes different from FM
2021-09-03 16:44:57 +02:00
Federico Amedeo Izzo
c04ceb9a8d
Add M17 radio mode to UI
2021-09-03 16:44:57 +02:00
Niccolò Izzo
f43f54117c
Fix M17 callsign setting
...
Fix M17 callsign disappearing in M17 settings.
The generic callsign (currently not used) was being shown instead of M17 callsign.
2021-09-03 16:44:57 +02:00
Federico Amedeo Izzo
dc28f90a1d
Fix keypad text input, add caps-only input, add terminator to callsign
2021-09-03 16:44:57 +02:00
Federico Amedeo Izzo
f104955686
Text Input: Delete character by using any arrow button
2021-09-03 16:44:57 +02:00
Federico Amedeo Izzo
acc1c2a779
M17: Print source and destination IDs in mode screen
2021-09-03 16:44:57 +02:00
Federico Amedeo Izzo
229a81b2ad
Add text input draft
...
Fix text input position not being reset when entering edit mode
2021-09-03 16:44:57 +02:00
Federico Amedeo Izzo
87703a76e6
Add M17 Settings
2021-09-03 16:44:57 +02:00
Federico Amedeo Izzo
882a657359
* Combine S-meter and Level meter
...
* Make squelch bar always yellow
* Include font height in s-meter total height
Correct bottom bar printing position
Increase bottom bar size on GD-77
2021-09-03 16:44:57 +02:00
Federico Amedeo Izzo
118c514081
UI: Add digital mode screen
...
Use main screen bottom bar in mode screen
mode screen: Move frequency and channel name to center
Show S-meter without squelch bar for digital modes
Change S-meter for digital modes, add audio level meter
Print FM information in mode screen
Add mode screen fonts
2021-09-03 16:44:57 +02:00
Silvano Seva
c8d62ff47f
Initial implementation of M17 operating mode handler
2021-09-03 16:44:57 +02:00
Silvano Seva
98e4164f54
M17 transmitter class
2021-09-03 16:44:57 +02:00
Silvano Seva
39e41ee470
M17 4FSK modulator class
2021-09-03 16:44:57 +02:00
Silvano Seva
0ebcbeed5d
Updated digital filter for compensation of PWM filter frequency response.
2021-09-03 16:43:44 +02:00
Niccolò Izzo
3439f3a497
Add invert phase DSP filter
2021-09-03 16:40:41 +02:00
Silvano Seva
7b5e98bbca
Implemented generation of Golay(24,12) LICH blocks inside M17LinkSetupFrame class
2021-09-03 16:39:06 +02:00
Silvano Seva
9e5c689bf3
M17 protocol data structures
2021-09-03 16:39:06 +02:00
Silvano Seva
222ba690a5
Improved implementation of DSP function for DC removal
2021-09-03 15:46:13 +02:00
Silvano Seva
4d3eacc144
Switched 'v_bat' and 'charge' fields of state struct from float to, respectively, uint16_t and uint8_t and updated UI functions accordingly. Rationale for this change is providing better support for future platforms without hardware floating point unit.
2021-08-14 12:56:45 +02:00
Silvano Seva
46819ba993
Modified 'battery_getCharge': now it takes as input the battery voltage in mV and returns charge percentage as an integer ranging from 0 to 100. Function body is implemented using fixed point math instead of floats for improved platform compatibility when hardware floating point support is not present.
2021-08-14 12:52:55 +02:00
Silvano Seva
8e0a5d1c0f
Made 'platform_getVolumeLevel' and 'platform_getMicLevel' API functions return a normalised 8 bit value ranging from 0 to 255 (TG-293 #closed)
2021-08-14 10:18:55 +02:00
Silvano Seva
a1ca509eec
Restore original functionality of getCurrentFreeHeap() memory profiling function, as the cause of its incorrect behaviour has been found
2021-08-10 09:35:00 +02:00
Niccolò Izzo
3bdaae0805
Fix squelch control on md3x0
...
Knob now generates dedicated KNOB_LEFT and KNOB_RIGHT messages,
fixed ui to consider those for enabling the squelch change.
2021-07-10 06:57:09 +02:00
Silvano Seva
eb474d6bee
Driver for STM32F4 USART3, can be used as a debug serial interface on MD3x0 devices without GPS and is enabled by defining the macro MD3x0_ENABLE_DBG
2021-07-09 08:53:12 +02:00
Federico Amedeo Izzo
1fbecb4c22
Increase keyboard thread polling rate to 40Hz to improve knob reactivity
2021-06-07 20:10:02 +02:00
Federico Amedeo Izzo
57b66652b7
Use channel knob to change frequency and navigate menus (TG-238)
2021-06-05 18:11:30 +02:00
Federico Amedeo Izzo
f5a70b3e43
Fixed Initial GUI rendering with an empty state
2021-06-05 16:32:05 +02:00
Federico Amedeo Izzo
01b4a98f85
Set initial frequency based on supported bands (TG-239)
2021-06-05 11:06:22 +02:00
Federico Amedeo Izzo
f5c9d97e49
Check frequency limits against hwInfo_t, not hardcoded defines
2021-06-05 10:47:52 +02:00
Federico Amedeo Izzo
5b3f2b7e23
Simplify frequency limits check for VFO input
2021-06-05 10:08:15 +02:00
Federico Amedeo Izzo
49cb28c5b8
Fix RTX not updated when switching from MEM to VFO (#30,TG-240,TG-241)
2021-06-05 09:36:00 +02:00
Silvano Seva
b29b24fdc0
Implemented RX tone squelch on MD-UV3x0 and GDx (TG-43)
2021-06-02 12:44:46 +02:00
Silvano Seva
f1a01d7613
New radio driver for MD-UV3x0, testing required
2021-05-29 08:20:12 +02:00
Silvano Seva
f0dfd7036f
Fixed bug in OpMode_FM.cpp which prevented entering in RX mode, removed code for setting input gain in HR_C5000 driver, modified meson.build to make it compile the new sources
2021-05-29 08:20:12 +02:00
Silvano Seva
850e3580ed
New radio driver for MD-3x0 platform, still requiring a bit of debugging
2021-05-29 08:20:12 +02:00
Silvano Seva
5b0bec8c5f
Created OpMode class for modular OOP-based management of operating modes. Created OpMode_FM class for analog FM management. Refactored and moved to C++ the content of openrtx/src/rtx.c. (TG-38, TG-41)
2021-05-29 08:20:12 +02:00
Niccolò Izzo
e3a128f035
Add DSP code with DC removal and FIR PWM filter compensation
...
Add generic FIR implementation, specialized to compensate the PWM filter
applied by STM32 targets when modulating M17 signal.
Add DC bias compensation to normalize audio signal received from STM32
ADC.
TG-85 #ready-for-test
TG-199 #ready-for-test
2021-04-16 09:46:32 +02:00
Silvano Seva
c0ecf2e13f
Basic audio management module, controlling only speaker PA and microphone preamplifier. TG-61
2021-04-12 19:10:13 +02:00
Silvano Seva
90048700ba
Fixed compilation error on linux target after addition of memory profiling functions
2021-04-12 12:13:55 +02:00
Silvano Seva
60defbedc0
Implemented stack and heap memory profiling functions. TG-47
2021-04-12 12:03:15 +02:00
Silvano Seva
4b30a66735
Added 'platform_pwrButtonStatus' API function, which returns the current status of the power button/knob. Implemented power on/off mechanism on MD-9600
2021-04-11 12:38:20 +02:00
Federico Amedeo Izzo
a42354a204
Remove Messages menu as it's not implemented yet
2021-04-11 10:06:12 +02:00
Federico Amedeo Izzo
58f4f5dcaf
Print git commit or tag inside Info menu
2021-04-11 09:56:46 +02:00
Federico Amedeo Izzo
26eb381ca2
Fix date change if timezone brings to different day
2021-04-10 15:57:58 +02:00
Federico Amedeo Izzo
341c46a263
Now state.time is UTC, add functions to convert from UTC to local and reverse
2021-04-10 15:39:59 +02:00
Silvano Seva
d70e0bc60a
Made 'battery_getCharge' return full charge when 'BAT_NONE' is defined
2021-04-10 12:45:07 +02:00
Silvano Seva
cdaf3f38dd
Renamed MDx display, keyboard and spiFlash drivers to MD3x to adapt the changes made to meson.build also to MD-9600. Fixed missing API change in ui_main.
2021-04-10 12:37:45 +02:00
Federico Amedeo Izzo
2d3d932111
Print battery voltage instead of battery icon for platform without battery
2021-04-10 12:16:21 +02:00
Federico Amedeo Izzo
8045a9bcea
Improve gfx_printLine calculation
2021-04-10 11:10:52 +02:00
Federico Amedeo Izzo
3e326a43f0
Add gfx_getFontHeigth() function
2021-04-10 11:10:52 +02:00
Federico Amedeo Izzo
c3a8251ca9
Integrated getLineY() functionality in gfx_printLine()
2021-04-10 11:10:52 +02:00
Federico Amedeo Izzo
765fb3f4c9
Add getLineY Layout helper function
2021-04-10 11:10:52 +02:00
Federico Amedeo Izzo
0e33848d68
gfx_print: use global buffer instead of allocating it to the stack
2021-04-10 11:10:52 +02:00
Federico Amedeo Izzo
341ab84ce9
Converted `gfx_print()` from char * pointer to format string
2021-04-10 11:10:52 +02:00
Federico Amedeo Izzo
9fb7ace303
Fix swapped UP/DOWN keys in Display Settings
2021-04-04 20:36:23 +02:00
Silvano Seva
1d8596e3c8
Renamed 'MD-UV380' folder and 'PLATFORM_MDUV380' define to, respectively, 'MD-UV3x0' and 'PLATFORM_MDUV3x0' to make them consistent with the meson build target
2021-04-01 08:48:56 +02:00
Silvano Seva
9d02ffaea4
Fix for #20 , caused by a memory leak when clearing information about GPS satellites in state data structure
2021-03-26 17:50:06 +01:00
Silvano Seva
90122b0c7a
Fixed bug in gps task which made it setting time and date even whithout GPS fix.
2021-03-24 12:28:57 +01:00
Fred
f4e25a3f8f
Fix compilation for gd77 and dm1801 targets
2021-03-24 09:25:57 +01:00
Niccolò Izzo
d95e0a1513
Print signed GPS longitude as unsigned+direction
2021-03-24 08:54:46 +01:00
Federico Amedeo Izzo
75df9b7bb8
Set default squelch to S3
2021-03-24 08:54:46 +01:00
Federico Amedeo Izzo
75cd4417c7
Restore squelch functionality after mute fix
2021-03-21 17:51:23 +01:00
Federico Amedeo Izzo
e8ae618382
Add ifdef to fix compilation on Linux
2021-03-21 11:59:35 +01:00
Federico Amedeo Izzo
3a92547ef5
UV380: Mute speaker when volume knob is set to minimum
2021-03-21 11:42:47 +01:00
Federico Amedeo Izzo
42153be082
Macro Menu: Change squelch also with UP and DOWN
2021-03-21 09:14:44 +01:00
Silvano Seva
2bde981222
Removed speaker 'POP' on squelch opening and when starting TX with squelch open
2021-03-20 11:51:35 +01:00
Silvano Seva
c1abeefd67
Implemented volume control for audio coming from radio stage on MD-UV3x0 and fixed a compilation warning regarding non-const access to a const variable
2021-03-20 11:51:35 +01:00
Silvano Seva
a5120ffddc
Radio driver for MD-UV3x0 targets
2021-03-20 11:51:35 +01:00
Silvano Seva
01ea1a9b3f
Made the main() thread run the UI task, thus removing the need for a dedicated one
2021-03-14 17:17:24 +01:00
Silvano Seva
952f5afc3c
Fixed squelch issue on GDx which made it briefly opening whenever an RTX parameter changed
2021-03-14 16:54:07 +01:00
Federico Amedeo Izzo
92e0abafa2
Display: Set default contrast at boot. Improve default contrast for GD-77
2021-03-14 11:35:45 +01:00
Federico Amedeo Izzo
3da311ee38
UI: Change contrast steps to 4 to match GD-77 HW contrast range (0-63)
2021-03-14 11:21:39 +01:00
Federico Amedeo Izzo
1637159329
Completely disable persistence until we have a proper flash backup/restore method
2021-03-13 23:03:37 +01:00
Federico Amedeo Izzo
9720032238
Disable reading VFO and settings from flash until persistence is implemented
2021-03-13 22:52:37 +01:00
Federico Amedeo Izzo
9e7b04c1fa
Disable reading VFO channel from flash to fix boot freeze on GD-77
2021-03-13 22:21:23 +01:00
Silvano Seva
a02b693843
Made the RTX thread run with the maximum priority on ARM Cortex targets
2021-03-13 09:16:06 +01:00
Silvano Seva
20ad9b7dcf
Fixed issue with MDx ADC, rolling back to real battery voltage measurement
2021-03-13 09:16:06 +01:00
Silvano Seva
81e8aae103
Re-enabled all the tasks, temporarily bypassing battery voltage reading since it has to be debugged
2021-03-13 09:16:06 +01:00
Silvano Seva
e5316aa8be
Minimal refactoring of queue sources
2021-03-13 09:16:06 +01:00
Silvano Seva
fb3447b0c6
Moving to miosix kernel: swapped old uC/OS-III task management functions with pthread ones
2021-03-13 09:16:06 +01:00
Silvano Seva
cbfb78e19e
Fixed bug which made the GPS task re-syncronising the RTC with GPS time once per second.
2021-03-13 09:14:26 +01:00
Federico Amedeo Izzo
fb3c055f85
Disable writing settings until DFU support is ready
2021-03-01 20:52:57 +01:00
Niccolò Izzo
de85ba90cb
Filter out BeiDou NMEA strings
2021-02-25 11:20:31 +01:00
Silvano Seva
056c53b35d
Made UI fsm skip low battery check when TX is enabled to avoid spurious triggers of low battery alert caused by the high current absorption from RF PA
2021-02-24 21:00:30 +01:00
Niccolò Izzo
6b24895ef3
Extended GPS support to UV-380 module
2021-02-24 08:07:58 +01:00
Silvano Seva
3438006ef5
Removed moving average filtering from MDx ADC1 driver, added code for proper filtering of ADC samples in platform-independent code
2021-02-23 15:49:55 +01:00
Silvano Seva
416ae13eb1
Fixed linking error when building for linux
2021-02-23 14:01:09 +01:00
Niccolò Izzo
eb0a5ee9f0
Fix compass orientation, speed formatting
2021-02-21 20:38:54 +01:00
Silvano Seva
d0e8d15389
Added 'packed' attribute to settings data structure. Some refactoring of settings and state code.
2021-02-21 19:25:09 +01:00
Federico Amedeo Izzo
35bde9bccb
Add state_terminate() that saves settings to flash
2021-02-21 16:44:31 +01:00
Federico Amedeo Izzo
d4981ee288
Add Settings persistence to SPI Flash
2021-02-21 15:58:41 +01:00
Federico Amedeo Izzo
0b14e36bdb
Fix About screen on GD-77
2021-02-20 16:25:06 +01:00
Federico Amedeo Izzo
820ac73d08
UI: Add menu_h and menu_font layout parameters
2021-02-20 16:03:37 +01:00
Federico Amedeo Izzo
9c47797ff0
UI: Fixed mismatch between visible and selectable menu elements
2021-02-20 15:47:41 +01:00
Federico Amedeo Izzo
c644e8db1d
UI: Remove position parameter from menu list
2021-02-20 15:35:19 +01:00
Federico Amedeo Izzo
711d8426c9
Add 10pt font. Reduce frequency line on GD-77 to avoid overlap
2021-02-20 15:14:35 +01:00
Federico Amedeo Izzo
5bb200933b
UI: Add missing GPS ifdefs
2021-02-17 20:02:53 +01:00
Niccolò Izzo
f49655c44d
Better GPS time synchronization
2021-02-17 14:58:20 +01:00
Niccolò Izzo
4d66d8b1af
Fix various warnings
2021-02-17 11:21:46 +01:00
Federico Amedeo Izzo
f357f476dc
GPS: Enable GPS on gps_task start only if enabled in settings
2021-02-16 22:47:38 +01:00
Federico Amedeo Izzo
cbe657cd77
UI: Fixed GPS OFF bug caused by ambiguous enable/disable code
2021-02-16 22:22:20 +01:00
Federico Amedeo Izzo
9de0857ff4
UI: Add switch cases default options
2021-02-16 22:09:28 +01:00
Niccolò Izzo
fed9912c7d
Improved RTC GPS time synchronization
2021-02-16 08:33:34 +01:00
Niccolò Izzo
8d90ee0588
Add Smeter numbers
2021-02-16 07:59:37 +01:00
Federico Amedeo Izzo
75c1f13882
UI: Replaced strcmp with switch case to fix GPS/menu bug
2021-02-15 22:02:09 +01:00
Niccolò Izzo
479eda3d96
Fix altitude print
2021-02-15 13:54:23 +01:00
Niccolò Izzo
d230a19623
Adjusted battery thresholds
2021-02-15 09:28:23 +01:00
Niccolò Izzo
f850dbdc45
Add GPS RTC time synchronization, remove debug prints
2021-02-15 09:26:13 +01:00
Niccolò Izzo
e9f0a46823
Fix speed tracking bug
2021-02-15 07:40:25 +01:00
Federico Amedeo Izzo
9255dfb969
Disable GPS functions for radios that don't support a GPS chip
2021-02-14 17:49:23 +01:00
Federico Amedeo Izzo
663673b697
UI: Fix compilation warnings
2021-02-14 14:04:01 +01:00
Federico Amedeo Izzo
619cda7aeb
Turn off GPS when it's turned off in settings
2021-02-14 13:55:33 +01:00
Federico Amedeo Izzo
31552ff2b2
Consider RTC time UTC instead of local time, applying timezone
2021-02-13 22:11:25 +01:00
Federico Amedeo Izzo
ebe87b22e2
UI: Add menu edit mode. Small refactoring
2021-02-13 21:29:25 +01:00
Federico Amedeo Izzo
66af402e83
Move settings from UI to State
2021-02-13 20:32:53 +01:00
Federico Amedeo Izzo
d66b59694a
UI: Add GPS settings menu
2021-02-13 17:23:16 +01:00
Federico Amedeo Izzo
a803958c61
UI: Menu scrolling logic refactoring, add GPS Settings entry
2021-02-13 16:35:03 +01:00
Federico Amedeo Izzo
0a04650d58
UI: Use more compact representation for menu entries
2021-02-13 16:14:44 +01:00
Niccolò Izzo
a163bc6998
Fix a bug where only satellites with a low id were marked active
2021-02-13 13:49:03 +01:00
Niccolò Izzo
7577b4d6ae
Improved algorithm for keeping track of active satellites
2021-02-13 13:27:06 +01:00