Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #62093

Re: Small script to check serial port sucking down system resources.

Date 2013-12-16 19:05 +0000
From MRAB <python@mrabarnett.plus.com>
Subject Re: Small script to check serial port sucking down system resources.
References <f25bc39b-2626-4019-b789-8d39f2f4772c@googlegroups.com>
Newsgroups comp.lang.python
Message-ID <mailman.4231.1387220710.18130.python-list@python.org> (permalink)

Show all headers | View raw


On 16/12/2013 14:31, sem2jy@gmail.com wrote:
> i am new to python and programming all together.
>
> i wrote a program to watch a serial port and look for a command.
> then send a tcp packet.
> all works great but it takes my processor load to about %25.
> not sure if there is a way to make this more efficient.
>
> import serial
>
> import socket
> HOST = '127.0.0.1'    # The remote host
> PORT = 5250             # The same port as used by the server
> s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
> s.connect((HOST, PORT))
>
> ##vvvvvvvvvvvv
>
> ser = serial.Serial(
>      port='COM10',\
>      baudrate=9600,\
>      parity=serial.PARITY_NONE,\
>      stopbits=serial.STOPBITS_ONE,\
>      bytesize=serial.EIGHTBITS,\
>          timeout=0)
>
> print("connected to: " + ser.portstr)
>
> #this will store the line
> line = []
> c = 0
> while True:
>      for c in ser.readline():
>          line.append(c)
>
>          if c == '1':
>
>              s.send('CG 1-21 ADD 1 reserveisoff 1 \r\n')
>              data = s.recv(1024)
>              print 'Received', repr(data)
>
>              print("one")
>              line = []
>              break
>
>          if c == '2':
>
>              s.send('PLAY 1-1 AMB.mp4 \r\n')
>              data = s.recv(1024)
>              print 'Received', repr(data)
>              s.send('LOADBG 1-1 EMPTY MIX 30 AUTO \r\n')
>              data = s.recv(1024)
>              print 'Received', repr(data)
>              print("two")
>              line = []
>
>              break
>
> s.close()
> ser.close()
>
I think the problem might be that you've set the timeout to 0, so it
doesn't block if there's no data available.

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Small script to check serial port  sucking down system resources. sem2jy@gmail.com - 2013-12-16 06:31 -0800
  Re: Small script to check serial port sucking down system resources. MRAB <python@mrabarnett.plus.com> - 2013-12-16 19:05 +0000
    Re: Small script to check serial port sucking down system resources. Grant Edwards <invalid@invalid.invalid> - 2013-12-16 20:16 +0000

csiph-web