-
3. Control command for decoder chip
Important
:
This chapter describes low level command for scanner control function. If you already USI to
do scanner programming, you don’t need to care about this chapter. In general, it is not suggested to use
level command to control scanner, because there are timing issue on serial communication programming ,
and it is always need communication expert to do that and it is hard to explain it on document.
When Host prepare to send a command to hamster, it must first check CTS, if CTS is high, then Host
must set the RTS to high then clear RTS to low to wake up the Hamster.
Special Command for control
command Format
Comment
Control
Esc,80H+SOH(01H)
Let Hamster enter slaving status. At this
status Hamster just receives commands and
executes it until it receives Release command
or timeout (about 10s). Otherwise, the timeout
is about 1s as the interval of commands.
Release
Esc,80H+EOT(04H)
Let Hamster exit from slaving status.
Execute/
Enquiry
Esc,80H+ENQ(05H)
Let Hamster execute the previous saved command
and check hamster if there is a result of
previous executed command to send to Host. If
previous saved command have already executed
and no result to send, hamster do not reply
until there is a result. If Host receive a
result but the BCC is wrong, it can re-send
ENQ to re-send result again.
ACK
Esc,80H+ACK(06H)
It is from Hamster to Host. If Hamster receive
a command and this command do not need send
message back, Hamster reply the ACK.
NAK
Esc,80H+NAK(15H)
It is from Hamster to Host. Hamster require
the Host to re-send command again, normally
when received a wrong BCC, it can send the
NAK. The Hamster sends back NAK whenever it
receives a no sense command.
COMMAND FROM HOST TO HMASTER
Command format:Esc,Lh,Ll,n,m,S1,...,Si,BCC
Here: Esc is Escape code(H'1B)
Lh/Ll is command's length when the Lh.b7 is 0, Lh is high byte, Ll is low
byte, count from n to BCC. When Lh.b7=1 it is a two bytes special command.
n is command ID
m is operation: Normally for setting commands the 0 means setting, 1
default, 2 read current setting, 3 special operation. When m=1 or 2, the S1
should be 0 for bits or one character setting. If the setting is a string,
like pre_amble, the read or default command should not contain any Si byte.
The special meaning in a command please refers the command definition.
Si is setting/read data.
BCC: it equals to XOR of all the bytes before the BCC.
Conventions: S1.bj means the number j bit of byte S1.
The expression 1~64:2 means that the number is between 1 and 64, the default
is 2.
Notice: Any interval in a command transmit can not exceed 1 second.
Command Format
Comment
Initial/
Warm start
Esc,0,2,0,BCC
Hamster initializes the ports and flags
according to the setting in RAM.
Default
Esc,0,2,1,BCC
Reset setting in RAM and initialize
Mpu_idle
Esc,0,4,2,m,S1,BCC
S1 is 0~3:0 is sleep mode,1 is watch mode,
2_is standby mode.
Beep
Esc,0,4,3,m,S1,BCC
S1 0 none,1 low,2 medium,3 high,4