Commit Graph

105 Commits

Author SHA1 Message Date
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
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
Federico Amedeo Izzo 1e19574fd6 Add destination callsign input for M17, Add -/ to keypad input 2021-10-09 18:53:28 +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 c2b6bd545f API interfaces for audio path and audio stream management 2021-08-25 18:30:28 +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 a7acc3301b Modified 'platform_getVbat' API: now it returns an uint16_t value containing the battery voltage in millivolt 2021-08-14 12:47:21 +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
Federico Amedeo Izzo 57b66652b7 Use channel knob to change frequency and navigate menus (TG-238) 2021-06-05 18:11:30 +02:00
Silvano Seva 66552be403 Added function to radio API allowing to fine tune the radio's VCXO polarisation voltage. Currently, this functionality is effective only on MD-3x0 devices. (TG-195 #ready-for-test) 2021-06-03 14:50:47 +02:00
Silvano Seva 4d68f02ab4 Updated documetation for radio.h API, removed old baseband C source files. 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 c0ecf2e13f Basic audio management module, controlling only speaker PA and microphone preamplifier. TG-61 2021-04-12 19:10:13 +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 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 341ab84ce9 Converted `gfx_print()` from char * pointer to format string 2021-04-10 11:10:52 +02:00
Caleb Jamison e5c5ee90f2 Add support for encoder knob on MD-UV380
Added: qdec, a header only quadrature encoder library

Added: EXTI15_10_IRQHandler to handle the encoder knob

Changed: platform_init() for the MD-UV380 now configures the EXTI15_10
interrupt.

Changed: platform_getChSelector now returns signed int8

Changed: size of settings_t.valid went from 6 to 7
Without this change, pressing the macro button crashes the radio, I
haven't investigated and I don't remember how I found that solution.

Changed: meson.build includes the qdec library
2021-04-03 09:21:47 +02:00
Silvano Seva 2b28ea0525 Moving to miosix kernel: added two functions to 'interfaces/delays.h' to provide substitutes for their uC/OS-III counterparts and removed the old rtos sources 2021-03-13 09:16:06 +01:00
Silvano Seva 7992b4abca Moving to miosix kernel: adapted MDx drivers to new configuration 2021-03-13 09:16:06 +01:00
Federico Amedeo Izzo d4981ee288 Add Settings persistence to SPI Flash 2021-02-21 15:58:41 +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
Niccolò Izzo 4d66d8b1af Fix various warnings 2021-02-17 11:21:46 +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 a9ad22a4c9 NVM: Add function to read VFO channel for MD-UV3x0 2021-02-13 11:24:05 +01:00
Niccolò Izzo 586b524625 Add GPS compass stub 2021-02-13 11:23:13 +01:00
Niccolò Izzo ec06b14618 Add GPS satellites snr bar graph 2021-02-11 21:27:03 +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 d9a55c137a Implementation of all common rtx functionalities and radio driver for MD3x0 2021-02-03 14:30:06 +01:00
Silvano Seva edb2697124 New 'radio' interface API, providing a standard interface for low-level platform-specific baseband control 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
Niccolò Izzo 7e0500d3a5 Improved Smeter rendering in MACRO menu 2021-02-01 23:33:49 +01:00
Silvano Seva 80c7668faa Added a data structure providing some hardware information parameters and the relative platform API function to retrieve them 2021-02-01 21:27:31 +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 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
Silvano Seva 92870f477f Added display API function to set LCD contrast 2021-01-26 08:53:42 +01:00
Federico Amedeo Izzo bec69dc440 Graphics.h: Fix compiler warning 2021-01-24 15:57:02 +01:00
Federico Amedeo Izzo 0608176342 CPS: Read contact data from codeplug 2021-01-23 11:28:12 +01:00
Federico Amedeo Izzo 6706a796ad CPS: Add code to read zone data from Codeplug 2021-01-22 21:16:13 +01:00
Federico Amedeo Izzo 463e5bf6fb Graphics: Add error box printing 2021-01-21 22:01:25 +01:00
Silvano Seva 41e6c1d1e6 Added flags to enable TX and RX tones in rtxStatus_t 2021-01-04 08:58:17 +01:00
Federico Amedeo Izzo f4c4a72584 RTC: Bugfix, add missing bit in the date field 2020-12-31 19:11:35 +01:00
Silvano Seva 8b6f4e3056 Renamed rtc_shutdown() and toneGen_shutdown() to rtc_terminate() and toneGen_terminate() 2020-12-31 18:31:00 +01:00
Federico Amedeo Izzo c2f331467c UI: Fix bug where key 9 did not work in frequency input 2020-12-31 13:58:49 +01:00
Niccolò Izzo aeea305228 Switch to angular brackets include notation 2020-12-24 16:30:45 +01:00