Module Name: src Committed By: brad Date: Tue Dec 7 17:39:55 UTC 2021
Modified Files: src/distrib/sets/lists/base: mi src/distrib/sets/lists/comp: mi src/distrib/sets/lists/debug: mi module.mi src/distrib/sets/lists/man: mi src/distrib/sets/lists/modules: mi src/etc: MAKEDEV.tmpl src/share/man/man4: Makefile src/sys/conf: files majors src/sys/dev/i2c: files.i2c src/sys/dev/ic: Makefile src/sys/dev/spi: files.spi src/sys/modules: Makefile src/usr.bin: Makefile Added Files: src/share/man/man4: scmd.4 scmdi2c.4 scmdspi.4 src/sys/dev/i2c: scmdi2c.c src/sys/dev/ic: scmd.c scmdreg.h scmdvar.h src/sys/dev/spi: scmdspi.c src/sys/modules/scmd: Makefile scmd.ioconf src/sys/modules/scmdi2c: Makefile scmdi2c.ioconf src/usr.bin/scmdctl: Makefile common.c common.h i2cspi.c i2cspi.h printscmd.c printscmd.h responses.h scmdctl.1 scmdctl.c scmdctl.h scmdctlconst.h uart.c uart.h Log Message: 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. To generate a diff of this commit: cvs rdiff -u -r1.1285 -r1.1286 src/distrib/sets/lists/base/mi cvs rdiff -u -r1.2398 -r1.2399 src/distrib/sets/lists/comp/mi cvs rdiff -u -r1.368 -r1.369 src/distrib/sets/lists/debug/mi cvs rdiff -u -r1.15 -r1.16 src/distrib/sets/lists/debug/module.mi cvs rdiff -u -r1.1729 -r1.1730 src/distrib/sets/lists/man/mi cvs rdiff -u -r1.149 -r1.150 src/distrib/sets/lists/modules/mi cvs rdiff -u -r1.227 -r1.228 src/etc/MAKEDEV.tmpl cvs rdiff -u -r1.719 -r1.720 src/share/man/man4/Makefile cvs rdiff -u -r0 -r1.1 src/share/man/man4/scmd.4 src/share/man/man4/scmdi2c.4 \ src/share/man/man4/scmdspi.4 cvs rdiff -u -r1.1290 -r1.1291 src/sys/conf/files cvs rdiff -u -r1.100 -r1.101 src/sys/conf/majors cvs rdiff -u -r1.119 -r1.120 src/sys/dev/i2c/files.i2c cvs rdiff -u -r0 -r1.1 src/sys/dev/i2c/scmdi2c.c cvs rdiff -u -r1.27 -r1.28 src/sys/dev/ic/Makefile cvs rdiff -u -r0 -r1.1 src/sys/dev/ic/scmd.c src/sys/dev/ic/scmdreg.h \ src/sys/dev/ic/scmdvar.h cvs rdiff -u -r1.7 -r1.8 src/sys/dev/spi/files.spi cvs rdiff -u -r0 -r1.1 src/sys/dev/spi/scmdspi.c cvs rdiff -u -r1.261 -r1.262 src/sys/modules/Makefile cvs rdiff -u -r0 -r1.1 src/sys/modules/scmd/Makefile \ src/sys/modules/scmd/scmd.ioconf cvs rdiff -u -r0 -r1.1 src/sys/modules/scmdi2c/Makefile \ src/sys/modules/scmdi2c/scmdi2c.ioconf cvs rdiff -u -r1.235 -r1.236 src/usr.bin/Makefile cvs rdiff -u -r0 -r1.1 src/usr.bin/scmdctl/Makefile \ src/usr.bin/scmdctl/common.c src/usr.bin/scmdctl/common.h \ src/usr.bin/scmdctl/i2cspi.c src/usr.bin/scmdctl/i2cspi.h \ src/usr.bin/scmdctl/printscmd.c src/usr.bin/scmdctl/printscmd.h \ src/usr.bin/scmdctl/responses.h src/usr.bin/scmdctl/scmdctl.1 \ src/usr.bin/scmdctl/scmdctl.c src/usr.bin/scmdctl/scmdctl.h \ src/usr.bin/scmdctl/scmdctlconst.h src/usr.bin/scmdctl/uart.c \ src/usr.bin/scmdctl/uart.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.