aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/machine/board_wioterminal.go
AgeCommit message (Collapse)Author
8 daysfeature: modify i2s interface/implementation to better match specificationdeadprogram
Signed-off-by: deadprogram <[email protected]>
2023-12-31expose UART4 on wioterminal boardScott Feldman
The right-hand grove port on the wioterminal can be used as UART, using D0/D1 pins. The pins D0/D1 are tied to SERCOM4, so this patch exposes a UART4 for sercom4 access. RX = A0/D0 = PB08/SERCOM4.0 (port 4 pad 0) TX = A1/D1 = PB09/SERCOM4.1 (port 4 pad 1) Tested with Lora E5 UART. uart : = machine.UART4 tx := machine.D0 rx := machine.D1 Note: must also cross Tx/Rx wires in grove cable. See https://www.lucadentella.it/en/2022/01/29/wio-terminal-porta-grove-di-destra-e-moduli-uart/
2023-03-12wioterminal: fix pin definition of BCM13sago35
2022-12-19build: drop deprecated build tagsYurii Soldak
2022-09-25machine: do not expose RESET_MAGIC_VALUEAyke van Laethem
This is a constant for internal use only, but was (unintentionally?) exported. In addition, it doesn't follow the Go naming convention. This change simply renames the constant so that it is unexported.
2022-09-01wioterminal: add UART3 for RTL8720DNsago35
2022-06-08wioterminal: fix I2C definitionsago35
2022-02-11machine: add DefaultUART to wioterminalsago35
2022-02-04all: update build constraints to Go 1.17Ayke van Laethem
Do it all at once in preparation for Go 1.18 support. To make this commit, I've simply modified the `fmt-check` Makefile target to rewrite files instead of listing the differences. So this is a fully mechanical change, it should not have introduced any errors.
2021-10-25sam: simplify SPI peripheral declarationAyke van Laethem
This has practically no effect on the resulting binaries, the only difference I could find was for the flash/console/spi driver example. I'm not sure how to test that one, but I think it's very unlikely that code will have changed in any meaningful way (apart from reordering some globals).
2021-10-25sam: simplify I2C peripheral declarationsAyke van Laethem
This commit changes the I2C declarations so that the objects are instantiated in each chip file (e.g. machine_atsamd21e18.go) and used to define I2C0 (and similar) in the board file (e.g. board_qtpy.go). This should make it easier to define new board files, and reduces the need for separate *_baremetal.go files. I have tested this the following way: - With the LIS3DH driver example on the Circuit Playground Express and the PyBadge. - With the LSM6DS3 driver example on the Arduino Nano 33 IoT. They both still work fine.
2021-10-25sam: simplify definition of SERCOM UART peripheralsAyke van Laethem
Instead of defining them separately for each board, define them once in the chip definition and later simply use &sercomUART1 etc. to refer to them. This is simpler and less error-prone. I found two bugs while working on this: - The P1AM-100 board mixed SERCOM 5 and SERCOM 3. It looks like SERCOM 5 was intended, based on the used pins. - The Adafruit Matrix Portal appears to have configured the wrong interrupt. Unfortunately, I can't test these fixes. However, they make it clear that such a change is important to avoid bugs. I tested this commit on the PyBadge and the Circuit Playground Express.
2021-06-25all: add a flag to the command line to select the serial implementationAyke van Laethem
This can be very useful for some purposes: * It makes it possible to disable the UART in cases where it is not needed or needs to be disabled to conserve power. * It makes it possible to disable the serial output to reduce code size, which may be important for some chips. Sometimes, a few kB can be saved this way. * It makes it possible to override the default, for example you might want to use an actual UART to debug the USB-CDC implementation. It also lowers the dependency on having machine.Serial defined, which is often not defined when targeting a chip. Eventually, we might want to make it possible to write `-target=nrf52` or `-target=atmega328p` for example to target the chip itself with no board specific assumptions. The defaults don't change. I checked this by running `make smoketest` before and after and comparing the results.
2021-05-13machine: define Serial as the default outputAyke van Laethem
Previously, the machine.UART0 object had two meanings: - it was the first UART on the chip - it was the default output for println These two meanings conflict, and resulted in workarounds like: - Defining UART0 to refer to the USB-CDC interface (atsamd21, atsamd51, nrf52840), even though that clearly isn't an UART. - Defining NRF_UART0 to avoid a conflict with UART0 (which was redefined as a USB-CDC interface). - Defining aliases like UART0 = UART1, which refer to the same hardware peripheral (stm32). This commit changes this to use a new machine.Serial object for the default serial port. It might refer to the first or second UART depending on the board, or even to the USB-CDC interface. Also, UART0 now really refers to the first UART on the chip, no longer to a USB-CDC interface. The changes in the runtime package are all just search+replace. The changes in the machine package are a mixture of search+replace and manual modifications. This commit does not affect binary size, in fact it doesn't affect the resulting binary at all.
2020-07-23all: changeover to eliminate all direct use of master/slave terminologydeadprogram
Signed-off-by: deadprogram <[email protected]>
2020-07-06machine/samd51: add DAC support (#1198)sago35
* machine/samd51: add DAC support
2020-06-06Seeed WioTerminal support (#1124)sago35
* machine/wioterminal: add support for wioterminal board