Simon Kueppers
036085944b
Improved automatic USB reset feature so that dfu-util does not report an error while detaching the device
2023-03-12 21:44:55 +01:00
Simon Kueppers
b58c847763
Fixed wrong interrupt in NVIC_SetPriority call
2023-03-12 12:34:39 +01:00
Simon Kueppers
8c076abc7e
Reverted to using DTR=HIGH && RTS=LOW for asserting the PTT, since PTT would otherwise interfere during CHIRP programming with some radios (issue #11 )
2023-03-12 12:15:40 +01:00
Simon Kueppers
b5814223f3
Cleaned up USB CDC class and PTT handling. Now the UART transmitter is only enabled during transmission and Hi-Z otherwise
2023-03-12 12:13:50 +01:00
Simon Kueppers
454467fb29
Fixed logic bug in pre-processor clause in watchdog reset with unsupported MCU
2023-03-11 12:38:47 +01:00
Aaron Griffith
18e4ad7a13
Added DFU runtime implementation to reboot into on-board DFU bootloader, thus new software can be flashed without the BOOT0 jumper over USB.
2023-03-11 10:45:57 +01:00
Simon Kueppers
7e7c8af252
Added automatic USB-reset when coming out of non-POR reset and added a handler for rebooting into the built-in DFU bootloader
2023-03-11 10:45:57 +01:00
Simon Kueppers
737d6b884d
Implemented CM108-like feedback on interrupt endpoint, whenever a GPIO state changes (which currently happens only if the GPIO output register is being written)
2023-02-26 14:58:16 +01:00
Simon Kueppers
cd458b49bb
Modeled descriptor exactly after CM108 instead of generic 4 bytes unassigned input/output so that the USB hid host driver will actually start polling the interrupt endpoint
2023-02-26 14:58:16 +01:00
Simon Kueppers
786cfc12ba
Fixed wrong usage of write-only BSRR and BRR GPIO registers
2023-02-26 14:58:16 +01:00
Simon Kueppers
b374bc6adf
Added Support for 16 kHz sample rate as well, specifically for direwolf on ARM computers (divides sample rate by 3 by default)
2023-02-24 15:54:06 +01:00
Simon Kueppers
53ec569372
HID input report cleanup
2023-02-24 15:54:06 +01:00
Simon Kueppers
6e77ea22ae
Initial commit for CM108 style HID endpoint PTT support
2023-02-23 16:12:03 +01:00
Simon Kueppers
ae24f73803
Separated PTT control into separate header file
2023-02-23 16:09:39 +01:00
Simon Kueppers
a500d865b4
Fixed typo in USB string
2023-02-21 13:10:08 +01:00
Simon Kueppers
d22d8c0ef7
Added additional sample rates of 12000 Hz, 11025 Hz (with 90 ppm error) and 8000 Hz as required by some applications (such as SoundModem).
2023-02-21 13:02:13 +01:00
Simon Kueppers
e85eb2f287
Changed PTT behaviour from RTS&-DTR to just DTR to enable use of certain applications.
...
For unwanted assertion of the PTT (e.g. in CHIRP), an additional safeguard has been implemented that disables all PTT action whenever a character is sent to the radio. For a lengthy discussion see #11 .
2023-02-21 12:56:37 +01:00
Simon Kueppers
74cedb33e0
Switched to new VID:PID from https://pid.codes . Big thanks!
2023-01-15 15:22:47 +01:00
Simon Kueppers
417b167c28
Switched from usb-stack assisted SOF measurement to pure software solution to keep API compatibility to the original tinyusb
2023-01-08 15:33:26 +01:00
Simon Kueppers
0baac1e155
Fixed return type mismatch in descriptor function
2023-01-08 15:33:26 +01:00
Simon Kueppers
c9cf9b86ed
Cleaned up various files
2023-01-05 19:47:27 +01:00
Simon Kueppers
a0b3e0c968
Implemented USB serial number derived from STM32 unique ID and added several string descriptors for the audio device
2023-01-05 19:23:54 +01:00
Simon Kueppers
76e3a2e48f
Added small fix to workaround errata for USART1 clock to make it performing as accurate as possible
2023-01-05 15:12:14 +01:00
Simon Kueppers
08db9ae5cd
Divided single sample rate clock into two individual clocks for microphone / speaker
2023-01-04 12:05:21 +01:00
Simon Kueppers
b44eb5da4c
Added support for multiple samplerates (48000, 24000, 22050)
2023-01-03 12:44:01 +01:00
Simon Kueppers
09a7a002c1
Disabled buffer reporting by default
2023-01-03 12:44:01 +01:00
Simon Kueppers
a2d428d26f
Fixed missing refactored name
2022-12-14 20:36:25 +01:00
Simon Kueppers
32c86dcae5
Changed flags to state variable for microphone/speaker and changed buffer level coupling to run only after buffer is intially at target value
2022-12-14 20:05:26 +01:00
Simon Kueppers
3af01b8f09
Changed PTT behaviour and made PTT2 optional since it may interfere with some softwares
2022-12-11 19:43:00 +01:00
Simon Kueppers
ab5ebc061a
Added some debugging statements
2022-11-13 21:12:56 +01:00
Simon Kueppers
cdaf37602e
Implemented USB Audio Class 2.0 measure against buffer drift by very loosely coupling buffer fill level to the feedback value
2022-11-13 21:12:33 +01:00
Simon Kueppers
133df32a7e
USB Audio Class 2.0 volume controls now working
2022-11-13 15:40:05 +01:00
Simon Kueppers
720250b761
Enable TX line only when data is being sent to avoid parasitic powering
2022-11-06 12:47:39 +01:00
Simon Kueppers
d5b44a96a1
Improvements in USB audio reliability
2022-11-06 12:45:22 +01:00
Simon Kueppers
a8c1b99865
Work in progress on usb audio
2022-11-03 18:57:12 +01:00
Simon Kueppers
05682b143a
Set higher interrupt priority to ADC/DAC interrupts to avoid loss of data
2022-11-03 17:19:31 +01:00
Simon Kueppers
0da0b9c46b
Basic audio output working
2022-10-31 14:07:12 +01:00
Simon Kueppers
07d2642bfd
Implemented tu_stm32_edpt_number_cb callback for custom mapping of endpoints to hardware, which is required due to isochronous endpoints using both halves of a hardware endpoint
2022-10-31 14:05:22 +01:00
Simon Kueppers
6fb0ca5657
Added support for SWO output pin
2022-10-31 14:04:07 +01:00
Simon Kueppers
19123f8e0a
Correct query of timer clock
2022-10-31 14:03:04 +01:00
Simon Kueppers
f2a99edbc4
Added rudimentary speaker output functionality with successful enumeration
2022-10-24 20:36:13 +02:00
Simon Kueppers
3144a881fe
Implemented rudimentary audio microphone function from example
2022-10-23 15:38:44 +02:00
Simon Kueppers
e61bb4a726
Reverted back to using register access instead of HAL_GPIO_xyz for everything except initialization
2022-10-21 18:49:26 +02:00
Simon Kueppers
0b6b2f3c12
Implemented disabling UART transmitter when PTT1 is asserted, because they share a line
2022-10-21 18:43:00 +02:00
Simon Kueppers
f0f92e0c3f
Changed LED indicator meaning
2022-10-21 17:03:51 +02:00
Simon Kueppers
03497b97bf
Added more header definitions
2022-10-21 16:55:51 +02:00
Simon Kueppers
ed5473fc39
Masked UART reception during assertion of PTT1 since it shares a pin and results in received stray zero bytes
2022-10-20 23:03:19 +02:00
Simon Kueppers
e8871a2b87
Reworked LED module
2022-10-20 22:51:11 +02:00
Simon Kueppers
f611fc8f5d
Implemented PTT1 and PTT2 functionality
2022-10-20 20:04:13 +02:00
Simon Kueppers
0d88855481
Implemented CDC to USART bridge
2022-10-20 16:59:46 +02:00