Files
drivers/apds9960/apds9960_nano_33_ble.go
T
2021-11-06 11:22:39 +01:00

30 lines
723 B
Go

//go:build nano_33_ble
// +build nano_33_ble
package apds9960
import (
"machine"
"time"
"tinygo.org/x/drivers"
)
// New creates a new APDS-9960 connection. The I2C bus must already be
// configured.
//
// This function only creates the Device object, it does not touch the device.
func New(bus drivers.I2C) Device {
// turn on internal power pin (machine.P0_22) and I2C1 pullups power pin (machine.P1_00)
// and wait a moment.
ENV := machine.P0_22
ENV.Configure(machine.PinConfig{Mode: machine.PinOutput})
ENV.High()
R := machine.P1_00
R.Configure(machine.PinConfig{Mode: machine.PinOutput})
R.High()
time.Sleep(time.Millisecond * 10)
return Device{bus: bus, Address: ADPS9960_ADDRESS, mode: MODE_NONE}
}