references.html 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head lang="en">
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. <meta name="Author" content="Eric S. Raymond">
  6. <meta name="Description" content="Programmer's references for GPSD">
  7. <meta name="Keywords" content="GPS,gpsd , references">
  8. <meta name="Revised" content="9 April 2015">
  9. <meta name="robots" content="index,follow">
  10. <title>Reference links on GPS technology</title>
  11. <link rel="stylesheet" href="main.css" type="text/css">
  12. </head>
  13. <body>
  14. <div id="Header">Programmer's References</div>
  15. <div id="Menu">
  16. <img src="gpsd-logo-small.png" alt="Small gpsd Logo" height="126"
  17. width="105"><br>
  18. <a href="index.html">Home</a><br>
  19. <a href="index.html#news">News</a><br>
  20. <a href="index.html#install">Installation &amp; Building</a><br>
  21. <a href="index.html#downloads">Downloads</a><br>
  22. <a href="index.html#mailing-lists">Mailing lists</a><br>
  23. <a href="index.html#documentation">Documentation</a><br>
  24. <a href="faq.html">FAQ</a><br>
  25. <a href="xgps-sample.html">Screenshots</a><br>
  26. <a href="index.html#recipes">Recipes</a><br>
  27. <a href="index.html#others">Other GPSDs</a><br>
  28. <a href="hardware.html">Hardware</a><br>
  29. <a href="for-vendors.html">For GPS Vendors</a><br>
  30. <a href="wishlist.html">Wish List</a><br>
  31. <a href="hall-of-shame.html">Hall of Shame</a><br>
  32. <a href="troubleshooting.html">Troubleshooting Guide</a><br>
  33. <a href="hacking.html">Hacker's Guide</a><br>
  34. <a href="protocol-transition.html">Application Compatibility</a>
  35. References<br>
  36. <a href="history.html">History</a><br>
  37. <a href="future.html">Future</a><br>
  38. <div>&nbsp;</div>
  39. <a href='http://www.catb.org/hacker-emblem/'><img
  40. src='glider.png' alt='hacker emblem' height="55" width="55"></a><br>
  41. <script src="https://www.openhub.net/p/3944/widgets/project_thin_badge.js"></script>
  42. <hr>
  43. <script><!--
  44. google_ad_client = "pub-1458586455084261";
  45. google_ad_width = 160;
  46. google_ad_height = 600;
  47. google_ad_format = "160x600_as";
  48. google_ad_type = "text";
  49. google_ad_channel = "";
  50. //--></script>
  51. <script src="https://pagead2.googlesyndication.com/pagead/show_ads.js">
  52. </script>
  53. <hr>
  54. <a href="https://validator.w3.org/check/referer"><img
  55. src="html5.png"
  56. alt="Valid HTML 5!" height="31" width="88"></a>
  57. </div>
  58. <div id="Content">
  59. <p>This page lists both onsite and offsite resources for programmers
  60. trying to understand GPS technology.</p>
  61. <p>In the descriptions below, the adjective "evil" applied to the
  62. distribution terms of a standard or technical specification means that
  63. (a) it is not available for free download, and (b) it cannot legally
  64. be redistributed. The phrase "extremely evil" means that not only are
  65. the distribution terms evil, but that attack lawyers for the document
  66. publisher have been known to threaten people who quote it on the
  67. Web.</p>
  68. <p>This was a selection of the files available at GPSD's Google Code
  69. document repository. Those are looking for a new home.</p>
  70. <h1>GPS standards</h1>
  71. <dl>
  72. <dt><a href='http://www.nmea.org/'>NMEA 0183</a></dt>
  73. <dd>This is the official standard from the National Maritime
  74. Electronics Association describing how GPSes are supposed to
  75. report to computers over a serial or USB link. The distribution terms
  76. are extremely evil. Consequently, nobody on the GPSD project has ever
  77. looked at it.</dd>
  78. <dt><a href='NMEA.html'>NMEA sentences</a></dt>
  79. <dd>Because the NMEA 0183 standard itself is extremely evil, the GPSD
  80. project has collated comprehensive information on the prescriptions of
  81. that standard from various Web resources written by people who have
  82. read it and/or studied the behavior of GPSes claiming to conform to
  83. it. This is the result.</dd>
  84. <dt><a href="http://www.gpsinformation.org/dale/nmea.htm">NMEA data</a></dt>
  85. <dd>This is one of the sources for the above. Includes some
  86. information on vendor-specific quirks that we don't.</dd>
  87. <dt><a href='https://www.navcen.uscg.gov/pdf/gps/IS_GPS_200J.pdf'>Navstar
  88. Global Positioning Interface Specification IS-GPS-200J (2018)</a></dt>
  89. <dd>This is the official specification for interpreting radio
  90. transmission from GPS satellites. You do not need to read this
  91. unless you are trying to make sense of the raw 50BPS subframe
  92. data. Be warned: though this specification is not evil, it
  93. is complex and nasty.</dd>
  94. <dt><a href='https://www.navcen.uscg.gov/pdf/gps/geninfo/2008SPSPerformanceStandardFINAL.pdf'>Standard Positioning Service
  95. Performance Specification</a> (2008)</dt>
  96. <dd>This document defines the levels of performance the U.S. Government makes
  97. available to civil users through the GPS Standard Positioning Service
  98. (SPS).</dd>
  99. <dt><a href="https://en.wikipedia.org/wiki/World_Geodetic_System">World Geodetic System</a></dt>
  100. <dd>Technical and historical summary of WGS84.</dd>
  101. <dt><a href='http://www.faa.gov/about/office_org/headquarters_offices/ato/service_units/techops/navservices/gnss/library/documents/media/waas/2892bC2a.pdf'>WAAS System Specification</a></dt>
  102. <dd>This is the official specification for the FAA's Wide Area
  103. Augmentation System.</dd>
  104. <dt><a href='https://ssl29.pair.com/dmarkle/puborder.php?show=3'>RTCM
  105. Recommended Standards for Differential GNSS</a></dt>
  106. <dd>This is the ordering page for the official RTCM SC-104 standards,
  107. both the obsolescent 2.x and current 3.x versions. The distribution
  108. terms are evil. At least one of the GPSD project members has purchased
  109. official copies, so we do have full details of the message format.
  110. Copies of some of these have leaked onto the Web and may be found by
  111. searching for <a
  112. href='https://www.google.com/search?q=RTCM+10402.3'>"RTCM
  113. 10402.3"</a> or <a href='https://www.google.com/search?q=RTCM+10402.1'>"RTCM
  114. 10403.1"</a>.</dd>
  115. <dt><a
  116. href='https://www.itu.int/rec/recommendation.asp?type=items&amp;lang=e&amp;parent=r-rec-m.823-2-199710-i'>ITU-R M.823-2</a></dt>
  117. <dd>This specification documents some of the murky depths of
  118. rtcm-104, the specification used for broadcasting differential-gps
  119. corrections. Unfortunately, its distribution terms are also evil.</dd>
  120. <dt><a href='http://ec.europa.eu/enterprise/policies/satnav/galileo/files/galileo-os-sis-icd-issue1-revision1_en.pdf'>Galileo Open Service SIS
  121. ICD (2010)</a></dt>
  122. <dd>This is issue 1 revision 1 0 of the Galileo Open Service Signal In Space
  123. Interface Control Document. The latest version of the official
  124. standard found <a
  125. href='http://ec.europa.eu/enterprise/policies/satnav/galileo/open-service/index_en.htm'>here</a>.</dd>
  126. <dt><a href='http://igs.ifag.de/index_ntrip.htm'>Ntrip home page</a></dt>
  127. <dd>NTRIP is a protocol for shipping DGPS corrections that uses HTTP
  128. as a transport layer. The distribution terms for the NTRIP standard
  129. are evil, but a stripped down version of the document is freely
  130. available on the home page. Version 1.0 of the standard is poorly
  131. written, confusing and leaves too much open to the interpretation of
  132. the implementor. With the help of examples in the official standard
  133. (missing in the online version) and the C and Perl reference
  134. implementations, it is however possible to develop a working Ntrip
  135. client.</dd>
  136. <dt><a href='AIVDM.html'>AIVDM/AIVDO protocol decoding</a></dt>
  137. <dd>This document describes AIVDM, a standard layered on top of NMEA
  138. 0183 and used for the marine Automatic Identification System (AIS).
  139. The core AIVDM standard is no longer evil (see below), but complete
  140. information on AIS and its addenda remains otherwise difficult to
  141. collect from scattered and rather impenetrable standards
  142. documents.</dd>
  143. <dt><a href="https://www.itu.int/rec/R-REC-M.1371-4-201004-I/en">M.1371
  144. : Technical characteristics for an automatic identification system
  145. using time-division multiple access in the VHF maritime mobile band</a></dt>
  146. <dd>The official standard descrcribing AIS.</dd>
  147. <dt><a href='https://www.topografix.com/gpx.asp'>GPX Exchange Format</a></dt>
  148. <dd>GPX (the GPS Exchange Format) is a light-weight
  149. XML data format for the interchange of GPS data (waypoints, routes,
  150. and tracks) between applications and Web services on the Internet. The
  151. GPSD suite includes a client, <code>gpxlogger</code>, that makes logs
  152. in this format.</dd>
  153. </dl>
  154. <h1>GPS operation</h1>
  155. <dl>
  156. <dt><a href='https://web.archive.org/web/20080625111519/http://www.usace.army.mil/publications/eng-manuals/em1110-1-1003/entire.pdf'>NAVSTAR
  157. Global Positioning and Surveying</a></dt>
  158. <dd>US Army Corps of Engineers, Engineer Manual 1110-1-1003 "provides
  159. technical specifications and procedural guidance for surveying and
  160. mapping with the NAVSTAR Global Positioning System (GPS). ... Procedural
  161. and quality control standards are defined to establish... uniformity
  162. in the use of GPS..." This document offers significant insight into
  163. error modelling; anyone who dares to ask "so how accurate is my GPS?"
  164. should be gently encouraged to study it.</dd>
  165. <dt><a href='http://www.mx-marine.com/downloads/Worldwide_Beacon_DGPS_Status.pdf'>Worldwide Beacon DGPS Status</a></dt>
  166. <dd>This paper dates from 1999 and some of the information in it is therefore
  167. probably out of date. Nevertheless, it's the best public documentation on the
  168. history and architecture of the worldwide DGPS beacon system we've found.</dd>
  169. <dt><a href="http://arstechnica.com/gadgets/2009/01/assisted-gps/">Inside
  170. assisted GPS: helping GPS help you</a></dt>
  171. <dd>Good article on techniques for cutting GPS startup latency and
  172. increasing precision, mostly focused on assistance via cellphone networks.</dd>
  173. <dt><a href="http://www.rtcm-ntrip.org/home">Worldwide list of NTRIP
  174. Casters</a></dt>
  175. <dd>Master list of sites that provide RTCM correction info over the
  176. Internet.</dd>
  177. </dl>
  178. <h1>Vendor protocols</h1>
  179. <p>Due to the inadequacies of NMEA, GPS chipset vendors have invented
  180. NMEA extensions or their own more tightly-designed reporting formats.
  181. This is a collection of descriptions of them. Many of these have
  182. already been used in the implementation of <code>gpsd</code>; others
  183. may be used in the future.</p>
  184. <p>If you have access to a GPS vendor manual we don't already carry,
  185. please send it to us. If it's live on the web, mailing the URL will
  186. be sufficient. The names in this <a href='checksums'>SHA1 checksums
  187. file</a> should be a good clue which ones we already have.</p>
  188. <p>Good manuals generate customer interest and loyalty. Judging by the
  189. legal notices in them, either (a) many GPS vendors are run by people
  190. who think that making their documentation hard to get and illegal to
  191. redistribute doesn't damage their sales prospects, or (b) many GPS
  192. vendors unthinkingly slap in a boilerplate notice that makes them look
  193. like they are run by the aforementioned sort of idiot. We are blithely
  194. ignoring all this nonsense here. If you are a GPS vendor
  195. representative, be advised that if you so request, we will (a) remove
  196. your manuals, and then (b) laugh at and publicly mock you
  197. for having been so stupid as to demand this.</p>
  198. <h2>SiRF and SiRF variants</h2>
  199. <dl>
  200. <dt><a href='http://usglobalsat.com/downloads/SiRF_Binary_Protocol.pdf'>SiRF
  201. Binary Protocol Reference Manual</a> (2.4, November 2008) </dt>
  202. <dd>The
  203. binary protocol for the chip used by over 80% of consumer-grade GPS
  204. mice. For comparison we also have older versions:
  205. <a href="http://gpsd.googlecode.com/files/SiRF-SiRF-v2_3.pdf">2.2</a>
  206. (December 2007),
  207. <a href='http://gpsd.googlecode.com/files/SiRF-SiRF-v1_7.pdf'>1.7</a>
  208. (October 2005) and <a
  209. href='http://gpsd.googlecode.com/files/SiRF-SiRF-v1_6.pdf'>1.6</a>
  210. (April 2005) .</dd>
  211. <dt><a href='https://www.element14.com/community/servlet/JiveServlet/downloadBody/13410-102-1-42402/40.Sirf%20nmea%20ref%20manual.pdf'>SiRF
  212. NMEA Protocol Reference Manual</a> (2.2, November 2008) </dt>
  213. <dd><a href='https://www.sparkfun.com/datasheets/GPS/NMEA%20Reference%20Manual-Rev2.1-Dec07.pdf'>SiRF
  214. NMEA Protocol Reference Manual</a> (2.1, December 2007) </dd>
  215. <dt><a href='http://gpsd.googlecode.com/files/SiRF-Sectron.pdf'>SiRF GPS Protocol
  216. Reference Manual</a> (revision 1.30, undated)</dt>
  217. <dd>This what SiRF gives OEMs as a reference for SiRF's NMEA 0183
  218. extensions. Notably, it describes the commands for switching to SiRF
  219. binary mode.</dd>
  220. <dt><a
  221. href='https://www.linkwave.co.uk/assets/GPS.G2-X-01003-E1.pdf'>TIM GPS
  222. Receiver Macro-Component (offsite link)</a> (version E1, April 2003)</dt>
  223. <dd> Describes the SiRFstarII chipset used by u-blox and some others.
  224. <code>gpsd</code> supports it. While obsolete, this file documents certain
  225. aspects of the protocol that SiRF has removed from current versions of the
  226. protocol documentation.</dd>
  227. <dt><a href='http://gps.0xdc.ru/static/sirf/doc/SirfStar/gpsd.berlios.de/vendor-docs/sirf/uBlox.pdf'>u-blox extension to SiRF binary protocol</a> (March 2002)</dt>
  228. <dd>u-blox was an OEM-enhanced firmware variant of the SiRF-1 chip.
  229. <code>gpsd</code> supports it. It's been rendered obsolete by the SiRF 2
  230. and 3 chips.</dd>
  231. <dt><a href='https://www.ublox.com/images/downloads/Product_Docs/u-bloxM8_ReceiverDescriptionProtocolSpec_%28UBX-13003221%29_Public.pdf'>u-blox M8</a> Rev 08 (December 2014)</dt>
  232. <dd>he u-blox M8 support GPS, GLONASS and BeiDou.
  233. <code>gpsd</code> supports it.</dd>
  234. </dl>
  235. <h2>Fastrax</h2>
  236. <dl>
  237. <dt><a href='https://gpsd.googlecode.com/files/itrax02-NMEA-1.31.pdf'>NMEA Protocol
  238. Specification for iTrax02 Evaluation Kit</a> (Rev 1.11, June
  239. 2003)</dt>
  240. <dd>Describes the NMEA extensions for the iTrax chipset
  241. used by Fastrax GPSes. Supported by <code>gpsd</code>.</dd>
  242. <dt><a href='https://gpsd.googlecode.com/files/iTalk-1.5.pdf'>iTALK protocol specification</a>
  243. (Rev 1.5, March 2002)</dt>
  244. <dd>Describes the binary protocol for the iTrax chipset used by
  245. Fastrax GPSes. This documents version 2; version 3, which is not
  246. actually backward compatible, is documented at the <a
  247. href='http://isuite.fastrax.fi/sdk/341/index.html'>iSuite developer
  248. website</a>, iTrax2 is not supported by <code>gpsd</code>, iTrax3 is
  249. somewhat functional.</dd>
  250. </dl>
  251. <h2>Garmin</h2>
  252. <dl>
  253. <dt><a
  254. href='http://www.garmin.com/manuals/470_GPS16_17TechnicalSpecification.pdf'>
  255. GPS 16/17 Series Technical Specification (offsite link)</a> (Revision
  256. C, October 2005)</dt> <dd>Describes the extended NMEA, with GARMIN
  257. proprietary sentences PGRMB, PGRME, PGRMF, PGRMM, PGRMT, and PGRMV
  258. (and optional GPALM sentence), emitted by the Garmin GPS16 and 17. For
  259. programming purposes, effectively identical to their earlier reference
  260. on the Garmin 15H and 15L.</dd>
  261. <dt><a href='http://www8.garmin.com/support/text_out.html'>Garmin Simple
  262. Text Protocol</a></dt> <dd>Some digital cameras are alleged to use
  263. this very simple textual report format.</dd>
  264. </dl>
  265. <h2>Novatel</h2>
  266. <dl>
  267. <dt><a
  268. href='https://www.novatel.com/assets/Documents/Manuals/om-20000077.pdf'>Novatel Superstar II User Manual (2005)</a></dt>
  269. <dd>Describes the OEM board, include some good general overview
  270. material on GPS technology. Doesn't describe control or reporting
  271. commands.</dd>
  272. </dl>
  273. <h2>San Jose Navigation</h2>
  274. <dl>
  275. <dt><a href='https://gpsd.googlecode.com/files/fv-25_manual.pdf'>FV25 user manual</a> (January 2005)</dt>
  276. <dd>Describes UBX binary protocol and NMEA extensions supported by the
  277. San Jose Navigation FV-25 (u-blox ANTARIS) GPS chipset. UBX is now supported
  278. by <code>gpsd</code>.</dd>
  279. </dl>
  280. <h2>Other Current GPSes</h2>
  281. <dl>
  282. <dt><a href='https://gpsd.googlecode.com/files/cxd2951-commands.pdf'>CXD2951 Communication Command Specification</a> (Version 1.7, 2004)</dt>
  283. <dd>Describes the extension command set supported by the Sony GPS
  284. CXD2951 chipset. Supported by <code>gpsd</code>.</dd>
  285. <dt><a href='https://gpsd.googlecode.com/files/GPS-210-Manual-E.pdf'>Holux GM-210 GPS Receiver User's
  286. Guide</a> (May 2003)</dt>
  287. <dd>Describes NMEA as emitted by the Holux GM210. This is a very
  288. generic NMEA GPS. Supported by <code>gpsd</code>.</dd>
  289. <dt><a href='https://gpsd.googlecode.com/files/Emt_GPS_User_Protocol_Rev_D.pdf'
  290. >GM-X205 GPS Receiver Module User's Guide</a> (Issue D, August 2003)</dt>
  291. <dd>Describes the binary protocol emitted
  292. by EverMore GM-X205 GPS chipset. Supported by <code>gpsd</code>.</dd>
  293. <dt><a href='http://gpsd.googlecode.com/files/crescent-sdx-3.pdf'>Crescent Integrator's Manual</a> (November 2005)</dt>
  294. <dd>Reference for the Hemisphere GPS from CSI Wireless. Has both an NMEA mode
  295. and a binary protocol. We have not been able to test with one of these, but the
  296. manual suggests <code>gpsd</code> should handle the NMEA mode just fine.</dd>
  297. <dt><a href='ftp://ftp.ashtech.com/OEM_Sensor_ADU/Legacy%20products/A12,%20%20B12,%20%26%20AC12/Reference%20Material/A12,%20B12%20%26%20AC12%20RM%20rev%20E.pdf'>Thales A12/B12/C12 Reference Manual</a> (Revision D, 2005)</dt>
  298. <dd>Reference for a line of Thales GPS modules apparently designed
  299. for embedded vehicle and cargo tracking. Uses a very extended dialect
  300. of NMEA they call the <q>standard Ashtech command set</q>. We
  301. have not been able to test with one of these, but the manual suggests
  302. <code>gpsd</code> should handle the NMEA mode just fine.</dd>
  303. <dt><a href='http://gpsd.googlecode.com/files/truenorth-reference.pdf'>True North Revolution Compass Technical
  304. Reference</a> (Revision B, August 2003)</dt>
  305. <dd>Interface spec for a digital magnetic compass that reports in NMEA. <code>gpsd</code> had support for this in versions up to 2.33; whether it keeps
  306. that status in later releases will depend on whether we can get test hardware.</dd>
  307. <dt><a href='http://gpsd.googlecode.com/files/WD-G-ZX4120.pdf'>WD-G-ZX4120 User's Manual</a> (Version 1.0)</dt>
  308. <dd>This file documents a module based on NemeriX chips, and the
  309. NMEA extensions used. <code>gpsd</code> should just work in NMEA mode.</dd>
  310. <dt><a href='http://www.manualsdir.com/manuals/281891/rainbow-electronics-eb-230.html'>EB-230 User's Manual</a> (Version 1.2)</dt>
  311. <dd>This file documents one elusive Mediatek GPS module, and the proprietary
  312. NMEA extensions used. <code>gpsd</code> should just work in NMEA mode.</dd>
  313. <dt><a href='http://gpsd.googlecode.com/files/MTK_NMEA_Packet_0.71_Sanav.pdf'>Mediatek Packet User's Manual</a> (Version 0.7)</dt>
  314. <dd>This file documents the proprietary Mediatek NMEA-ish protocol.
  315. <code>gpsd</code> should just work in NMEA mode.</dd>
  316. <dt><a href='http://gpsd.googlecode.com/files/GT320F-LS-Binary-Message-Protocol-v1.5.pdf'>LocSense Binary Message Protocol</a> (Version 1.5)</dt>
  317. <dd>This file documents the LocSense binary message protocol. This protocol
  318. is currently unsupported. <code>gpsd</code> should just work in NMEA mode
  319. with LocSense based receivers.</dd>
  320. <dt><a href='http://gpsd.googlecode.com/files/Navcom%2096-312001-3001%20%28rev%20K%29.pdf'>Navcom Technical Reference Manual</a> (rev. K, Aug 2008)</dt>
  321. <dd>Technical reference and protocol specifications for Navcom receivers.</dd>
  322. </dl>
  323. <h2>Obsolete products</h2>
  324. <dl>
  325. <dt><a href='http://users.rcn.com/mardor/serial.pdf'>Zodiac Serial Data Interface Specification</a> (Revision 11, September 1996)</dt>
  326. <dd>Describes the binary protocol used by Rockwell/Conexant Zodiac chipsets.
  327. Supported by <code>gpsd</code>. Now obsolete; SiRF ate their lunch.</dd>
  328. <dt><a href='http://code.google.com/p/gpsd/downloads/detail?name=SiRF-Axiom.pdf&amp;can=2&amp;q='>Axiom Sandpiper II Documentation</a> [broken link] (August 2000)</dt>
  329. <dd>We have archived the most complete available documentation on the Axiom
  330. Sandpiper II OEM module (discontinued, vendor has gone out of
  331. business). Supported by <code>gpsd</code>.</dd>
  332. </dl>
  333. <h1>Other</h1>
  334. <dl>
  335. <dt><a href='http://gpsd.googlecode.com/files/XYZ-NED.pdf'>ECEF-to-Geodetic C Code</a></dt>
  336. <dd>Sample C code for conversion from the Earth Centered-Earth Fixed
  337. coordinates reported by many vendor binary protocols to ordinary
  338. geodetic coordinates.</dd>
  339. <dt><a href="http://williams.best.vwh.net/avform.htm">Aviation
  340. Formulary</a></dt>
  341. <dd>Compendium of formulas related to geodetic navigation, with examples.</dd>
  342. </dl>
  343. <hr>
  344. <script src="datestamp.js"></script>
  345. </div>
  346. </body>
  347. </html>