1*bf53d441Sbrad /* $NetBSD: scmdctl.h,v 1.1 2021/12/07 17:39:55 brad Exp $ */ 2*bf53d441Sbrad 3*bf53d441Sbrad /* 4*bf53d441Sbrad * Copyright (c) 2021 Brad Spencer <brad@anduin.eldar.org> 5*bf53d441Sbrad * 6*bf53d441Sbrad * Permission to use, copy, modify, and distribute this software for any 7*bf53d441Sbrad * purpose with or without fee is hereby granted, provided that the above 8*bf53d441Sbrad * copyright notice and this permission notice appear in all copies. 9*bf53d441Sbrad * 10*bf53d441Sbrad * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11*bf53d441Sbrad * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12*bf53d441Sbrad * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 13*bf53d441Sbrad * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14*bf53d441Sbrad * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 15*bf53d441Sbrad * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 16*bf53d441Sbrad * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17*bf53d441Sbrad */ 18*bf53d441Sbrad 19*bf53d441Sbrad #ifndef _SCMDCTL_H_ 20*bf53d441Sbrad #define _SCMDCTL_H_ 21*bf53d441Sbrad 22*bf53d441Sbrad #define SCMD_IDENTIFY 1 23*bf53d441Sbrad #define SCMD_DIAG 2 24*bf53d441Sbrad #define SCMD_MOTOR 3 25*bf53d441Sbrad #define SCMD_SUBMOTORGET 3000 26*bf53d441Sbrad #define SCMD_SUBMOTORSET 3001 27*bf53d441Sbrad #define SCMD_SUBMOTORINVERT 3002 28*bf53d441Sbrad #define SCMD_SUBMOTORBRIDGE 3003 29*bf53d441Sbrad #define SCMD_SUBMOTORDISABLE 3004 30*bf53d441Sbrad #define SCMD_SUBMOTORENABLE 3005 31*bf53d441Sbrad #define SCMD_READ 4 32*bf53d441Sbrad #define SCMD_WRITE 5 33*bf53d441Sbrad #define SCMD_RESTART 6 34*bf53d441Sbrad #define SCMD_ENUMERATE 7 35*bf53d441Sbrad #define SCMD_UPDATERATE 8 36*bf53d441Sbrad #define SCMD_SUBURGET 8000 37*bf53d441Sbrad #define SCMD_SUBURSET 8001 38*bf53d441Sbrad #define SCMD_SUBURFORCE 8002 39*bf53d441Sbrad #define SCMD_EBUS 9 40*bf53d441Sbrad #define SCMD_SUBEBUSGET 9000 41*bf53d441Sbrad #define SCMD_SUBEBUSSET 9001 42*bf53d441Sbrad #define SCMD_LOCK 10 43*bf53d441Sbrad #define SCMD_SUBLOCKGET 10000 44*bf53d441Sbrad #define SCMD_SUBLOCKLOCK 10001 45*bf53d441Sbrad #define SCMD_SUBLOCKUNLOCK 10002 46*bf53d441Sbrad #define SCMD_SPIREADONE 11 47*bf53d441Sbrad 48*bf53d441Sbrad #define SCMD_ENABLE 100 49*bf53d441Sbrad #define SCMD_DISABLE 101 50*bf53d441Sbrad 51*bf53d441Sbrad #define SCMD_ANY_MODULE 0xff 52*bf53d441Sbrad #define SCMD_ANY_MOTOR 'C' 53*bf53d441Sbrad #define SCMD_NO_MOTOR 0xff00 54*bf53d441Sbrad 55*bf53d441Sbrad #define SCMD_LOCAL_USER_LOCK 12000 56*bf53d441Sbrad #define SCMD_LOCAL_MASTER_LOCK 12001 57*bf53d441Sbrad #define SCMD_GLOBAL_USER_LOCK 12002 58*bf53d441Sbrad #define SCMD_GLOBAL_MASTER_LOCK 12003 59*bf53d441Sbrad #define SCMD_LOCK_LOCKED 0x00 60*bf53d441Sbrad #define SCMD_LOCK_UNLOCK 0x01 61*bf53d441Sbrad 62*bf53d441Sbrad #define UART_IS_PURE_UART 0 63*bf53d441Sbrad #define UART_IS_SPI_USERLAND 1 64*bf53d441Sbrad 65*bf53d441Sbrad struct scmdcmd { 66*bf53d441Sbrad const char *cmd; 67*bf53d441Sbrad const int id; 68*bf53d441Sbrad const char *helpargs; 69*bf53d441Sbrad }; 70*bf53d441Sbrad 71*bf53d441Sbrad #endif 72