Errors

It is inevitable that you will run into some kind of error situations sooner or later. You may have typed a command wrong, or given a command to the wrong Slave. Or a command may cause en error for some reason. Perhaps a parameter was wrong or out of range. Or an error was generated due to external conditions.
Slaves report the success of a Command with one of 3 different Prompts. Both the OK Prompt => and the Syntax Error Prompt ?> are clear enough but the Execution Error Prompt !> can be caused by a great number of reasons.
That's where the System Command *ERROR? comes in handy. It returns a description of the of success status of the last given Command.

Below you can find a list of common error descriptions, which can be generated by the *ERROR? Command. Some of them are common to all Slaves, others may only be generated by some of them. In any case the list can be expanded with any error description you can come up with for your own Slaves.

Common Errors

NO ERROR

This message is returned by the *ERROR? command if the last Command returned an OK Prompt =>. The Command was accepted and didn't generate any error.

SYNTAX ERROR

This message is returned by the *ERROR? command if the previous Command was not understood and thus had generated a Syntax Error Prompt ?>.
You may have spelled the command wrong, or you gave the command to the wrong Slave.

RANGE ERROR

One of your parameters was out of range, and couldn't be accepted. The command that generated the Execution Error Prompt !> was not executed because of this error.
It's up to the Slave's software to define the legal ranges for value Parameters.

MISSING PARAMETER ERROR

You forgot to specify at least one of the required parameters. The command that generated the Execution Error Prompt !> was not executed because of this error.

TOO MANY PARAMETERS ERROR

You entered more parameters than are required for the command. The command that generated the Execution Error Prompt !> was not executed because of this error.

NO PARAMETERS ALLOWED ERROR

You entered Parameters after a command that didn't need any. The command that generated the Execution Error Prompt !> was not executed because of this error.

ILLEGAL PARAMETER ERROR

You specified a Parameter that could not be accepted by the command. The command that generated the Execution Error Prompt !> was not executed because of this error.

PARAMETER ERROR

This message is a combination of any of the above listed Parameter related errors. It is intended for "light weight" Slaves with only limited program memory resources. The command that generated the Execution Error Prompt !> was not executed because of this error.

ABORTED ERROR

The previous command was aborted before it was completed. Both the Slave and the Master may have caused the command to be aborted.
Please note that most commands are executed so fast that they can not be aborted.

NOTHING TO REPEAT ERROR

A request was made to repeat the last command by sending a CR character on an empty line while no previous commands were given. This will only happen if the Slave has not executed any commands after it was switched on (or was reset in any way).

COMMAND NOT SUPPORTED

The Command you entered is not supported by this Slave. This error is usually only generated when an unimplemented system Command was given.

HOLD MODE DEACTIVATED

This error is generated when you enter the *HOLD command while the Slave was already waiting for a command to be put in hold. Therefore the Hold mode is deactivated.
In fact this is not really an error, it is simply the way to deactivate an uncompleted Hold mode.

NOTHING IN HOLD ERROR

You gave the *TRIG command when no command was placed in Hold. This means that the previous command was *HOLD, directly followed by the *TRIG command.
This error causes the *HOLD mode to be deactivated, which means that the next command is directly executed instead of being placed in Hold.

HOLD NOT ACTIVE ERROR

This error is generated because you gave the *TRIG command while the Hold mode is not active at all.

HOLD MODE ACTIVE ERROR

A command was given while another command was placed in Hold. This means that actually the Slave was waiting for the *TRIG command.
This error causes the Hold mode to be deactivated, without executing the command in Hold nor the command which caused this error.