Ayke van Laethem
b8f5627c9f
machine: move errors.New calls to globals
...
Calling errors.New in an error path causes a heap allocation at an
already unfortunate moment. It is more efficient to create these error
values in globals and return these constant globals. If these errors are
not used (because the related code was optimized out), the globals will
also be optimized out.
2020-04-07 13:24:26 +02:00
Ron Evans
03fa9dd9b7
machine/atsamd21,atsamd51,nrf52840: refactor USB CDC device descriptor to reduce code duplication and heap allocations
...
Signed-off-by: Ron Evans <ron@hybridgroup.com>
2020-03-29 17:54:58 +02:00
Ron Evans
0312f12696
machine/usb: set the vid and pid to valid values supplied by Adafruit and Arduino for boards that support USB CDC
...
Signed-off-by: Ron Evans <ron@hybridgroup.com>
2020-03-18 12:08:15 +01:00
Scott Yoder
630c498efa
nrf52840: implement USB-CDC ( #883 )
...
* machine/nrf52840: usb-cdc implementation
2020-02-17 15:14:24 +01:00
Ayke van Laethem
4ee7bf00e1
machine: avoid bytes package in USB logic
...
This greatly cuts down on compile time (by about 5x for small programs)
and also makes the program a whole lot smaller. Overall it cuts down
`make smoke-test` in the drivers repository by half (from 160s to 80s).
This will probably also fix the timeout issue in the Playground:
https://github.com/tinygo-org/playground/issues/7
2020-01-18 14:23:49 +01:00
Ron Evans
c16e07469b
machine/samd21,samd51: remove use of binary package to avoid reflection and reduce binary size
...
Signed-off-by: Ron Evans <ron@hybridgroup.com>
2019-09-24 19:41:34 +02:00
Ron Evans
e26f0b35e3
machine/atsamd21: correct order of params for USB CDC descriptor
...
Signed-off-by: Ron Evans <ron@hybridgroup.com>
2019-09-06 14:24:32 +02:00
Ron Evans
fc9188a298
machine/samd21/arduino-nano33: adds support for Arduino Nano33 IoT along with mapping to NINA-W102 WiFi chip.
...
Also adds DTR and RTS functions along with timeouts to USBCDC functions to prevent lockups.
Signed-off-by: Ron Evans <ron@hybridgroup.com>
2019-07-07 18:09:05 +02:00
Ayke van Laethem
9673ad3774
all: move Register{8,16,32} values into runtime/volatile
...
This avoids duplication of code. None of the smoke tests have changed
their output.
2019-06-06 19:46:49 +02:00
Ron Evans
de032cddd2
machine/sam: Refactor all machine/runtime code to use new volatile package/API
...
Signed-off-by: Ron Evans <ron@hybridgroup.com>
2019-05-19 19:53:11 +02:00
Ron Evans
5438f16fcb
machine/atsamd21: support for USB CDC aka serial interface
...
Signed-off-by: Ron Evans <ron@hybridgroup.com>
2019-02-23 13:34:00 +01:00