clock.html 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411
  1. <!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type"
  5. content="text/html; charset=iso-8859-1">
  6. <meta name="GENERATOR"
  7. content="Mozilla/4.7 [en] (X11; I; Linux 2.4.0-test6 i586) [Netscape]">
  8. <title>TI-83+ Link Protocol Guide - Clock Management</title>
  9. </head>
  10. <body bgcolor="#ffffe8">
  11. <b>TI-83+ Link Protocol Guide</b> - Setting/Getting Clock
  12. <center>
  13. <h2>
  14. <hr align="center">Clock Management</h2>
  15. </center>
  16. <p><br>
  17. Texas Instruments have incorporated clock management into their new AMS
  18. software,
  19. starting at the 2.08 release. This clock can only work on HW2 models
  20. (for
  21. some hardware reasons...). </p>
  22. <p>The clock management is like sending/receiving a special variable
  23. named
  24. "\0x08".<br>
  25. </p>
  26. <p> </p>
  27. <h4> </h4>
  28. <p> </p>
  29. <h4> <a name="rts"></a>Getting Clock</h4>
  30. Indeed, the request is like receiving the '\0x08' variable with Ty=29.
  31. This request works only with OS v2.?? mini.
  32. <br>
  33. <br>
  34. The protocol for silently receiving the clock is shown below:<br>
  35. <table bgcolor="#ffffff" border="1" cellspacing="0" width="92%">
  36. <tbody>
  37. <tr>
  38. <th bgcolor="#008800" width="7%"><font color="#ffffff">Step</font></th>
  39. <th colspan="3" bgcolor="#008800"><font color="#ffffff">Direction</font></th>
  40. <th bgcolor="#008800" width="80%"><font color="#ffffff">Packet</font></th>
  41. </tr>
  42. <tr>
  43. <td bgcolor="#ffffff" width="7%">
  44. <p align="center">1 </p>
  45. </td>
  46. <td rowspan="8">
  47. <p align="center"><img src="graphics/comp.gif" alt="Computer"
  48. align="bottom" border="0" height="33" width="30"> </p>
  49. </td>
  50. <td bgcolor="#ffffff">
  51. <p align="center"><img src="graphics/right.gif" alt="===&gt;"
  52. align="bottom" border="0" height="13" width="22"> </p>
  53. </td>
  54. <td rowspan="8">
  55. <p align="center"><img src="graphics/calc.gif" alt="Calculator"
  56. align="bottom" border="0" height="67" width="30"> </p>
  57. </td>
  58. <td bgcolor="#ffffff" width="80%">REQ with expected header (name
  59. is 0x08, type is 0x29)<br>
  60. </td>
  61. </tr>
  62. <tr>
  63. <td bgcolor="#ffffff" width="7%">
  64. <p align="center">2 </p>
  65. </td>
  66. <td bgcolor="#ffffff">
  67. <p align="center"><img src="graphics/left.gif" alt="&lt;==="
  68. align="bottom" border="0" height="13" width="22"> </p>
  69. </td>
  70. <td bgcolor="#ffffff" width="80%">ACK (see note below)</td>
  71. </tr>
  72. <tr>
  73. <td bgcolor="#ffffff" width="7%">
  74. <p align="center">3 </p>
  75. </td>
  76. <td bgcolor="#ffffff">
  77. <p align="center"><img src="graphics/left.gif" alt="&lt;==="
  78. align="bottom" border="0" height="13" width="22"> </p>
  79. </td>
  80. <td bgcolor="#ffffff" width="80%">VAR with actual header</td>
  81. </tr>
  82. <tr>
  83. <td bgcolor="#ffffff" width="7%">
  84. <p align="center">4 </p>
  85. </td>
  86. <td bgcolor="#ffffff">
  87. <p align="center"><img src="graphics/right.gif" alt="===&gt;"
  88. align="bottom" border="0" height="13" width="22"> </p>
  89. </td>
  90. <td bgcolor="#ffffff" width="80%">ACK</td>
  91. </tr>
  92. <tr>
  93. <td width="7%">
  94. <p align="center">5 </p>
  95. </td>
  96. <td>
  97. <p align="center"><img src="graphics/right.gif" alt="===&gt;"
  98. align="bottom" border="0" height="13" width="22"> </p>
  99. </td>
  100. <td width="80%">CTS</td>
  101. </tr>
  102. <tr>
  103. <td width="7%">
  104. <p align="center">6 </p>
  105. </td>
  106. <td>
  107. <p align="center"><img src="graphics/left.gif" alt="&lt;==="
  108. align="bottom" border="0" height="13" width="22"> </p>
  109. </td>
  110. <td width="80%">ACK</td>
  111. </tr>
  112. <tr>
  113. <td width="7%">
  114. <p align="center">7 </p>
  115. </td>
  116. <td>
  117. <p align="center"><img src="graphics/left.gif" alt="&lt;==="
  118. align="bottom" border="0" height="13" width="22"> </p>
  119. </td>
  120. <td width="80%">XDP</td>
  121. </tr>
  122. <tr>
  123. <td width="7%">
  124. <p align="center">8 </p>
  125. </td>
  126. <td>
  127. <p align="center"><img src="graphics/right.gif" alt="===&gt;"
  128. align="bottom" border="0" height="13" width="22"> </p>
  129. </td>
  130. <td width="80%">ACK</td>
  131. </tr>
  132. </tbody>
  133. </table>
  134. <i>Note: If the requested variable does not exist, the calculator will
  135. send an EXIT packet after step 2, to which
  136. the computer will respond with an ACK packet. This would be the end of
  137. the transfer.</i>
  138. <p></p>
  139. <p><u>Example (PC receiving Clock from TI):<br>
  140. </u>
  141. <table nosave="" border="0" cellspacing="0" width="100%">
  142. <tbody>
  143. <tr bgcolor="#ffcccc">
  144. <td bgcolor="#ccffcc">PC:</td>
  145. <td bgcolor="#ccffcc" width="50%"><tt><b>23 A2 0B 00 </b>00 00
  146. 29 08 00 00 00 00 00 00 00 <b>31 00</b></tt></td>
  147. <td bgcolor="#ccffcc" width="50%"><i>Request the Clock variable</i></td>
  148. </tr>
  149. <tr bgcolor="#ffcccc">
  150. <td bgcolor="#ffcccc">TI:</td>
  151. <td bgcolor="#ffcccc" width="50%"><b><tt>73 56 00 00</tt></b></td>
  152. <td bgcolor="#ffcccc" width="50%"><i>Acknowledgement of request</i></td>
  153. </tr>
  154. <tr bgcolor="#ffcccc">
  155. <td bgcolor="#ffcccc">&nbsp;</td>
  156. <td bgcolor="#ffcccc" width="50%"><tt><b>73 06 0D 00 </b>09 00
  157. 29 00 00 00 00 00 00 00 00 00 <b>32 00</b></tt></td>
  158. <td bgcolor="#ffcccc" width="50%"><i>Variable Header: no name</i></td>
  159. </tr>
  160. <tr bgcolor="#ffcccc">
  161. <td bgcolor="#ccffcc">PC:</td>
  162. <td bgcolor="#ccffcc" width="50%"><b><tt>23 56 00 00</tt></b></td>
  163. <td bgcolor="#ccffcc" width="50%"><i>Acknowledgement of variable
  164. header</i></td>
  165. </tr>
  166. <tr bgcolor="#ffcccc">
  167. <td bgcolor="#ccffcc">&nbsp;</td>
  168. <td bgcolor="#ccffcc" width="50%"><b><tt>23 09 00 00</tt></b></td>
  169. <td bgcolor="#ccffcc" width="50%"><i>Clear to send variable</i></td>
  170. </tr>
  171. <tr bgcolor="#ffcccc">
  172. <td bgcolor="#ffcccc">TI:</td>
  173. <td bgcolor="#ffcccc" width="50%"><b><tt>73 56 00 00</tt></b></td>
  174. <td bgcolor="#ffcccc" width="50%"><i>Acknowledgement of CTS</i></td>
  175. </tr>
  176. <tr bgcolor="#ffcccc">
  177. <td bgcolor="#ffcccc" height="44">&nbsp;</td>
  178. <td bgcolor="#ffcccc" height="44" width="50%"><tt><b>73 15 09 00 </b>00
  179. 00 07 8A 37 01 01 0C FF <b>D5 01</b></tt></td>
  180. <td bgcolor="#ffcccc" height="44" width="50%"><i>Variable data: 9
  181. bytes
  182. (1st Aug 2002, 14:02, clock is ON, 24h format, DD/MM/YY format)</i></td>
  183. </tr>
  184. <tr bgcolor="#ffcccc">
  185. <td bgcolor="#ccffcc">PC:</td>
  186. <td bgcolor="#ccffcc" width="50%"><b><tt>23 56 00 00</tt></b></td>
  187. <td bgcolor="#ccffcc" width="50%"><i>Acknowledgement of variable
  188. data</i></td>
  189. </tr>
  190. </tbody>
  191. </table>
  192. </p>
  193. <p></p>
  194. <h4> </h4>
  195. <p>The variable data has the following format (pure binary, no BCD):
  196. <table border="1" cellspacing="0" width="92%">
  197. <tbody>
  198. <tr>
  199. <th bgcolor="#dddddd" width="7%">Offset</th>
  200. <th bgcolor="#dddddd" width="8%">Length</th>
  201. <th bgcolor="#dddddd" width="85%">Description</th>
  202. </tr>
  203. <tr>
  204. <td width="7%">0<br>
  205. </td>
  206. <td width="8%">2&nbsp;bytes</td>
  207. <td width="85%">Always 00h</td>
  208. </tr>
  209. <tr>
  210. <td width="7%">2<br>
  211. </td>
  212. <td width="8%">4 bytes</td>
  213. <td width="85%">Number of seconds elapsed since January the 1st,
  214. 1997 with leap years (2000, 2004, ...).<br>
  215. </td>
  216. </tr>
  217. <tr>
  218. <td style="vertical-align: top;">8<br>
  219. </td>
  220. <td style="vertical-align: top;">1 byte<br>
  221. </td>
  222. <td style="vertical-align: top;">Date Display Formatting (1:
  223. MM/DD/YY, 2: DD/MM/YY, 3: YY/MM/DD)</td>
  224. </tr>
  225. <tr>
  226. <td valign="top">9<br>
  227. </td>
  228. <td valign="top">1 byte<br>
  229. </td>
  230. <td valign="top"> Time Display Formatting (12/28: AM/PM, 24: 24
  231. hours)<br>
  232. </td>
  233. </tr>
  234. </tbody>
  235. </table>
  236. </p>
  237. <p></p>
  238. <h4><a name="rts"></a>Setting Clock</h4>
  239. <p> Indeed, setting clock is like sending the '\0x08' variable with
  240. Ty=29. <br>
  241. This request works only with OS v2.?? mini.<br>
  242. </p>
  243. The protocol for silently sending the clock is shown below :<br>
  244. <table bgcolor="#ffffff" border="1" cellspacing="0" width="92%">
  245. <tbody>
  246. <tr>
  247. <th bgcolor="#008800" width="7%"><font color="#ffffff">Step</font></th>
  248. <th colspan="3" bgcolor="#008800"><font color="#ffffff">Direction</font></th>
  249. <th bgcolor="#008800" width="80%"><font color="#ffffff">Packet</font></th>
  250. </tr>
  251. <tr>
  252. <td bgcolor="#ffffff" width="7%">
  253. <p align="center">1 </p>
  254. </td>
  255. <td colspan="1" rowspan="7">
  256. <p align="center"><img src="graphics/comp.gif" alt="Computer"
  257. align="bottom" border="0" height="33" width="30"> </p>
  258. </td>
  259. <td bgcolor="#ffffff">
  260. <p align="center"><img src="graphics/right.gif" alt="===&gt;"
  261. align="bottom" border="0" height="13" width="22"> </p>
  262. </td>
  263. <td colspan="1" rowspan="7">
  264. <p align="center"><img src="graphics/calc.gif" alt="Calculator"
  265. align="bottom" border="0" height="67" width="30"> </p>
  266. </td>
  267. <td bgcolor="#ffffff" width="80%">RTS</td>
  268. </tr>
  269. <tr>
  270. <td bgcolor="#ffffff" width="7%">
  271. <p align="center">2 </p>
  272. </td>
  273. <td bgcolor="#ffffff">
  274. <p align="center"><img src="graphics/left.gif" alt="&lt;==="
  275. align="bottom" border="0" height="13" width="22"> </p>
  276. </td>
  277. <td bgcolor="#ffffff" width="80%">ACK</td>
  278. </tr>
  279. <tr>
  280. <td bgcolor="#ffffff" width="7%">
  281. <p align="center">3 </p>
  282. </td>
  283. <td bgcolor="#ffffff">
  284. <p align="center"><img src="graphics/left.gif" alt="&lt;==="
  285. align="bottom" border="0" height="13" width="22"> </p>
  286. </td>
  287. <td bgcolor="#ffffff" width="80%">CTS or SKIP/EXIT (see note
  288. below)</td>
  289. </tr>
  290. <tr>
  291. <td bgcolor="#ffffff" width="7%">
  292. <p align="center">4 </p>
  293. </td>
  294. <td bgcolor="#ffffff">
  295. <p align="center"><img src="graphics/right.gif" alt="===&gt;"
  296. align="bottom" border="0" height="13" width="22"> </p>
  297. </td>
  298. <td bgcolor="#ffffff" width="80%">ACK</td>
  299. </tr>
  300. <tr>
  301. <td width="7%">
  302. <p align="center">5 </p>
  303. </td>
  304. <td>
  305. <p align="center"><img src="graphics/right.gif" alt="===&gt;"
  306. align="bottom" border="0" height="13" width="22"> </p>
  307. </td>
  308. <td width="80%">XDP</td>
  309. </tr>
  310. <tr>
  311. <td width="7%">
  312. <p align="center">6 </p>
  313. </td>
  314. <td>
  315. <p align="center"><img src="graphics/left.gif" alt="&lt;==="
  316. align="bottom" border="0" height="13" width="22"> </p>
  317. </td>
  318. <td width="80%">ACK</td>
  319. </tr>
  320. <tr>
  321. <td style="vertical-align: top;">7<br>
  322. </td>
  323. <td style="vertical-align: top;">
  324. <p align="center"><img src="graphics/right.gif" alt="===&gt;"
  325. align="bottom" border="0" height="13" width="22"> </p>
  326. </td>
  327. <td style="vertical-align: top;">EOT<br>
  328. </td>
  329. </tr>
  330. </tbody>
  331. </table>
  332. <i>Note: If the calculator sends a SKIP/EXIT packet in step 3, it does
  333. not have enough free memory to accomodate
  334. the variable. In this case, step 4 will be the end of the transfer.</i>
  335. <p><u>Example (PC sending clock to TI):</u>
  336. <table nosave="" border="0" cellspacing="0" width="100%">
  337. <tbody>
  338. <tr bgcolor="#ffcccc">
  339. <td bgcolor="#ccffcc" width="2%">PC:</td>
  340. <td bgcolor="#ccffcc" width="49%"><tt><b>23 C9 0D 00 </b>00 00
  341. 29 08 00 00 00 00 00 00 00 00 11 <b>42 00<br>
  342. </b></tt></td>
  343. <td bgcolor="#ccffcc" width="49%"><i>Send the "Clock"
  344. pseudo-variable</i></td>
  345. </tr>
  346. <tr>
  347. <td bgcolor="#ffcccc">TI:</td>
  348. <td bgcolor="#ffcccc" width="50%"><b><tt>73 56 00 00</tt></b></td>
  349. <td bgcolor="#ffcccc" width="50%"><i>Acknowledgement of request</i></td>
  350. </tr>
  351. <tr>
  352. <td bgcolor="#ffcccc">&nbsp;</td>
  353. <td bgcolor="#ffcccc" width="50%"><b><tt>73 09 0D 00</tt></b></td>
  354. <td bgcolor="#ffcccc" width="50%"><i>Clear to send variable</i></td>
  355. </tr>
  356. <tr>
  357. <td bgcolor="#ccffcc">PC:</td>
  358. <td bgcolor="#ccffcc" width="50%"><b><tt>23 56 00 00</tt></b></td>
  359. <td bgcolor="#ccffcc" width="50%"><i>Acknowledgement of CTS</i></td>
  360. </tr>
  361. <tr>
  362. <td bgcolor="#ccffcc">&nbsp;</td>
  363. <td bgcolor="#ccffcc" width="50%"><tt><b>23 15 09 00 </b>00 07
  364. 0F FE 74 1F 01 0C FF <b>B3 02</b></tt></td>
  365. <td bgcolor="#ccffcc" width="50%"><i>Variable data</i></td>
  366. </tr>
  367. <tr>
  368. <td bgcolor="#ffcccc">TI:</td>
  369. <td bgcolor="#ffcccc" width="50%"><b><tt>73 56 00 00</tt></b></td>
  370. <td bgcolor="#ffcccc" width="50%"><i>Acknowledgement of data</i></td>
  371. </tr>
  372. <tr>
  373. <td bgcolor="#ccffcc">PC:</td>
  374. <td bgcolor="#ccffcc" width="50%"><b><tt>23 92 00 00</tt></b></td>
  375. <td bgcolor="#ccffcc" width="50%"><i>End Of Transmission</i></td>
  376. </tr>
  377. </tbody>
  378. </table>
  379. </p>
  380. <p></p>
  381. <table border="0" cellspacing="0" width="100%">
  382. <tbody>
  383. <tr>
  384. <td width="32%">
  385. <center><a href="flash.html"><img src="graphics/prevpage.gif"
  386. alt="[previous page]"
  387. style="border: 2px solid ; width: 32px; height: 32px;"></a> <br>
  388. &nbsp; <a href="flash.html">Flash Transfers</a></center>
  389. </td>
  390. <td width="34%">
  391. <center><a href="index.html"><img src="graphics/home.gif"
  392. alt="[home]" align="bottom" border="2" height="32" width="32"> </a> <br>
  393. <a href="index.html">Table of Contents</a></center>
  394. </td>
  395. <td width="34%">
  396. <center><a href="vars.html"></a><a href="os_version.html"><img
  397. src="graphics/nextpage.gif" alt="[next page]"
  398. style="border: 2px solid ; width: 32px; height: 32px;"></a> <br>
  399. <a href="os_version.html">OS Version</a></center>
  400. </td>
  401. </tr>
  402. </tbody>
  403. </table>
  404. <p></p>
  405. <hr align="center"><i>Site maintained by Romain Li&eacute;vin (<a
  406. href="mailto:roms@lpg.ticalc.org">roms@lpg.ticalc.org</a>) and Tim
  407. Singer
  408. (<a href="mailto:tsinger@gladstone.uoregon.edu">tsinger@gladstone.uoregon.edu</a>)</i>
  409. <br>
  410. </body>
  411. </html>