Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Extended script GP4301TW
- // Master:RS232C -> Uart -> I2C
- // Slave:I2C -> Uart -> RS232C
- // Clear Data buffer
- _strset(databuf0, "")
- _strset(databuf1, "")
- _strset(databuf2, "")
- _strset(databuf3, "")
- // Clear internal device
- memset([w:[#INTERNAL]USR00010], 0, 10)
- memset([w:[#INTERNAL]USR00020], 0, 10)
- // I2C write command string setting
- // I2C write command: "S" "addr" "bytes" "data1" "data2" "..." "P"
- [w:[#INTERNAL]USR00011]=0x0053 // "S"
- [w:[#INTERNAL]USR00012]=0x00BE // "addr"
- // Input value over 0x00FF
- if([w:[#INTERNAL]USR00000]>0x00FF)
- {
- [w:[#INTERNAL]USR00010]=6
- [w:[#INTERNAL]USR00013]=2 // "bytes"
- [w:[#INTERNAL]USR00014]=[w:[#INTERNAL]USR00001] "data1"
- [w:[#INTERNAL]USR00015]=[w:[#INTERNAL]USR00002] "data2"
- [w:[#INTERNAL]USR00016]=0x0050 // "P"
- }
- else
- {
- [w:[#INTERNAL]USR00010]=5
- [w:[#INTERNAL]USR00013]=1 // "bytes"
- [w:[#INTERNAL]USR00014]=[w:[#INTERNAL]USR00002] "data1"
- [w:[#INTERNAL]USR00015]=0x0050 // "P"
- [w:[#INTERNAL]USR00016]=0x0000
- }
- endif
- // Store command string in data buffer
- _ldcopy(databuf0, [w:[#INTERNAL]USR00011], [w:[#INTERNAL]USR00010])
- _strlen([w:[#INTERNAL]USR00020], databuf0)
- // Reset SIO port
- [c:EXT_SIO_CTRL00]=1
- [c:EXT_SIO_CTRL01]=1
- [c:EXT_SIO_CTRL02]=1
- // Wait 200ms
- _wait(2)
- // Send command
- IO_WRITE_EX([p:EXT_SIO], databuf0, [w:[#INTERNAL]USR00020])
Advertisement
Add Comment
Please, Sign In to add comment