Commit Graph

48 Commits

Author SHA1 Message Date
Niccolò Izzo 04d6d01a5c
Reduce encoder sensitivity on T-TWR Plus
Reduce encoder sensitivity on T-TWR Plus by dividing the pulse counter
input by two.

TG-553
2023-10-09 09:23:45 +02:00
Silvano Seva 6f567cc38d ttwrplus: implemented the platform_pwrButtonStatus() function.
The platform_pwrButtonStatus() function returns false (shutdown) in
case of a long press of the power button.
2023-09-20 21:16:43 +02:00
Niccolò Izzo 7619b9473b ttwrplus: Slow down encoder input
Two ticks are needed to emit one KNOB_LEFT or KNOB_RIGHT event, thus
slowing down the rotary encoder input and making it more comfortable.

TG-553
2023-09-20 21:08:35 +02:00
Niccolò Izzo fe027c440c ttwrplus: enable volume control
Replaced KEY_F7 and KEY_F8 with KEY_VOLUP and KEY_VOLDOWN.
Remapped the T-TWR Plus volume up and down keys to those, fixing a bug
in the pmu key detection where the wrong active edge was selected.
Adapt soft volume code for the UV3x0 to control code in the T-TWR Plus
by acting on the AT1846s Rx gain.
For target T-TWR Plus bound long press of KEY_VOLDOWN to macro menu open.
Unbound KNOB_LEFT and KNOB_RIGHT to squelch control and bound
instead KEY_VOLUP and KEY_VOLDOWN.

TG-553
2023-09-20 21:08:35 +02:00
Niccolò Izzo ad1beffcf3 ttwrplus: implemented PMU interrupts handling
TG-553
2023-09-20 21:08:35 +02:00
Niccolò Izzo 82218aabce ttwrplus: enable macro menu
Modified keyboard mapping to enable macro menu, interface is still
broken as the T-TWR Plus is missing a keyboard.
Now the volume down key, mapped as the MONI button can be also used to
set the squelch level.

TG-553
2023-09-20 21:08:35 +02:00
Niccolò Izzo 4df315473f ttwrplus: add RGB LED support
Implemented WS2812C support with Zephyr driver.
Hooked up the RGB control to the existing RED and GREEN LED support.

TG-553
2023-09-20 21:08:35 +02:00
Niccolò Izzo df853c8527 ttwrplus: add support for keys using Zephyr bindings
Zephyr already provides button support based on gpios. We are mapping
Zephyr keycodes to OpenRTX therefore future targets will only need to
configure their devicetrees to have button support.

Rotary encoder readout leverages the hardware pulse counter. PTT in
this device is also bound to KEY_ESC, that matched the behaviour
observed in many commercial radios.

TG-553
2023-09-20 21:08:35 +02:00
Silvano Seva 4cd1fdfcf3 Moved gpio.h to peripherals 2023-07-21 19:27:14 +02:00
Silvano Seva a89a7523cb Updated year in copyright headers 2023-02-08 16:33:02 +01:00
Silvano Seva 5c94d33b6b Reorganised source code of linux emulator main engine 2022-06-09 22:48:51 +02:00
Silvano Seva 980fa32e73 Reorganised source code of linux emulator SDL engine 2022-06-09 22:48:41 +02:00
Silvano Seva 316e588bc3 Updated copyright headers 2022-06-02 09:56:05 +02:00
Alessio Caiazza 51acccaec2 Don't pump SDL events outside from the main thread 2021-12-23 14:52:25 +01:00
Mathis Schmieder 3d987a8ae8 Fixed reversed Enter and ESC keys for Module17 2021-11-27 08:09:39 +01:00
Mathis Schmieder 4811838cb8 Module17: implemented keyboard driver, updated display, output audio stream and platform drivers 2021-11-24 19:53:48 +01:00
Silvano Seva 38231e3a53 Driver stubs for keyboard and non volatile memory on Module17 2021-11-24 19:53:48 +01:00
Silvano Seva 38c6a7fee6 Fixed bug in MD3x keyboard driver causing the generation of an UP keypress at boot (#48) 2021-11-10 19:29:34 +01:00
tarxvf 45228e226e just the emulator shell broken out 2021-11-03 19:20:42 +01: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
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 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
Silvano Seva c77aebebad Mapped 'C' and 'D' palmtop keys to, respectively, 'ENTER' and 'ESC' functions in MD9600 keyboard driver 2021-04-10 12:16:21 +02:00
Silvano Seva db6b427513 Support for palmtop mic keys in MD9600 keyboard driver 2021-04-10 12:16:21 +02:00
Silvano Seva 6b541a8ba1 Platform interface and initial keyboard driver for MD-9600 2021-04-10 12:13:34 +02:00
Silvano Seva 0772f1924b Renamed GDx display and keyboard driver from 'xxx_GD77' to 'xxx_GDx' for consistency with naming scheme 2021-04-10 12:00:36 +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 13db8244b2 Fixed sporadic keyboard glitches in MDx devices 2021-02-01 19:11:14 +01:00
Niccolò Izzo ceb109946e Fix input acquisition bug on MD-3x0 2021-02-01 18:51:21 +01:00
Silvano Seva 86c25d6e26 Fixed missing include in 'keyboard_MDx.c' 2021-02-01 11:25:45 +01:00
Niccolò Izzo 2fa5b7a6e6 Fix squelch setting on linux 2021-01-28 16:46:09 +01:00
Niccolò Izzo 0b98f50a12 Add absolute knob positioning and horizontal keys emulation 2021-01-28 14:14:25 +01:00
Niccolò Izzo 2fe6cd1cb6 Implement draft of the macro menu feature 2021-01-05 10:08:18 +01:00
Federico Amedeo Izzo 08087cb14a linux-keyboard.c: Fix 0 key contantly pressed on Linux 2021-01-01 20:41:15 +01:00
Silvano Seva a8b18b68d7 Mapped DM1801 VFO/MR button to KEY_F3 and A/B button to KEY_F4 2021-01-01 18:00:51 +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
Silvano Seva 47dd9e2046 Fixed glitching keyboard buttons on MDx targets 2020-12-11 14:41:44 +01:00
Fred 41ecb11d3a Add GD77 keyboard driver 2020-12-05 15:27:04 +01:00
Fred 0d437b239d Add GD77 keyboard file 2020-12-04 20:39:20 +01:00
Federico Amedeo Izzo efc4820328 Keyboard: Replace uint32_t with keyboard_t 2020-11-28 09:51:18 +01:00
Silvano Seva 1cf2a40182 Changed names of source files for MDx drivers to comply to new naming convention 2020-11-19 18:24:28 +01:00
Federico Amedeo Izzo a58eaa2a08 keyboard_linux.c: add kbd_init() implementation to fix compilation on Linux 2020-11-16 21:29:10 +01:00
Silvano Seva 89e822813b Adding the remaining part of issue #5 fix, forgot in the previous commit 2020-11-15 21:16:49 +01:00
Silvano Seva 72988cd5cf Fix for both issue #5 and a bug in keyboard driver leading to undetected keypresses in some cases 2020-11-15 20:38:28 +01:00
Fred f10a6e426c Improve SDL keyboard event handling 2020-11-11 11:01:27 +01:00
Fred 3d1f255d46 Add keyboard implementation for linux 2020-11-03 15:15:36 +01:00
Silvano Seva b0f5341304 Added flag for 'monitor' button to keyboard driver, implemented 'monitor' and 'function' buttons in MDxx380 keyboard driver 2020-11-03 15:15:36 +01:00
Silvano Seva 9a94efb1c7 Keyboard driver for MD-380 and MD-UV380 2020-11-03 15:15:36 +01:00