Issue #26: Add overtemp function to shell
This commit is contained in:
parent
d1b8e91674
commit
64a97fa048
@ -641,6 +641,48 @@ shellmatta_retCode_t shell_cmd_update(const shellmatta_handle_t handle, const ch
|
|||||||
return SHELLMATTA_OK;
|
return SHELLMATTA_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
shellmatta_retCode_t shell_cmd_overtemp_cfg(const shellmatta_handle_t handle, const char *args, uint32_t len)
|
||||||
|
{
|
||||||
|
float overtemp_lim;
|
||||||
|
shellmatta_retCode_t ret;
|
||||||
|
char *argument;
|
||||||
|
uint32_t arg_length;
|
||||||
|
char option;
|
||||||
|
bool temp_passed = false;
|
||||||
|
bool persistent = false;
|
||||||
|
|
||||||
|
static const shellmatta_opt_long_t options[] = {
|
||||||
|
{"persistent", 'p', SHELLMATTA_OPT_ARG_NONE},
|
||||||
|
{NULL, '\0', SHELLMATTA_OPT_ARG_NONE},
|
||||||
|
};
|
||||||
|
|
||||||
|
do {
|
||||||
|
ret = shellmatta_opt_long(handle, options, &option, &argument, &arg_length);
|
||||||
|
if (ret != SHELLMATTA_OK)
|
||||||
|
break;
|
||||||
|
switch (option) {
|
||||||
|
case 'p':
|
||||||
|
persistent = true;
|
||||||
|
break;
|
||||||
|
case '\0':
|
||||||
|
temp_passed = true;
|
||||||
|
overtemp_lim = strtof(argument, NULL);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} while (1);
|
||||||
|
|
||||||
|
if (temp_passed) {
|
||||||
|
safety_controller_set_overtemp_limit(overtemp_lim);
|
||||||
|
if (persistent)
|
||||||
|
settings_save_overtemp_limit(overtemp_lim, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
overtemp_lim = safety_controller_get_overtemp_limit();
|
||||||
|
shellmatta_printf(handle, "Overtemperature configured for: %.1f °C\r\n", overtemp_lim);
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
//typedef struct shellmatta_cmd
|
//typedef struct shellmatta_cmd
|
||||||
//{
|
//{
|
||||||
// char *cmd; /**< command name */
|
// char *cmd; /**< command name */
|
||||||
@ -650,7 +692,7 @@ shellmatta_retCode_t shell_cmd_update(const shellmatta_handle_t handle, const ch
|
|||||||
// shellmatta_cmdFct_t cmdFct; /**< pointer to the cmd callack function */
|
// shellmatta_cmdFct_t cmdFct; /**< pointer to the cmd callack function */
|
||||||
// struct shellmatta_cmd *next; /**< pointer to next command or NULL */
|
// struct shellmatta_cmd *next; /**< pointer to next command or NULL */
|
||||||
//} shellmatta_cmd_t;
|
//} shellmatta_cmd_t;
|
||||||
static shellmatta_cmd_t cmd[19] = {
|
static shellmatta_cmd_t cmd[20] = {
|
||||||
{
|
{
|
||||||
.cmd = "version",
|
.cmd = "version",
|
||||||
.cmdAlias = "ver",
|
.cmdAlias = "ver",
|
||||||
@ -801,8 +843,16 @@ static shellmatta_cmd_t cmd[19] = {
|
|||||||
.helpText = "Update Firmware",
|
.helpText = "Update Firmware",
|
||||||
.usageText = "",
|
.usageText = "",
|
||||||
.cmdFct = shell_cmd_update,
|
.cmdFct = shell_cmd_update,
|
||||||
.next = NULL,
|
.next = &cmd[19],
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.cmd = "overtemp",
|
||||||
|
.cmdAlias = NULL,
|
||||||
|
.helpText = "Overtemperature Config",
|
||||||
|
.usageText = "",
|
||||||
|
.cmdFct = shell_cmd_overtemp_cfg,
|
||||||
|
.next = NULL,
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user