diff options
| author | brad <brad@NetBSD.org> | 2021-12-07 17:39:53 +0000 |
|---|---|---|
| committer | brad <brad@NetBSD.org> | 2021-12-07 17:39:53 +0000 |
| commit | 32757b8342eaa7d0c0b071bf0140dfe8ec836276 (patch) | |
| tree | 4b9e14baab6bcd6456266d77c67d6f3dc3fce104 /sys/modules | |
| parent | f2b233b00bbb56f46f416b79f5fe01dcf34ef481 (diff) | |
A driver and user land utility for the Sparkfun Serial Controlled Motor
Driver module as illustrated here:
https://www.sparkfun.com/products/13911
A SCMD module is a ARM SOC simular to a Arduino in front of a motor
driver chip. The single SCMD module can control two motors and up to
16 additional modules can be chained together using an internal I2C
bus. One can interface with the SCMD using tty uart commands, SPI or
I2C. The driver in this commit adds a kernel driver for the I2C and
SPI interfaces. The command line utility provides a set of
convenience commands that support most of the functions of the SCMD
and is able to use the tty uart mode, SPI user land or the included
kernel driver in a uniform manor.
The use of the SCMD module is mostly for small robots and the like,
but it can control anything that is controllable by voltage.
Diffstat (limited to 'sys/modules')
| -rw-r--r-- | sys/modules/Makefile | 12 | ||||
| -rw-r--r-- | sys/modules/scmd/Makefile | 11 | ||||
| -rw-r--r-- | sys/modules/scmd/scmd.ioconf | 3 | ||||
| -rw-r--r-- | sys/modules/scmdi2c/Makefile | 11 | ||||
| -rw-r--r-- | sys/modules/scmdi2c/scmdi2c.ioconf | 16 |
5 files changed, 48 insertions, 5 deletions
diff --git a/sys/modules/Makefile b/sys/modules/Makefile index e767d4ccb5a..2de5f78dddc 100644 --- a/sys/modules/Makefile +++ b/sys/modules/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.261 2021/11/25 03:08:05 ryo Exp $ +# $NetBSD: Makefile,v 1.262 2021/12/07 17:39:54 brad Exp $ .include <bsd.own.mk> @@ -67,11 +67,7 @@ SUBDIR+= gpioirq SUBDIR+= gpiopps SUBDIR+= hfs SUBDIR+= hythygtemp -SUBDIR+= si70xxtemp SUBDIR+= am2315temp -SUBDIR+= sht3xtemp -SUBDIR+= sht4xtemp -SUBDIR+= sgp40mox SUBDIR+= i2cexec SUBDIR+= i2c_bitbang SUBDIR+= if_agr @@ -149,12 +145,18 @@ SUBDIR+= puffs SUBDIR+= putter SUBDIR+= raid SUBDIR+= scsiverbose +SUBDIR+= scmd +SUBDIR+= scmdi2c SUBDIR+= sdtemp SUBDIR+= secmodel_bsd44 SUBDIR+= secmodel_extensions SUBDIR+= secmodel_overlay SUBDIR+= securelevel SUBDIR+= sequencer +SUBDIR+= sgp40mox +SUBDIR+= sht3xtemp +SUBDIR+= sht4xtemp +SUBDIR+= si70xxtemp SUBDIR+= skipjack SUBDIR+= slcompress SUBDIR+= spdmem diff --git a/sys/modules/scmd/Makefile b/sys/modules/scmd/Makefile new file mode 100644 index 00000000000..4b4d8c76146 --- /dev/null +++ b/sys/modules/scmd/Makefile @@ -0,0 +1,11 @@ +.include "../Makefile.inc" + +.PATH: ${S}/dev/ic + +KMOD= scmd +IOCONF= scmd.ioconf +SRCS= scmd.c + +WARNS= 3 + +.include <bsd.kmodule.mk> diff --git a/sys/modules/scmd/scmd.ioconf b/sys/modules/scmd/scmd.ioconf new file mode 100644 index 00000000000..eefa6a5b598 --- /dev/null +++ b/sys/modules/scmd/scmd.ioconf @@ -0,0 +1,3 @@ +ioconf scmd + +include "conf/files" diff --git a/sys/modules/scmdi2c/Makefile b/sys/modules/scmdi2c/Makefile new file mode 100644 index 00000000000..1ffddcc4f27 --- /dev/null +++ b/sys/modules/scmdi2c/Makefile @@ -0,0 +1,11 @@ +.include "../Makefile.inc" + +.PATH: ${S}/dev/i2c + +KMOD= scmdi2c +IOCONF= scmdi2c.ioconf +SRCS= scmdi2c.c + +WARNS= 3 + +.include <bsd.kmodule.mk> diff --git a/sys/modules/scmdi2c/scmdi2c.ioconf b/sys/modules/scmdi2c/scmdi2c.ioconf new file mode 100644 index 00000000000..052dc58103d --- /dev/null +++ b/sys/modules/scmdi2c/scmdi2c.ioconf @@ -0,0 +1,16 @@ +ioconf scmdi2c + +include "conf/files" + +pseudo-root iic* + +scmd* at iic? addr 0x58 +scmd* at iic? addr 0x59 +scmd* at iic? addr 0x5a +scmd* at iic? addr 0x5b +scmd* at iic? addr 0x5c +scmd* at iic? addr 0x5d +scmd* at iic? addr 0x5e +scmd* at iic? addr 0x5f +scmd* at iic? addr 0x60 +scmd* at iic? addr 0x61 |
