Commit Graph

36 Commits

Author SHA1 Message Date
Scott Shawcroft
8137e2d6d2
Switch all ports to auto-growing split heap
This simplifies allocating outside of the VM because the VM doesn't
take up all remaining memory by default.

On ESP we delegate to the IDF for allocations. For all other ports,
we use TLSF to manage an outer "port" heap. The IDF uses TLSF
internally and we use their fork for the other ports.

This also removes the dynamic C stack sizing. It wasn't often used
and is not possible with a fixed outer heap.

Fixes #8512. Fixes #7334.
2023-11-01 15:24:16 -07:00
Dan Halbert
2c0fa0f7dc initial merge from v1.20.0; just satisifying conflicts 2023-09-19 11:10:12 -04:00
Jeff Epler
db01dfea20
use a standard length validator 2022-11-30 12:06:19 -06:00
Scott Shawcroft
9d10a3da66
Conditionalize LTO 2022-05-27 12:59:54 -07:00
Dan Halbert
a911cbef51 check that boot device is interface #0; remove instrumentation 2021-10-13 12:30:01 -04:00
Dan Halbert
1ae69b5cc5 debugging, with instrumentation 2021-10-07 08:19:53 -04:00
Dan Halbert
24c6295ed4 Boot protocol and feature reports: compiles; needs to be tested 2021-10-04 22:48:18 -04:00
Dan Halbert
29ae444dc6 Fix usb_hid_gc_collect() 2021-08-27 11:36:56 -04:00
Dan Halbert
38f42818e9 fix gc; update KEYBOARD report descriptor
The default KEYBOARD report descriptor had a signed/unsigned error,
and also could have allowed more keycodes. So I changed it, using the
very vanilla descriptor from a very plain extremely common commercial
keyboard, modifying it only have 5 LED's instead of 3, and added a
report ID.
2021-08-16 18:59:41 -04:00
Dan Halbert
3dc2b4c2d3 at least original functionality with new API 2021-08-14 12:36:40 -04:00
Dan Halbert
4f8ff12afa wip 2021-08-14 12:36:40 -04:00
Dan Halbert
0f66832829
Merge branch 'main' into hid_devices-gc 2021-05-24 18:17:52 -04:00
Dan Halbert
c6eb0283dc Don't set num_hid_devices before it's validated 2021-05-21 17:34:30 -04:00
Dan Halbert
5a81f275cf Don't change number of HID devices until it's vetted 2021-05-21 17:29:21 -04:00
Dan Halbert
7d0cda2614 gc all pointers in hid_devices properly 2021-05-21 16:32:55 -04:00
Dan Halbert
fa6c06fb38 count in/out endpoints; allow more usb modules on low-endpoint boards 2021-05-13 21:59:02 -04:00
Dan Halbert
f504af3127 fix HID; fix interface name table creation 2021-05-09 00:42:45 -04:00
Dan Halbert
adc3d7d55e update Python API according to review comments 2021-05-03 22:29:02 -04:00
Dan Halbert
5b5de4b92e fix sHID report doc and API 2021-05-03 20:53:31 -04:00
Dan Halbert
be7b2b00a8 uncrustify with newer version of uncrustify 2021-04-30 10:40:12 -04:00
Dan Halbert
abfb020d41 MSC, CDC, HID keyboard definitely working 2021-04-29 17:41:43 -04:00
Dan Halbert
f06d54524d merge from adafruit 2021-04-28 23:48:26 -04:00
Dan Halbert
587aedd14f rework storage allocation 2021-04-28 13:00:44 -04:00
Dan Halbert
8500e846c6 partially working 2021-04-27 23:53:23 -04:00
Dan Halbert
f98a54628b wip: compiles 2021-04-27 14:37:36 -04:00
Dan Halbert
7a40b4daec very much WIP 2021-04-26 23:54:01 -04:00
Dan Halbert
c26e49c2e6 wip: starting to try to compile 2021-04-25 23:17:41 -04:00
Dan Halbert
aea3c4d3ab wip 2021-04-25 10:23:59 -04:00
Dan Halbert
556a126917 wip: getting closer 2021-04-23 21:44:13 -04:00
Dan Halbert
2b4c88d633 wip: partial HID, still needs rework 2021-04-23 00:18:05 -04:00
Dan Halbert
64e0958916 wip: descriptor building 2021-04-21 23:25:36 -04:00
Dan Halbert
d3cb1030c8 trivial change; try to force check run 2019-09-03 23:15:50 -04:00
Dan Halbert
94ba027544 simpler generation of HID device tables 2019-09-03 21:16:14 -04:00
Dan Halbert
42f5edbd33 WIP 2019-09-03 14:44:46 -04:00
Scott Shawcroft
168e23e466
Build refinement to handle warnings and quiet output 2018-11-09 00:11:43 -08:00
Scott Shawcroft
9d91111b1b
Move atmel-samd to tinyusb and support nRF flash.
This started while adding USB MIDI support (and descriptor support is
in this change.) When seeing that I'd have to implement the MIDI class
logic twice, once for atmel-samd and once for nrf, I decided to refactor
the USB stack so its shared across ports. This has led to a number of
changes that remove items from the ports folder and move them into
supervisor.

Furthermore, we had external SPI flash support for nrf pending so I
factored out the connection between the usb stack and the flash API as
well. This PR also includes the QSPI support for nRF.
2018-11-08 17:25:30 -08:00