[Tutor] Consistant Overhead Byte Stuffing (COBS) algorithm help

Michael Cotherman mjcother at yahoo.com
Tue Oct 4 07:26:52 CEST 2005


Hello, I am really new to python and really have not
programmed much since college, I played with it a
little now, and it seems to be a tool I feel
comfortable implementing a personal project in.

I wish to communicate via a serial port to a device
that is using COBS. I wish to configure it and then
receive data at an interval and store it in a rrd.
The device itself receives telemetry information from
other devices, and this telemetry info is going to get
graphed and made available via a web page.

The serial port will be com or tty, for which I
prepped by playing with pygarmin and miniterm. The
device is working and communicable? via a program
written in .NET by a friend of the friend who gave it
to me. The program has so many things I wish to change
that it would be easiest to start from scratch. I have
some of the source for bits and pieces that may be
needed.

The data coming in/going out will be COBS encoded,
which changes/escapes all 0x00 bytes, then uses a 0x00
byte for the framing.  


COBS theory is explained here:
http://www.stuartcheshire.org/papers/COBSforToN.pdf

and it looks like a version written in c is at:
http://gtk-gnutella.sourceforge.net/doxygen/cobs_8c.htm


I would initially be happy creating a cobs.py and then
modding the initial 1.1 release of miniterm and seeing
if I could listen to the device... The device will be
sending packets of 2-12 bytes at regular intervals
(99% will be 7 byte packets every minute or so), and I
can just move the serial cable over from the com port
with the working application to the cobs-miniterm one
to see if I am getting the right.

Thanks in advance!

-mike
clearwater, fl


		
__________________________________ 
Yahoo! Mail - PC Magazine Editors' Choice 2005 
http://mail.yahoo.com


More information about the Tutor mailing list