So I’ve just bought a PowerTap for cycling; basically a neato little gizmo that uses piezo-electrics in your rear hub to display and record 7.5 hours of power, speed, heart rate, cadence, energy, distance, etc. The only problem is that it interfaces via a truly craptacular piece of software that is hard to use, stupid, and worst, slow as hell when displaying the relevant data.
However, I know that the data is stored on the PowerTap head unit in CSV files that I can read in Microsoft Excel. So, rather than going through CycleOps regular software which carries out the typical downloading, is there any way that I can find a utility that will let me treat this thing like a flash drive or whatever and download everything on the other side of a serial port? I’ve Googled around a bit to find something, but all that comes up are some utilities that let me keep track of the serial ports in use on my computer, but nothing that would let me download the data directly to my HD.
Perhaps something like this: http://www.geocities.com/si2sfm/JComm.html
Trouble is that you might have to send some sort of non-standard codes to the device before it will reply with the data - it might not though and even if it does, you can probably discover this by attaching another computer to yours via a null modem cable, then using telnet or something to listen for the data that signifies the start of the conversation.
Another possibility is just to dig around in the folder where your PowerTap thing stores its program files - you might even find that there’s some sort of undocumented low-level comms tool in there.
Hmm…if the download portion is slow due to the inherent slowness of the serial communication or hardware in the unit, you won’t be able to get around that.
No, I think I found the CSV’s in a seperate file anyway. I’ll still use Excel. I don’t mind waiting 5 minutes for the download, but waiting 30 seconds for the graph to refresh is maddening.
That would only work if the device is continuously transmitting data, which I’m pretty sure it’s not.
With serial communications there has to be some kind of handshaking protocol. In human terms, the conversation would be like this:
Computer: Are you there?
Device: Yes, I am.
Computer: Please send me the data.
Device: OK, Here it comes
Device: Did you get it?
Computer: Yes.
Device: OK, Bye now.
This is overly simplified, and I’m sorry if I insulted anyone, but these handshaking commands are different for each device and each application, so you would pretty much have to write a custom driver.