/*
* (C) Copyright 2014 Leo C. <erbl259-lmu@yahoo.de>
*
- * SPDX-License-Identifier: GPL-2.0+
+ * SPDX-License-Identifier: GPL-2.0
*/
-#include "common.h"
-#include <string.h>
-#include <stdlib.h>
+#include "env.h"
#include <avr/eeprom.h>
#include "config.h"
#include "debug.h"
-#include "xmalloc.h"
#include "crc.h"
-#include "command.h"
-#include "env.h"
#define ENV_SIZE (CONFIG_ENV_SIZE - sizeof(uint16_t) -1)
const FLASH char default_env[] = {
ENV_BAUDRATE "=" "115200" DELIM
ENV_BOOTDELAY "=" "3" DELIM
- ENV_BOOTCMD "=" "reset; loadf; go ${startaddr}" DELIM
+ ENV_BOOTCMD "=" "pin ${pins}; loadcpm3; go ${startaddress}" DELIM
ENV_CPM3_SYSFILE "=" CONFIG_CPM3_SYSFILE DELIM
ENV_PINALIAS "=" "0:PG5,1:PG4,2:PB4,3:PB5,4:PB6,5:PB7,"
"6:PG3,7:PG2,8:PG1,9:PG0,10:PE7" DELIM
ENV_STARTADDRESS "=" "0" DELIM
+ "pins" "=" "2,8 low 9 high 3 2" DELIM
DELIM
};
return -1;
}
- np = (char *) xmalloc(len+1);
+ np = (char *) malloc(len+1);
if (np == NULL) {
printf_P(PSTR("## Can't malloc %d bytes\n"), len+1);
return 1;
}
-char *getenv(const MEMX char *name)
+char *getenv_str(const MEMX char *name)
{
env_item_t *ep;
char *ret = NULL;
* @return 0 if ok, 1 on error
*/
static
-command_ret_t _do_env_set(int flag, int argc, char * const argv[])
+command_ret_t _do_env_set(uint_fast8_t flag, int argc, char * const argv[])
{
int i, len;
char *name, *value, *valp, *p;
for (i = 2, len += 1; i < argc; ++i)
len += strlen(argv[i]) + 1;
- value = xmalloc(len);
+ value = malloc(len);
if (value == NULL) {
printf_P(PSTR("## Can't malloc %d bytes\n"), len);
return CMD_RET_FAILURE;
}
-command_ret_t do_env_print(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+/*
+ * Read an environment variable as a boolean
+ */
+bool getenv_yesno(const MEMX char *name)
+{
+ char *s = getenv_str(name);
+
+ if (s == NULL)
+ return false;
+
+ return strchr_P(PSTR("1yYtT"), *s) != NULL;
+
+/*
+ return *s == '1' || *s == 'y' || *s == 'Y' || *s == 't' || *s == 'T' ?
+ 1 : 0;
+*/
+}
+
+command_ret_t do_env_print(cmd_tbl_t *cmdtp, uint_fast8_t flag, int argc, char * const argv[])
{
command_ret_t rc = CMD_RET_SUCCESS;
}
-command_ret_t do_env_set(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+command_ret_t do_env_set(cmd_tbl_t *cmdtp, uint_fast8_t flag, int argc, char * const argv[])
{
(void) cmdtp;
}
-command_ret_t do_env_default(cmd_tbl_t *cmdtp, int flag,
+command_ret_t do_env_default(cmd_tbl_t *cmdtp, uint_fast8_t flag,
int argc, char * const argv[])
{
(void) cmdtp; (void) flag; (void) argc; (void) argv;
}
-command_ret_t do_env_save(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+command_ret_t do_env_save(cmd_tbl_t *cmdtp, uint_fast8_t flag, int argc, char * const argv[])
{
(void) cmdtp; (void) flag; (void) argc; (void) argv;