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
Niccolò Izzo
1f9793d268
Complete GPS compass implementation
...
Now the GPS screen compass has a needle, which point to the current
movement direction.
2021-02-13 12:43:48 +01:00
Federico Amedeo Izzo
b3e0f964a1
State: remove unused variable channelInfoUpdated
2021-02-13 11:24:05 +01:00
Federico Amedeo Izzo
19838dbb38
Read VFO channel from flash when initializing state
2021-02-13 11:24:05 +01:00
Niccolò Izzo
3017ff1f3a
Reduced smeter width, fix max RSSI representation
2021-02-13 11:24:05 +01:00
Silvano Seva
6578422c9d
Main stack size is automatically increased to 4kB when a test suite is compiled
2021-02-13 11:24:05 +01:00
Niccolò Izzo
a0814fd5d1
Better rendering when no fix is present
2021-02-13 11:23:40 +01:00
Niccolò Izzo
586b524625
Add GPS compass stub
2021-02-13 11:23:13 +01:00
Niccolò Izzo
c7e8a258f3
Add active satellite field in GPS data
...
Now for each satellite in view we are keeping track if it's part of a
fix or not. This information is represented by a yellow color in the bar
graph screen.
2021-02-13 11:20:06 +01:00
Niccolò Izzo
ec06b14618
Add GPS satellites snr bar graph
2021-02-11 21:27:03 +01:00
Niccolò Izzo
0cf86ce6ea
Add GPS UI draft
2021-02-11 09:44:41 +01:00
Niccolò Izzo
b570f3b690
Add GPS altitude parsing
2021-02-11 09:43:51 +01:00
Niccolò Izzo
0ce92f991c
Add GPS NMEA parsing task
...
Add dedicated task to parse NMEA sentences received by the GPS module.
The parsed data is moved to the radio state, to be read by the user
interface.
2021-02-08 17:25:11 +01:00
Silvano Seva
03d5184f86
Merged MD-380 and MD-390 targets into a new MD-3x0 one
2021-02-03 15:09:59 +01:00
Silvano Seva
1cd0efdee1
Fixed compilation warnings and code refactoring pass
2021-02-03 14:50:00 +01:00
Silvano Seva
6dfbd2419d
Improved RX activation mechanism in rtx driver
2021-02-03 14:30:06 +01:00
Silvano Seva
712d65c797
Improved handling of new configuration in rtx module
2021-02-03 14:30:06 +01:00
Silvano Seva
d9a55c137a
Implementation of all common rtx functionalities and radio driver for MD3x0
2021-02-03 14:30:06 +01:00
Silvano Seva
1840c1aeb5
Moved 'rtx.h' out of 'interfaces' folder, since it now becomes a cross-platform component
2021-02-03 14:30:06 +01:00
Federico Amedeo Izzo
83d91b555d
Add hwInfo in Info menu
2021-02-02 21:45:10 +01:00
Federico Amedeo Izzo
65b5c0b002
Info menu: Fixed battery percentage
2021-02-02 21:10:48 +01:00
Federico Amedeo Izzo
61ad0879c5
CPS-UI: Make channels, zones and contacts 1-based to fix zone bound
2021-02-02 20:52:37 +01:00
Federico Amedeo Izzo
08a44375fc
UI: Fix macro menu line 2 height
2021-02-02 20:08:15 +01:00
Federico Amedeo Izzo
b7ae2ba86d
UI: Fix VFO Input line position
2021-02-02 19:55:03 +01:00
Federico Amedeo Izzo
2728dbcce1
UI: Use separate font setting for VFO input and Time to
...
avoid inheriting asymmetric fonts from the main screen
2021-02-02 12:54:09 +01:00
Niccolò Izzo
6e28fa5b21
Improved Squelch MACRO Menu visual hinting
2021-02-02 11:11:36 +01:00
Niccolò Izzo
7e0500d3a5
Improved Smeter rendering in MACRO menu
2021-02-01 23:33:49 +01:00
Federico Amedeo Izzo
6fdb6b8890
UI: Fix zone elements indexes
2021-02-01 22:30:25 +01:00
Federico Amedeo Izzo
70bce5a5fc
UI: Fixed zone menu bug causing last zone to be replicated
2021-02-01 21:47:10 +01:00
Federico Amedeo Izzo
438540290b
UI: Add MEM channel filtering per zone
2021-01-31 14:14:54 +01:00
Niccolò Izzo
81461669fe
Remove bswap into transparent rendering
2021-01-31 13:30:18 +01:00
Niccolò Izzo
d60c75d9e3
Move MACRO menu into super-state
2021-01-31 13:29:23 +01:00
Federico Amedeo Izzo
c8b4328450
UI: Change layout to show big digits frequency
2021-01-31 11:37:42 +01:00
Federico Amedeo Izzo
046d1a160c
UI: Change right and left positions in layout_t to a unique position
...
This can be done since you can now print with right aligning on a left position
2021-01-30 20:04:04 +01:00
Federico Amedeo Izzo
da7cda8020
Fix warning: Remove unnecessary parameter
2021-01-30 19:58:25 +01:00
Federico Amedeo Izzo
9c713523f2
Macro menu: Fixed bug caused by change in TEXT_ALIGN_RIGHT
2021-01-30 19:56:36 +01:00
Federico Amedeo Izzo
a612e885ab
UI: Add about screen
2021-01-30 11:57:00 +01:00
Federico Amedeo Izzo
8b72587b7b
UI: Make last_state an extern variable. Add Info screen values
2021-01-30 08:33:39 +01:00
Federico Amedeo Izzo
92af6c4804
UI: Add Info menu
2021-01-30 08:02:54 +01:00
Federico Amedeo Izzo
f083a77001
UI: Fixed (null) menu entry on targets without RTC
2021-01-29 23:07:39 +01:00
Federico Amedeo Izzo
12d58139e4
UI: Fix warning
2021-01-29 22:59:38 +01:00
Federico Amedeo Izzo
450c965ee0
Disable contrast menu on targets without adjustable contrast
2021-01-29 22:57:24 +01:00
Federico Amedeo Izzo
c9ee09b1f6
UI: Add Brightness/Contrast change
2021-01-29 22:41:42 +01:00
Federico Amedeo Izzo
1f240ba132
Move brightness from state_t to settings_t, add Contrast
2021-01-29 22:13:47 +01:00
Federico Amedeo Izzo
8ded5fc9b6
Graphics: Fix print with TEXT_ALIGN_RIGHT not working
2021-01-29 22:03:13 +01:00
Federico Amedeo Izzo
fcf8dc2bcb
UI: Add function to draw menu list with values
2021-01-29 21:31:28 +01:00
Federico Amedeo Izzo
171d6f76a9
Fix rebase issues
2021-01-29 19:34:44 +01:00
Federico Amedeo Izzo
289f45f4b9
UI: Add Display settings menu scrolling
2021-01-29 19:31:20 +01:00
Federico Amedeo Izzo
0c11198e8a
UI: Use one function to draw all menus
2021-01-29 19:31:17 +01:00
Federico Amedeo Izzo
2533f35309
UI: Add display settings
2021-01-29 19:30:22 +01:00
Niccolò Izzo
c9caff3b8d
Remove OPNRTX from background
2021-01-29 18:15:33 +01:00
Niccolò Izzo
421ff0e448
Add RSSI and squelch graphic representation
...
Replaced bottom bar with graphic squelch and rssi representation.
2021-01-29 11:20:35 +01:00
Niccolò Izzo
2fa5b7a6e6
Fix squelch setting on linux
2021-01-28 16:46:09 +01:00
Niccolò Izzo
226d2ccaf7
Implement RSSI based squelch control
2021-01-28 15:13:06 +01:00
Niccolò Izzo
0b98f50a12
Add absolute knob positioning and horizontal keys emulation
2021-01-28 14:14:25 +01:00
Niccolò Izzo
364f8d4e46
Add squelch visualization and control from macro menu
2021-01-28 12:51:22 +01:00
Niccolò Izzo
5156783495
Rename MenuMacro in MacroMenu
2021-01-28 12:50:13 +01:00
Niccolò Izzo
90445e29a7
Implement voltage to dBm conversion in MDx
...
MDx radios get an RSSI voltage in mV, to be converted into dBm, we used
and empirically derived linear relation to compute the dBm value.
2021-01-28 10:31:37 +01:00
Federico Amedeo Izzo
f61c269270
UI: Replace GPS with MODE selection on macro menu
2021-01-26 21:19:11 +01:00
Federico Amedeo Izzo
5311183c8a
UI: Selecting a Channel in the Channel menu switches to MEM mode with that channel
2021-01-26 20:57:39 +01:00
Federico Amedeo Izzo
c4e7e2962c
UI: Fix bug causing frequency not being saved when switching from VFO to MEM
2021-01-26 20:42:59 +01:00
Federico Amedeo Izzo
4d35ddfa3d
UI: Improve previous commit
2021-01-26 20:18:55 +01:00
Federico Amedeo Izzo
c498b3d337
UI: Unified FSM code of Zone, Channel and Contacts menu
2021-01-26 20:10:31 +01:00
Federico Amedeo Izzo
2057374fac
UI: Merge Zone, Channel and Contacts menu in a single function
2021-01-24 19:36:21 +01:00
Federico Amedeo Izzo
1a1e39fcc0
UI: Add Zone and Contacts menu
2021-01-24 18:53:43 +01:00
Federico Amedeo Izzo
bc88247809
UI: Fix compiler warning
...
uint32_t is unsigned long on 32-bit ARM and unsigned on 64-bit x64.
Add type specifier to avoid having warnings when compiling on Linux
2021-01-24 16:27:50 +01:00
Federico Amedeo Izzo
c9c1e2312f
UI: Fix compiler warnings
2021-01-24 15:51:11 +01:00
Federico Amedeo Izzo
463e5bf6fb
Graphics: Add error box printing
2021-01-21 22:01:25 +01:00
Niccolò Izzo
827bc45794
Fix deadlock issue on linux target
...
The keyboard thread was causing a deadlock with the ui thread,
now the keyboard thread is non-blocking.
2021-01-15 22:09:11 +01:00
Federico Amedeo Izzo
0e1e9469ea
UI: Fixed bug in channel menu resulting in a pinned first channel
2021-01-13 21:10:31 +01:00
Federico Amedeo Izzo
ad78fe41e8
UI: Add channel menu lower bound
2021-01-13 21:03:51 +01:00
Federico Amedeo Izzo
3b0c9ecb49
UI refactoring: Move macro menu logic to a separate function
2021-01-13 20:50:35 +01:00
Federico Amedeo Izzo
ab44bb90e7
UI refactoring: Move VFO input logic to separate functions
2021-01-13 20:43:39 +01:00
Federico Amedeo Izzo
b60100a1f9
UI: Move load channel from CPS to separate function
2021-01-13 20:27:39 +01:00
Federico Amedeo Izzo
6039bbb42e
UI: Pass curtime_t per pointer, not per copy
2021-01-13 20:04:12 +01:00
Federico Amedeo Izzo
5a0a4886ee
UI: Add macro menu to MEM mode. Fix main_state save and restore
2021-01-12 20:03:45 +01:00
Federico Amedeo Izzo
1a894c67df
UI: Save and restore VFO channel when switching to MEM mode
2021-01-12 19:25:47 +01:00
Niccolò Izzo
daeeee64dd
Fix battery glitch
...
Battery charge was mistakenly being computed because values used in
computation were defined in a function which was not included as a
header file.
2021-01-12 08:01:34 +01:00
Federico Amedeo Izzo
e690009171
UI: Reduce channel name font size
2021-01-10 11:25:05 +01:00
Federico Amedeo Izzo
b7088686f5
UI: Channel: Implemented channel switching
2021-01-10 10:23:56 +01:00
Federico Amedeo Izzo
73c9ab56a6
UI: Channel mode: load channel from cps and do basic validation
2021-01-10 10:18:29 +01:00
Federico Amedeo Izzo
3365fe4d2f
UI: Move VFO/MEM indicator to the left of the bottom bar
2021-01-10 09:27:55 +01:00
Federico Amedeo Izzo
571adfaabf
UI: Move ui_*.c files to ui subfolder
2021-01-10 09:04:53 +01:00
Federico Amedeo Izzo
e23b9bcea6
UI: Move main screen functions to ui_main.c
2021-01-10 09:03:07 +01:00
Federico Amedeo Izzo
feb7e7ef7e
UI: Initial MEM implementation
2021-01-09 19:37:51 +01:00
Federico Amedeo Izzo
aef0eb30b1
UI: Move ui_menu.c function prototypes from ui_menu.h to ui.c as extern
2021-01-09 18:33:40 +01:00
Federico Amedeo Izzo
e34674151b
UI: Move menu related functions to ui_menu.c
2021-01-09 10:47:18 +01:00
Federico Amedeo Izzo
6c9d1834ad
ui.c: Fixed format string warnings
2021-01-09 09:36:17 +01:00
Federico Amedeo Izzo
4101597ae5
ui.c: Move ui state global variables to struct ui_state_t
2021-01-09 09:25:24 +01:00
Niccolò Izzo
adc48efb19
Implement CTCSS available tones array
...
Now the CTCSS tones are taken from an array and indexed from that array.
A macro that sets the tone has been implemented.
2021-01-05 11:26:22 +01:00
Niccolò Izzo
29e4e35199
Fix layout, implement tone enable disable macro
2021-01-05 10:08:18 +01:00
Niccolò Izzo
bbcd6483a2
Add tone enable flags into channel data structure
2021-01-05 10:08:18 +01:00
Federico Amedeo Izzo
04a8e2025e
Keyboard: Do not send event bursts after long press
2021-01-05 10:08:18 +01:00
Niccolò Izzo
2dcefb7c0e
Add backlight into state, macro functionality
...
Now the current backlight level is part of the radio state, and the
first few macros have been implemented although the rate limiting of
presses has still to be fixed.
2021-01-05 10:08:18 +01:00
Niccolò Izzo
09c94a943a
Fix Macro Menu printing
2021-01-05 10:08:18 +01:00
Federico Amedeo Izzo
07707ccae5
Keyboard: Send release key events
2021-01-05 10:08:18 +01:00
Niccolò Izzo
a007eb206c
Implemented Macro Menu information print
2021-01-05 10:08:18 +01:00
Niccolò Izzo
5784adab50
Updated macro menu layout
2021-01-05 10:08:18 +01:00
Niccolò Izzo
1e28ebbb4e
Fix right aligned printing padding
...
Now right aligned printing starts writing backwards from the start
point, layout anchors have been suitably adapted and detailed.
2021-01-05 10:08:18 +01:00
Niccolò Izzo
95e00c2eff
Fix transparency
2021-01-05 10:08:18 +01:00
Niccolò Izzo
2fe6cd1cb6
Implement draft of the macro menu feature
2021-01-05 10:08:18 +01:00
Federico Amedeo Izzo
868a0df892
UI: Fix GD77 font sizes
2021-01-03 11:22:24 +01:00
Federico Amedeo Izzo
bcb4f5ccfc
UI: Remove unneeded frequency position
2021-01-03 11:17:15 +01:00
Federico Amedeo Izzo
4029bcf90e
UI: Removed unnecessary layout fix
2021-01-03 09:52:56 +01:00
Federico Amedeo Izzo
a5a9750fc3
UI: Recalculate layout and padding sizes for all radios
2021-01-03 09:38:54 +01:00
Federico Amedeo Izzo
83ab86e955
UI: Add channel menu implementation
2021-01-02 12:10:10 +01:00
Federico Amedeo Izzo
89567cce85
UI: remove screen refresh flag
...
screen refresh is not needed anymore since GUI refresh is already done on demand
2021-01-01 21:11:22 +01:00
Federico Amedeo Izzo
dba2b27310
UI: small refactoring, replace snprintf without placeholders with strcpy
2021-01-01 20:30:21 +01:00
Federico Amedeo Izzo
94b7be826a
Disable RTC related code on platforms without a functional RTC
2021-01-01 18:58:35 +01:00
Federico Amedeo Izzo
8163eba67b
Add MD-9600 support, boot and USB serial working
2021-01-01 18:32:50 +01:00
Silvano Seva
7cc4b36907
Suppressed some compiler warnings
2021-01-01 17:31:42 +01:00
Federico Amedeo Izzo
50b93904c1
UI: Fix bug where frequency set with number keys wouldn't apply
2021-01-01 10:49:12 +01:00
Federico Amedeo Izzo
b3bf54adcf
UI: Complete timedate menu
2020-12-31 19:05:29 +01:00
Federico Amedeo Izzo
641dcc13e9
UI: Add Time&Date settings, not functional yet
2020-12-31 16:36:32 +01:00
Federico Amedeo Izzo
4cfc7d2131
UI: Fix frequency input bug causing incorrect frenquency set
2020-12-31 14:59:21 +01:00
Federico Amedeo Izzo
7a9135d746
Platform: Add frequency limit check
2020-12-31 14:51:19 +01:00
Federico Amedeo Izzo
0769701ccc
UI: Remove unused function
2020-12-31 13:55:12 +01:00
Federico Amedeo Izzo
fc38fe8ed4
UI: replace pow with multiplication in frequency input
2020-12-31 13:51:27 +01:00
Federico Amedeo Izzo
13a8ff9e40
UI: Frequency set minor fix
2020-12-30 22:55:17 +01:00
Federico Amedeo Izzo
3f21c60471
UI: Change frequency input behaviour
2020-12-30 22:48:46 +01:00
Federico Amedeo Izzo
ac0f906257
UI: Implement RX/TX frequency input
2020-12-30 22:23:21 +01:00
Federico Amedeo Izzo
58876ec4f2
UI: Set TX frequency together with RX frequency keeping previous offset
2020-12-30 20:11:05 +01:00
Federico Amedeo Izzo
3309fe6fa1
UI: Add RX frequency input. (WARNING: no frequency bound check present)
2020-12-30 19:55:51 +01:00
Niccolò Izzo
73c7b74a3a
Add input parsing functions
...
Input parsing functions are moved into input.c/input.h, and currently
contain functions to determine if a number is pressed and to extract the
pressed number.
2020-12-30 15:46:43 +01:00
Federico Amedeo Izzo
3ecf27392e
UI: Calculate menu entries num instead of using a define
2020-12-28 09:31:33 +01:00
Federico Amedeo Izzo
ce768c3c8a
UI: Add menu scroll to fit more menu entries on small screens
2020-12-27 20:45:49 +01:00
Federico Amedeo Izzo
e5ac363081
UI: Fix menu list position on GDx family
2020-12-27 17:42:27 +01:00
Federico Amedeo Izzo
f9b9f7ecf6
UI: Add menu selection wrap-around
2020-12-27 15:26:50 +01:00
Federico Amedeo Izzo
aca804c738
KBD: Fix double events generated from long + short press.
...
The problem was caused by kbd_task() sending an old copy
of the keyboard map.
This was necessary when the events were triggered on key lift
but since now events are sent on key press, this is no more necessary.
2020-12-24 17:29:24 +01:00
Niccolò Izzo
c77cc46fb6
Fix include syntax
...
Interface header includes have acquired the interface prefix, to
distinguish them from regular header includes.
2020-12-24 16:30:13 +01:00
Federico Amedeo Izzo
1f4fba958b
KBD: Add function to tell if number keys are pressed
2020-12-23 11:05:59 +01:00
Federico Amedeo Izzo
7888a7e398
UI: Add time and date settings, cannot be set right now
2020-12-22 17:49:00 +01:00
Federico Amedeo Izzo
7b9e3eaff2
UI: Reset menu selection when moving between submenus
2020-12-20 11:00:59 +01:00
Federico Amedeo Izzo
ec60dc8273
UI: Add Settings submenu, small refactoring
2020-12-20 10:47:07 +01:00
Federico Amedeo Izzo
a9d4aa08a8
UI: Add menu selection
2020-12-20 09:24:57 +01:00
Federico Amedeo Izzo
423c3f04d3
UI: Add menu list drawing function, small refactoring.
2020-12-20 09:07:48 +01:00
Federico Amedeo Izzo
ce09f2c208
kbd_task: Get timestamp after mutex to avoid getting incorrect timestamp
...
on mutex blocking
2020-12-19 15:45:42 +01:00
Niccolò Izzo
8d55a3e702
Implement alpha channel in graphics library
...
Alpha channel can be used to draw transparent objects.
2020-12-19 15:03:00 +01:00
Niccolò Izzo
d56fafe1a2
Merge graphics_* into a single compilation unit
...
The specialized graphics libraries ended up sharing the majority of the
code, now they have been merged into a single library so that the
graphics development can be done quicker without leaving any of the
platforms behind.
2020-12-19 12:49:30 +01:00
Niccolò Izzo
d74bece14e
Sane default values for the channel struct
2020-12-18 22:42:39 +01:00
Niccolò Izzo
5949a481fa
Add synchronization between radio state and RTX
...
Now the FSM update function takes an additional parameter, which
determines if the radio state has to be synchronized with the RTX state.
If so, the ui_task does the job.
2020-12-18 21:44:59 +01:00
Niccolò Izzo
85b1fb08e6
Fix printing horizontal start coordinates
2020-12-18 19:21:23 +01:00
Niccolò Izzo
c7e928666c
Move low battery screen into main FSM
2020-12-18 19:03:57 +01:00
Federico Amedeo Izzo
95a8e99605
kbd_task: Send keyboard event when the key is pressed, not when it's lifted
2020-12-18 18:42:17 +01:00
Niccolò Izzo
98cd741c88
Adjust voltage thresholds
2020-12-18 17:46:15 +01:00
Federico Amedeo Izzo
400a766f54
kbd_task: improve long-press behaviour
2020-12-17 23:15:56 +01:00
Federico Amedeo Izzo
67aac8a68e
kbd_task: Replace renderingInProgress() check with display mutex
2020-12-17 22:30:08 +01:00
Federico Amedeo Izzo
3c00802330
threads.c: Avoid reading keyboard status while display is rendering
2020-12-17 22:18:44 +01:00
Federico Amedeo Izzo
b5c06d5459
Fix new keyboard task
2020-12-17 22:18:44 +01:00
Federico Amedeo Izzo
749f5a1444
KBD: Correct key pressed/lifted check
2020-12-17 22:18:44 +01:00
Federico Amedeo Izzo
ee6f87c735
KBD: Add missing keyboard state save
2020-12-17 22:18:44 +01:00
Federico Amedeo Izzo
b7d3e0b91d
UI: Adapt updateFSM() to new keyboard message format
2020-12-17 22:18:44 +01:00
Federico Amedeo Izzo
970f3553c4
kbd_task refactoring, add long-press detection logic
2020-12-17 22:18:44 +01:00
Silvano Seva
0d5a703521
Began integrating RTX driver with all the other code
2020-12-13 11:44:07 +01:00
Silvano Seva
6ca3faceaf
Made calls to 'display_renderRows' and 'display_render' blocking, thus not requiring anymore to busy wiat on 'display_renderingInProgress'. Modifications involved only MDx display driver, the others were already blocking.
2020-12-12 10:16:26 +01:00
Silvano Seva
a38d3d2486
Fixed compilation warnings
2020-12-11 14:41:44 +01:00
Niccolò Izzo
a3decb8d85
Improved low battery screen rendering on smaller screens
2020-12-11 14:40:56 +01:00
Niccolò Izzo
20667c87c4
Add low battery warning screen
...
Basic UI composition functions have been moved to the main to accomodate
for pre-boot warning screens.
2020-12-11 14:17:06 +01:00
Niccolò Izzo
2c1fa7376a
Improve battery drawing function
2020-12-11 14:17:06 +01:00
Niccolò Izzo
41ec005680
Implement battery voltage to charge conversion
...
Voltage to charge nonlinear function is being linearly approximated in
the operating range.
2020-12-11 14:09:36 +01:00
Federico Amedeo Izzo
0e1d9b090f
UI: Add current mode print on status bar
2020-12-07 18:43:54 +01:00
Federico Amedeo Izzo
27f2fad507
UI: Add horizontal padding to menu items
2020-12-06 22:28:11 +01:00
Federico Amedeo Izzo
9e50b7c9b1
UI: reduce menu entries font size
2020-12-06 22:28:11 +01:00
Silvano Seva
7273c084ca
Moved menuItems from ui.h to ui.c
2020-12-06 22:28:11 +01:00
Federico Amedeo Izzo
2251354288
UI: Add top menu items
2020-12-06 22:28:11 +01:00
Federico Amedeo Izzo
8b1d688935
UI: Add initial menu support
2020-12-06 22:28:11 +01:00
Silvano Seva
6e144a7160
Fixed bug in MD3x0 calibration loader, made the input parameters of 'interpCalParameter' const
2020-12-06 19:33:27 +01:00
Silvano Seva
0931f1b588
Utility for interpolation of calibration parameters
2020-12-06 19:33:27 +01:00
Niccolò Izzo
6a0afd7df7
Implement battery icon function for bw screens
...
Add battery drawing function in graphics_bw.c, fix GD77 layout.
2020-12-06 18:03:48 +01:00
Niccolò Izzo
1ee4744cb7
Improve battery icon drawing implementation
...
Fix a bug where the signature of the battery draw function was not
present, causing a build error. Now the battery size and position is
screen size independent and should work for all layouts.
2020-12-06 16:22:38 +01:00
Niccolò Izzo
f1400ac528
Add battery icon
2020-12-06 16:19:46 +01:00
Federico Amedeo Izzo
c0b920b4bf
Remove busy loop in main.c, not needed once other threads are run
2020-12-06 14:37:21 +01:00
Federico Amedeo Izzo
7fffc339f8
Threads: align keyboard task stack size to other tasks
2020-12-06 14:37:21 +01:00
Federico Amedeo Izzo
08776e70eb
Threads: rename status_task to device_task
2020-12-06 14:37:21 +01:00
Federico Amedeo Izzo
0fb3493bef
Events: Complete UI events implementation
2020-12-06 14:37:21 +01:00
Silvano Seva
014262f4df
Modified event_t structure to make it castable to void *
2020-12-06 14:37:21 +01:00
Federico Amedeo Izzo
94b37d9137
Events: More events changes
2020-12-06 14:37:21 +01:00
Federico Amedeo Izzo
3e461e6b80
Add initial events implementation
2020-12-06 14:37:21 +01:00
Fred
c096e946a4
Change GD77 display padding and font size
2020-12-04 20:49:04 +01:00
Fred
5d9ac78548
Fix GD77 display driver
2020-12-04 20:39:20 +01:00
Fred
2a2ca57015
Add seconds to top bar clock
2020-11-29 13:23:21 +01:00
Federico Amedeo Izzo
e62458119a
Keyboard: Increase thread stack and send multiple events if a key is kept pressed
2020-11-29 09:09:59 +01:00
Federico Amedeo Izzo
869cb673b6
Keyboard: Manage keyboard status with a queue
2020-11-29 08:45:17 +01:00
Federico Amedeo Izzo
42ccc3ac28
GFX: Add gfx_clearRows() implementation
2020-11-29 08:43:58 +01:00
Silvano Seva
5f669d1c18
Made task stack size platform dependent, since values for ARM target were too small for a correct execution on x64
2020-11-28 21:19:37 +01:00
Federico Amedeo Izzo
efc4820328
Keyboard: Replace uint32_t with keyboard_t
2020-11-28 09:51:18 +01:00
Niccolò Izzo
87ec8389cd
Fix frequency representation bug
...
Divide the frequency decimals by ten to ensure the we do not overflow
the 5 digits we can fit into the available space on the screen.
2020-11-27 16:31:11 +01:00
Silvano Seva
8b877ed6d0
Narrowed down RAM usage
2020-11-27 15:07:39 +01:00
Silvano Seva
bf24c31be7
Increased UI task stack size to 1kB, fixed some compiler warnings, code cleanup pass
2020-11-27 10:12:54 +01:00
Federico Amedeo Izzo
82be1afe17
UI: Add VFO frequency change
2020-11-26 22:44:39 +01:00
Federico Amedeo Izzo
32bbbfb9de
GFX: Remove missing dots workaround
2020-11-26 22:22:07 +01:00
Federico Amedeo Izzo
00fd786b8e
UI: Switch to alternative splash screen
2020-11-26 21:12:05 +01:00
Federico Amedeo Izzo
b4952592aa
UI: Add alternative Splash Screen
2020-11-26 17:18:53 +01:00
Federico Amedeo Izzo
f7b1423053
UI: Fix uint32_t frequency printing
2020-11-26 16:53:17 +01:00
Silvano Seva
5d964f3358
Reorganised radio state data structure, bringing in new channel_t variable.
2020-11-26 15:25:26 +01:00
Silvano Seva
380f489eb0
Changed underlying type of 'freq_t' from 'float' to 'uint32_t'
2020-11-24 15:39:10 +01:00
Silvano Seva
65e4643f1e
Code cleanup and suppression of some compilation warnings
2020-11-24 14:23:05 +01:00
Federico Amedeo Izzo
32ccd29c5c
State: Add sane initialization
2020-11-21 11:02:49 +01:00
Federico Amedeo Izzo
3370e5a3a7
Add shared state logic
2020-11-21 10:46:48 +01:00
Niccolò Izzo
a6c9bf6dd8
Quick fix of missing dots
2020-11-19 22:18:36 +01:00
Federico Amedeo Izzo
56dfb38c2a
UI: Hide random pixels with a 30ms delayed backlight
2020-11-19 21:41:28 +01:00
Federico Amedeo Izzo
0ebd942c7a
UI: Move VFO to 2nd and 3rd line, remove VFO Demo text
2020-11-19 21:02:19 +01:00
Federico Amedeo Izzo
0f0d6fe344
UI: Add top and bottom lines
2020-11-19 17:05:10 +01:00
Federico Amedeo Izzo
f2d9db024c
Graphics: Add drawHLine and drawVLine functions
2020-11-18 16:56:32 +01:00
Federico Amedeo Izzo
0b8bb486a4
UI: Add VFO Demo text
2020-11-18 10:12:14 +01:00
Federico Amedeo Izzo
39d5912adc
UI: Add 3 font sizes, fix UI padding for new fonts.
2020-11-17 22:50:27 +01:00
Niccolò Izzo
91d0e05af7
Replace OpenGD77 fonts with Adafruit GFX fonts
...
OpenGD77 custom binary font format was replaced with Adafruit GFX
library standard font format, to be able to reuse all the available
fonts, together with the relative tools.
2020-11-17 14:42:23 +01:00
Silvano Seva
e2dd96356d
Refactored UI source code
2020-11-16 09:03:03 +01:00
Silvano Seva
86e7f82ace
Moved platform initialisation to main() function
2020-11-16 08:42:10 +01:00
Silvano Seva
1b4b000b66
Adding file left behind in the previous commit
2020-11-15 22:25:43 +01:00
Silvano Seva
b06b120148
Reorganising thread structure, moving thread bodies and thread creation function into a dedicated source file to make overall source code more easily readable
2020-11-15 22:23:32 +01:00
Federico Amedeo Izzo
11854aaaa6
ui.c: Remove infinite loop, now handled by task execution in main.c
2020-11-15 21:25:42 +01:00
Federico Amedeo Izzo
3feaa992b8
main.c: Set task priorities
2020-11-15 10:13:32 +01:00
Federico Amedeo Izzo
1000133c01
Create thread structure
...
Now main.c creates four threads to manage
- UI
- Platform state
- Analog radio
- Digital radio
Every thread has an entry point named `*_main()` like `ui_main()`
that gets executed periodically depending on the given interval
2020-11-14 19:33:56 +01:00
Silvano Seva
5ba7563638
Added missin include to ui.c
2020-11-03 21:47:10 +01:00
Federico Amedeo Izzo
45849c0f60
UI: Fix missing zeroes from clock and VBat
2020-11-03 15:15:36 +01:00
Federico Amedeo Izzo
58cb6857a5
UI: Add responsive layout calculation
2020-11-03 15:15:36 +01:00
Federico Amedeo Izzo
a19ba1785e
UI: Add VFO frequency to main screen
2020-11-03 15:15:36 +01:00
Federico Amedeo Izzo
46add610e1
UI: Add battery indicator
2020-11-03 15:15:36 +01:00
Federico Amedeo Izzo
c0e4115482
UI: Add clock to top bar, add rtc.c for Linux
2020-11-03 15:15:36 +01:00
Fred
09be53b24a
Fix keyboard variable size
2020-11-03 15:15:36 +01:00
Silvano Seva
ce0e901d78
Fixed missing SysTick initialisation when compiling for x86 target
2020-11-03 15:15:36 +01:00
Federico Amedeo Izzo
7f557cb758
UI: Add ascii art explaination
2020-11-03 15:15:36 +01:00
Federico Amedeo Izzo
a2b2b602dd
Add initial UI main
2020-11-03 15:15:36 +01:00
Federico Amedeo Izzo
b0e83c4303
Fix compilation for MD-UV380
2020-11-03 15:15:36 +01:00
Silvano Seva
50f6799ab9
Little improvements in platform test: reduced delay and blinking green led to signal effective code execution
2020-11-03 15:15:36 +01:00
Federico Amedeo Izzo
1877f92905
main.c: Add Platform test
2020-11-03 15:15:36 +01:00
Silvano Seva
8b7ec5b4ce
Removing useless include from bootstrap.c
2020-11-03 15:15:36 +01:00
Federico Amedeo Izzo
0c198d100d
Add missing `#include <hwconfig.h>`
2020-11-03 15:15:36 +01:00
Federico Amedeo Izzo
6b0f0242d1
Remove screenWidth and screenHeight getters.
2020-11-03 15:15:36 +01:00
Fred
75dd0d2fab
bootstrap.c: remove unused include
2020-11-03 15:15:36 +01:00
Silvano Seva
00d726ddbc
Moved bootstrap code into a dedicated file to improve readability
2020-11-03 15:15:36 +01:00
Silvano Seva
160b23f1b7
Fixed pixel setting in black and white graphics driver
2020-11-03 15:15:35 +01:00
Federico Amedeo Izzo
838490574e
graphics_bw.c: Fixed compilation errors
2020-11-03 15:15:35 +01:00
Federico Amedeo Izzo
c77ff5b339
graphics_bw.c: Add initial version
2020-11-03 15:15:35 +01:00
Federico Amedeo Izzo
b04617007d
graphics_rgb565.c Fixed screen size check
2020-11-03 15:15:35 +01:00
Federico Amedeo Izzo
3096146da8
graphics_rgb565.c: Removed backlight setter (now in platform.c)
...
and fixed license authors
2020-11-03 15:15:35 +01:00
Silvano Seva
06346ac827
Moving function for setting display backlight level from display driver to 'platform.c' file
2020-11-03 15:15:35 +01:00
Federico Amedeo Izzo
aafa67c176
main.c: Remove stm34fxx.h include
2020-11-03 15:15:35 +01:00
Niccolò Izzo
02209e4c1a
Add main file stub and display demo
...
Initial MVP of a main file that prints a text on the radio display.
The code is already platform independent, to be ported effortlessly
to any of the supported platforms.
2020-11-03 15:15:35 +01:00
Federico Amedeo Izzo
9a5e12d4f0
graphics.h renamed graphics_* to gfx_*
...
Removed unused print methods
2020-11-03 15:15:35 +01:00
Federico Amedeo Izzo
9b26c2d71b
Add printing functions from legacy-code branch
2020-11-03 15:15:35 +01:00
Silvano Seva
603fddfdb0
Fixed drawLine function and endianness issues with pixel format in RGB565 graphics driver
2020-11-03 15:15:35 +01:00
Federico Amedeo Izzo
09602387b2
graphics_rgb565.c: Implement drawing empty rectangles
2020-11-03 15:15:35 +01:00
Federico Amedeo Izzo
dac60a7be5
graphics_rgb565.c: Replaced hardtabs with spaces
2020-11-03 15:15:35 +01:00
Federico Amedeo Izzo
52b4718deb
graphics_rgb565.c: small refactoring. Linux-demo: moved from display interface to graphics interface
2020-11-03 15:15:35 +01:00
Federico Amedeo Izzo
94bece00c0
add graphics_rgb565.c to linux target, fixed compilation errors
2020-11-03 15:15:35 +01:00
Federico Amedeo Izzo
0a3249522f
renamed graphics_rgb.c to graphics_rgb565.c
2020-11-03 15:15:35 +01:00
Federico Amedeo Izzo
c1982bdf61
graphics_rgb.c: add initial RGB graphic library version
2020-11-03 15:15:35 +01:00
Silvano Seva
4ab8cb55e8
Creating folder structure
2020-11-03 15:15:35 +01:00