mirror of
https://github.com/tinygo-org/drivers.git
synced 2026-07-26 10:38:41 +00:00
23 lines
773 B
Go
23 lines
773 B
Go
// Product: https://ams.com/as5601
|
|
// Datasheet: https://ams.com/documents/20143/36005/AS5601_DS000395_3-00.pdf
|
|
|
|
package as560x // import tinygo.org/x/drivers/ams560x
|
|
|
|
import "tinygo.org/x/drivers"
|
|
|
|
// AS5601Device represents an ams AS5601 device driver accessed over I2C
|
|
type AS5601Device struct {
|
|
BaseDevice // promote base device
|
|
}
|
|
|
|
// NewAS5601 creates a new AS5601Device given an I2C bus
|
|
func NewAS5601(bus drivers.I2C) AS5601Device {
|
|
// Create base device
|
|
baseDev := newBaseDevice(bus)
|
|
// Add AS5601 specific registers
|
|
baseDev.registers[ABN] = newI2CRegister(ABN, 0, 0b1111, 1, reg_read|reg_write|reg_program)
|
|
baseDev.registers[PUSHTHR] = newI2CRegister(PUSHTHR, 0, 0xff, 1, reg_read|reg_write|reg_program)
|
|
// Return the device
|
|
return AS5601Device{baseDev}
|
|
}
|