![background image](http://html1.mh-extra.com/html/kramer/vp-701xl/vp-701xl_operation-manual_2001757048.webp)
43
The ACK flag will be returned as 0 if the command is invalid for some reason – for
example a bad FUNCTION, WINDOW, OUTPUT or PAYLOAD value. An ACK=0
message will be otherwise identical to the one you sent, so you know exactly which
message has the error.
Any changes made to the unit using the front panel controls will also cause the full
20 byte message to be sent indicating the change that has occurred, thus enabling
a program to stay ‘in-sync’ with the unit. In some cases (such as the execution of a
macro) multiple 20 bytes messages will be sent indicating all the parameters that
have been changed.
Only one message should be sent to the unit, another message can’t be sent until a
specific response is received from the unit (the user should look for a message with
the same WINDOW, OUTPUT and FUNCTION values as they sent). If no
message is received back within 1 second, there is likely to be a hardware
communication problem (or wrong baud rate, etc.).
If absolutely required, to simplify programming the user may send packets one after
the other with around 100ms (100 milliseconds) between each one. However, this
will not work for all packets (such as Zooming into Testcards or changing Logos)
since this will cause the unit’s micro-controller to be busy, so the user must
experiment and satisfy themselves that this is possible.
10.2
Packet format
Below is a representation of data bytes in a single packet for a ‘Write’ to the unit to
set a value:
SOP CMD CHA WINDOW OUTPUT FUNCTION PAYLOAD x 3 CS EOP
Below is a representation of data bytes in a single packet for a ‘Read’ to the unit to
get a value:
SOP CMD CHA WINDOW OUTPUT FUNCTION CS EOP
The table below details the function of each part of the packet:
Packet part Function
SOP
(Start of
packet)
This is always the ASCII letter 'F' to indicate the packet start.
CMD
(Command)
ASCII-hex byte to indicate the type of command being sent.
Each bit in the byte has a different function. Currently only the following
bits are defined:
Bit 7 = Write (0) or Read (1) request. Messages from the unit are
always Writes.
Bit 6 = ACK bit. Should be set to 0 for messages to the unit. ACK=1