
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.
29 строки
392 Б
Go
29 строки
392 Б
Go
// +build sam,atsamd21,arduino_nano33
|
|
|
|
package machine
|
|
|
|
import (
|
|
"device/sam"
|
|
)
|
|
|
|
// SPI on the Arduino Nano 33.
|
|
var (
|
|
SPI0 = SPI{
|
|
Bus: sam.SERCOM1_SPI,
|
|
SERCOM: 1,
|
|
}
|
|
)
|
|
|
|
// SPI1 is connected to the NINA-W102 chip on the Arduino Nano 33.
|
|
var (
|
|
SPI1 = SPI{
|
|
Bus: sam.SERCOM2_SPI,
|
|
SERCOM: 2,
|
|
}
|
|
NINA_SPI = SPI1
|
|
)
|
|
|
|
// I2S on the Arduino Nano 33.
|
|
var (
|
|
I2S0 = I2S{Bus: sam.I2S}
|
|
)
|