forked from Michel2/pytimex
Status update
This commit is contained in:
@@ -1,8 +1,14 @@
|
|||||||
## pytimex - Timex Data Link watch library
|
## pytimex - Timex Data Link watch library
|
||||||
|
|
||||||
Python libraries for generating and transmitting data to the Timex Data
|
Python libraries for generating and transmitting data to the Timex Data
|
||||||
Link series of watches using optical data tramsission. Currently only the
|
Link series of watches using optical data tramsission, an Arduino
|
||||||
protocol for the original Data Link (50 or 70?) is implemented.
|
sketch fully able to replace the Notebook Adapter as well as work with
|
||||||
|
this library, and software for capturing and decoding packets from the
|
||||||
|
original software.
|
||||||
|
|
||||||
|
Currently, the protocol for the original Data Link (50 and 70) is
|
||||||
|
implemented fully, the 150 and 150s partially, and the Ironman
|
||||||
|
Triathlon is being worked on.
|
||||||
|
|
||||||
There is a guide [written by dfries]
|
There is a guide [written by dfries]
|
||||||
(https://github.com/dfries/datalink_ironman/blob/github_submodules/datalink/70.txt)
|
(https://github.com/dfries/datalink_ironman/blob/github_submodules/datalink/70.txt)
|
||||||
@@ -15,8 +21,8 @@ program. Much easier than getting it from the CRT!
|
|||||||
|
|
||||||
## TODO
|
## TODO
|
||||||
|
|
||||||
* Test everything more extensively (most tests have been comparing to
|
* Test everything more extensively (most tests so far have been
|
||||||
data from the original Timex software) - set up unit tests
|
comparing to data from the original Timex software)
|
||||||
* Work on the protocol documentation
|
* Work on the protocol documentation
|
||||||
|
|
||||||
More specific work:
|
More specific work:
|
||||||
@@ -57,9 +63,11 @@ using an RS232 to UART converter.
|
|||||||
To use it you need an Arduino with ATmega328 (168 would probably work too)
|
To use it you need an Arduino with ATmega328 (168 would probably work too)
|
||||||
with 16 MHz clock. Should work with Uno, Nano, Duemilanove and
|
with 16 MHz clock. Should work with Uno, Nano, Duemilanove and
|
||||||
others. Connect a bright LED to pin 12 (maybe with a suitable resistor in
|
others. Connect a bright LED to pin 12 (maybe with a suitable resistor in
|
||||||
series) and that's it. Experiment with distance and intensity to get
|
series) and that's it.
|
||||||
it just right. Some LEDs are very focused and offers only a narrow beam,
|
|
||||||
so if you have the option, try to find a bright one with a wide beam.
|
Experiment with distance and intensity to get it just right. Some LEDs
|
||||||
|
are very focused and offers only a narrow beam, and might saturate the
|
||||||
|
receiver.
|
||||||
|
|
||||||
What ultimately worked best for me was to use a high-intensity white LED
|
What ultimately worked best for me was to use a high-intensity white LED
|
||||||
without a resistor and shine it onto a surface. That way, the angle and
|
without a resistor and shine it onto a surface. That way, the angle and
|
||||||
|
|||||||
@@ -37,14 +37,6 @@ class Blaster:
|
|||||||
if not rdata==data:
|
if not rdata==data:
|
||||||
raise Exception("Validation error! Wrote {} but received {}".format(data, rdata))
|
raise Exception("Validation error! Wrote {} but received {}".format(data, rdata))
|
||||||
|
|
||||||
# Sends sync and all data
|
|
||||||
def blast_all(blaster, data, times55sync=128, timesAAsync=50):
|
|
||||||
blaster.send_sync(times55sync, timesAAsync)
|
|
||||||
for dbyte in data:
|
|
||||||
blaster.blast(dbyte)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
portname = sys.argv[1]
|
portname = sys.argv[1]
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user