Our swim season is almost over, so here another post about my CTS console experiments.
I tried to do two things for the scoreboard connection:
- Create a wireless link to the scoreboard.
- Understand the protocol enough to build my own example scoreboard.
So far, I was only partially successful.
I know the link is running a RS-232 with 9600Baud 8-E[ven]-1. So that’s the first hurdle. My firmware for the 3DR telemetry radios should be able to handle that and it seems to work for a while. But eventually, the radios loose the wireless link and then wait a couple of seconds before re-establishing it:-( So the wireless link is somewhat jumpy so far:-( Of course, I needed a MAX3232 breakout board as well between the console and the radio, very similar to the link to the computer. But I had to add a 820Ohm resistor into the RS-232 receive side. Otherwise, the MAX3232 would get very hot:-(
I also logged so
me of the transmissions from the console and I believe, I have a pretty good understanding of the used protocol. I was able to write a little Arduino Mega (or ADK) sketch to handle it and drive a little display and send the decoded strings to an attached computer for more interesting processing;-) I used a Mega because it has multiple hardware serial ports;-) I decided to use “Serial” for the connection to the computer and “Serial1” for the connection from the Colorado console. My sketch is here: ScoreboardEmulator.tar I used three of the Sparkfun four-digit 7segment displays, but I only drive eight digits and one colon right now. That would also be hard on an Arduino Uno or similar.
Right no
w, the little display shows the Colorado scoreboard `0F’ channel but all channels are sent to the computer.
Using a different display setup, that Mega would be able to drive a complete ten+ lanes display;-) Sparkfun has 6.5″ digits with a storing driver board for about $20 each. You could probably find them even cheaper directly from China, especially when you want to build a 10 lane display which would need about 100 digits. I tested mostly with the older Colorado System 5 but the System 6 is working as well;-)
So, overall more to think about;-)
Have fun,
— Marco
Hello Marco,
I am looking at doing something similar. I know this is from a year ago but I wonder if you would be so kind to conceptually explain how the data is output from the colorado. I know there are channels 0-0F. I have just started to look at this and you would save me much time if you could explain the protocol of the data sent via the serial port.
Thanks for your time in advance.
Alan
Look around and you might find it;-)
This is a very interesting project, Marco. Did you take it any further? I too am a swim dad/engineer + swim team(s) tech guy. I’m very interested in using your work but in a slightly different direction. Instead of building another 7-segment scoreboard from scratch, the best solution for me is to make a CTS scoreboard to VGA or HDMI (1080p) adapter. Huge HDTVs are so cheap and portable, they would make great scoreboards.
I could possibly do this with a laptop and your python emulator code. Is it ready to go? I saw it has some imports. These are libraries I would get with Python for Windows, right? I’ve never done Python but it doesn’t look too terribly Greek.
BTW, there were no diagrams or any pics in the tar.gz package. I saw the one in your post. The reason you might be having a problem with the receiver is because the interface is most likely RS-485 and not RS-232. It would make more sense with the distances and EMI that the scoreboard wiring would deal with.
Thanks for your prior work.
Hi Ely,
no, I did not take it any further. It looks like, I’m finally retired from the swim team;-) Let’s see, how well they get it working next Spring;-)
I thought about TVs as displays, even in combination with the info from the MeetManager (Names, …;-) But outside in the California sun, I don’t think, normal TVs will be readable from any interesting distance:-( You would probably have to look at LED-based `bill boards’ and they are not that cheap any more. BTW, I had a web-based setup similar to what’s now MeetMobile but since at least 2009;-)
For a TV, I would probably look at a Raspberry Pi. That would give you a complete setup for about $60. I don’t really play with Windows;-) So I don’t know which Python libraries you would need there, but I’m pretty sure, you could find all that’s needed. After all, between the Arduino and computer, it’s a normal Serial over USB connection;-)
All the CTS related docs, I could find, say, this is a RS-232 connection. I know the Daktronics setups use RS-485 by default. I have even RS-485 adapters because I was thinking about interfacing the System 6 to a Daktronics scoreboard. Even our high school can’t use their nice scoreboard:-( But that did not happen because I never get enough time to play with the scoreboard side of things:-(
I hope that helps.
Hi Marco,
Did you use the CTS scoreboard output to drive your “MeetMobile” data or did you use Meet Manager data?
Yeah, there are a few ways to drive the TV. One might be with a Smart TV Box which is just an Android device with an HDMI output. Those are less than $40. It would be easy enough to place several of those around the venue. They could simply pull a webpage from a local wi-fi server.
I sure wish we had your sun here in central Ohio, but alas it’s usually overcast. Cheap flat screens would do just fine. I don’t know if that’s a smiley or sad face. Probably both! 🙂 🙁
I can’t imagine Colorado’s using a straight RS-232 interface. RS485 is the same, but just uses differential line drivers. It might explain why your receiver was heating up. With RS485, you can run the cable over a kilometer and still get megabit signaling rates. I have several single-line scoreboards (LED & electro-mechanical). I’ll open one up and see what they’re using for the receiver. I’ll let you know what I find.
I just bought all the timing gear from a local swim timing systems provider. He’s been providing and running the time systems for local summer outdoor league championships with his gear. It all came with a commitment to keep his “business” going for the benefit of his customers and thousands of kids.
I have a Sys 6, a couple Sys 5s scores of touch pads, harnesses, plungers, start systems, diving judging, etc., etc. I’ve got ’till next summer, but really would like to replace his single-line scoreboard display with something nicer.
It might be better to pull the results from Meet Manager instead of the CTS. That way I could use the existing one line display for real time current heat, and a multi-line TV display for prior heat. That might be more user friendly.
Bottom line, I just started thinking about this and ran into your work. It’s been very helpful, especially your minicom dumps.
Sorry to hear your swim-dad days are over. My daughter is a sophomore, so I probably have a few years left.
Thanks again and if you have any other suggestions or ideas, I’d be glad to hear them.
Hi Ely,
I used the MeetManager data, actually a MeetManager backup file to extract all the interesting information. Some more background and the sources are @ http://mw46d.github.io/mmweb/ .
Let me know how it goes;-) Iff I really wanted to, I could probably still get temporary access to some gear.
Have fun;-)
Hi,
Finally discovered someone with a similar problem to ours!
We have 2 wonderful Daktronics scoreboards in the pool we use for club galas, but all the Daktronics pads are broken. (We assume the console works).
So we hire in a chap with Colorado 5 console and pads. He displays (lane,position,time) on a portable scoreboard, connected via RF modem.
Any thoughts on how we can intercept his Colorado 5 output and either transmit by radio to the Daktronics scoreboards or via laptop to a monitor/projector?
To use the Daktronics scoreboards, perhaps I’d need to take the Colorado output by cable and retransmit with correct encoding via RF. Arduino/Raspbery Pi solution is interesting, but I suppose doing it via a laptop opens-up the chance of displaying something more presentable on a monitor or projector.
All the best,
Jamie
London, England
Hi Jamie,
it should be possible to `split’ the serial line between the Colorado System 5 and the RF modem. That should cover the `input’ into your idea.
You can find Daktronics info online which seem to show how to connect a CTS to those scoreboards. BUT as far as I have seen, that needs reconfiguration. So it’s not easy to switch back and forth:-(
I believe, you could build a little `converter box’, which would take the data stream from the System 5 and output `Daktronics’, but I had not enough time to get that working. (My days as swim dad are over, so I don’t have access to those things any longer.)
Output to a projector/big screen would only need some modifications to the above Python code to make use of whatever screen space you have;-)
I hope that helps a bit;-)
Hi, Marco.
Interesting work. Did you capture the data from the CT5 or CT6? I have everything from the CT5. I’m looking for the lap split that comes with the CT6 so my timing system can interface with display link.
Regards,
Joe Hess
Hi Joe,
I started with the CT5 and captured most data there. I found one little change/addition with the CT6 (more lanes) but since we don’t use splits, I was not interested to check those.
But why would they be different? How are they shown on the score board? The score board has only it’s `current state’. So, I would assume that the console sends the split result and then does not send updates for a couple of seconds?
Sorry, not much help,
— Marco
Display Link Plus is a Colorado software that runs a video board. It accepts the serial input from the CT console, maps it to objects on a template, and displays the information. There is an object for the running time and cumulative split. There is also an object for lap split which is only supported by the CT6. Our system populates all objects except the lap split. I’m wondering if it might be another board/channel. We just created a PuTTY file grabbing the data from CT6. Hope that gives us some information.
Thank you for responding.
The more I think about this, I would suspect some marker in the `punctuation half’ of the channels to mark specific times as split or final. Once you have the history of split times, you can calculate the diffs. But that’s just speculation;-)
I think we figured it out (mostly). We captured data for a 200 in lane 5. Found an unknown module, 1B. Looking at the bytes, it contained the digits for the splits. Then we captured the data running just lane 4. Unknown module 1A showed up. It had the digits for the splits. Interestingly, the odd lanes seem to use digits 0 – 3 and the even lanes use 4-7. So, module 1A has splits for modules 3 and 4, 1B has splits for 5 and 6, etc. We are not sure how it handles minutes. We think the control byte provides that information. Will let you know what we find.
Thanks for letting me know;-)
U.S. Patent, Apr. 28, 1981 4,263,736 – Is basically for the 7 segment numeric scoreboard, describes communications as RS-232 serial with having the segments driven by a processor matching the serial input’s first byte to the lane module’s correct thumb-wheel address.
It will process those number of bytes, I figure 8-10, having data for the display segments: Lane# (Address), Place, Minx10, Minx1,Secx10,Secx1,Secx.1 and Secx.01 having a consistent buffer size.
Each Display Module processes or passes on the the communications, daisy chain, and only processes the next 8 bytes after matching the first byte as having the same value of its thumb-wheel. The rest is passed on, re-transmitted to the other modules…
The splits are displayed from the timing console until the delay times out. Each segment has its own decoder, a latch bit(6) is set, HIGH, for a particular segment by the processor as it goes through the byte array to save or store the character bits. Each decoder has a blanking bit(5), LOW, and a Lamp Test bit(4), LOW. During non split display periods, I believe only the seconds thru minutes are displayed, maybe some newer LED displays show the tenths flashing. When setting a lane off on the console, it just set’s the blanking bit.
Capturing lane info data, name of swimmer etc… is independent of the scoreboard output… some how correlating the Event Number and Heat Number to a SQL Query to the Meet Manager Database could populate that area on a video board.
I believe Marco has figured out the serial protocol base on the output on the display above:
0B – Lengths and Record
0D – Home, Guest and Guest Scores
0E – Lane Placing
0F – Acts like a Single Line Scoreboard, cycling thru all finish times
10 – nothing on this address on available documentation
11 – multi-purpose channel, displays time and place info for lane 1 during race and Team Scores following reset (see 0D above)*
12 – special purpose channel for tv broadcast – unlike 0F, displays running time, lead split and winning finish time.
13 – Home, G1, G2 and G3 Scores
14 – Home and Guest 1 Scores
15 – Guest 2 and Guest 3 Scores
Marco, are you willing to provide what you found? Protocol? I am working with the Particle platform not Arduino…
I don’t have more than the Arduino sketch any more. Our kids aged out of the swim team, so I don’t have real access to the Colorado systems any more. But it should not be too hard to adapt the Arduino sketch or pull the logic out of it.
Sorry.
Marco – thanks for your efforts in getting much of started thinking about this! Is there somewhere everyone is continuing the development and discussion? Would be very valuable for me! Thanks.
Tim, not that I know of:-( I started this effort a bit late for myself, shortly before our kids aged out of their team:-( So I lost access to the CTS console for now.
Well… I have figured it out… simple and ingenious on the part of CTS… If you understand how 7 segment decoder driver, digital logic devices, works… Remember, they’ve design this to control an analog display where bit patterns control these devices using the ASCII code standard. I’m using a particle photon to process this serial data… The data is grouped by a three dimensional array[25][2][8] represents [add][subset][data]. There’s 25 scoreboard module variations, as described above in an earlier comment. Marco referenced these as channels… Each module uses 2 subsets of 8 data for each channel with the exception of channel 0, which is the running time, a count up timer. The 1st subset is the display data and the 2nd is what enables the decimal point or colon. Pretty much the 2nd subset is ignored for transforming this data to display in a digital environment. The data represents two pieces of info for displaying a value for a particular segment. It’s more understandable to view this info in HEX, (00-FF)… The first half represents which segment and the second half is the data to display. For the data to display; it’s easier to view this info as BIN, (0000-1111). Refer to http://www.ascii-code.com as a reference. More is involved to display the correct info but focus on HEX (30-39)… I am using a TCP Server and Client to serve up a simple web page to display the data on a SMART TV using it’s built in browser.
Would it be possible for you to post the software you’re using to parse the ASCII data and stuff it into the web page? Thanks
working on providing info via github… please see https://github.com/hwbrill/read-CTS/blob/master/README.md … It’s a work in progress but, this should get you going… I don’t know how much detail will go into showing how to do everything…
I changed the name of the project to make it seem more catchy using vsCTS instead of read-CTS:
https://github.com/hwbrill/vsCTS/blob/master/README.md
Yes, that’s a great summary. Thank you! I was hoping you might post the source that I could port to a Win-PC.
If anyone has figured it out I’d sure love to know! I would like the output of the CTS software to go to our school LED wall or TV! Has anyone figured out what we need to buy? Our wall was expensive and we can show live video on the wall we can’t show the timing from CTS. Anyone???
GrahamRiver, the first question is, which inputs would your wall accept? All the way above, I display the info on a laptop, but that could as easily be a Raspberry Pi sending the output to a HDMI display.
That’s exactly what i need! Any chance you could call me or skype to talk about it? Thanks sooooo much for the help!
I see a lot of people looking for video output. If you’re interested, With the help of some information this thread, I created a timing solution that is a replacement for the CTS console. It connects with CTS hardware. It comes with CTS serial scoreboard support, but more importantly it has a built-in video scoreboard (VGA, HDMI) as well as a mobile scoreboard. Very inexpensive. You can download the software at http://www.ssttiming.com to try it out.
I need hdmi 1080i30 to make it all work. Any chance you could call me to help??
Im having an issue that you might be able to help me with. Im trying to read the data from the CTS but it seams to be really weird. Nothing like the sample data that was given in one of the previously. Is there anything special that I need to read it besides an Arduino?
You don’t really need an Arduino, but what you really need, is something that brings the RS-232 voltages (-12V – +12V) to the right voltages for whatever consumer you have in mind. That could be a RS-232 – USB adapter for something like a PC or Raspberry Pi or at least some level shifter for an Arduino (to bring it to 0 – 5V or even 0 – 3.3V).
Also, check your baud rate setting. Try using a simple terminal program on a PC. Turn off flow control and see if you can get reasonable data without any receive errors.
9600Baud 8-E[ven]-1 !!! 😉
I’ve been working on a C# app to read the CTS serial data on a PC. hwbrill’s github project was immensely helpful, so thank you for that. Marco’s work (above) was also key.
To receive the serial data, I first need a cable to map the1/4 scoreboard output to DB9. With a combination of adapters & a hacked serial cable, I made a 1/4 -to- DB9 female cable with these connections: 1/4 plug’s ring is Ground, which is db9 pin 5. The plug’s tip is the signal, which is db9 pin 2. It is just mapping the connections — nothing to change the voltages or anything. The cable that CTS supplies for this purpose is similarly simple, but it has a varistor between the 2 leads, which I think can only be for overload protection.
I wrote a little app that logged the CTS data during one of our recent meets using System.IO.Ports.SerialPort, which is notoriously flawed but seems sufficient to read the continuous stream of bytes from the System6. With that data, hwbrill’s work, the patent mentioned, CTS’s manual, and some time, I have a little more info on the data. There are 32 possible module addresses. Modules 0x01 thru 0x0A are Lane 1-10, as hwbrill’s work shows. 0x17 is Lane 11. 0x18 is Lane 12. 0x19 is split times for Lane 1 (first 4 digits) and Lane 2 (last 4 digits). The pattern continues until 0x1E, which is splits for Lane 11 and 12. Summarized below; paste it into a fixed-width text editor.
I don’t yet know what address 0x00 or 0x1F carry. I also haven’t yet understood what the “format” bytes mean.
—-display segment—– -descr—— -example—–
module-Address— [0][1][2][3][4][5][6][7]
0 0x00 00000 -?——–
1 0x01 00001 [L][P][M][m][S][s][h][t] lane 1 [L P Mm:Ss.ht]
2 0x02 00010 [L][P][M][m][S][s][h][t] lane 2 [L P Mm:Ss.ht]
3 0x03 00011 [L][P][M][m][S][s][h][t] lane 3 [L P Mm:Ss.ht]
4 0x04 00100 [L][P][M][m][S][s][h][t] lane 4 [L P Mm:Ss.ht]
5 0x05 00101 [L][P][M][m][S][s][h][t] lane 5 [L P Mm:Ss.ht]
6 0x06 00110 [L][P][M][m][S][s][h][t] lane 6 [L P Mm:Ss.ht]
7 0x07 00111 [L][P][M][m][S][s][h][t] lane 7 [L P Mm:Ss.ht]
8 0x08 01000 [L][P][M][m][S][s][h][t] lane 8 [L P Mm:Ss.ht]
9 0x09 01001 [L][P][M][m][S][s][h][t] lane 9 [L P Mm:Ss.ht]
10 0x0A 01010 [L][P][M][m][S][s][h][t] lane 10 [L P Mm:Ss.ht]
11 0x0B 01011 [L][l] lengths [Ll]
11 0x0B 01011 [M][m][S][s][h][t] record [Mn:Ss.ht]
12 0x0C 01100 [E][E][E][ ][ ][H][H][H] event, heat [EEE HHH]
13 0x0D 01101 [H][H][H][X][X][G][G][G] team scores [HHH XX GGG]
…
22 0x16 10110 [ ][ ][H][h][M][m][ ][ ] time of day [ HH:MM ]
23 0x17 10111 [L][P][M][m][S][s][h][t] lane 11 [L P Mm:Ss.ht]
24 0x18 11000 [L][P][M][m][S][s][h][t] lane 12 [L P Mm:Ss.ht]
25 0x19 11001 [S][s][h][t] spit lane 1 [Ss:ht]
25 0x19 11001 [S][s][h][t] spit lane 2 [Ss:ht]
26 0x1A 11010 [S][s][h][t] spit lane 3 [Ss:ht]
26 0x1A 11010 [S][s][h][t] spit lane 4 [Ss:ht]
27 0x1B 11011 [S][s][h][t] spit lane 5 [Ss:ht]
27 0x1B 11011 [S][s][h][t] spit lane 6 [Ss:ht]
28 0x1C 11100 [S][s][h][t] spit lane 7 [Ss:ht]
28 0x1C 11100 [S][s][h][t] spit lane 8 [Ss:ht]
29 0x1D 11101 [S][s][h][t] spit lane 9 [Ss:ht]
29 0x1D 11101 [S][s][h][t] spit lane 10 [Ss:ht]
30 0x1E 11110 [S][s][h][t] spit lane 11 [Ss:ht]
30 0x1E 11110 [S][s][h][t] spit lane 12 [Ss:ht]
31 0x1F 11111 -?———-
Ultimately, my goal is a win forms app that is a real-time replacement for a LED scoreboard. GrahamRiver, is that also what you had in mind?
So I had this working for the CTS 5. Now we upgraded to a dolphin system and it seems the Dolphin has a different protocol ?!? Does anyone have more information?
Thanks
Johannes
I guess I just figured it out after a quick chat with CTS support – the Dolphin has a 485 interface while the CTS5 uses the 232 interface. Should be simple to fix.
Hi Johannes, How did you display the decoded scoreboard? Do you have software that you could share for your CTS 5 solution? Thanks!
In the little *.tar file all the way at the top, there is a little Python program which I used to display the values on the laptop. That would be a very easy starting point.
Let me first trouble shoot it once I have the RS485 adapter. my software actually drives an alphanumeric LED matrix board and combines the data from the CTS with the meet program from Meet Manager. But it would be easy enough to just display it on a windows screen instead
Right, I saw that a while ago. I was hoping someone did it in Windows.
Great, I’d love to see what you did.
Unfortunately I am still stuck. I purchased a RS485 interface but I am still getting the same garbled data as before. Does any of you have a pointer what I am missing? The same software was working fine on a system 5 with the RS232.
Can you try to “invert” your bit stream? https://en.wikipedia.org/wiki/RS-485 seems to indicate that that would be a possibility?!
You mean swapping the a/b pins? Yes I have tried this of course to no avail
I’ve never used a Dolphin system & just thumbed through the Dolphin manuals. I’m curious, what is your CTS system configuration? Are you using the wireless scoreboard adapter to drive the scoreboard? Does it work with the scoreboard?
bad news – I chatted with a Colorado representative and it appears that their newer system uses an encrypted scoreboard interface which is supposed to prevent exactly what we are doing.
🙁 But they apparently sell an interface to older scoreboards. That would be one way.
I really don’t see what an encryption would help CTS on that link:-( That works only in new installations. All `upgrades’ makes this much more expensive:-(
I asked if there is an adapter kit for older scoreboards but they denied that it exists. I guess there must be a way how the dolphin adapter detect older scoreboards and switch to a ‘backward compatibility’ mode but they are not going to tell me what that is for obvious reasons 🙁
So what are you using to drive the scoreboard? Do you have the dolphin wireless scoreboard adapter? https://coloradotime.com/manuals/Scoreboard_Adapter_F928.pdf
yes this adapter is the one with the apparently encrypted RS485 interface.
Does it work when you plug it into your existing scoreboard?
https://www.coloradotime.com/dolphin-scoreboard-adapter/ has a line “Can be retrofit with kit (K-DSCB) for existing LED Numeric boards”, not sure:-( When I search for that part#, only the Dolphin adapter comes up:-(
Yes I have the K-DSCB part. This is the one where I cannot decode the RS-485 output which is apparently encrypted. The CST representative was not very explicit on that but that is what I took away from the discussion. How this is supposed to work with an existing scoreboard with RS-232 interface I don’t know but it is apparent that they consider this interface proprietary and will not give any information that would help to fix this….
Like I said I don’t have a Colorado scoreboard I have a home-build one that does work with the old Colorado System 5 with the RS-232 interface using the protocol described here.
You might find this helpful… some undergrads build a repeater scoreboard themselves as part of a senior design project: http://www.mrc.uidaho.edu/mrc/people/jff/480/final_presentation/swim.pdf
Very nice project. Unfortunately they are using the same RS232 protocol from the System 5. It won’t work with the Dolphin RS485 🙁
There was no Dolphin in 2004 as far as I know;-)
Darn, I was so excited about this… until I read the dolphin adaptor was putting out encrypted data 🙁
Yeah, but I believe, there should be a way to interface the Dolphin to older scoreboards. But I don’t have access to any such thing, so all this is speculation on my part:-(
Implies that there is, perhaps, a handshake with the newer systems that is putting it in the special mode.
Or some device to take the Dolphin protocol/input and spit out the older protocol. The design of the old scoreboard protocol is probably 20+ years old. And the scoreboards, I looked at, don’t have the compute power to “learn a new protocol”.
I’m sure there is some secret handshake how the dolphin system detects an older scoreboard but the Colorado engineers i talked to were extremely tightlipped about it.
The old scoreboards, I looked at, don’t have a way to send anything back to the console. There are only two wires, the ground and the RS-232 console -> scoreboard on a 1/4″ [mono] phone plug. Unless they check, if the ring connection in the jack is connected to ground, there is not much chance for a handshake.
So the old scoreboard couldn’t even power the dolphin scoreboard controller.
Implies an adaptor is needed, if it is even possible.
I guess, could try to power the scoreboard controller without anything attached to the serial port signal wires and see what happens. .
It could be some kind of passive detection mechanism – anyways I moved on and built my own timing system. Problem solved.
The adapter comes with an external power supply and you can actually simply connect the RS485 using a 4 pin din adapter. That part should be no problem. The issue was the the output did not resemble the old CTS-5 protocol at all an looked just like garbled text. I talked to colorado because I thought I was just missing the correct serial connection parameters but they told me it is encrypted – whatever that means. I stopped there and went with my home-built timing which I was anyways considering before we decided to get the Dolphin. But I am sure someone could reverse engineer their encryption with enough determination. Maybe I was just missing something obvious.
Has anyone that commented on this post figured out the Daktronics Omnisport protocol? I’m not talking about the RTD. I need the output that is sent to the Dak LED boards. It would be J2/J3 ports on the console.
Hey Marco, I know this is an old post, but I’m researching in writing software that can simulate the System 6 CTS console so that I can “simulate” a swim meet. I want to use this as a training system to assist Swim officials in running a swim meet in their “living room” :). Anyway I need to understand how the timing console communicates with Hy-tek. Do you know much about this and/or where to began. I imagine both Colorado Timing systems as well as Hy-tek corp know the communication methodology.
Sorry Syed,
my SwimDad days are over. So I don’t have access to the CTS System 6 or Meet Manager any longer.
But I don’t think, the transmissions between the two would be hard to reverse, once you get enough packages logs. As far as I remember, it’s just a RS-232 (or USB -> Serial) ar 9600 Baud.
Of course, CTS & Hy-Tek and probably others have the protocol, but not sure, iff you can convince them to give it to you?!
Thanks, do you know what freeware software can be used to “sniff” data across the serial port. I’ve never actually done much development with IO across the serial port. But working with various swim meets I suspect that the CTS system is storing the swim heat data in some sort of file (as defined by the race number). When you “pull” from the CTS you are essentially downloading a file and/or pulling the file across? I remember when I was real young I used to connect two computers together via Serial port (9-pin), this was before USB. I used DOS CTTY commands to XMIT data across the serial line.
Syed, if you’re interested in an alternative solution, you can contact me at joehess@live.com.