Serial Port data dumping program

Paul Hamilton paulh at bdug.org.au
Mon Sep 5 02:31:19 PDT 2005



> -----Original Message-----
> From: owner-freebsd-questions at freebsd.org 
> [mailto:owner-freebsd-questions at freebsd.org] On Behalf Of Glenn Dawson
> Sent: Monday, 5 September 2005 5:19 PM
> To: Paul Hamilton; freebsd-questions at freebsd.org
> Subject: Re: Serial Port data dumping program
> 
> 
> At 01:08 AM 9/5/2005, Paul Hamilton wrote:
> >Hi,
> >
> >I am trying to debug a Mini SSC FreeBSD program that I am trying to 
> >write. It would be nice to be able to be able to see what is being 
> >transmitted.  It would help in the debugging of my program.
> >
> >Here is a link to a Windows based Mini SSC program: 
> >http://www.rentron.com/Mini-ssc.htm  Using this, I can control the 
> >servo, so I know the hardware and cables work etc.
> >
> >I have been using the 'minicom' port to dump the received data.  
> >However, it doesn't seem to collect the data properly.  Data 
> coming in 
> >should be in accordance with the SSC protocol, ie:
> >
> >byte 1:    0xFF    // sync byte
> >
> >byte 2:   0x01 - 0x25f    //servo address
> 
> How do you fit 0x25f into a single byte? (I count 10 bits required)
> 

Yep, a typo, should have been:  0xff

> 
> >byte 3:   0x00 - 0x255   // servo position
> 
> Same question as above.

Brain thinking in hex, fingers working in decimal ;-)

> 
> 
> >Here is a dump of the collected data (via minicom):
> >
> >#hexdump  minicom.cap
> >0000000 45ff 49ff 4cff 50ff 53ff 57ff 5aff 57ff
> >0000010 53ff 50ff 4cff 49ff 45ff 45ff 01ff ff82
> >0000020 8101 01ff ff80 8202 02ff ff81 8002 03ff
> >0000030 ff83 8203 03ff ff81 8003 7fff 7fff 7eff
> >0000040 01ff ff7f 7f02 03ff ff7f ff7f 8001 02ff
> >0000050 ff80 8003 04ff ff80 ff80 8006 07ff 0080
> >
> >Looking at the first row of data, it is only showing two bytes, sync 
> >and servo position.  Rows 020 and 030, shows some servo 
> addresses, but 
> >sometimes, together!  Both the mini-ssc.exe and minicom program are 
> >using 9600 8n1, so why is it showing this?  Is there 
> something I have 
> >missed in the setup of minicom?  Looks like this is a serial buffer 
> >problem.
> 
> You probably have byte ordering issues.  Does something like this 
> look more reasonable?
> 
> 0000000 ff45 ff49 ff4c ff50 ff53 ff57 ff5a ff57
> 0000010 ff53 ff50 ff4c ff49 ff45 ff45 ff01 82ff
> 0000020 0181 ff01 80ff 0282 ff02 81ff 0280 ff03
> 0000030 83ff 0382 ff03 81ff 0380 ff7f ff7f ff7e
> 0000040 ff01 7fff 027f ff03 7fff 7fff 0180 ff02
> 0000050 80ff 0380 ff04 80ff 80ff 0680 ff07 8000
> 
> -Glenn

Yes, somewhat better, but still missing bytes here and there, ie. First
line, all the servo address bytes etc.

Why would the bytes be swapped around?

Cheers,

Paul

> 
> 
> >Is there a better program I could use to display the incoming serial 
> >data in hex?
> >
> >NOTE:  I only use two wires, signal ground and Tx Data (connected to 
> >the Rx Data).  The servo does respond correctly, so I know 
> the serial 
> >data must be in the correct 3 byte format.
> >
> >Looking fwd to your thoughts.
> >
> >Cheers,
> >
> >Paul Hamilton
> >
> >_______________________________________________
> >freebsd-questions at freebsd.org mailing list 
> >http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> >To unsubscribe, send any mail to 
> >"freebsd-questions-unsubscribe at freebsd.org"
> 
> _______________________________________________
> freebsd-questions at freebsd.org mailing list 
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to 
> "freebsd-questions-unsubscribe at freebsd.org"
> 
> 



More information about the freebsd-questions mailing list