Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ironman Support #1

Open
Shadow67a opened this issue Feb 18, 2022 · 9 comments
Open

Ironman Support #1

Shadow67a opened this issue Feb 18, 2022 · 9 comments

Comments

@Shadow67a
Copy link

Shadow67a commented Feb 18, 2022

Can you please add support to the timex Ironman Triathlon?

@Snigelson
Copy link
Owner

The Ironman watches require a newer software version which is not compatible with the older watches. It seems to not play nice with my notebook adapter emulator so currently I have no way of logging data. I'll have to look into that.

@ahhuhtal
Copy link
Collaborator

David Fries' additions to the datalink utility could be used as a starting point for Ironman support. Getting an implementation acually working most likely requires someone with an ironman and willingness to troubleshoot.

The ironman has a somewhat different function set, so not sure how well it could be integrated.

@Shadow67a
Copy link
Author

But I cannot find the ironman's protocol in david's repo, I tried sending bits manually but it always errors out on "version mismatch"

@ahhuhtal
Copy link
Collaborator

ahhuhtal commented Apr 1, 2022

Can you describe in more detail what you are doing? How are you generating the data, and how are you sending the data to the watch?

The current version of the Blaster does not support the Ironman PC software, and the current version of the Python library does not support Ironman watch.

I think it could be possible to add support for the Ironman PC software to the Blaster fairly easily. Adding Ironman support to the library itself is much more involved.

@Snigelson
Copy link
Owner

I'll take a closer look at the ironman software this weekend, if I have the time. They might have added a more involved detection method, and if there is no way around it the next step would be to extract the data from the VGA signal directly. Hard, but not impossible

@ahhuhtal
Copy link
Collaborator

ahhuhtal commented Apr 1, 2022

I've added in antti-wip branch a modification of the timex_notebook_adapter.py script, which should work with the Ironman PC software. The handshake is only slightly different.

@Snigelson
Copy link
Owner

As it turns out, the notebook adapter emulator works perfectly fine with the "French version" of the Ironman software from Timex's download page, since that uses the same libraries as the other Datalink software.

However the newer 32-bit Ironman software uses updated libraries. These seem to expect that the notebook adapter returns the transmitted character always, while the older software didn't care. Therefore, replying with "?M764" instead works perfectly fine with all versions.

It looks like the library also looks for the string "M764 rev 764100". I can't figure out what it does different if it finds it, though. Also, where did you find the string "M764 rev 764002"?

@ahhuhtal
Copy link
Collaborator

ahhuhtal commented Apr 2, 2022

Ah. I didn't see that difference to my implementation :-). I hadn't had time to test the script yet, since so far I've run all my tests with the Timex software purely in a virtual machine.

For my notebook adapter simulation, I have the virtual machine connect its serial port to a named unix socket, to which I then connect with my script. With the implementation I had, the Ironman software worked right out of the box. Quickly looking through your code, I thought the ID string was the only difference :-)

I got the ID string from famiclone6502 whom I helped to implement the proper bit timings for his open source replacement for the notebook adapter. Something very similar to your Blaster implementation.

@Snigelson
Copy link
Owner

Update: I just got a hold of an Ironman Triathlon, so now I might actually get around to this!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants