Open mvladic opened 8 years ago
It is the matter of view. This parser works like following
*ESE #B
and now, only allowed characters are 0
or 1
01010
and finish parsing this parameter, because next character is not 0
or 1
,
to separate next parameter or end of string, but 2
is found -> invalid characterSame problem will be in all other parameters. If you write unexpected character, it will just responds with SCPI_ERROR_INVALID_CHARACTER
and not more specific error.
To solve this, I must introduce "allowed but erroneous" characters for every parameter type and handle this completely different.
So
I understand the problem. This is certainly minor issue and also I just checked SCPI specification again and found following:
-101 Invalid character [A syntactic element contains a character which is invalid for that type; for example, a header containing an ampersand, SETUP&. This error might be used in place of errors -114, -121, -141, and perhaps some others.]
So, technically scpi-parser is right here because -101 might be used instead of -121.
I think command
*ESE #B01010210
should generateSCPI_ERROR_INVAL_CHAR_IN_NUMBER
error (here, character'2'
is invalid). Currently, parser generates three(!)SCPI_ERROR_INVALID_CHARACTER
errors.