SCMD(4) | Device Drivers Manual | SCMD(4) |
scmd
— Common
driver for the Sparkfun Serial Controlled Motor Driver
scmd* at iic? ...
scmd* at spi? ...
The scmd
driver provides the common
framework to the Sparkfun SCMD board. The SCMD board is a Cypress core ARM
SOC in front of a DRV8835 motor driver chip. There are a number of ways to
talk to the board and
scmdi2c(4) and
scmdspi(4) should be
consulted for the I2C and SPI frontend drivers. The board is fully
documented in the datasheet for at Sparkfun.
The board provides a register address space of 126 registers which control the various behaviors of the motors attached to the board. Each SCMD board can handle two motors, and up to 16 SCMD boards may be chained together allowing for 34 motors to be controlled from a single master instance. The secondary boards are accessed by set of view port registers from the main board. The scmd(4) driver and its associated frontends flatten the main SCMD board and all chained boards into a linear register space that can be opened, seeked, read from and written to like any other file or device without having to worry about the view port.
A command line utility scmdctl(1) is provided that allows convenient command line commands for most of the functions provided by the SCMD board.
The following sysctl(3) variables are provided:
hw.scmd0.debug
SCMD_DEBUG
, this
node will appear and can be used to set the debugging level.iic(4), spi(4), scmdi2c(4), scmdspi(4), scmdctl(1), sysctl(8)
The scmd
driver first appeared in
NetBSD 10.0.
The scmd
driver was written by
Brad Spencer
<brad@anduin.eldar.org>.
January 1, 2022 | NetBSD 10.99 |