deadprogram
67aea275c5
machine/rp2040: turn off pullup/down when not input type not specified
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2022-07-27 21:45:45 +02:00
Ayke van Laethem
99bd4d2c7c
esp32: optimize SPI transmit
...
For write-only operations (in SPI displays for example), the transmit
speed is doubled with this relatively small change.
In the future, we should try to use DMA instead for larger buffers. But
this is already a significant improvement and will always be an
improvement for small buffer sizes.
2022-07-27 17:22:34 +02:00
sago35
a4b22bd125
usb/midi: add definition of MIDI note number
2022-07-27 16:19:13 +02:00
Ayke van Laethem
4aec3d04f9
esp32: fix WDT reset on the MCH2022 badge
2022-07-26 10:47:28 +02:00
Kenneth Bell
6d1cbe6fb9
rp2040: usb: reset device address on bus reset
2022-07-26 06:47:16 +02:00
sago35
7cd2890434
rp2040: add resetBlock for USBCTRL
2022-07-25 17:01:14 +02:00
sago35
3047d8f321
samd51: improve TRNG
2022-07-22 09:27:43 +02:00
deadprogram
13ed58950f
machine/usb/midi: add NoteOn, NoteOff, and SendCC methods for more complete API
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2022-07-21 11:05:53 +02:00
sago35
72137d663b
usb: adjust buffer alignment (samd21, samd51, nrf52840)
2022-07-20 08:05:52 +02:00
sago35
740134197e
samd51: add support for DAC1
2022-07-18 12:10:06 +02:00
Ayke van Laethem
610e7fd16a
boards: Add MCH2022 badge
...
I haven't fully tested this badge because I don't have the physical
hardware but I have followed the pinout from the website.
2022-07-16 08:31:22 +02:00
Ayke van Laethem
7d31d98f0f
runtime: rename printuint to printuintptr
...
This is arguably the correct name, and is consistent with other print
functions.
2022-07-15 15:44:40 +02:00
Ayke van Laethem
0a93347e1c
machine: reorder pin definitions to improve pin list on tinygo.org
2022-07-15 14:46:33 +02:00
Ayke van Laethem
411333327e
esp32c3: provide hardware pin constants
2022-07-15 14:46:33 +02:00
Ayke van Laethem
159f7ebbc3
esp32: provide hardware pin constants
2022-07-15 14:46:33 +02:00
Ayke van Laethem
153ff09cc5
esp8266: provide hardware pin constants like GPIO2
2022-07-15 14:46:33 +02:00
Ayke van Laethem
57cddf5657
clue: remove pins D21..D28
...
These pins do not appear in the pinout:
https://learn.adafruit.com/adafruit-clue/pinouts
2022-07-15 14:46:33 +02:00
Ayke van Laethem
6a35719594
avr: fix some apparent mistake in atmega1280/atmega2560 pin constants
2022-07-15 14:46:33 +02:00
Ayke van Laethem
20a46e1b28
nrf51: define and use P0_xx constants
...
This makes nrf51 consistent with nrf52 and other chips, which do provide
constants for hardware pin numbers.
I've also added the microbit to the smoketest because it is used on
play.tinygo.org. And removed PCA10040 and PCA10056 because they aren't
provided on play.tinygo.org anymore.
2022-07-15 14:46:33 +02:00
sago35
926c02b6ff
rp2040: reduced allocations
2022-07-15 09:41:32 +02:00
sago35
f370cd18fc
rp2040: add support for EnterBootloader()
2022-07-15 09:41:32 +02:00
sago35
a1d7cab080
rp2040: change volatile access to dpsram
2022-07-15 08:49:07 +02:00
deadprogram
15a9e2313a
machine/usb/midi: correct reference to handler function
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2022-07-14 13:25:34 +02:00
deadprogram
3c2d2a93d3
machine/usb: refactorings to move functionality under machine/usb package
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2022-07-14 07:20:50 +02:00
Federico G. Schwindt
ea36fea5a9
Add support for printing slices via print/println
...
With help from @aykevl.
2022-07-13 14:44:23 +02:00
deadprogram
5fdb894760
usb: rename callback to handler to keep consistent
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2022-07-13 12:11:21 +02:00
sago35
8fed063820
usb: add support for midi
2022-07-12 19:13:12 +02:00
sago35
7afc47d67a
usb: add DTR and RTS to serialer interface
2022-07-12 16:22:16 +02:00
sago35
0bc7c2a61f
rp2040: add support for usb ( #2973 )
...
* rp2040: add support for usb
2022-07-12 15:41:56 +02:00
sago35
d434058aef
samd21,samd51,nrf52840: move usbcdc to machine/usb/cdc ( #2972 )
...
* samd21,samd51,nrf52840: move usbcdc to machine/usb/cdc
2022-07-10 11:33:52 +02:00
Kenneth Bell
1d99b1ed84
boards: add Challenger RP2040 LoRa
2022-07-08 13:01:14 +02:00
sago35
f1e6997018
atsamd21,atsamd51,nrf52840: improve usb-device initialization
2022-07-07 21:04:41 +02:00
sago35
335a7ad0b7
samd21,samd51,nrf52840: refactor handleStandardSetup and initEndpoint ( #2968 )
...
* samd21,samd51,nrf52840: refactor handleStandardSetup and initEndpoint
2022-07-07 16:43:57 +02:00
sago35
17deac116f
samd21,samd51,nrf52840: change usbSetup and sendZlp to public
2022-07-07 08:25:02 +02:00
Daniel Esteban
b112477e95
Initial support for XIAO RP2040
2022-07-06 22:23:47 +02:00
sago35
2fa24ef752
samd21,samd51,nrf52840: refactor usb initialization
2022-07-06 17:55:25 +02:00
sago35
fcefcb191c
samd21,samd51,nrf52840: unify bootloader entry process
2022-07-06 09:14:11 +02:00
sago35
ff7c71c99c
serial: use common initialization for serial
2022-07-05 20:53:37 +02:00
sago35
401bd89664
samd21, samd51: move USB-CDC code
2022-07-05 14:41:51 +02:00
sago35
1766746c60
rp2040: add usb settings
2022-07-04 13:17:54 +02:00
Kenneth Bell
8a5ab5ab12
rp2040: fix gpio interrupts
2022-06-26 12:14:52 +02:00
Ayke van Laethem
4262f0ff1f
compiler: really define runtime.mem* as LLVM intrinsic wrappers
...
This makes it possible to //go:linkname them from other places, like in
the reflect package. And is in my opinion a much cleaner solution.
2022-06-24 11:10:24 +02:00
ardnew
afae6b3795
board/teensy40: Add I2C support ( #1471 )
...
* teensy40: add I2C support
2022-06-22 11:28:50 +02:00
Ayke van Laethem
64d7f1e436
all: run gofmt on all source code
...
Some source code wasn't part of `FMT_PATHS` so wasn't checked for
correct formatting. This change includes all this source code and
excludes cgo/testdata because it contains files that can't be parsed.
2022-06-19 13:00:44 +02:00
Ayke van Laethem
9af535bf98
avr: add support for recover()
...
You can see that it works with the following command:
tinygo run -target=simavr ./testdata/recover.go
This also gets the following tests to pass again:
go test -run=Build -target=simavr -v
Adding support for AVR was a bit more compliated because it's also
necessary to save and restore the Y register.
2022-06-19 11:51:12 +02:00
Ayke van Laethem
159f0051bb
runtime: move *task.DeferFrame here
...
This is a refactor that makes the next commit simpler. Perhaps it should
have been like this from the beginning but I didn't like all the casts.
2022-06-19 11:51:12 +02:00
Ayke van Laethem
49e22fe678
runtime: load sp and pc inside tinygo_longjmp
...
This is a small change to make it easier to support architectures that
need to restore more than just the sp and pc registers. In particular,
it is needed for the AVR architecture that needs to restore the frame
pointer (Y register).
2022-06-19 11:51:12 +02:00
Yurii Soldak
c119721e3b
atmega2560: support UART1-3
...
+ example for uart
2022-06-18 09:26:12 +02:00
Ayke van Laethem
9294141d70
avr: fix race condition in stack write
...
If an interrupt happens between the writes to SPL and SPH, the stack
pointer is inconsistent and terrible things will happen. Therefore,
disable interrupts while updating the stack pointer.
Interrupts are restored _before_ the write to SPH. This is safe, because
interrupts are re-enabled with a one cycle delay. The avr-gcc and Clang
compilers do the same thing when they need to update the stack pointer.
It's almost impossible to test for this bug, but it should make firmware
just a little bit more reliable.
2022-06-17 19:17:21 +02:00
Damian Gryski
bcf58c0840
runtime: add comments about the hash functions
2022-06-17 08:46:41 +02:00