/* $NetBSD: scmdctlconst.h,v 1.1 2021/12/07 17:39:55 brad Exp $ */
/*
* Copyright (c) 2021 Brad Spencer <brad@anduin.eldar.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
#ifndef _SCMDCTLCONST_H_
#define _SCMDCTLCONST_H_
static const struct scmdcmd scmdcmds[] = {
{
.cmd = "identify",
.id = SCMD_IDENTIFY,
.helpargs = "[module]"
},
{
.cmd = "diagnostics",
.id = SCMD_DIAG,
.helpargs = "[module]"
},
{
.cmd = "motor",
.id = SCMD_MOTOR,
.helpargs = "get|set|invert|bridge|enable|disable module([get]|set|invert|bridge) A|B(set|invert) value(set)"
},
{
.cmd = "read_register",
.id = SCMD_READ,
.helpargs = "module register [register_end]"
},
{
.cmd = "write_register",
.id = SCMD_WRITE,
.helpargs = "module register value"
},
{
.cmd = "restart",
.id = SCMD_RESTART,
.helpargs = ""
},
{
.cmd = "re-enumerate",
.id = SCMD_ENUMERATE,
.helpargs = ""
},
{
.cmd = "update_rate",
.id = SCMD_UPDATERATE,
.helpargs = "get|set|force rate(set)"
},
{
.cmd = "expansion_bus",
.id = SCMD_EBUS,
.helpargs = "get|set 50kHz|100kHz|400kHz(set)"
},
{
.cmd = "lock",
.id = SCMD_LOCK,
.helpargs = "get|lock|unlock local_user|local_master|global_user|global_master"
},
{
.cmd = "spi_read_one",
.id = SCMD_SPIREADONE,
.helpargs = ""
}
};
static const struct scmdcmd motorsubcmds[] = {
{
.cmd = "get",
.id = SCMD_SUBMOTORGET,
.helpargs = ""
},
{
.cmd = "set",
.id = SCMD_SUBMOTORSET,
.helpargs = ""
},
{
.cmd = "invert",
.id = SCMD_SUBMOTORINVERT,
.helpargs = ""
},
{
.cmd = "bridge",
.id = SCMD_SUBMOTORBRIDGE,
.helpargs = ""
},
{
.cmd = "disable",
.id = SCMD_SUBMOTORDISABLE,
.helpargs = ""
},
{
.cmd = "enable",
.id = SCMD_SUBMOTORENABLE,
.helpargs = ""
}
};
static const struct scmdcmd updateratesubcmds[] = {
{
.cmd = "get",
.id = SCMD_SUBURGET,
.helpargs = ""
},
{
.cmd = "set",
.id = SCMD_SUBURSET,
.helpargs = ""
},
{
.cmd = "force",
.id = SCMD_SUBURFORCE,
.helpargs = ""
}
};
static const struct scmdcmd ebussubcmds[] = {
{
.cmd = "get",
.id = SCMD_SUBEBUSGET,
.helpargs = ""
},
{
.cmd = "set",
.id = SCMD_SUBEBUSSET,
.helpargs = ""
}
};
static const struct scmdcmd locksubcmds[] = {
{
.cmd = "get",
.id = SCMD_SUBLOCKGET,
.helpargs = ""
},
{
.cmd = "lock",
.id = SCMD_SUBLOCKLOCK,
.helpargs = ""
},
{
.cmd = "unlock",
.id = SCMD_SUBLOCKUNLOCK,
.helpargs = ""
}
};
static const struct scmdcmd lockcmdtypes[] = {
{
.cmd = "local_user",
.id = SCMD_LOCAL_USER_LOCK,
.helpargs = ""
},
{
.cmd = "local_master",
.id = SCMD_LOCAL_MASTER_LOCK,
.helpargs = ""
},
{
.cmd = "global_user",
.id = SCMD_GLOBAL_USER_LOCK,
.helpargs = ""
},
{
.cmd = "global_master",
.id = SCMD_GLOBAL_MASTER_LOCK,
.helpargs = ""
}
};
static const char *ebus_speeds[] = {
"50kHz","100kHz","400kHz"
};
static const char *scmdregisternames[] = {
"FID",
"ID",
"SLAVE_ADDR",
"CONFIG_BITS",
"U_I2C_RD_ERR",
"U_I2C_WR_ERR",
"U_BUF_DUMPED",
"E_I2C_RD_ERR",
"E_I2C_WR_ERR",
"LOOP_TIME",
"SLV_POLL_CNT",
"SLV_TOP_ADDR",
"MST_E_ERR",
"MST_E_STATUS",
"FSAFE_FAULTS",
"REG_OOR_CNT",
"REG_RO_WRITE_CNT",
"GEN_TEST_WORD",
"MOTOR_A_INVERT",
"MOTOR_B_INVERT",
"BRIDGE",
"LOCAL_MASTER_LOCK",
"LOCAL_USER_LOCK",
"MST_E_IN_FN",
"U_PORT_CLKDIV_U",
"U_PORT_CLKDIV_L",
"U_PORT_CLKDIV_CTRL",
"E_PORT_CLKDIV_U",
"E_PORT_CLKDIV_L",
"E_PORT_CLKDIV_CTRL",
"U_BUS_UART_BAUD",
"FSAFE_CTRL",
"MA_DRIVE",
"MB_DRIVE",
"S1A_DRIVE",
"S1B_DRIVE",
"S2A_DRIVE",
"S2B_DRIVE",
"S3A_DRIVE",
"S3B_DRIVE",
"S4A_DRIVE",
"S4B_DRIVE",
"S5A_DRIVE",
"S5B_DRIVE",
"S6A_DRIVE",
"S6B_DRIVE",
"S7A_DRIVE",
"S7B_DRIVE",
"S8A_DRIVE",
"S8B_DRIVE",
"S9A_DRIVE",
"S9B_DRIVE",
"S10A_DRIVE",
"S10B_DRIVE",
"S11A_DRIVE",
"S11B_DRIVE",
"S12A_DRIVE",
"S12B_DRIVE",
"S13A_DRIVE",
"S13B_DRIVE",
"S14A_DRIVE",
"S14B_DRIVE",
"S15A_DRIVE",
"S15B_DRIVE",
"S16A_DRIVE",
"S16B_DRIVE",
"HOLE_1_42",
"HOLE_1_43",
"HOLE_1_44",
"HOLE_1_45",
"HOLE_1_46",
"HOLE_1_47",
"HOLE_1_48",
"HOLE_1_49",
"HOLE_1_4A",
"HOLE_1_4B",
"HOLE_1_4C",
"HOLE_1_4D",
"HOLE_1_4E",
"HOLE_1_4F",
"INV_2_9",
"INV_10_17",
"INV_18_25",
"INV_26_33",
"BRIDGE_SLV_L",
"BRIDGE_SLV_H",
"HOLE_2_56",
"HOLE_2_57",
"HOLE_2_58",
"HOLE_2_59",
"HOLE_2_5A",
"HOLE_2_5B",
"HOLE_2_5C",
"HOLE_2_5D",
"HOLE_2_5E",
"HOLE_2_5F",
"HOLE_2_60",
"HOLE_2_61",
"HOLE_2_62",
"HOLE_2_63",
"HOLE_2_64",
"HOLE_2_65",
"HOLE_2_66",
"HOLE_2_67",
"HOLE_2_68",
"HOLE_2_69",
"HOLE_2_6A",
"HOLE_2_6B",
"HOLE_2_6C",
"HOLE_2_6D",
"HOLE_2_6E",
"PAGE_SELECT",
"DRIVER_ENABLE",
"UPDATE_RATE",
"FORCE_UPDATE",
"E_BUS_SPEED",
"MASTER_LOCK",
"USER_LOCK",
"FSAFE_TIME",
"STATUS_1",
"CONTROL_1",
"REM_ADDR",
"REM_OFFSET",
"REM_DATA_WR",
"REM_DATA_RD",
"REM_WRITE",
"REM_READ"
};
#endif