hathach
0a43a7b418
improve host serial drivers
...
- tuh_control_xfer() update xfer result to user_data if complete
callback = NULL (sync/blocking)
- refactor host serial driver for acm/ftdi/cp210x
2023-04-28 19:13:25 +07:00
hathach
190acc1fb0
add aligned(4) for cdc_line_coding_t
2023-04-28 11:12:03 +07:00
Jean-Baptiste Theou
8f47976639
cdc: fix line_coding aligment
...
While calling tud_cdc_n_get_line_coding, the structure is copied into
the destination.
Dump of assembler code for function tud_cdc_n_get_line_coding:
0x000193f4 <+0>: mov.w r2, #2112 @ 0x840
0x000193f8 <+4>: ldr r3, [pc, #20 ] @ (0x19410
<tud_cdc_n_get_line_coding+28>)
0x000193fa <+6>: mla r0, r2, r0, r3
=> 0x000193fe <+10>: ldr.w r3, [r0, #6 ]
0x00019402 <+14>: str r3, [r1, #0 ]
On some platform (tested on LPC55S28), the address needs to be 4-bytes
aligned. Without this, the address is
(gdb) p &_cdcd_itf.line_coding
$3 = (cdc_line_coding_t *) 0x40100006 <_cdcd_itf+6>
which leads to a HardFault. With this fix
(gdb) p &_cdcd_itf.line_coding
$5 = (cdc_line_coding_t *) 0x40100008 <_cdcd_itf+8>
and the function can be called properly
Signed-off-by: Jean-Baptiste Theou <jb@thing.com>
2023-04-27 15:48:15 -10:00
hathach
732686cc10
add tuh_cdc_set_baudrate()
2023-04-27 23:22:10 +07:00
hathach
ee58278ed2
add code to calculate divisor from baudrate for ftdi
2023-04-27 23:08:25 +07:00
hathach
8214f0f497
clean up
2023-04-27 17:40:08 +07:00
hathach
c10f52b237
forgot to add cp210x header
2023-04-27 17:39:02 +07:00
hathach
438387be8c
more refactor
2023-04-27 17:32:56 +07:00
hathach
86f6fd17ed
cp210x seems to work well
2023-04-27 17:09:21 +07:00
hathach
a32ef1cde1
more host serial refactor
2023-04-27 16:32:42 +07:00
hathach
9698a088db
refactor acm function
2023-04-27 15:29:44 +07:00
hathach
85d9925d24
refactor ftdi driver
2023-04-27 15:20:04 +07:00
hathach
293a6222f8
rename ftdi_host to ftdi_sio
2023-04-27 11:08:42 +07:00
hathach
45169d833d
hacky, but ftdi work with hard code baudrate = 9600
2023-04-26 22:36:17 +07:00
Ha Thach
964e7ebf21
Merge pull request #2013 from tannewt/imx_1042
...
Handle iMX RT 1042 usb naming
2023-04-24 16:53:24 +07:00
Ha Thach
8ede566c41
Merge pull request #2039 from hathach/add-cmake-build
...
Add cmake build
2023-04-24 16:43:40 +07:00
hathach
a4d5d51549
add wip note
2023-04-24 16:24:06 +07:00
hathach
5254202b20
minor update
2023-04-24 11:54:58 +07:00
hathach
0afe1b3684
example run well with cmake for imxrt
2023-04-21 18:10:28 +07:00
Jacek Fedorynski
9bf97e3e52
[rp2040] Make writes to SIE_CTRL aware of concurrent access
...
This commit makes it so that when setting the START_TRANS bit in the
SIE_CTRL register, along with some other bits, we first set all the
other bits, then wait some cycles, and then set the START_TRANS bit.
Doing so protects against a situation where the USB controller is
reading the register at the same time and gets an incorrect value.
This mirrors the procedure already applied to buffer control
registers.
2023-04-20 20:23:31 +02:00
Reimu NotMoe
c0674142a8
Merge branch 'hathach:master' into master
2023-04-18 23:20:25 +08:00
Reimu NotMoe
9002dc7067
Use __GNUC__ macro to determine if __has_attribute is supported
2023-04-18 17:27:42 +08:00
Ha Thach
c3a60ed355
Merge pull request #1920 from mikee47/fix/midi-definition
...
MIDI_CIN_NOTE_ON definition transposed with MIDI_CIN_NOTE_OFF
2023-04-18 10:43:52 +07:00
Reimu NotMoe
fa8f3731c1
Implement TU_BSWAP{16,32} correctly for Microchip XC16
2023-04-17 21:02:12 +08:00
Reimu NotMoe
d97b6d57de
Fix compatibility with the latest Microchip XC16 compiler
2023-04-17 20:20:22 +08:00
Scott Shawcroft
2cda9b60c9
Handle iMX RT 1042 usb naming
2023-04-06 15:45:23 -07:00
hathach
6db24e0dba
implement tuh_hid_receive_ready() and tuh_hid_send_ready()
2023-04-06 11:16:28 +07:00
hathach
106084289d
add define for vendor_flush() to write_flush() for backward compatible
2023-04-06 11:15:57 +07:00
Ha Thach
f7aa716a61
Merge pull request #2000 from jncronin/stm32l5
...
Add STM32L5 support - no OTG similar to some L4s
2023-04-04 16:30:47 +07:00
John Cronin
718bcdb8bc
Add STM32L5 support - no OTG similar to some L4s
2023-04-03 13:56:16 +01:00
epatstarkey
1372d4e4d5
Remove trailing whitespace
2023-03-31 12:58:51 -05:00
epatstarkey
1fb2a2f1bd
Update vendor_device.c
2023-03-28 14:01:33 -05:00
epatstarkey
876f49f6ad
Update vendor_device.c
2023-03-28 14:00:23 -05:00
epatstarkey
faaed198b4
Update vendor_device.h
2023-03-28 13:59:59 -05:00
Ha Thach
5add4c97fa
Merge pull request #1979 from hathach/fix-cdc-host-unsupported-line-request
...
fix cdc host enumeration issue when device does not support line request
2023-03-24 17:58:34 +07:00
hathach
df5f60b6d6
fix shadow warning
2023-03-24 17:36:29 +07:00
hathach
b054229780
fix cdc host enumeration issue when device does not support line request
2023-03-24 17:26:30 +07:00
Ha Thach
59cbfbbdbe
Merge pull request #1971 from MattMills/class_net_net_device_mac_address_shouldnt_be_consts
...
Update net_device.h to make MAC addresses not const.
2023-03-24 16:48:33 +07:00
Ha Thach
f640163ee9
Merge pull request #1969 from hathach/fix-tmc488-bit-order-1658
...
Fix tmc488 bit order 1658
2023-03-24 14:41:57 +07:00
hathach
71fb6469d4
separate CFG_TUSB_MEM_SECTION and CFG_TUSB_MEM_ALIGN to
...
- CFG_TUD_MEM_SECTION and CFG_TUD_MEM_ALIGN
- CFG_TUH_MEM_SECTION and CFG_TUH_MEM_ALIGN
- fix missing mem section and align for host
2023-03-24 14:05:21 +07:00
Matt Mills
4274cab395
Update net_device.h
2023-03-22 07:18:27 -06:00
hathach
096da11e88
more update
2023-03-22 17:01:04 +07:00
hathach
c85f46c4ab
fix bitorder in usbtmc_response_capabilities_488_t
2023-03-22 16:59:57 +07:00
Ha Thach
07976ad26d
Merge pull request #1968 from hathach/refactor-hid-host
...
Refactor hid host
2023-03-22 10:37:06 +07:00
hathach
f27486e19a
add tuh_hid_itf_get_info() and change tuh_cdc_itf_get_info() to use new tuh_itf_info_t
2023-03-22 10:00:42 +07:00
hathach
f8a5cde3c7
add tuh_task_event_ready(), better implement blocking control transfer for rtos
2023-03-22 09:23:44 +07:00
hathach
0921edaf59
use tud_inited() instead of tusb_inited()
2023-03-22 09:23:11 +07:00
hathach
d22fc550c7
change meaning of CFG_TUH_HID to total number of HID interfaces supported.
...
- previously CFG_TUH_HID is max number of interfaces per device which is
rather limited and consume more resources than needed.
- change hid host instance in API to index
2023-03-21 21:04:06 +07:00
hathach
8a0b17598c
add osal_task_delay() for control blocking
2023-03-21 18:15:45 +07:00
hathach
d34508a316
add note for blocking tuh_configuration_set(), tuh_interface_set()
2023-03-21 18:13:25 +07:00