Example #1
0
FC = int(argv[3])
ADD = int(argv[4])
LEN = int(argv[5])
lLEN = LEN & 0x00FF
mLEN = LEN >> 8
if (FC < 3): BYT = (lambda x: x/8 if (x%8==0) else x/8+1)(LEN)    #Round off the no. of bytes
else: BYT = LEN*2
lADD = ADD & 0x00FF
mADD = (ADD & 0xFF00)>>8
s = Serial('/dev/'+PORT, timeout=0.5)
s.baudrate = 9600
s.parity = "E"
s.databits = 8
s.stopbits = 1
s.handshake = "none"
s.datatype = "raw"
cmd = array('B', [UNIT,FC,mADD,lADD,mLEN,lLEN])
cmd.extend(CRC(cmd))
#lcrc = crc & 0x00FF
#mcrc = (crc & 0xFF00)>>8
#cmd = array('B', [UNIT,FC,mADD,lADD,mLEN,lLEN,lcrc,mcrc]) 
while 1:
  s.write(cmd)
  print cmd
  sleep(1)
  read = s.read(255)
  r = ''
  if len(read) > 0: r = unpack('B'*len(read),read)
  print 'Received =', r 
#  s.flushInput()
#  s.flushOutput()
lLEN = LEN & 0x00FF
mLEN = LEN >> 8
if (FC < 3):
    BYT = (lambda x: x / 8
           if (x % 8 == 0) else x / 8 + 1)(LEN)  #Round off the no. of bytes
else:
    BYT = LEN * 2
lADD = ADD & 0x00FF
mADD = (ADD & 0xFF00) >> 8
s = Serial('/dev/' + PORT, timeout=0.5)
s.baudrate = 9600
s.parity = "E"
s.databits = 8
s.stopbits = 1
s.handshake = "none"
s.datatype = "raw"
cmd = array('B', [UNIT, FC, mADD, lADD, mLEN, lLEN])
cmd.extend(CRC(cmd))
#lcrc = crc & 0x00FF
#mcrc = (crc & 0xFF00)>>8
#cmd = array('B', [UNIT,FC,mADD,lADD,mLEN,lLEN,lcrc,mcrc])
while 1:
    s.write(cmd)
    print cmd
    sleep(1)
    read = s.read(255)
    r = ''
    if len(read) > 0: r = unpack('B' * len(read), read)
    print 'Received =', r
    #  s.flushInput()
    #  s.flushOutput()