TI-83+ Link Protocol Guide - Setting/Getting Clock


Clock Management


Texas Instruments have incorporated clock management into their TI84+ Silver Edition hand-helds.

The clock management is like sending/receiving a special variable named "\0x08".

Getting Clock

Indeed, the request is like receiving the '\0x08' variable with Ty=29. This request works only with OS v2.?? mini.

The protocol for silently receiving the clock is shown below:
Step Direction Packet

1

Computer

===>

Calculator

REQ with expected header (name is 0x08, type is 0x29)

2

<===

ACK (see note below)

3

<===

VAR with actual header

4

===>

ACK

5

===>

CTS

6

<===

ACK

7

<===

XDP

8

===>

ACK
Note: If the requested variable does not exist, the calculator will send an EXIT packet after step 2, to which the computer will respond with an ACK packet. This would be the end of the transfer.

Example (PC receiving Clock from TI):
PC: 23 A2 0B 00 00 00 29 08 00 00 00 00 00 00 00 31 00 Request the Clock variable
TI: 73 56 00 00 Acknowledgement of request
  73 06 0D 00 09 00 29 00 00 00 00 00 00 00 00 00 32 00 Variable Header: no name
PC: 23 56 00 00 Acknowledgement of variable header
  23 09 00 00 Clear to send variable
TI: 73 56 00 00 Acknowledgement of CTS
  73 15 09 00 00 00 07 8A 37 01 01 0C FF D5 01 Variable data: 9 bytes (1st Aug 2002, 14:02, clock is ON, 24h format, DD/MM/YY format)
PC: 23 56 00 00 Acknowledgement of variable data

The variable data has the following format (pure binary, no BCD):
Offset Length Description
0
2 bytes Always 00h
2
4 bytes Number of seconds elapsed since January the 1st, 1997 with leap years (2000, 2004, ...).
8
1 byte
Date Display Formatting (1: MM/DD/YY, 2: DD/MM/YY, 3: YY/MM/DD)
9
1 byte
Time Display Formatting (12/28: AM/PM, 24: 24 hours)

Setting Clock

Indeed, setting clock is like sending the '\0x08' variable with Ty=29.
This request works only with OS v2.?? mini.

The protocol for silently sending the clock is shown below :
Step Direction Packet

1

Computer

===>

Calculator

RTS

2

<===

ACK

3

<===

CTS or SKIP/EXIT (see note below)

4

===>

ACK

5

===>

XDP

6

<===

ACK
7

===>

EOT
Note: If the calculator sends a SKIP/EXIT packet in step 3, it does not have enough free memory to accomodate the variable. In this case, step 4 will be the end of the transfer.

Example (PC sending clock to TI):
PC: 23 C9 0D 00 00 00 29 08 00 00 00 00 00 00 00 00 11 42 00
Send the "Clock" pseudo-variable
TI: 73 56 00 00 Acknowledgement of request
  73 09 0D 00 Clear to send variable
PC: 23 56 00 00 Acknowledgement of CTS
  23 15 09 00 00 07 0F FE 74 1F 01 0C FF B3 02 Variable data
TI: 73 56 00 00 Acknowledgement of data
PC: 23 92 00 00 End Of Transmission

[previous page]
  Flash Transfers
[home]
Table of Contents
[next page]
OS Version


Site maintained by Romain Liévin (roms@lpg.ticalc.org) and Tim Singer (tsinger@gladstone.uoregon.edu)