#ifndef SCPI_NUMERIC_H #define SCPI_NUMERIC_H #include #include "app/scpi/scpi_base.h" // eScpiStatus_t #include "app/scpi/scpi_numeric_types.h" // sProcessNumericEntry_t, sStrToken_t, sNumericRange_t // @processNumericArgument // Numeric argument validation and conversion function. // Processes specified SCPI Numeric Parameter (Numeric Program Data) with the most length SCPI_MAX_NUMBER_LENGTH. // References: // "7.7.2 ", [1] // "7.7.2.2 Encoding Syntax", [1] // "7.7.4 ", [1] // "7.7.4.2 Encoding Syntax", [1] // Parameters: // @pObj - numeric conversion context; // @argToken - numeric argument token to process; // @entityType - SCPI entity type [eScpiEntityType_t] (see @getParsedEntityDetails, 'peEntityType' argument) // @range - allowed values range structure // Return: // - true: parameter processed successfully, the result is stored inside numeric conversion context // - false: paramenter processing failed. bool processNumericArgument( sProcessNumericEntry_t * pObj, const sStrToken_t * argToken, uint8_t entityType, const sNumericRange_t * range ); #endif