From 1aae80e8d73036baf34005106e8321e19463d776 Mon Sep 17 00:00:00 2001 From: Pawel Jalocha Date: Mon, 26 Feb 2018 21:19:21 +0000 Subject: [PATCH] Now unified with STM32 --- main/parameters.h | 60 +++++++++++++++++++---------------------------- 1 file changed, 24 insertions(+), 36 deletions(-) diff --git a/main/parameters.h b/main/parameters.h index 7ad28d3..6db30c7 100644 --- a/main/parameters.h +++ b/main/parameters.h @@ -51,12 +51,19 @@ class FlashParameters int16_t GeoidSepar; // [0.1m] Geoid-Separation, apparently ArduPilot MAVlink does not give this value (although present in the format) uint16_t SoftPPSdelay; // [ms] - char Pilot[16]; - char Manuf[16]; - char Type[16]; - char Reg[16]; - char Base[16]; - char ICE[16]; + + static const uint8_t InfoParmLen = 16; // [char] max. size of an infp-parameter + static const uint8_t InfoParmNum = 6; // [int] number of info-parameters + char *InfoParmValue(uint8_t Idx) { return Idx='0') && (ch<='9') ) return 1; // numbers if( (ch>='A') && (ch<='Z') ) return 1; // uppercase letters if( (ch>='a') && (ch<='z') ) return 1; // lowercase letters - if(ch=='.') return 1; - if(ch=='-') return 1; - if(ch=='+') return 1; - if(ch=='_') return 1; + if(strchr(".@-+_/#", ch)) return 1; // any of the listed special characters return 0; } static int8_t Read_String(char *Value, const char *Inp, uint8_t MaxLen) @@ -293,18 +298,9 @@ class FlashParameters TimeCorr=Corr; return 1; } if(strcmp(Name, "GeoidSepar")==0) { return Read_Float1(GeoidSepar, Value)<=0; } - if(strcmp(Name, "Pilot")==0) - { return Read_String(Pilot, Value, 16)<=0; } - if(strcmp(Name, "Manuf")==0) - { return Read_String(Manuf, Value, 16 )<=0; } - if(strcmp(Name, "Type")==0) - { return Read_String(Type , Value, 16)<=0; } - if(strcmp(Name, "Reg")==0) - { return Read_String(Reg , Value, 16)<=0; } - if(strcmp(Name, "Base")==0) - { return Read_String(Base , Value, 16)<=0; } - if(strcmp(Name, "ICE")==0) - { return Read_String(ICE , Value, 16)<=0; } + for(uint8_t Idx=0; Idx