From 10a359a14208cf51e564ce395208e4d1dc630efb Mon Sep 17 00:00:00 2001 From: Candas1 Date: Wed, 6 Jan 2021 22:15:29 +0100 Subject: [PATCH] Fix --- Inc/comms.h | 2 +- Src/comms.c | 74 ++++++++++++++++++++++++++--------------------------- 2 files changed, 38 insertions(+), 38 deletions(-) diff --git a/Inc/comms.h b/Inc/comms.h index 4871c3f..78af21f 100644 --- a/Inc/comms.h +++ b/Inc/comms.h @@ -52,7 +52,7 @@ int32_t getParamValExt(uint8_t index); int8_t initParamVal(uint8_t index); int8_t incrParamVal(uint8_t index); -int8_t saveParamVal(uint8_t index); +int8_t saveAllParamVal(); int16_t getParamInitInt(uint8_t index); int32_t getParamInitExt(uint8_t index); int8_t printCommandHelp(uint8_t index); diff --git a/Src/comms.c b/Src/comms.c index 62f93f5..acc40ac 100644 --- a/Src/comms.c +++ b/Src/comms.c @@ -63,7 +63,7 @@ const command_entry commands[] = { {READ ,"WATCH" ,NULL ,watchParamVal ,NULL ,"Toggle Parameter/Variable Watch"}, {WRITE ,"SET" ,NULL ,NULL ,setParamValExt ,"Set Parameter"}, {WRITE ,"INIT" ,NULL ,initParamVal ,NULL ,"Init Parameter from EEPROM or CONFIG.H"}, - {WRITE ,"SAVE" ,NULL ,saveParamVal ,NULL ,"Save Parameter to EEPROM"}, + {WRITE ,"SAVE" ,saveAllParamVal ,NULL ,NULL ,"Save Parameters to EEPROM"}, }; enum paramTypes {PARAMETER,VARIABLE}; @@ -122,6 +122,7 @@ const parameter_entry params[] = { }; uint8_t * watchParamList; +uint8_t watchParamListSize = 0; // Translate from External format to Internal Format int32_t ExtToInt(uint8_t index,int32_t value){ @@ -136,13 +137,15 @@ int32_t ExtToInt(uint8_t index,int32_t value){ // Set Param with Value from external format int8_t setParamValExt(uint8_t index, int32_t value) { + int8_t ret = 0; // check min and max before conversion to internal values if (IN_RANGE(value,params[index].min,params[index].max)){ - return setParamValInt(index,ExtToInt(index,value)); + ret = setParamValInt(index,ExtToInt(index,value)); + printParamDef(index); }else{ - printf("! Value %li out of range [min:%li max:%li]",value,params[index].min,params[index].max); - return 0; + printf("! Value %li out of range [min:%li max:%li]\r\n",value,params[index].min,params[index].max); } + return ret; } // Set Param with value from internal format @@ -242,31 +245,31 @@ int32_t getParamValInt(uint8_t index) { // Set watch flag for parameter int8_t watchParamVal(uint8_t index){ - boolean_T found = 0; - uint8_t size = sizeof(watchParamList); - for(int i=0;i0) printf("\r\n"); + if (watchParamListSize>0) printf("\r\n"); return 1; } @@ -289,19 +292,19 @@ int8_t printAllParamHelp(){ printf("? Commands\r\n"); for(int i=0;i