Receiving TI ez430 Chronos Button Presses in Processing (and Python)
Another currently badly documented feature of the chronos is the facility to get button presses from the watch when in Powerpoint (PPT) mode, so again after a code example from Sean Brewer (available below) I’ve produced a processing version.
The process of acquiring the data, the same request string is sent however in PPT mode the return is different, the third byte determining which button has been pressed in the case of my watch the buttons return the values below:
Top left: 18
Top right: 50
Bottom left: 34
However these are different to the values Sean found, his being one less in each case (i.e. 17,49 and 33) so some experimentation may be required.
Update: A kind commenter has pointed out that in PPT mode the values are as I listed, and in ACC mode they are the lower values.
Code
Original python code: chronosbuttono.py (originally posted here http://pastebin.com/m5d1b7ced however doesn’t seem to work with my watch)
My working python code: chronosbutton.py
My processing sketch: chronosbutton.pde
Tags: interactive, linux, Programming, TI chronos

Hi!
Cool to see there is now a Processing variant as well!
Just to clear things up about the ‘ACC’ and ‘PPT’ mode of the watch: in ACC mode, the buttons are 17, 49 and 33, while in PPT mode, they are 18, 50 and 34 (at least on my watch).
So, it seems that in PPT mode, the values for the buttons are incremented with 1 compared to the ACC mode. This could be exploited in some program on the pc, since now we can pretend that there are 6 different control buttons.
Cheers
Admar
This is great! Thanks for your article. I am just starting python and this will help a lot.
I just dont understand why you use python.
Can you explain this one ?
I saw some some example code in python so I just modified that then later moved to processing for familiarity.
So i can use processing to work with the chronos watch ?
Hi,
I just started working on the chronos watch eZ 430. I was jsut going through some programming codes and I don’t know how to sync those codes with the chronos.. Any help will be appreciated.
Cheers,
Ramesh
Learning to use both Processing and Arduino right now for my MFA… and randomly bought the Chronos. Glad to see someone has gotten them to work together. Thanks for the effort… I’m excited to keep exploring.
I have used a re-written version of both of your scripts. Both worked fine until I updated to OS X Lion. Do you know what the problem is?
This is the error log from Processing:
ava.lang.NullPointerException
at processing.serial.Serial.write(Serial.java:521)
at sketch_jan05a.draw(sketch_jan05a.java:145)
at processing.core.PApplet.handleDraw(PApplet.java:1606)
at processing.core.PApplet.run(PApplet.java:1503)
at java.lang.Thread.run(Thread.java:680)
Thanks in advance.
You probably need to specify a different serial port in the code, I think that’s telling you it can’t find the one you choose.
I am using the 915 version of the Chronos.
I think the button values may be different when using chronos.read
Does anyone have any idea what the values might be for :
Top left:
Top right:
Bottom left:
Hi Guys,
I’m trying to use the Chronos watch as a high sample rate voltmeter. Then I want to wirelessly transmit the data. Does anyone know of any code examples that could help with this?
Thanks in advance.