|
@@ -15,7 +15,7 @@ const uint8_t fsqvbl_CommandHandlerServiceReboot = 4; // SERVICE:REBOOT
|
|
|
// Supported arguments: 1=CHARACTER
|
|
// Supported arguments: 1=CHARACTER
|
|
|
DECLARE_SCPI_ARGS_C( eScpiArg_Numeric );
|
|
DECLARE_SCPI_ARGS_C( eScpiArg_Numeric );
|
|
|
|
|
|
|
|
-DECLARE_ARGUMENT_NUMERIC_VALUES_I32(AllowedValues_ServiceState, 0, 1);
|
|
|
|
|
|
|
+DECLARE_ARGUMENT_NUMERIC_VALUES_I32(AllowedValues_ServiceState, 0, 9999999999);
|
|
|
DECLARE_ARGUMENT_NUMERIC_VALUES_I32(AllowedValues_Serial, 0, 99999999);
|
|
DECLARE_ARGUMENT_NUMERIC_VALUES_I32(AllowedValues_Serial, 0, 99999999);
|
|
|
DECLARE_ARGUMENT_NUMERIC_VALUES_I32(AllowedValues_Model, 0, 255);
|
|
DECLARE_ARGUMENT_NUMERIC_VALUES_I32(AllowedValues_Model, 0, 255);
|
|
|
|
|
|
|
@@ -85,7 +85,10 @@ static const struct fFSeqEntry_t * fsqf_CommandHandlerService( const struct fFSe
|
|
|
// process first argument (switch state)
|
|
// process first argument (switch state)
|
|
|
const sNumericEntry_t * ne = SCPI_PROCESS_ARGUMENT_NUMERIC(common_ctx, &AllowedValues_ServiceState, 0);
|
|
const sNumericEntry_t * ne = SCPI_PROCESS_ARGUMENT_NUMERIC(common_ctx, &AllowedValues_ServiceState, 0);
|
|
|
if( ScpiNumericSuccess != ne->error ) break;
|
|
if( ScpiNumericSuccess != ne->error ) break;
|
|
|
- NFMClass->properties.isServiceMode = ne->Value.demicalInteger;
|
|
|
|
|
|
|
+ if (ne->Value.demicalInteger == 65534 || ne->Value.demicalInteger == 0)
|
|
|
|
|
+ {
|
|
|
|
|
+ NFMClass->properties.isServiceMode = ne->Value.demicalInteger;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if(NFMClass->properties.isServiceMode)
|
|
if(NFMClass->properties.isServiceMode)
|
|
@@ -100,12 +103,12 @@ static const struct fFSeqEntry_t * fsqf_CommandHandlerService( const struct fFSe
|
|
|
if(NFMClass->methods.xMemoryProtection.check())
|
|
if(NFMClass->methods.xMemoryProtection.check())
|
|
|
NFMClass->methods.xMemoryProtection.disable();
|
|
NFMClass->methods.xMemoryProtection.disable();
|
|
|
|
|
|
|
|
- char serial[10];
|
|
|
|
|
|
|
+ char serial[8];
|
|
|
memset(&serial, 0x30, sizeof(serial));
|
|
memset(&serial, 0x30, sizeof(serial));
|
|
|
|
|
|
|
|
int numberOfDigits = common_ctx->argTokens[0].stail - common_ctx->argTokens[0].shead;
|
|
int numberOfDigits = common_ctx->argTokens[0].stail - common_ctx->argTokens[0].shead;
|
|
|
const char* symbol = common_ctx->argTokens[0].stail - 1; // also skip \n
|
|
const char* symbol = common_ctx->argTokens[0].stail - 1; // also skip \n
|
|
|
- char* serialLastSymb = &serial[9];
|
|
|
|
|
|
|
+ char* serialLastSymb = &serial[7];
|
|
|
|
|
|
|
|
while(numberOfDigits--)
|
|
while(numberOfDigits--)
|
|
|
*serialLastSymb-- = *symbol--;
|
|
*serialLastSymb-- = *symbol--;
|