AMU Library 3.0
C/C++ library for communicating with AMU (Aerospace Measurement Unit) devices
Loading...
Searching...
No Matches
units.c File Reference
#include <string.h>
#include "parser.h"
#include "units.h"
#include "utils_private.h"
#include "utils.h"
#include "error.h"
#include "lexer_private.h"

Go to the source code of this file.

Functions

static const scpi_unit_def_t * translateUnit (const scpi_unit_def_t *units, const char *unit, size_t len)
static const char * translateUnitInverse (const scpi_unit_def_t *units, const scpi_unit_t unit)
static scpi_bool_t transformNumber (scpi_t *context, const char *unit, size_t len, scpi_number_t *value)
scpi_bool_t SCPI_ParamNumber (scpi_t *context, const scpi_choice_def_t *special, scpi_number_t *value, scpi_bool_t mandatory)
size_t SCPI_NumberToStr (scpi_t *context, const scpi_choice_def_t *special, scpi_number_t *value, char *str, size_t len)

Variables

const scpi_unit_def_t scpi_units_def []
const scpi_choice_def_t scpi_special_numbers_def []

Function Documentation

◆ SCPI_NumberToStr()

size_t SCPI_NumberToStr ( scpi_t * context,
const scpi_choice_def_t * special,
scpi_number_t * value,
char * str,
size_t len )

Convert scpi_number_t to string

Parameters
context
valuenumber value
strtarget string
lenmax length of string including null-character termination
Returns
number of chars written to string

Definition at line 475 of file units.c.

◆ SCPI_ParamNumber()

scpi_bool_t SCPI_ParamNumber ( scpi_t * context,
const scpi_choice_def_t * special,
scpi_number_t * value,
scpi_bool_t mandatory )

Parse parameter as number, number with unit or special value (min, max, default, ...)

Parameters
context
valuereturn value
mandatoryif the parameter is mandatory
Returns

Definition at line 371 of file units.c.

◆ transformNumber()

scpi_bool_t transformNumber ( scpi_t * context,
const char * unit,
size_t len,
scpi_number_t * value )
static

Transform number to base units

Parameters
context
unittext representation of unit
lenlength of text representation
valuepreparsed numeric value
Returns
TRUE if value parameter was converted to base units

Definition at line 341 of file units.c.

◆ translateUnit()

const scpi_unit_def_t * translateUnit ( const scpi_unit_def_t * units,
const char * unit,
size_t len )
static

Convert string describing unit to its representation

Parameters
unitsunits patterns
unittext representation of unknown unit
lenlength of text representation
Returns
pointer of related unit definition or NULL

Definition at line 295 of file units.c.

◆ translateUnitInverse()

const char * translateUnitInverse ( const scpi_unit_def_t * units,
const scpi_unit_t unit )
static

Convert unit definition to string

Parameters
unitsunits definitions (patterns)
unittype of unit
Returns
string representation of unit

Definition at line 317 of file units.c.

Variable Documentation

◆ scpi_special_numbers_def

const scpi_choice_def_t scpi_special_numbers_def[]
Initial value:
= {
{ "MINimum", SCPI_NUM_MIN},
{ "MAXimum", SCPI_NUM_MAX},
{ "DEFault", SCPI_NUM_DEF},
{ "UP", SCPI_NUM_UP},
{ "DOWN", SCPI_NUM_DOWN},
{ "NAN", SCPI_NUM_NAN},
{ "INFinity", SCPI_NUM_INF},
{ "NINF", SCPI_NUM_NINF},
{ "AUTO", SCPI_NUM_AUTO},
{NULL, -1} ,
}
@ SCPI_NUM_NINF
Definition types.h:311
@ SCPI_NUM_INF
Definition types.h:310
@ SCPI_NUM_MIN
Definition types.h:304
@ SCPI_NUM_DEF
Definition types.h:306
@ SCPI_NUM_NAN
Definition types.h:309
@ SCPI_NUM_UP
Definition types.h:307
@ SCPI_NUM_DOWN
Definition types.h:308
@ SCPI_NUM_AUTO
Definition types.h:312
@ SCPI_NUM_MAX
Definition types.h:305

Definition at line 275 of file units.c.

◆ scpi_units_def

const scpi_unit_def_t scpi_units_def[]

Definition at line 65 of file units.c.