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