AVS-8X8
Serial communication:
9600 baud
1 start bit
8 data bits
2 stop bits
no parity
AVS-8X8 uses a bit banger Serial communication.
IE: it has no serial buffer
Assumption: computer talking to AVS-8X8 HAS a serial buffer
To talk to AVS-8X8 we need to get it's attention
Send out ASCII "!" untill it echos back same.
Retry every 100ms for 5 times. if no echo then problem in link
Once "!" is echoed back send next ascii character.
same for the next until you sent a total of 10 ascii characters.
(waiting for echo before you send next)
The last ascii character "*" actually tells AVS-8X8 to excute command.
If any echo does not match what you sent then send ascii character "-"
to terminate string.
You will then need to start all over again sending and waiting
of ascii character "!"
Strings starting with:
!0X
are only commands (write only)
00 NOTHING
01 SET_OUT_1_4
02 SET_OUT_5_8
03 SET_OUT_SINGLE
04 SET_IR_ENABLE
05 SET_IR_DISABLE
06 SET_IR_MONITOR_ON
07 SET_IR_MONITOR_OFF
08 SET_X10_ENABLE
09 SET_X10_DISABLE
0A SET_X10_MONITOR_ON
0B SET_X10_MONITOR_OFF
0C SET_IRE_IRM_X10E_X10M
0D NOTHING
0E NOTHING
0F NOTHING
Example:
!040000FC* IR ENABLE
!050000FB* IR DISABLE
!060000FA* IR MONITOR ENABLE
!070000F9* IR MONITOR DISABLE
!080000F8* X10 ENABLE
!090000F7* X10 DISABLE
!0A0000F6* X10 MONITOR ENABLE
!0B0000F5* X10 MONITOR DISABLE
Question status of selection or IR/X10 Enable/monitor
!8100007F* asks what is connected to 1-4 outputs
!8200007E* asks what is connected to 5-8 outputs
!8C000074* asks what is status of IR ENABLE/IR MONITOR/X10 ENABLE/X10 MONITOR
Example:
() = echo back from AVS-8x8
!(!)8(8)1(1)0(0)0(0)0(0)0(0)7(7)F(F)*(*)(8)(1)(1)(2)(3)(4)(3)(9)(*)
| | | |
Output #1 connected to input #-----------------| | | |
Output #2 connected to input #--------------------| | |
Output #3 connected to input #-----------------------| |
Output #4 connected to input #--------------------------|!(!)8(8)2(2)0(0)0(0)0(0)0(0)7(7)E(E)*(*)(8)(2)(5)(6)(7)(8)(B)(0)(*)
| | | |
Output #5 connected to input #-----------------| | | |
Output #6 connected to input #--------------------| | |
Output #7 connected to input #-----------------------| |
Output #8 connected to input #--------------------------|
!(!)8(8)C(C)0(0)0(0)0(0)0(0)7(7)4(4)*(*)(8)(C)(1)(0)(1)(0)(5)(4)(*)
| | | |
IR enable (1=yes/0=no)-----------------------| | | |
IR monitor (1=yes/0=no)--------------------------| | |
X10 enable (1=yes/0=no)-----------------------------| |
X10 monitor (1=yes/0=no)--------------------------------|
Also remember that once " * " is received AVS-8X8 executes command
and is off line while writing to EEprom to save last state.
So wait for " * " then you may need to wait some additional time
before you send your next string.
But sending "!" waiting then sending "!" routine should compensate
for this time delay (100-300ms)