Jump to content
Brian Enos's Forums... Maku mozo!

DIY Serial Cable for the ProChorno?


Recommended Posts

Hi all. Is there anything I have to do on the ProChrono to get it to talk? I've got the USB-TTL dongle, hooked up as shown in this thread. I can see data going out to the chrono but nothing coming back.

Or - do I need to record *new* data to see it on the program? I've got a string of shots in memory I'm trying to display.

Link to comment
Share on other sites

:000000037D - The 7D is the LRC Checksum Byte (Last two charaters).

The reason it decrements is because your command is incrementing, and since the LRC is subtracted from 255, it's value gets smaller by 1 as your command increments by 1.

Richard

I figure I'll keep this thread going with the info I learn about the ProChrono interface as I try putting together my program. Maybe someone ca use it in the future. After some tonight's hacking session it looks like these are the commands the pcRemote Software uses to communicate with ProChrono:

Get shot(?): :000000037D

Get Stats: :000000027E

Get Velocities: :000001017E

String Change: :000000057B

Redisplay: :0000000878

Review: :000000047C

Delete Shot: :000000067A

Delete String: :0000000779

I was able to get these commands to work by copying and pasting them into 'hyper terminal'. Typing them in didn't seem to work. I also found out that if I gave the ProChrono enough bogus input (ex. hitting enter a bunch of times) it would spew a string with the string and shot number.

I haven't been able to decipher the output of the Get Shot/Stats/Velocities commands yet. Unfortunately, the only Windows computer I have in the house is an old IBM Thinkpad T20 with a serious hardware problem. It locks up all the time and sometimes refuses to reboot after it's been power cycled. I really can't wait to get the ProChrono working with my MacBook Pro. I might head down to the MIT Flea Market tomorrow morning to see if I can pick up another old Thinkpad so that I'm not forced to reboot every couple of minutes.

Edit - I just noticed something interesting. Here are the commands in numerical order:

Get Stats: :000000027E

Get shot: :000000037D

Review: :000000047C

Strg Chg: :000000057B

Del Shot: :000000067A

Del String: :0000000779

Redisp: :0000000878

Get Vel: :000001017E

They seem to be in the form <CMD NUM>7<CMD NUM> where the first number increments and the last number decrements. I'll have to do some math to see if the Get Velocities command fits in this pattern. I'm too tired tonight. I also wonder what the hypothetical first command (:000000017F) does. Hopefully, it's not the self destruct sequence.

Link to comment
Share on other sites

Here is a bone....

A little more info. It's of course all transmitted in Ascii Hex. Always starts with ":"

: Starting char

xx String Number

xx Shot Number

xx Command

xx LRC of above byte excluding the ':'

Each command is returned by either an ACK message, the data requested, or a Nack message.

The data requested can be returned in several different formats depending on the command sent.

Richard

Link to comment
Share on other sites

Novice here, so you're help and advice is greatly appreciated.

Background:

I have a Cable USB Serial 3.3V to 3.5MM Plug (TTL-232R-3V3-AJ from Digikey) and thought, with the ProChrono software, I'd be able to just plug up the ProChrono to it and my laptop on the appropriate COM Port and have it work. It seems not to be communicating.

My question is, what do I need to do to make it work?

Have any of you tried this connection and what did you do to get it working?

Thanks again for your advice and time.

Edited by dmmccarter
Link to comment
Share on other sites

Novice here, so you're help and advice is greatly appreciated.

Background:

I have a Cable USB Serial 3.3V to 3.5MM Plug (TTL-232R-3V3-AJ from Digikey) and thought, with the ProChrono software, I'd be able to just plug up the ProChrono to it and my laptop on the appropriate COM Port and have it work. It seems not to be communicating.

My question is, what do I need to do to make it work?

Have any of you tried this connection and what did you do to get it working?

Thanks again for your advice and time.

Have you installed the driver for the cable you're using? Not sure whether the driver for the ProChrono product is the same as for the Digikey cable, but that could be an issue.

Also, you need to make sure you've got the correct com port selected. The ProChrono software might not automatically choose the correct one. Just a guess... I have the proChrono cable, not the Digikey one.

Link to comment
Share on other sites

I've decided to play with my Chronograph and computer and am in the process of writing an experimental remote control program for it using Delphi XE2. It's working on a very basic level, in that I can transmit and receive data from the unit. Basic remote control functionality is working, similar to the software provided by Competition Electronics. I asked for and have received a copy of the communication protocol used by the unit, including the definitions of the data packets. This was sent to me by their tech support folks, I just used the form on their page to send an email request for the protocol info. If anyone is still working on a bluetooth/smartphone interface then I'd highly recommend you ask for the protocol sheet. I'm not sure what the legalities are about posting it on a forum, so I'd rather you obtain it from them instead of me, but wanted to let everyone know that it's available to us upon request.

Link to comment
Share on other sites

  • 3 weeks later...

Buy an Oehler !!! :rolleyes:

Finding a used Oehler in good condition will set you back at least $350 or more. Or, you could pay $575 + $20 shipping for a new 35P. I'm typically a "buy once, cry once" kind of buyer, but I could not justify the 300-500% premium for the nominal gain in accuracy with the Oehlers.

Link to comment
Share on other sites

  • 2 months later...

so I have two different usb to serial adapters, one with a pretty comprehensive trace utility and I am pretty good with this kind of stuff, but can't get it to respond. It is acting like the line speed/parity/stop bits are not set correctly yet I can't find any postings where this is spec'd. The best I get is 'Err' when I send it anything and a constant error as their software polls it. Any ideas? Missing something?

Link to comment
Share on other sites

so further reading I guess the Prochrono is TTL level serial. My usb/serial converters are both RS232 levels. I had a dlp usb to serial converter around here that was TTL, so the search is on. Great thread by the way. Sorry for kicking it open.

Link to comment
Share on other sites

well my final problem was the DLP board/chipset I was using was dropping data after each set of 5 shot returned. So I had another DLP FT2232 chip and eval board, hooked it up and it is working perfectly.

I liked the fact that I had all the parts on hand, I just wish I would have had more confidence and waited to order their interface cable. Mine is working but the software is very basic. I am pretty good with VB and Visual C so maybe I will rewrite the thing.

I wish there was a Mac OSX version as I planned to take my Macbook Air to the range.

If I ever write the software I'll post a link up here. Check back in a few months...

Thanks for the posts and all the help.

Link to comment
Share on other sites

  • 6 months later...

I am not experienced at hardware communication, but I thought I would share what I've accomplished so far. I am fairly familiar with using Linux and am now learning python. If someone with more experienced with python and has some suggestions for communicating to the ProChrono via pylibftdi, suggestions are welcome.

*************************************************************************************************************

I have a Raspberry Pi:

(http://www.adafruit.com/products/998)

with Raspbian (Linux distro) installed. (http://www.raspberrypi.org/downloads).

I purchased an FTDI TTL-232R-3V3-AJ from Mouser:

http://www.mouser.com/ProductDetail/FTDI/TTL-232R-3V3-AJ/?qs=Xb8IjHhkxj4CJ2SCCMHPLQ==

Raspbian includes an old version of libftdi in the repositories, but I believe the pylibftdi package suggested to use a more recent version.

I was able to download a more recent version of libftdi and compile it with the instructions here:

http://developer.intra2net.com/mailarchive/html/libftdi/2013/msg00014.html

*************************************************************************************************************

I had to add a config file so that the python code would look in my home directory for the libftdi:

Created file /etc/ld.so.conf.d/libftdi.conf with the following...
# showing location of libftdi
/home/pi/libftdi/libftdi/build/src
Then updated with command 'ldconfig'

*************************************************************************************************************

I was able to use the example code included with libftdi and it gave the following response:

pi@raspberrypi ~/libftdi/libftdi/build/examples $ sudo ./find_all_pp -v 0x0403 -p 0x6001

Found devices ( VID: 0x403, PID: 0x6001 )
------------------------------------------------
FTDI (0xe844f8): FTDI, TTL-232R-3V3-AJ, FTG8Y0T0 (Open OK)

*************************************************************************************************************

Also,

pi@raspberrypi ~/libftdi/libftdi/build/examples $ sudo ./eeprom
Chip type 3 ftdi_eeprom_size: 128
0x000: 04 40 03 04 01 60 00 06 80 2d 08 00 00 02 98 0a .@...`.. .-......
0x010: a2 20 c2 12 00 00 00 00 0a 03 46 00 54 00 44 00 . ...... ..F.T.D.
0x020: 49 00 20 03 54 00 54 00 4c 00 2d 00 32 00 33 00 I. .T.T. L.-.2.3.
0x030: 32 00 52 00 2d 00 33 00 56 00 33 00 2d 00 41 00 2.R.-.3. V.3.-.A.
0x040: 4a 00 12 03 46 00 54 00 47 00 38 00 59 00 30 00 J...F.T. G.8.Y.0.
0x050: 54 00 30 00 02 03 00 00 00 00 00 00 00 00 00 00 T.0..... ........
0x060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
0x070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 5d 0f ........ ......].
0x080: 23 04 dc fb 00 00 72 69 40 68 42 00 00 00 00 00 #.....ri @hB.....
0x090: 00 00 00 00 00 00 00 00 4d 41 44 56 53 43 47 4e ........ MADVSCGN
VID: 0x0403
PID: 0x6001
Release: 0x0600
Bus Powered: 90 mA
Manufacturer: FTDI
Product: TTL-232R-3V3-AJ
Serial: FTG8Y0T0
Checksum : 0f5d
Internal EEPROM
PNP: 1
Channel A has Mode UART VCP
C0 Function: TXDEN
C1 Function: TXDEN
C2 Function: TXDEN
C3 Function: TXDEN
C4 Function: TXDEN

*************************************************************************************************************

I then installed pylibftdi:

https://pypi.python.org/pypi/pylibftdi

And was able to establish contact with the included example code "list_devices.py":

pi@raspberrypi ~/pylibftdi/pylibftdi-0.13/pylibftdi/examples $ sudo python ./list_devices.py
FTDI:TTL-232R-3V3-AJ:FTG8Y0T0

*************************************************************************************************************

I used another example from pylibftdi code and appears to make contact with the ProChrono:

I believe this was without the chrono attached:

pi@raspberrypi ~/pylibftdi/pylibftdi-0.13/pylibftdi/examples $ sudo ./pin_read.py -n 0.01 -m 1 -k 1 && echo -e "\a"

1 1 1 1 1 1 1 1 (255/0xFF)
This was with the chrono attached and turned on:
pi@raspberrypi ~/pylibftdi/pylibftdi-0.13/pylibftdi/examples $ sudo ./pin_read.py -n 0.01 -m 1 -k 1 && echo -e "\a"
1 1 1 1 1 1 0 1 (253/0xFD)

*************************************************************************************************************

That's as far as I have achieved.

Edited by shootzen
Link to comment
Share on other sites

  • 1 month later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...