Data Sheet
www.veear.eu 
40  EasyVR 3 (Plus)  User Manual (1.0.17) 
Communication Examples 
These are some examples of actual command and status characters exchanged with the EasyVR module by 
host programs and the expected program flow with pseudo-code sequences. 
The pseudo-instruction SEND transmits the specified character to the module, while  RECEIVE waits for a 
reply  character  (a  timeout  is  not  explicitly  handled  for  simple  commands,  but  should  be  always 
implemented if possible). 
Also, the OK and ERROR routines are not explicitly defined, since they are host and programming language 
dependent, but appropriate code should be written to handle both conditions. 
Lines beginning with a # (sharp) character are comments. 
Please  note  that  in  a  real  programming  language  it  would  be  best  to  define  some  constants  for  the 
command  and  status  characters,  as  well  as  for  mapping  numeric  arguments,  that  would  be  used 
throughout the program, to minimize the chance of repetition errors and clarify the meaning of the code. 
See the Protocol header file for sample definitions that can be used in a C language environment. 
Here  below  all  the  characters  sent  and  received  are  written  explicitly  in  order  to  clarify  the 
communication protocol detailed in the previous sections. 
Recommended wake up procedure 
# wake up or interrupt recognition or do nothing 
# (uses a timeout or max repetition count) 
DO 
  SEND 'b' 
LOOP UNTIL RECEIVE = 'o' 
Recommended setup procedure 
# ask firmware id 
SEND 'x' 
IF NOT RECEIVE = 'x' THEN ERROR 
# send ack and read status (expecting id=0) 
SEND ' ' 
id = RECEIVE 
IF id = 'A' THEN 
  # it’s a VRbot 
ELSE IF id = 'B' THEN 
  # it’s an EasyVR 
ELSE 
  # next generation? 
END IF 
# set language for SI recognition (Japanese) 
SEND 'l' 
SEND 'C' 
IF RECEIVE = 'o' THEN OK ELSE ERROR 
# set timeout (5 seconds) 
SEND 'o' 
SEND 'F' 
IF RECEIVE = 'o' THEN OK ELSE ERROR 










