A clone of: https://github.com/nutechsoftware/alarmdecoder This is requires as they dropped support for older firmware releases w/o building in backward compatibility code, and they had previously hardcoded pyserial to a python2 only version.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1521 lines
83 KiB

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6. <title>pyad2 Package &mdash; pyad2 documentation</title>
  7. <link rel="stylesheet" href="_static/default.css" type="text/css" />
  8. <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
  9. <script type="text/javascript">
  10. var DOCUMENTATION_OPTIONS = {
  11. URL_ROOT: './',
  12. VERSION: '',
  13. COLLAPSE_INDEX: false,
  14. FILE_SUFFIX: '.html',
  15. HAS_SOURCE: true
  16. };
  17. </script>
  18. <script type="text/javascript" src="_static/jquery.js"></script>
  19. <script type="text/javascript" src="_static/underscore.js"></script>
  20. <script type="text/javascript" src="_static/doctools.js"></script>
  21. <link rel="top" title="pyad2 documentation" href="index.html" />
  22. <link rel="next" title="event Package" href="pyad2.event.html" />
  23. <link rel="prev" title="Welcome to pyad2’s documentation!" href="index.html" />
  24. </head>
  25. <body>
  26. <div class="related">
  27. <h3>Navigation</h3>
  28. <ul>
  29. <li class="right" style="margin-right: 10px">
  30. <a href="genindex.html" title="General Index"
  31. accesskey="I">index</a></li>
  32. <li class="right" >
  33. <a href="py-modindex.html" title="Python Module Index"
  34. >modules</a> |</li>
  35. <li class="right" >
  36. <a href="pyad2.event.html" title="event Package"
  37. accesskey="N">next</a> |</li>
  38. <li class="right" >
  39. <a href="index.html" title="Welcome to pyad2’s documentation!"
  40. accesskey="P">previous</a> |</li>
  41. <li><a href="index.html">pyad2 documentation</a> &raquo;</li>
  42. </ul>
  43. </div>
  44. <div class="document">
  45. <div class="documentwrapper">
  46. <div class="bodywrapper">
  47. <div class="body">
  48. <div class="section" id="pyad2-package">
  49. <h1>pyad2 Package<a class="headerlink" href="#pyad2-package" title="Permalink to this headline">¶</a></h1>
  50. <div class="section" id="module-pyad2.ad2">
  51. <span id="ad2-module"></span><h2><tt class="xref py py-mod docutils literal"><span class="pre">ad2</span></tt> Module<a class="headerlink" href="#module-pyad2.ad2" title="Permalink to this headline">¶</a></h2>
  52. <p>Provides the full AD2 class and factory.</p>
  53. <dl class="class">
  54. <dt id="pyad2.ad2.AD2Factory">
  55. <em class="property">class </em><tt class="descclassname">pyad2.ad2.</tt><tt class="descname">AD2Factory</tt><big>(</big><em>attached_event=None</em>, <em>detached_event=None</em><big>)</big><a class="reference internal" href="_modules/pyad2/ad2.html#AD2Factory"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.ad2.AD2Factory" title="Permalink to this definition">¶</a></dt>
  56. <dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">object</span></tt></p>
  57. <p>Factory for creation of AD2USB devices as well as provides attach/detach events.&#8221;</p>
  58. <dl class="attribute">
  59. <dt id="pyad2.ad2.AD2Factory.on_attached">
  60. <tt class="descname">on_attached</tt><a class="headerlink" href="#pyad2.ad2.AD2Factory.on_attached" title="Permalink to this definition">¶</a></dt>
  61. <dd><p>Called when an AD2USB device has been detected.</p>
  62. </dd></dl>
  63. <dl class="attribute">
  64. <dt id="pyad2.ad2.AD2Factory.on_detached">
  65. <tt class="descname">on_detached</tt><a class="headerlink" href="#pyad2.ad2.AD2Factory.on_detached" title="Permalink to this definition">¶</a></dt>
  66. <dd><p>Called when an AD2USB device has been removed.</p>
  67. </dd></dl>
  68. <dl class="classmethod">
  69. <dt id="pyad2.ad2.AD2Factory.find_all">
  70. <em class="property">classmethod </em><tt class="descname">find_all</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/pyad2/ad2.html#AD2Factory.find_all"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.ad2.AD2Factory.find_all" title="Permalink to this definition">¶</a></dt>
  71. <dd><p>Returns all AD2USB devices located on the system.</p>
  72. <table class="docutils field-list" frame="void" rules="none">
  73. <col class="field-name" />
  74. <col class="field-body" />
  75. <tbody valign="top">
  76. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">list of devices found</td>
  77. </tr>
  78. <tr class="field-even field"><th class="field-name">Raises :</th><td class="field-body">CommError</td>
  79. </tr>
  80. </tbody>
  81. </table>
  82. </dd></dl>
  83. <dl class="classmethod">
  84. <dt id="pyad2.ad2.AD2Factory.devices">
  85. <em class="property">classmethod </em><tt class="descname">devices</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/pyad2/ad2.html#AD2Factory.devices"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.ad2.AD2Factory.devices" title="Permalink to this definition">¶</a></dt>
  86. <dd><p>Returns a cached list of AD2USB devices located on the system.</p>
  87. <table class="docutils field-list" frame="void" rules="none">
  88. <col class="field-name" />
  89. <col class="field-body" />
  90. <tbody valign="top">
  91. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">cached list of devices found.</td>
  92. </tr>
  93. </tbody>
  94. </table>
  95. </dd></dl>
  96. <dl class="classmethod">
  97. <dt id="pyad2.ad2.AD2Factory.create">
  98. <em class="property">classmethod </em><tt class="descname">create</tt><big>(</big><em>device=None</em><big>)</big><a class="reference internal" href="_modules/pyad2/ad2.html#AD2Factory.create"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.ad2.AD2Factory.create" title="Permalink to this definition">¶</a></dt>
  99. <dd><p>Factory method that returns the requested AD2USB device, or the first device.</p>
  100. <table class="docutils field-list" frame="void" rules="none">
  101. <col class="field-name" />
  102. <col class="field-body" />
  103. <tbody valign="top">
  104. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>device</strong> (<em>tuple</em>) &#8211; Tuple describing the USB device to open, as returned by find_all().</td>
  105. </tr>
  106. <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">AD2USB object utilizing the specified device.</td>
  107. </tr>
  108. <tr class="field-odd field"><th class="field-name">Raises :</th><td class="field-body">NoDeviceError</td>
  109. </tr>
  110. </tbody>
  111. </table>
  112. </dd></dl>
  113. <dl class="method">
  114. <dt id="pyad2.ad2.AD2Factory.close">
  115. <tt class="descname">close</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/pyad2/ad2.html#AD2Factory.close"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.ad2.AD2Factory.close" title="Permalink to this definition">¶</a></dt>
  116. <dd><p>Clean up and shut down.</p>
  117. </dd></dl>
  118. <dl class="method">
  119. <dt id="pyad2.ad2.AD2Factory.start">
  120. <tt class="descname">start</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/pyad2/ad2.html#AD2Factory.start"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.ad2.AD2Factory.start" title="Permalink to this definition">¶</a></dt>
  121. <dd><p>Starts the detection thread, if not already running.</p>
  122. </dd></dl>
  123. <dl class="method">
  124. <dt id="pyad2.ad2.AD2Factory.stop">
  125. <tt class="descname">stop</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/pyad2/ad2.html#AD2Factory.stop"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.ad2.AD2Factory.stop" title="Permalink to this definition">¶</a></dt>
  126. <dd><p>Stops the detection thread.</p>
  127. </dd></dl>
  128. <dl class="method">
  129. <dt id="pyad2.ad2.AD2Factory.get_device">
  130. <tt class="descname">get_device</tt><big>(</big><em>device=None</em><big>)</big><a class="reference internal" href="_modules/pyad2/ad2.html#AD2Factory.get_device"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.ad2.AD2Factory.get_device" title="Permalink to this definition">¶</a></dt>
  131. <dd><p>Factory method that returns the requested AD2USB device, or the first device.</p>
  132. <table class="docutils field-list" frame="void" rules="none">
  133. <col class="field-name" />
  134. <col class="field-body" />
  135. <tbody valign="top">
  136. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>device</strong> (<em>tuple</em>) &#8211; Tuple describing the USB device to open, as returned by find_all().</td>
  137. </tr>
  138. </tbody>
  139. </table>
  140. </dd></dl>
  141. <dl class="class">
  142. <dt id="pyad2.ad2.AD2Factory.DetectThread">
  143. <em class="property">class </em><tt class="descname">DetectThread</tt><big>(</big><em>factory</em><big>)</big><a class="reference internal" href="_modules/pyad2/ad2.html#AD2Factory.DetectThread"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.ad2.AD2Factory.DetectThread" title="Permalink to this definition">¶</a></dt>
  144. <dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">threading.Thread</span></tt></p>
  145. <p>Thread that handles detection of added/removed devices.</p>
  146. <dl class="method">
  147. <dt id="pyad2.ad2.AD2Factory.DetectThread.stop">
  148. <tt class="descname">stop</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/pyad2/ad2.html#AD2Factory.DetectThread.stop"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.ad2.AD2Factory.DetectThread.stop" title="Permalink to this definition">¶</a></dt>
  149. <dd><p>Stops the thread.</p>
  150. </dd></dl>
  151. <dl class="method">
  152. <dt id="pyad2.ad2.AD2Factory.DetectThread.run">
  153. <tt class="descname">run</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/pyad2/ad2.html#AD2Factory.DetectThread.run"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.ad2.AD2Factory.DetectThread.run" title="Permalink to this definition">¶</a></dt>
  154. <dd><p>The actual detection process.</p>
  155. </dd></dl>
  156. </dd></dl>
  157. </dd></dl>
  158. <dl class="class">
  159. <dt id="pyad2.ad2.AD2">
  160. <em class="property">class </em><tt class="descclassname">pyad2.ad2.</tt><tt class="descname">AD2</tt><big>(</big><em>device</em><big>)</big><a class="reference internal" href="_modules/pyad2/ad2.html#AD2"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.ad2.AD2" title="Permalink to this definition">¶</a></dt>
  161. <dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">object</span></tt></p>
  162. <p>High-level wrapper around AD2 devices.</p>
  163. <dl class="attribute">
  164. <dt id="pyad2.ad2.AD2.on_arm">
  165. <tt class="descname">on_arm</tt><a class="headerlink" href="#pyad2.ad2.AD2.on_arm" title="Permalink to this definition">¶</a></dt>
  166. <dd><p>Called when the panel is armed.</p>
  167. </dd></dl>
  168. <dl class="attribute">
  169. <dt id="pyad2.ad2.AD2.on_disarm">
  170. <tt class="descname">on_disarm</tt><a class="headerlink" href="#pyad2.ad2.AD2.on_disarm" title="Permalink to this definition">¶</a></dt>
  171. <dd><p>Called when the panel is disarmed.</p>
  172. </dd></dl>
  173. <dl class="attribute">
  174. <dt id="pyad2.ad2.AD2.on_power_changed">
  175. <tt class="descname">on_power_changed</tt><a class="headerlink" href="#pyad2.ad2.AD2.on_power_changed" title="Permalink to this definition">¶</a></dt>
  176. <dd><p>Called when panel power switches between AC and DC.</p>
  177. </dd></dl>
  178. <dl class="attribute">
  179. <dt id="pyad2.ad2.AD2.on_alarm">
  180. <tt class="descname">on_alarm</tt><a class="headerlink" href="#pyad2.ad2.AD2.on_alarm" title="Permalink to this definition">¶</a></dt>
  181. <dd><p>Called when the alarm is triggered.</p>
  182. </dd></dl>
  183. <dl class="attribute">
  184. <dt id="pyad2.ad2.AD2.on_fire">
  185. <tt class="descname">on_fire</tt><a class="headerlink" href="#pyad2.ad2.AD2.on_fire" title="Permalink to this definition">¶</a></dt>
  186. <dd><p>Called when a fire is detected.</p>
  187. </dd></dl>
  188. <dl class="attribute">
  189. <dt id="pyad2.ad2.AD2.on_bypass">
  190. <tt class="descname">on_bypass</tt><a class="headerlink" href="#pyad2.ad2.AD2.on_bypass" title="Permalink to this definition">¶</a></dt>
  191. <dd><p>Called when a zone is bypassed.</p>
  192. </dd></dl>
  193. <dl class="attribute">
  194. <dt id="pyad2.ad2.AD2.on_boot">
  195. <tt class="descname">on_boot</tt><a class="headerlink" href="#pyad2.ad2.AD2.on_boot" title="Permalink to this definition">¶</a></dt>
  196. <dd><p>Called when the device finishes bootings.</p>
  197. </dd></dl>
  198. <dl class="attribute">
  199. <dt id="pyad2.ad2.AD2.on_config_received">
  200. <tt class="descname">on_config_received</tt><a class="headerlink" href="#pyad2.ad2.AD2.on_config_received" title="Permalink to this definition">¶</a></dt>
  201. <dd><p>Called when the device receives its configuration.</p>
  202. </dd></dl>
  203. <dl class="attribute">
  204. <dt id="pyad2.ad2.AD2.on_zone_fault">
  205. <tt class="descname">on_zone_fault</tt><a class="headerlink" href="#pyad2.ad2.AD2.on_zone_fault" title="Permalink to this definition">¶</a></dt>
  206. <dd><p>Called when the device detects a zone fault.</p>
  207. </dd></dl>
  208. <dl class="attribute">
  209. <dt id="pyad2.ad2.AD2.on_zone_restore">
  210. <tt class="descname">on_zone_restore</tt><a class="headerlink" href="#pyad2.ad2.AD2.on_zone_restore" title="Permalink to this definition">¶</a></dt>
  211. <dd><p>Called when the device detects that a fault is restored.</p>
  212. </dd></dl>
  213. <dl class="attribute">
  214. <dt id="pyad2.ad2.AD2.on_low_battery">
  215. <tt class="descname">on_low_battery</tt><a class="headerlink" href="#pyad2.ad2.AD2.on_low_battery" title="Permalink to this definition">¶</a></dt>
  216. <dd><p>Called when the device detects a low battery.</p>
  217. </dd></dl>
  218. <dl class="attribute">
  219. <dt id="pyad2.ad2.AD2.on_panic">
  220. <tt class="descname">on_panic</tt><a class="headerlink" href="#pyad2.ad2.AD2.on_panic" title="Permalink to this definition">¶</a></dt>
  221. <dd><p>Called when the device detects a panic.</p>
  222. </dd></dl>
  223. <dl class="attribute">
  224. <dt id="pyad2.ad2.AD2.on_relay_changed">
  225. <tt class="descname">on_relay_changed</tt><a class="headerlink" href="#pyad2.ad2.AD2.on_relay_changed" title="Permalink to this definition">¶</a></dt>
  226. <dd><p>Called when a relay is opened or closed on an expander board.</p>
  227. </dd></dl>
  228. <dl class="attribute">
  229. <dt id="pyad2.ad2.AD2.on_message">
  230. <tt class="descname">on_message</tt><a class="headerlink" href="#pyad2.ad2.AD2.on_message" title="Permalink to this definition">¶</a></dt>
  231. <dd><p>Called when a message has been received from the device.</p>
  232. </dd></dl>
  233. <dl class="attribute">
  234. <dt id="pyad2.ad2.AD2.on_lrr_message">
  235. <tt class="descname">on_lrr_message</tt><a class="headerlink" href="#pyad2.ad2.AD2.on_lrr_message" title="Permalink to this definition">¶</a></dt>
  236. <dd><p>Called when an LRR message is received.</p>
  237. </dd></dl>
  238. <dl class="attribute">
  239. <dt id="pyad2.ad2.AD2.on_rfx_message">
  240. <tt class="descname">on_rfx_message</tt><a class="headerlink" href="#pyad2.ad2.AD2.on_rfx_message" title="Permalink to this definition">¶</a></dt>
  241. <dd><p>Called when an RFX message is received.</p>
  242. </dd></dl>
  243. <dl class="attribute">
  244. <dt id="pyad2.ad2.AD2.on_open">
  245. <tt class="descname">on_open</tt><a class="headerlink" href="#pyad2.ad2.AD2.on_open" title="Permalink to this definition">¶</a></dt>
  246. <dd><p>Called when the device has been opened.</p>
  247. </dd></dl>
  248. <dl class="attribute">
  249. <dt id="pyad2.ad2.AD2.on_close">
  250. <tt class="descname">on_close</tt><a class="headerlink" href="#pyad2.ad2.AD2.on_close" title="Permalink to this definition">¶</a></dt>
  251. <dd><p>Called when the device has been closed.</p>
  252. </dd></dl>
  253. <dl class="attribute">
  254. <dt id="pyad2.ad2.AD2.on_read">
  255. <tt class="descname">on_read</tt><a class="headerlink" href="#pyad2.ad2.AD2.on_read" title="Permalink to this definition">¶</a></dt>
  256. <dd><p>Called when a line has been read from the device.</p>
  257. </dd></dl>
  258. <dl class="attribute">
  259. <dt id="pyad2.ad2.AD2.on_write">
  260. <tt class="descname">on_write</tt><a class="headerlink" href="#pyad2.ad2.AD2.on_write" title="Permalink to this definition">¶</a></dt>
  261. <dd><p>Called when data has been written to the device.</p>
  262. </dd></dl>
  263. <dl class="attribute">
  264. <dt id="pyad2.ad2.AD2.F1">
  265. <tt class="descname">F1</tt><em class="property"> = u'\x01\x01\x01'</em><a class="headerlink" href="#pyad2.ad2.AD2.F1" title="Permalink to this definition">¶</a></dt>
  266. <dd><p>Represents panel function key #1</p>
  267. </dd></dl>
  268. <dl class="attribute">
  269. <dt id="pyad2.ad2.AD2.F2">
  270. <tt class="descname">F2</tt><em class="property"> = u'\x02\x02\x02'</em><a class="headerlink" href="#pyad2.ad2.AD2.F2" title="Permalink to this definition">¶</a></dt>
  271. <dd><p>Represents panel function key #2</p>
  272. </dd></dl>
  273. <dl class="attribute">
  274. <dt id="pyad2.ad2.AD2.F3">
  275. <tt class="descname">F3</tt><em class="property"> = u'\x03\x03\x03'</em><a class="headerlink" href="#pyad2.ad2.AD2.F3" title="Permalink to this definition">¶</a></dt>
  276. <dd><p>Represents panel function key #3</p>
  277. </dd></dl>
  278. <dl class="attribute">
  279. <dt id="pyad2.ad2.AD2.F4">
  280. <tt class="descname">F4</tt><em class="property"> = u'\x04\x04\x04'</em><a class="headerlink" href="#pyad2.ad2.AD2.F4" title="Permalink to this definition">¶</a></dt>
  281. <dd><p>Represents panel function key #4</p>
  282. </dd></dl>
  283. <dl class="attribute">
  284. <dt id="pyad2.ad2.AD2.BATTERY_TIMEOUT">
  285. <tt class="descname">BATTERY_TIMEOUT</tt><em class="property"> = 30</em><a class="headerlink" href="#pyad2.ad2.AD2.BATTERY_TIMEOUT" title="Permalink to this definition">¶</a></dt>
  286. <dd><p>Timeout before the battery status reverts.</p>
  287. </dd></dl>
  288. <dl class="attribute">
  289. <dt id="pyad2.ad2.AD2.FIRE_TIMEOUT">
  290. <tt class="descname">FIRE_TIMEOUT</tt><em class="property"> = 30</em><a class="headerlink" href="#pyad2.ad2.AD2.FIRE_TIMEOUT" title="Permalink to this definition">¶</a></dt>
  291. <dd><p>Timeout before the fire status reverts.</p>
  292. </dd></dl>
  293. <dl class="attribute">
  294. <dt id="pyad2.ad2.AD2.id">
  295. <tt class="descname">id</tt><a class="reference internal" href="_modules/pyad2/ad2.html#AD2.id"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.ad2.AD2.id" title="Permalink to this definition">¶</a></dt>
  296. <dd><p>The ID of the AD2 device.</p>
  297. <table class="docutils field-list" frame="void" rules="none">
  298. <col class="field-name" />
  299. <col class="field-body" />
  300. <tbody valign="top">
  301. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The identification string for the device.</td>
  302. </tr>
  303. </tbody>
  304. </table>
  305. </dd></dl>
  306. <dl class="method">
  307. <dt id="pyad2.ad2.AD2.open">
  308. <tt class="descname">open</tt><big>(</big><em>baudrate=None</em>, <em>no_reader_thread=False</em><big>)</big><a class="reference internal" href="_modules/pyad2/ad2.html#AD2.open"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.ad2.AD2.open" title="Permalink to this definition">¶</a></dt>
  309. <dd><p>Opens the device.</p>
  310. <table class="docutils field-list" frame="void" rules="none">
  311. <col class="field-name" />
  312. <col class="field-body" />
  313. <tbody valign="top">
  314. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
  315. <li><strong>baudrate</strong> (<em>int</em>) &#8211; The baudrate used for the device.</li>
  316. <li><strong>no_reader_thread</strong> (<em>bool</em>) &#8211; Specifies whether or not the automatic reader thread should be started or not</li>
  317. </ul>
  318. </td>
  319. </tr>
  320. </tbody>
  321. </table>
  322. </dd></dl>
  323. <dl class="method">
  324. <dt id="pyad2.ad2.AD2.close">
  325. <tt class="descname">close</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/pyad2/ad2.html#AD2.close"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.ad2.AD2.close" title="Permalink to this definition">¶</a></dt>
  326. <dd><p>Closes the device.</p>
  327. </dd></dl>
  328. <dl class="method">
  329. <dt id="pyad2.ad2.AD2.send">
  330. <tt class="descname">send</tt><big>(</big><em>data</em><big>)</big><a class="reference internal" href="_modules/pyad2/ad2.html#AD2.send"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.ad2.AD2.send" title="Permalink to this definition">¶</a></dt>
  331. <dd><p>Sends data to the AD2 device.</p>
  332. <table class="docutils field-list" frame="void" rules="none">
  333. <col class="field-name" />
  334. <col class="field-body" />
  335. <tbody valign="top">
  336. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>data</strong> (<em>str</em>) &#8211; The data to send.</td>
  337. </tr>
  338. </tbody>
  339. </table>
  340. </dd></dl>
  341. <dl class="method">
  342. <dt id="pyad2.ad2.AD2.get_config">
  343. <tt class="descname">get_config</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/pyad2/ad2.html#AD2.get_config"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.ad2.AD2.get_config" title="Permalink to this definition">¶</a></dt>
  344. <dd><p>Retrieves the configuration from the device.</p>
  345. </dd></dl>
  346. <dl class="method">
  347. <dt id="pyad2.ad2.AD2.save_config">
  348. <tt class="descname">save_config</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/pyad2/ad2.html#AD2.save_config"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.ad2.AD2.save_config" title="Permalink to this definition">¶</a></dt>
  349. <dd><p>Sets configuration entries on the device.</p>
  350. </dd></dl>
  351. <dl class="method">
  352. <dt id="pyad2.ad2.AD2.reboot">
  353. <tt class="descname">reboot</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/pyad2/ad2.html#AD2.reboot"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.ad2.AD2.reboot" title="Permalink to this definition">¶</a></dt>
  354. <dd><p>Reboots the device.</p>
  355. </dd></dl>
  356. <dl class="method">
  357. <dt id="pyad2.ad2.AD2.fault_zone">
  358. <tt class="descname">fault_zone</tt><big>(</big><em>zone</em>, <em>simulate_wire_problem=False</em><big>)</big><a class="reference internal" href="_modules/pyad2/ad2.html#AD2.fault_zone"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.ad2.AD2.fault_zone" title="Permalink to this definition">¶</a></dt>
  359. <dd><p>Faults a zone if we are emulating a zone expander.</p>
  360. <table class="docutils field-list" frame="void" rules="none">
  361. <col class="field-name" />
  362. <col class="field-body" />
  363. <tbody valign="top">
  364. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
  365. <li><strong>zone</strong> (<em>int</em>) &#8211; The zone to fault.</li>
  366. <li><strong>simulate_wire_problem</strong> (<em>bool</em>) &#8211; Whether or not to simulate a wire fault.</li>
  367. </ul>
  368. </td>
  369. </tr>
  370. </tbody>
  371. </table>
  372. </dd></dl>
  373. <dl class="method">
  374. <dt id="pyad2.ad2.AD2.clear_zone">
  375. <tt class="descname">clear_zone</tt><big>(</big><em>zone</em><big>)</big><a class="reference internal" href="_modules/pyad2/ad2.html#AD2.clear_zone"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.ad2.AD2.clear_zone" title="Permalink to this definition">¶</a></dt>
  376. <dd><p>Clears a zone if we are emulating a zone expander.</p>
  377. <table class="docutils field-list" frame="void" rules="none">
  378. <col class="field-name" />
  379. <col class="field-body" />
  380. <tbody valign="top">
  381. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>zone</strong> (<em>int</em>) &#8211; The zone to clear.</td>
  382. </tr>
  383. </tbody>
  384. </table>
  385. </dd></dl>
  386. </dd></dl>
  387. </div>
  388. <div class="section" id="module-pyad2.devices">
  389. <span id="devices-module"></span><h2><tt class="xref py py-mod docutils literal"><span class="pre">devices</span></tt> Module<a class="headerlink" href="#module-pyad2.devices" title="Permalink to this headline">¶</a></h2>
  390. <p>Contains different types of devices belonging to the AD2 family.</p>
  391. <dl class="class">
  392. <dt id="pyad2.devices.Device">
  393. <em class="property">class </em><tt class="descclassname">pyad2.devices.</tt><tt class="descname">Device</tt><a class="reference internal" href="_modules/pyad2/devices.html#Device"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.devices.Device" title="Permalink to this definition">¶</a></dt>
  394. <dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">object</span></tt></p>
  395. <p>Generic parent device to all AD2 products.</p>
  396. <dl class="attribute">
  397. <dt id="pyad2.devices.Device.on_open">
  398. <tt class="descname">on_open</tt><a class="headerlink" href="#pyad2.devices.Device.on_open" title="Permalink to this definition">¶</a></dt>
  399. <dd><p>Called when the device has been opened</p>
  400. </dd></dl>
  401. <dl class="attribute">
  402. <dt id="pyad2.devices.Device.on_close">
  403. <tt class="descname">on_close</tt><a class="headerlink" href="#pyad2.devices.Device.on_close" title="Permalink to this definition">¶</a></dt>
  404. <dd><p>Called when the device has been closed</p>
  405. </dd></dl>
  406. <dl class="attribute">
  407. <dt id="pyad2.devices.Device.on_read">
  408. <tt class="descname">on_read</tt><a class="headerlink" href="#pyad2.devices.Device.on_read" title="Permalink to this definition">¶</a></dt>
  409. <dd><p>Called when a line has been read from the device</p>
  410. </dd></dl>
  411. <dl class="attribute">
  412. <dt id="pyad2.devices.Device.on_write">
  413. <tt class="descname">on_write</tt><a class="headerlink" href="#pyad2.devices.Device.on_write" title="Permalink to this definition">¶</a></dt>
  414. <dd><p>Called when data has been written to the device</p>
  415. </dd></dl>
  416. <dl class="attribute">
  417. <dt id="pyad2.devices.Device.id">
  418. <tt class="descname">id</tt><a class="reference internal" href="_modules/pyad2/devices.html#Device.id"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.devices.Device.id" title="Permalink to this definition">¶</a></dt>
  419. <dd><p>Retrieve the device ID.</p>
  420. <table class="docutils field-list" frame="void" rules="none">
  421. <col class="field-name" />
  422. <col class="field-body" />
  423. <tbody valign="top">
  424. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The identification string for the device.</td>
  425. </tr>
  426. </tbody>
  427. </table>
  428. </dd></dl>
  429. <dl class="method">
  430. <dt id="pyad2.devices.Device.is_reader_alive">
  431. <tt class="descname">is_reader_alive</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/pyad2/devices.html#Device.is_reader_alive"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.devices.Device.is_reader_alive" title="Permalink to this definition">¶</a></dt>
  432. <dd><p>Indicates whether or not the reader thread is alive.</p>
  433. <table class="docutils field-list" frame="void" rules="none">
  434. <col class="field-name" />
  435. <col class="field-body" />
  436. <tbody valign="top">
  437. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">Whether or not the reader thread is alive.</td>
  438. </tr>
  439. </tbody>
  440. </table>
  441. </dd></dl>
  442. <dl class="method">
  443. <dt id="pyad2.devices.Device.stop_reader">
  444. <tt class="descname">stop_reader</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/pyad2/devices.html#Device.stop_reader"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.devices.Device.stop_reader" title="Permalink to this definition">¶</a></dt>
  445. <dd><p>Stops the reader thread.</p>
  446. </dd></dl>
  447. <dl class="method">
  448. <dt id="pyad2.devices.Device.close">
  449. <tt class="descname">close</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/pyad2/devices.html#Device.close"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.devices.Device.close" title="Permalink to this definition">¶</a></dt>
  450. <dd><p>Closes the device.</p>
  451. </dd></dl>
  452. <dl class="class">
  453. <dt id="pyad2.devices.Device.ReadThread">
  454. <em class="property">class </em><tt class="descname">ReadThread</tt><big>(</big><em>device</em><big>)</big><a class="reference internal" href="_modules/pyad2/devices.html#Device.ReadThread"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.devices.Device.ReadThread" title="Permalink to this definition">¶</a></dt>
  455. <dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">threading.Thread</span></tt></p>
  456. <p>Reader thread which processes messages from the device.</p>
  457. <dl class="attribute">
  458. <dt id="pyad2.devices.Device.ReadThread.READ_TIMEOUT">
  459. <tt class="descname">READ_TIMEOUT</tt><em class="property"> = 10</em><a class="headerlink" href="#pyad2.devices.Device.ReadThread.READ_TIMEOUT" title="Permalink to this definition">¶</a></dt>
  460. <dd><p>Timeout for the reader thread.</p>
  461. </dd></dl>
  462. <dl class="method">
  463. <dt id="pyad2.devices.Device.ReadThread.stop">
  464. <tt class="descname">stop</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/pyad2/devices.html#Device.ReadThread.stop"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.devices.Device.ReadThread.stop" title="Permalink to this definition">¶</a></dt>
  465. <dd><p>Stops the running thread.</p>
  466. </dd></dl>
  467. <dl class="method">
  468. <dt id="pyad2.devices.Device.ReadThread.run">
  469. <tt class="descname">run</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/pyad2/devices.html#Device.ReadThread.run"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.devices.Device.ReadThread.run" title="Permalink to this definition">¶</a></dt>
  470. <dd><p>The actual read process.</p>
  471. </dd></dl>
  472. </dd></dl>
  473. </dd></dl>
  474. <dl class="class">
  475. <dt id="pyad2.devices.USBDevice">
  476. <em class="property">class </em><tt class="descclassname">pyad2.devices.</tt><tt class="descname">USBDevice</tt><big>(</big><em>interface=(None</em>, <em>0)</em><big>)</big><a class="reference internal" href="_modules/pyad2/devices.html#USBDevice"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.devices.USBDevice" title="Permalink to this definition">¶</a></dt>
  477. <dd><p>Bases: <a class="reference internal" href="#pyad2.devices.Device" title="pyad2.devices.Device"><tt class="xref py py-class docutils literal"><span class="pre">pyad2.devices.Device</span></tt></a></p>
  478. <p>AD2USB device exposed with PyFTDI&#8217;s interface.</p>
  479. <dl class="attribute">
  480. <dt id="pyad2.devices.USBDevice.FTDI_VENDOR_ID">
  481. <tt class="descname">FTDI_VENDOR_ID</tt><em class="property"> = 1027</em><a class="headerlink" href="#pyad2.devices.USBDevice.FTDI_VENDOR_ID" title="Permalink to this definition">¶</a></dt>
  482. <dd><p>Vendor ID used to recognize AD2USB devices.</p>
  483. </dd></dl>
  484. <dl class="attribute">
  485. <dt id="pyad2.devices.USBDevice.FTDI_PRODUCT_ID">
  486. <tt class="descname">FTDI_PRODUCT_ID</tt><em class="property"> = 24577</em><a class="headerlink" href="#pyad2.devices.USBDevice.FTDI_PRODUCT_ID" title="Permalink to this definition">¶</a></dt>
  487. <dd><p>Product ID used to recognize AD2USB devices.</p>
  488. </dd></dl>
  489. <dl class="attribute">
  490. <dt id="pyad2.devices.USBDevice.BAUDRATE">
  491. <tt class="descname">BAUDRATE</tt><em class="property"> = 115200</em><a class="headerlink" href="#pyad2.devices.USBDevice.BAUDRATE" title="Permalink to this definition">¶</a></dt>
  492. <dd><p>Default baudrate for AD2USB devices.</p>
  493. </dd></dl>
  494. <dl class="staticmethod">
  495. <dt id="pyad2.devices.USBDevice.find_all">
  496. <em class="property">static </em><tt class="descname">find_all</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/pyad2/devices.html#USBDevice.find_all"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.devices.USBDevice.find_all" title="Permalink to this definition">¶</a></dt>
  497. <dd><p>Returns all FTDI devices matching our vendor and product IDs.</p>
  498. <table class="docutils field-list" frame="void" rules="none">
  499. <col class="field-name" />
  500. <col class="field-body" />
  501. <tbody valign="top">
  502. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">list of devices</td>
  503. </tr>
  504. <tr class="field-even field"><th class="field-name">Raises :</th><td class="field-body">CommError</td>
  505. </tr>
  506. </tbody>
  507. </table>
  508. </dd></dl>
  509. <dl class="attribute">
  510. <dt id="pyad2.devices.USBDevice.interface">
  511. <tt class="descname">interface</tt><a class="reference internal" href="_modules/pyad2/devices.html#USBDevice.interface"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.devices.USBDevice.interface" title="Permalink to this definition">¶</a></dt>
  512. <dd><p>Retrieves the interface used to connect to the device.</p>
  513. <table class="docutils field-list" frame="void" rules="none">
  514. <col class="field-name" />
  515. <col class="field-body" />
  516. <tbody valign="top">
  517. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">the interface used to connect to the device.</td>
  518. </tr>
  519. </tbody>
  520. </table>
  521. </dd></dl>
  522. <dl class="attribute">
  523. <dt id="pyad2.devices.USBDevice.serial_number">
  524. <tt class="descname">serial_number</tt><a class="reference internal" href="_modules/pyad2/devices.html#USBDevice.serial_number"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.devices.USBDevice.serial_number" title="Permalink to this definition">¶</a></dt>
  525. <dd><p>Retrieves the serial number of the device.</p>
  526. <table class="docutils field-list" frame="void" rules="none">
  527. <col class="field-name" />
  528. <col class="field-body" />
  529. <tbody valign="top">
  530. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The serial number of the device.</td>
  531. </tr>
  532. </tbody>
  533. </table>
  534. </dd></dl>
  535. <dl class="attribute">
  536. <dt id="pyad2.devices.USBDevice.description">
  537. <tt class="descname">description</tt><a class="reference internal" href="_modules/pyad2/devices.html#USBDevice.description"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.devices.USBDevice.description" title="Permalink to this definition">¶</a></dt>
  538. <dd><p>Retrieves the description of the device.</p>
  539. <table class="docutils field-list" frame="void" rules="none">
  540. <col class="field-name" />
  541. <col class="field-body" />
  542. <tbody valign="top">
  543. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The description of the device.</td>
  544. </tr>
  545. </tbody>
  546. </table>
  547. </dd></dl>
  548. <dl class="method">
  549. <dt id="pyad2.devices.USBDevice.open">
  550. <tt class="descname">open</tt><big>(</big><em>baudrate=115200</em>, <em>no_reader_thread=False</em><big>)</big><a class="reference internal" href="_modules/pyad2/devices.html#USBDevice.open"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.devices.USBDevice.open" title="Permalink to this definition">¶</a></dt>
  551. <dd><p>Opens the device.</p>
  552. <table class="docutils field-list" frame="void" rules="none">
  553. <col class="field-name" />
  554. <col class="field-body" />
  555. <tbody valign="top">
  556. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
  557. <li><strong>baudrate</strong> (<em>int</em>) &#8211; The baudrate to use.</li>
  558. <li><strong>no_reader_thread</strong> (<em>bool</em>) &#8211; Whether or not to automatically start the reader thread.</li>
  559. </ul>
  560. </td>
  561. </tr>
  562. <tr class="field-even field"><th class="field-name">Raises :</th><td class="field-body"><p class="first last">NoDeviceError</p>
  563. </td>
  564. </tr>
  565. </tbody>
  566. </table>
  567. </dd></dl>
  568. <dl class="method">
  569. <dt id="pyad2.devices.USBDevice.close">
  570. <tt class="descname">close</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/pyad2/devices.html#USBDevice.close"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.devices.USBDevice.close" title="Permalink to this definition">¶</a></dt>
  571. <dd><p>Closes the device.</p>
  572. </dd></dl>
  573. <dl class="method">
  574. <dt id="pyad2.devices.USBDevice.write">
  575. <tt class="descname">write</tt><big>(</big><em>data</em><big>)</big><a class="reference internal" href="_modules/pyad2/devices.html#USBDevice.write"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.devices.USBDevice.write" title="Permalink to this definition">¶</a></dt>
  576. <dd><p>Writes data to the device.</p>
  577. <table class="docutils field-list" frame="void" rules="none">
  578. <col class="field-name" />
  579. <col class="field-body" />
  580. <tbody valign="top">
  581. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>data</strong> (<em>str</em>) &#8211; Data to write</td>
  582. </tr>
  583. <tr class="field-even field"><th class="field-name">Raises :</th><td class="field-body">CommError</td>
  584. </tr>
  585. </tbody>
  586. </table>
  587. </dd></dl>
  588. <dl class="method">
  589. <dt id="pyad2.devices.USBDevice.read">
  590. <tt class="descname">read</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/pyad2/devices.html#USBDevice.read"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.devices.USBDevice.read" title="Permalink to this definition">¶</a></dt>
  591. <dd><p>Reads a single character from the device.</p>
  592. <table class="docutils field-list" frame="void" rules="none">
  593. <col class="field-name" />
  594. <col class="field-body" />
  595. <tbody valign="top">
  596. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The character read from the device.</td>
  597. </tr>
  598. <tr class="field-even field"><th class="field-name">Raises :</th><td class="field-body">CommError</td>
  599. </tr>
  600. </tbody>
  601. </table>
  602. </dd></dl>
  603. <dl class="method">
  604. <dt id="pyad2.devices.USBDevice.read_line">
  605. <tt class="descname">read_line</tt><big>(</big><em>timeout=0.0</em>, <em>purge_buffer=False</em><big>)</big><a class="reference internal" href="_modules/pyad2/devices.html#USBDevice.read_line"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.devices.USBDevice.read_line" title="Permalink to this definition">¶</a></dt>
  606. <dd><p>Reads a line from the device.</p>
  607. <table class="docutils field-list" frame="void" rules="none">
  608. <col class="field-name" />
  609. <col class="field-body" />
  610. <tbody valign="top">
  611. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
  612. <li><strong>timeout</strong> (<em>float</em>) &#8211; Read timeout</li>
  613. <li><strong>purge_buffer</strong> (<em>bool</em>) &#8211; Indicates whether to purge the buffer prior to reading.</li>
  614. </ul>
  615. </td>
  616. </tr>
  617. <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">The line that was read.</p>
  618. </td>
  619. </tr>
  620. <tr class="field-odd field"><th class="field-name">Raises :</th><td class="field-body"><p class="first last">CommError, TimeoutError</p>
  621. </td>
  622. </tr>
  623. </tbody>
  624. </table>
  625. </dd></dl>
  626. </dd></dl>
  627. <dl class="class">
  628. <dt id="pyad2.devices.SerialDevice">
  629. <em class="property">class </em><tt class="descclassname">pyad2.devices.</tt><tt class="descname">SerialDevice</tt><big>(</big><em>interface=None</em><big>)</big><a class="reference internal" href="_modules/pyad2/devices.html#SerialDevice"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.devices.SerialDevice" title="Permalink to this definition">¶</a></dt>
  630. <dd><p>Bases: <a class="reference internal" href="#pyad2.devices.Device" title="pyad2.devices.Device"><tt class="xref py py-class docutils literal"><span class="pre">pyad2.devices.Device</span></tt></a></p>
  631. <p>AD2USB or AD2SERIAL device exposed with the pyserial interface.</p>
  632. <dl class="attribute">
  633. <dt id="pyad2.devices.SerialDevice.BAUDRATE">
  634. <tt class="descname">BAUDRATE</tt><em class="property"> = 19200</em><a class="headerlink" href="#pyad2.devices.SerialDevice.BAUDRATE" title="Permalink to this definition">¶</a></dt>
  635. <dd><p>Default baudrate for Serial devices.</p>
  636. </dd></dl>
  637. <dl class="staticmethod">
  638. <dt id="pyad2.devices.SerialDevice.find_all">
  639. <em class="property">static </em><tt class="descname">find_all</tt><big>(</big><em>pattern=None</em><big>)</big><a class="reference internal" href="_modules/pyad2/devices.html#SerialDevice.find_all"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.devices.SerialDevice.find_all" title="Permalink to this definition">¶</a></dt>
  640. <dd><p>Returns all serial ports present.</p>
  641. <table class="docutils field-list" frame="void" rules="none">
  642. <col class="field-name" />
  643. <col class="field-body" />
  644. <tbody valign="top">
  645. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>pattern</strong> (<em>str</em>) &#8211; Pattern to search for when retrieving serial ports.</td>
  646. </tr>
  647. <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">list of devices</td>
  648. </tr>
  649. <tr class="field-odd field"><th class="field-name">Raises :</th><td class="field-body">CommError</td>
  650. </tr>
  651. </tbody>
  652. </table>
  653. </dd></dl>
  654. <dl class="attribute">
  655. <dt id="pyad2.devices.SerialDevice.interface">
  656. <tt class="descname">interface</tt><a class="reference internal" href="_modules/pyad2/devices.html#SerialDevice.interface"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.devices.SerialDevice.interface" title="Permalink to this definition">¶</a></dt>
  657. <dd><p>Retrieves the interface used to connect to the device.</p>
  658. <table class="docutils field-list" frame="void" rules="none">
  659. <col class="field-name" />
  660. <col class="field-body" />
  661. <tbody valign="top">
  662. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">the interface used to connect to the device.</td>
  663. </tr>
  664. </tbody>
  665. </table>
  666. </dd></dl>
  667. <dl class="method">
  668. <dt id="pyad2.devices.SerialDevice.open">
  669. <tt class="descname">open</tt><big>(</big><em>baudrate=19200</em>, <em>no_reader_thread=False</em><big>)</big><a class="reference internal" href="_modules/pyad2/devices.html#SerialDevice.open"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.devices.SerialDevice.open" title="Permalink to this definition">¶</a></dt>
  670. <dd><p>Opens the device.</p>
  671. <table class="docutils field-list" frame="void" rules="none">
  672. <col class="field-name" />
  673. <col class="field-body" />
  674. <tbody valign="top">
  675. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
  676. <li><strong>baudrate</strong> (<em>int</em>) &#8211; The baudrate to use with the device.</li>
  677. <li><strong>no_reader_thread</strong> (<em>bool</em>) &#8211; Whether or not to automatically start the reader thread.</li>
  678. </ul>
  679. </td>
  680. </tr>
  681. <tr class="field-even field"><th class="field-name">Raises :</th><td class="field-body"><p class="first last">NoDeviceError</p>
  682. </td>
  683. </tr>
  684. </tbody>
  685. </table>
  686. </dd></dl>
  687. <dl class="method">
  688. <dt id="pyad2.devices.SerialDevice.close">
  689. <tt class="descname">close</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/pyad2/devices.html#SerialDevice.close"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.devices.SerialDevice.close" title="Permalink to this definition">¶</a></dt>
  690. <dd><p>Closes the device.</p>
  691. </dd></dl>
  692. <dl class="method">
  693. <dt id="pyad2.devices.SerialDevice.write">
  694. <tt class="descname">write</tt><big>(</big><em>data</em><big>)</big><a class="reference internal" href="_modules/pyad2/devices.html#SerialDevice.write"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.devices.SerialDevice.write" title="Permalink to this definition">¶</a></dt>
  695. <dd><p>Writes data to the device.</p>
  696. <table class="docutils field-list" frame="void" rules="none">
  697. <col class="field-name" />
  698. <col class="field-body" />
  699. <tbody valign="top">
  700. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>data</strong> (<em>str</em>) &#8211; The data to write.</td>
  701. </tr>
  702. <tr class="field-even field"><th class="field-name">Raises :</th><td class="field-body">CommError</td>
  703. </tr>
  704. </tbody>
  705. </table>
  706. </dd></dl>
  707. <dl class="method">
  708. <dt id="pyad2.devices.SerialDevice.read">
  709. <tt class="descname">read</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/pyad2/devices.html#SerialDevice.read"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.devices.SerialDevice.read" title="Permalink to this definition">¶</a></dt>
  710. <dd><p>Reads a single character from the device.</p>
  711. <table class="docutils field-list" frame="void" rules="none">
  712. <col class="field-name" />
  713. <col class="field-body" />
  714. <tbody valign="top">
  715. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The character read from the device.</td>
  716. </tr>
  717. <tr class="field-even field"><th class="field-name">Raises :</th><td class="field-body">CommError</td>
  718. </tr>
  719. </tbody>
  720. </table>
  721. </dd></dl>
  722. <dl class="method">
  723. <dt id="pyad2.devices.SerialDevice.read_line">
  724. <tt class="descname">read_line</tt><big>(</big><em>timeout=0.0</em>, <em>purge_buffer=False</em><big>)</big><a class="reference internal" href="_modules/pyad2/devices.html#SerialDevice.read_line"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.devices.SerialDevice.read_line" title="Permalink to this definition">¶</a></dt>
  725. <dd><p>Reads a line from the device.</p>
  726. <table class="docutils field-list" frame="void" rules="none">
  727. <col class="field-name" />
  728. <col class="field-body" />
  729. <tbody valign="top">
  730. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
  731. <li><strong>timeout</strong> (<em>float</em>) &#8211; The read timeout.</li>
  732. <li><strong>purge_buffer</strong> (<em>bool</em>) &#8211; Indicates whether to purge the buffer prior to reading.</li>
  733. </ul>
  734. </td>
  735. </tr>
  736. <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">The line read.</p>
  737. </td>
  738. </tr>
  739. <tr class="field-odd field"><th class="field-name">Raises :</th><td class="field-body"><p class="first last">CommError, TimeoutError</p>
  740. </td>
  741. </tr>
  742. </tbody>
  743. </table>
  744. </dd></dl>
  745. </dd></dl>
  746. <dl class="class">
  747. <dt id="pyad2.devices.SocketDevice">
  748. <em class="property">class </em><tt class="descclassname">pyad2.devices.</tt><tt class="descname">SocketDevice</tt><big>(</big><em>interface=('localhost'</em>, <em>10000)</em><big>)</big><a class="reference internal" href="_modules/pyad2/devices.html#SocketDevice"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.devices.SocketDevice" title="Permalink to this definition">¶</a></dt>
  749. <dd><p>Bases: <a class="reference internal" href="#pyad2.devices.Device" title="pyad2.devices.Device"><tt class="xref py py-class docutils literal"><span class="pre">pyad2.devices.Device</span></tt></a></p>
  750. <p>Device that supports communication with an AD2 that is exposed via ser2sock or another
  751. Serial to IP interface.</p>
  752. <dl class="attribute">
  753. <dt id="pyad2.devices.SocketDevice.interface">
  754. <tt class="descname">interface</tt><a class="reference internal" href="_modules/pyad2/devices.html#SocketDevice.interface"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.devices.SocketDevice.interface" title="Permalink to this definition">¶</a></dt>
  755. <dd><p>Retrieves the interface used to connect to the device.</p>
  756. <table class="docutils field-list" frame="void" rules="none">
  757. <col class="field-name" />
  758. <col class="field-body" />
  759. <tbody valign="top">
  760. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">the interface used to connect to the device.</td>
  761. </tr>
  762. </tbody>
  763. </table>
  764. </dd></dl>
  765. <dl class="attribute">
  766. <dt id="pyad2.devices.SocketDevice.ssl">
  767. <tt class="descname">ssl</tt><a class="reference internal" href="_modules/pyad2/devices.html#SocketDevice.ssl"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.devices.SocketDevice.ssl" title="Permalink to this definition">¶</a></dt>
  768. <dd><p>Retrieves whether or not the device is using SSL.</p>
  769. <table class="docutils field-list" frame="void" rules="none">
  770. <col class="field-name" />
  771. <col class="field-body" />
  772. <tbody valign="top">
  773. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">Whether or not the device is using SSL.</td>
  774. </tr>
  775. </tbody>
  776. </table>
  777. </dd></dl>
  778. <dl class="attribute">
  779. <dt id="pyad2.devices.SocketDevice.ssl_certificate">
  780. <tt class="descname">ssl_certificate</tt><a class="reference internal" href="_modules/pyad2/devices.html#SocketDevice.ssl_certificate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.devices.SocketDevice.ssl_certificate" title="Permalink to this definition">¶</a></dt>
  781. <dd><p>Retrieves the SSL client certificate path used for authentication.</p>
  782. <table class="docutils field-list" frame="void" rules="none">
  783. <col class="field-name" />
  784. <col class="field-body" />
  785. <tbody valign="top">
  786. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The certificate path</td>
  787. </tr>
  788. </tbody>
  789. </table>
  790. </dd></dl>
  791. <dl class="attribute">
  792. <dt id="pyad2.devices.SocketDevice.ssl_key">
  793. <tt class="descname">ssl_key</tt><a class="reference internal" href="_modules/pyad2/devices.html#SocketDevice.ssl_key"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.devices.SocketDevice.ssl_key" title="Permalink to this definition">¶</a></dt>
  794. <dd><p>Retrieves the SSL client certificate key used for authentication.</p>
  795. <table class="docutils field-list" frame="void" rules="none">
  796. <col class="field-name" />
  797. <col class="field-body" />
  798. <tbody valign="top">
  799. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The key path</td>
  800. </tr>
  801. </tbody>
  802. </table>
  803. </dd></dl>
  804. <dl class="attribute">
  805. <dt id="pyad2.devices.SocketDevice.ssl_ca">
  806. <tt class="descname">ssl_ca</tt><a class="reference internal" href="_modules/pyad2/devices.html#SocketDevice.ssl_ca"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.devices.SocketDevice.ssl_ca" title="Permalink to this definition">¶</a></dt>
  807. <dd><p>Retrieves the SSL Certificate Authority certificate used for authentication.</p>
  808. <table class="docutils field-list" frame="void" rules="none">
  809. <col class="field-name" />
  810. <col class="field-body" />
  811. <tbody valign="top">
  812. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The CA path</td>
  813. </tr>
  814. </tbody>
  815. </table>
  816. </dd></dl>
  817. <dl class="method">
  818. <dt id="pyad2.devices.SocketDevice.open">
  819. <tt class="descname">open</tt><big>(</big><em>baudrate=None</em>, <em>no_reader_thread=False</em><big>)</big><a class="reference internal" href="_modules/pyad2/devices.html#SocketDevice.open"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.devices.SocketDevice.open" title="Permalink to this definition">¶</a></dt>
  820. <dd><p>Opens the device.</p>
  821. <table class="docutils field-list" frame="void" rules="none">
  822. <col class="field-name" />
  823. <col class="field-body" />
  824. <tbody valign="top">
  825. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
  826. <li><strong>baudrate</strong> (<em>int</em>) &#8211; The baudrate to use</li>
  827. <li><strong>no_reader_thread</strong> (<em>bool</em>) &#8211; Whether or not to automatically open the reader thread.</li>
  828. </ul>
  829. </td>
  830. </tr>
  831. <tr class="field-even field"><th class="field-name">Raises :</th><td class="field-body"><p class="first last">NoDeviceError, CommError</p>
  832. </td>
  833. </tr>
  834. </tbody>
  835. </table>
  836. </dd></dl>
  837. <dl class="method">
  838. <dt id="pyad2.devices.SocketDevice.close">
  839. <tt class="descname">close</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/pyad2/devices.html#SocketDevice.close"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.devices.SocketDevice.close" title="Permalink to this definition">¶</a></dt>
  840. <dd><p>Closes the device.</p>
  841. </dd></dl>
  842. <dl class="method">
  843. <dt id="pyad2.devices.SocketDevice.write">
  844. <tt class="descname">write</tt><big>(</big><em>data</em><big>)</big><a class="reference internal" href="_modules/pyad2/devices.html#SocketDevice.write"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.devices.SocketDevice.write" title="Permalink to this definition">¶</a></dt>
  845. <dd><p>Writes data to the device.</p>
  846. <table class="docutils field-list" frame="void" rules="none">
  847. <col class="field-name" />
  848. <col class="field-body" />
  849. <tbody valign="top">
  850. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>data</strong> (<em>str</em>) &#8211; The data to write.</td>
  851. </tr>
  852. <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">The number of bytes sent.</td>
  853. </tr>
  854. <tr class="field-odd field"><th class="field-name">Raises :</th><td class="field-body">CommError</td>
  855. </tr>
  856. </tbody>
  857. </table>
  858. </dd></dl>
  859. <dl class="method">
  860. <dt id="pyad2.devices.SocketDevice.read">
  861. <tt class="descname">read</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/pyad2/devices.html#SocketDevice.read"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.devices.SocketDevice.read" title="Permalink to this definition">¶</a></dt>
  862. <dd><p>Reads a single character from the device.</p>
  863. <table class="docutils field-list" frame="void" rules="none">
  864. <col class="field-name" />
  865. <col class="field-body" />
  866. <tbody valign="top">
  867. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The character read from the device.</td>
  868. </tr>
  869. <tr class="field-even field"><th class="field-name">Raises :</th><td class="field-body">CommError</td>
  870. </tr>
  871. </tbody>
  872. </table>
  873. </dd></dl>
  874. <dl class="method">
  875. <dt id="pyad2.devices.SocketDevice.read_line">
  876. <tt class="descname">read_line</tt><big>(</big><em>timeout=0.0</em>, <em>purge_buffer=False</em><big>)</big><a class="reference internal" href="_modules/pyad2/devices.html#SocketDevice.read_line"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.devices.SocketDevice.read_line" title="Permalink to this definition">¶</a></dt>
  877. <dd><p>Reads a line from the device.</p>
  878. <table class="docutils field-list" frame="void" rules="none">
  879. <col class="field-name" />
  880. <col class="field-body" />
  881. <tbody valign="top">
  882. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
  883. <li><strong>timeout</strong> (<em>float</em>) &#8211; The read timeout.</li>
  884. <li><strong>purge_buffer</strong> (<em>bool</em>) &#8211; Indicates whether to purge the buffer prior to reading.</li>
  885. </ul>
  886. </td>
  887. </tr>
  888. <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">The line read from the device.</p>
  889. </td>
  890. </tr>
  891. <tr class="field-odd field"><th class="field-name">Raises :</th><td class="field-body"><p class="first last">CommError, TimeoutError</p>
  892. </td>
  893. </tr>
  894. </tbody>
  895. </table>
  896. </dd></dl>
  897. </dd></dl>
  898. </div>
  899. <div class="section" id="module-pyad2.util">
  900. <span id="util-module"></span><h2><tt class="xref py py-mod docutils literal"><span class="pre">util</span></tt> Module<a class="headerlink" href="#module-pyad2.util" title="Permalink to this headline">¶</a></h2>
  901. <p>Provides utility classes for the AD2 devices.</p>
  902. <dl class="exception">
  903. <dt id="pyad2.util.NoDeviceError">
  904. <em class="property">exception </em><tt class="descclassname">pyad2.util.</tt><tt class="descname">NoDeviceError</tt><a class="reference internal" href="_modules/pyad2/util.html#NoDeviceError"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.util.NoDeviceError" title="Permalink to this definition">¶</a></dt>
  905. <dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">exceptions.Exception</span></tt></p>
  906. <p>No devices found.</p>
  907. </dd></dl>
  908. <dl class="exception">
  909. <dt id="pyad2.util.CommError">
  910. <em class="property">exception </em><tt class="descclassname">pyad2.util.</tt><tt class="descname">CommError</tt><a class="reference internal" href="_modules/pyad2/util.html#CommError"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.util.CommError" title="Permalink to this definition">¶</a></dt>
  911. <dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">exceptions.Exception</span></tt></p>
  912. <p>There was an error communicating with the device.</p>
  913. </dd></dl>
  914. <dl class="exception">
  915. <dt id="pyad2.util.TimeoutError">
  916. <em class="property">exception </em><tt class="descclassname">pyad2.util.</tt><tt class="descname">TimeoutError</tt><a class="reference internal" href="_modules/pyad2/util.html#TimeoutError"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.util.TimeoutError" title="Permalink to this definition">¶</a></dt>
  917. <dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">exceptions.Exception</span></tt></p>
  918. <p>There was a timeout while trying to communicate with the device.</p>
  919. </dd></dl>
  920. <dl class="exception">
  921. <dt id="pyad2.util.InvalidMessageError">
  922. <em class="property">exception </em><tt class="descclassname">pyad2.util.</tt><tt class="descname">InvalidMessageError</tt><a class="reference internal" href="_modules/pyad2/util.html#InvalidMessageError"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.util.InvalidMessageError" title="Permalink to this definition">¶</a></dt>
  923. <dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">exceptions.Exception</span></tt></p>
  924. <p>The format of the panel message was invalid.</p>
  925. </dd></dl>
  926. <dl class="class">
  927. <dt id="pyad2.util.Firmware">
  928. <em class="property">class </em><tt class="descclassname">pyad2.util.</tt><tt class="descname">Firmware</tt><a class="reference internal" href="_modules/pyad2/util.html#Firmware"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.util.Firmware" title="Permalink to this definition">¶</a></dt>
  929. <dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">object</span></tt></p>
  930. <p>Represents firmware for the AD2 devices.</p>
  931. <dl class="attribute">
  932. <dt id="pyad2.util.Firmware.STAGE_START">
  933. <tt class="descname">STAGE_START</tt><em class="property"> = 0</em><a class="headerlink" href="#pyad2.util.Firmware.STAGE_START" title="Permalink to this definition">¶</a></dt>
  934. <dd></dd></dl>
  935. <dl class="attribute">
  936. <dt id="pyad2.util.Firmware.STAGE_WAITING">
  937. <tt class="descname">STAGE_WAITING</tt><em class="property"> = 1</em><a class="headerlink" href="#pyad2.util.Firmware.STAGE_WAITING" title="Permalink to this definition">¶</a></dt>
  938. <dd></dd></dl>
  939. <dl class="attribute">
  940. <dt id="pyad2.util.Firmware.STAGE_BOOT">
  941. <tt class="descname">STAGE_BOOT</tt><em class="property"> = 2</em><a class="headerlink" href="#pyad2.util.Firmware.STAGE_BOOT" title="Permalink to this definition">¶</a></dt>
  942. <dd></dd></dl>
  943. <dl class="attribute">
  944. <dt id="pyad2.util.Firmware.STAGE_LOAD">
  945. <tt class="descname">STAGE_LOAD</tt><em class="property"> = 3</em><a class="headerlink" href="#pyad2.util.Firmware.STAGE_LOAD" title="Permalink to this definition">¶</a></dt>
  946. <dd></dd></dl>
  947. <dl class="attribute">
  948. <dt id="pyad2.util.Firmware.STAGE_UPLOADING">
  949. <tt class="descname">STAGE_UPLOADING</tt><em class="property"> = 4</em><a class="headerlink" href="#pyad2.util.Firmware.STAGE_UPLOADING" title="Permalink to this definition">¶</a></dt>
  950. <dd></dd></dl>
  951. <dl class="attribute">
  952. <dt id="pyad2.util.Firmware.STAGE_DONE">
  953. <tt class="descname">STAGE_DONE</tt><em class="property"> = 5</em><a class="headerlink" href="#pyad2.util.Firmware.STAGE_DONE" title="Permalink to this definition">¶</a></dt>
  954. <dd></dd></dl>
  955. <dl class="staticmethod">
  956. <dt id="pyad2.util.Firmware.upload">
  957. <em class="property">static </em><tt class="descname">upload</tt><big>(</big><em>dev</em>, <em>filename</em>, <em>progress_callback=None</em><big>)</big><a class="reference internal" href="_modules/pyad2/util.html#Firmware.upload"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.util.Firmware.upload" title="Permalink to this definition">¶</a></dt>
  958. <dd><p>Uploads firmware to an AD2 device.</p>
  959. <table class="docutils field-list" frame="void" rules="none">
  960. <col class="field-name" />
  961. <col class="field-body" />
  962. <tbody valign="top">
  963. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
  964. <li><strong>filename</strong> (<em>str</em>) &#8211; The firmware filename</li>
  965. <li><strong>progress_callback</strong> (<em>function</em>) &#8211; Callback function used to report progress.</li>
  966. </ul>
  967. </td>
  968. </tr>
  969. <tr class="field-even field"><th class="field-name">Raises :</th><td class="field-body"><p class="first last">util.NoDeviceError, util.TimeoutError</p>
  970. </td>
  971. </tr>
  972. </tbody>
  973. </table>
  974. </dd></dl>
  975. </dd></dl>
  976. </div>
  977. <div class="section" id="module-pyad2.zonetracking">
  978. <span id="zonetracking-module"></span><h2><tt class="xref py py-mod docutils literal"><span class="pre">zonetracking</span></tt> Module<a class="headerlink" href="#module-pyad2.zonetracking" title="Permalink to this headline">¶</a></h2>
  979. <p>Provides zone tracking functionality for the AD2 device family.</p>
  980. <dl class="class">
  981. <dt id="pyad2.zonetracking.Zone">
  982. <em class="property">class </em><tt class="descclassname">pyad2.zonetracking.</tt><tt class="descname">Zone</tt><big>(</big><em>zone=0</em>, <em>name=''</em>, <em>status=0</em><big>)</big><a class="reference internal" href="_modules/pyad2/zonetracking.html#Zone"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.zonetracking.Zone" title="Permalink to this definition">¶</a></dt>
  983. <dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">object</span></tt></p>
  984. <p>Representation of a panel zone.</p>
  985. <dl class="attribute">
  986. <dt id="pyad2.zonetracking.Zone.CLEAR">
  987. <tt class="descname">CLEAR</tt><em class="property"> = 0</em><a class="headerlink" href="#pyad2.zonetracking.Zone.CLEAR" title="Permalink to this definition">¶</a></dt>
  988. <dd><p>Status indicating that the zone is cleared.</p>
  989. </dd></dl>
  990. <dl class="attribute">
  991. <dt id="pyad2.zonetracking.Zone.FAULT">
  992. <tt class="descname">FAULT</tt><em class="property"> = 1</em><a class="headerlink" href="#pyad2.zonetracking.Zone.FAULT" title="Permalink to this definition">¶</a></dt>
  993. <dd><p>Status indicating that the zone is faulted.</p>
  994. </dd></dl>
  995. <dl class="attribute">
  996. <dt id="pyad2.zonetracking.Zone.CHECK">
  997. <tt class="descname">CHECK</tt><em class="property"> = 2</em><a class="headerlink" href="#pyad2.zonetracking.Zone.CHECK" title="Permalink to this definition">¶</a></dt>
  998. <dd><p>Status indicating that there is a wiring issue with the zone.</p>
  999. </dd></dl>
  1000. <dl class="attribute">
  1001. <dt id="pyad2.zonetracking.Zone.STATUS">
  1002. <tt class="descname">STATUS</tt><em class="property"> = {0: 'CLEAR', 1: 'FAULT', 2: 'CHECK'}</em><a class="headerlink" href="#pyad2.zonetracking.Zone.STATUS" title="Permalink to this definition">¶</a></dt>
  1003. <dd></dd></dl>
  1004. </dd></dl>
  1005. <dl class="class">
  1006. <dt id="pyad2.zonetracking.Zonetracker">
  1007. <em class="property">class </em><tt class="descclassname">pyad2.zonetracking.</tt><tt class="descname">Zonetracker</tt><a class="reference internal" href="_modules/pyad2/zonetracking.html#Zonetracker"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.zonetracking.Zonetracker" title="Permalink to this definition">¶</a></dt>
  1008. <dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">object</span></tt></p>
  1009. <p>Handles tracking of zone and their statuses.</p>
  1010. <dl class="attribute">
  1011. <dt id="pyad2.zonetracking.Zonetracker.on_fault">
  1012. <tt class="descname">on_fault</tt><a class="headerlink" href="#pyad2.zonetracking.Zonetracker.on_fault" title="Permalink to this definition">¶</a></dt>
  1013. <dd><p>Called when the device detects a zone fault.</p>
  1014. </dd></dl>
  1015. <dl class="attribute">
  1016. <dt id="pyad2.zonetracking.Zonetracker.on_restore">
  1017. <tt class="descname">on_restore</tt><a class="headerlink" href="#pyad2.zonetracking.Zonetracker.on_restore" title="Permalink to this definition">¶</a></dt>
  1018. <dd><p>Called when the device detects that a fault is restored.</p>
  1019. </dd></dl>
  1020. <dl class="attribute">
  1021. <dt id="pyad2.zonetracking.Zonetracker.EXPIRE">
  1022. <tt class="descname">EXPIRE</tt><em class="property"> = 30</em><a class="headerlink" href="#pyad2.zonetracking.Zonetracker.EXPIRE" title="Permalink to this definition">¶</a></dt>
  1023. <dd><p>Zone expiration timeout.</p>
  1024. </dd></dl>
  1025. <dl class="method">
  1026. <dt id="pyad2.zonetracking.Zonetracker.update">
  1027. <tt class="descname">update</tt><big>(</big><em>message</em><big>)</big><a class="reference internal" href="_modules/pyad2/zonetracking.html#Zonetracker.update"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.zonetracking.Zonetracker.update" title="Permalink to this definition">¶</a></dt>
  1028. <dd><p>Update zone statuses based on the current message.</p>
  1029. <table class="docutils field-list" frame="void" rules="none">
  1030. <col class="field-name" />
  1031. <col class="field-body" />
  1032. <tbody valign="top">
  1033. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>message</strong> (<em>Message or ExpanderMessage</em>) &#8211; Message to use to update the zone tracking.</td>
  1034. </tr>
  1035. </tbody>
  1036. </table>
  1037. </dd></dl>
  1038. </dd></dl>
  1039. </div>
  1040. <div class="section" id="module-pyad2.panels">
  1041. <span id="panels-module"></span><h2><tt class="xref py py-mod docutils literal"><span class="pre">panels</span></tt> Module<a class="headerlink" href="#module-pyad2.panels" title="Permalink to this headline">¶</a></h2>
  1042. <p>Representations of Panels and their templates.</p>
  1043. </div>
  1044. <div class="section" id="module-pyad2.messages">
  1045. <span id="messages-module"></span><h2><tt class="xref py py-mod docutils literal"><span class="pre">messages</span></tt> Module<a class="headerlink" href="#module-pyad2.messages" title="Permalink to this headline">¶</a></h2>
  1046. <p>Message representations received from the panel through the AD2 devices.</p>
  1047. <dl class="class">
  1048. <dt id="pyad2.messages.BaseMessage">
  1049. <em class="property">class </em><tt class="descclassname">pyad2.messages.</tt><tt class="descname">BaseMessage</tt><a class="reference internal" href="_modules/pyad2/messages.html#BaseMessage"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.messages.BaseMessage" title="Permalink to this definition">¶</a></dt>
  1050. <dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">object</span></tt></p>
  1051. <p>Base class for messages.</p>
  1052. <dl class="attribute">
  1053. <dt id="pyad2.messages.BaseMessage.raw">
  1054. <tt class="descname">raw</tt><em class="property"> = None</em><a class="headerlink" href="#pyad2.messages.BaseMessage.raw" title="Permalink to this definition">¶</a></dt>
  1055. <dd><p>The raw message text</p>
  1056. </dd></dl>
  1057. </dd></dl>
  1058. <dl class="class">
  1059. <dt id="pyad2.messages.Message">
  1060. <em class="property">class </em><tt class="descclassname">pyad2.messages.</tt><tt class="descname">Message</tt><big>(</big><em>data=None</em><big>)</big><a class="reference internal" href="_modules/pyad2/messages.html#Message"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.messages.Message" title="Permalink to this definition">¶</a></dt>
  1061. <dd><p>Bases: <a class="reference internal" href="#pyad2.messages.BaseMessage" title="pyad2.messages.BaseMessage"><tt class="xref py py-class docutils literal"><span class="pre">pyad2.messages.BaseMessage</span></tt></a></p>
  1062. <p>Represents a message from the alarm panel.</p>
  1063. <dl class="attribute">
  1064. <dt id="pyad2.messages.Message.ready">
  1065. <tt class="descname">ready</tt><em class="property"> = False</em><a class="headerlink" href="#pyad2.messages.Message.ready" title="Permalink to this definition">¶</a></dt>
  1066. <dd><p>Indicates whether or not the panel is in a ready state</p>
  1067. </dd></dl>
  1068. <dl class="attribute">
  1069. <dt id="pyad2.messages.Message.armed_away">
  1070. <tt class="descname">armed_away</tt><em class="property"> = False</em><a class="headerlink" href="#pyad2.messages.Message.armed_away" title="Permalink to this definition">¶</a></dt>
  1071. <dd><p>Indicates whether or not the panel is armed away</p>
  1072. </dd></dl>
  1073. <dl class="attribute">
  1074. <dt id="pyad2.messages.Message.armed_home">
  1075. <tt class="descname">armed_home</tt><em class="property"> = False</em><a class="headerlink" href="#pyad2.messages.Message.armed_home" title="Permalink to this definition">¶</a></dt>
  1076. <dd><p>Indicates whether or not the panel is armed home</p>
  1077. </dd></dl>
  1078. <dl class="attribute">
  1079. <dt id="pyad2.messages.Message.backlight_on">
  1080. <tt class="descname">backlight_on</tt><em class="property"> = False</em><a class="headerlink" href="#pyad2.messages.Message.backlight_on" title="Permalink to this definition">¶</a></dt>
  1081. <dd><p>Indicates whether or not the keypad backlight is on</p>
  1082. </dd></dl>
  1083. <dl class="attribute">
  1084. <dt id="pyad2.messages.Message.programming_mode">
  1085. <tt class="descname">programming_mode</tt><em class="property"> = False</em><a class="headerlink" href="#pyad2.messages.Message.programming_mode" title="Permalink to this definition">¶</a></dt>
  1086. <dd><p>Indicates whether or not we&#8217;re in programming mode</p>
  1087. </dd></dl>
  1088. <dl class="attribute">
  1089. <dt id="pyad2.messages.Message.beeps">
  1090. <tt class="descname">beeps</tt><em class="property"> = -1</em><a class="headerlink" href="#pyad2.messages.Message.beeps" title="Permalink to this definition">¶</a></dt>
  1091. <dd><p>Number of beeps associated with a message</p>
  1092. </dd></dl>
  1093. <dl class="attribute">
  1094. <dt id="pyad2.messages.Message.zone_bypassed">
  1095. <tt class="descname">zone_bypassed</tt><em class="property"> = False</em><a class="headerlink" href="#pyad2.messages.Message.zone_bypassed" title="Permalink to this definition">¶</a></dt>
  1096. <dd><p>Indicates whether or not a zone is bypassed</p>
  1097. </dd></dl>
  1098. <dl class="attribute">
  1099. <dt id="pyad2.messages.Message.ac_power">
  1100. <tt class="descname">ac_power</tt><em class="property"> = False</em><a class="headerlink" href="#pyad2.messages.Message.ac_power" title="Permalink to this definition">¶</a></dt>
  1101. <dd><p>Indicates whether or not the panel is on AC power</p>
  1102. </dd></dl>
  1103. <dl class="attribute">
  1104. <dt id="pyad2.messages.Message.chime_on">
  1105. <tt class="descname">chime_on</tt><em class="property"> = False</em><a class="headerlink" href="#pyad2.messages.Message.chime_on" title="Permalink to this definition">¶</a></dt>
  1106. <dd><p>Indicates whether or not the chime is enabled</p>
  1107. </dd></dl>
  1108. <dl class="attribute">
  1109. <dt id="pyad2.messages.Message.alarm_event_occurred">
  1110. <tt class="descname">alarm_event_occurred</tt><em class="property"> = False</em><a class="headerlink" href="#pyad2.messages.Message.alarm_event_occurred" title="Permalink to this definition">¶</a></dt>
  1111. <dd><p>Indicates whether or not an alarm event has occurred</p>
  1112. </dd></dl>
  1113. <dl class="attribute">
  1114. <dt id="pyad2.messages.Message.alarm_sounding">
  1115. <tt class="descname">alarm_sounding</tt><em class="property"> = False</em><a class="headerlink" href="#pyad2.messages.Message.alarm_sounding" title="Permalink to this definition">¶</a></dt>
  1116. <dd><p>Indicates whether or not an alarm is sounding</p>
  1117. </dd></dl>
  1118. <dl class="attribute">
  1119. <dt id="pyad2.messages.Message.battery_low">
  1120. <tt class="descname">battery_low</tt><em class="property"> = False</em><a class="headerlink" href="#pyad2.messages.Message.battery_low" title="Permalink to this definition">¶</a></dt>
  1121. <dd><p>Indicates whether or not there is a low battery</p>
  1122. </dd></dl>
  1123. <dl class="attribute">
  1124. <dt id="pyad2.messages.Message.entry_delay_off">
  1125. <tt class="descname">entry_delay_off</tt><em class="property"> = False</em><a class="headerlink" href="#pyad2.messages.Message.entry_delay_off" title="Permalink to this definition">¶</a></dt>
  1126. <dd><p>Indicates whether or not the entry delay is enabled</p>
  1127. </dd></dl>
  1128. <dl class="attribute">
  1129. <dt id="pyad2.messages.Message.fire_alarm">
  1130. <tt class="descname">fire_alarm</tt><em class="property"> = False</em><a class="headerlink" href="#pyad2.messages.Message.fire_alarm" title="Permalink to this definition">¶</a></dt>
  1131. <dd><p>Indicates whether or not a fire alarm is sounding</p>
  1132. </dd></dl>
  1133. <dl class="attribute">
  1134. <dt id="pyad2.messages.Message.check_zone">
  1135. <tt class="descname">check_zone</tt><em class="property"> = False</em><a class="headerlink" href="#pyad2.messages.Message.check_zone" title="Permalink to this definition">¶</a></dt>
  1136. <dd><p>Indicates whether or not there are zones that require attention.</p>
  1137. </dd></dl>
  1138. <dl class="attribute">
  1139. <dt id="pyad2.messages.Message.perimeter_only">
  1140. <tt class="descname">perimeter_only</tt><em class="property"> = False</em><a class="headerlink" href="#pyad2.messages.Message.perimeter_only" title="Permalink to this definition">¶</a></dt>
  1141. <dd><p>Indicates whether or not the perimeter is armed</p>
  1142. </dd></dl>
  1143. <dl class="attribute">
  1144. <dt id="pyad2.messages.Message.numeric_code">
  1145. <tt class="descname">numeric_code</tt><em class="property"> = None</em><a class="headerlink" href="#pyad2.messages.Message.numeric_code" title="Permalink to this definition">¶</a></dt>
  1146. <dd><p>The numeric code associated with the message</p>
  1147. </dd></dl>
  1148. <dl class="attribute">
  1149. <dt id="pyad2.messages.Message.text">
  1150. <tt class="descname">text</tt><em class="property"> = None</em><a class="headerlink" href="#pyad2.messages.Message.text" title="Permalink to this definition">¶</a></dt>
  1151. <dd><p>The human-readable text to be displayed on the panel LCD</p>
  1152. </dd></dl>
  1153. <dl class="attribute">
  1154. <dt id="pyad2.messages.Message.cursor_location">
  1155. <tt class="descname">cursor_location</tt><em class="property"> = -1</em><a class="headerlink" href="#pyad2.messages.Message.cursor_location" title="Permalink to this definition">¶</a></dt>
  1156. <dd><p>Current cursor location on the keypad</p>
  1157. </dd></dl>
  1158. <dl class="attribute">
  1159. <dt id="pyad2.messages.Message.mask">
  1160. <tt class="descname">mask</tt><em class="property"> = None</em><a class="headerlink" href="#pyad2.messages.Message.mask" title="Permalink to this definition">¶</a></dt>
  1161. <dd><p>Address mask this message is intended for</p>
  1162. </dd></dl>
  1163. <dl class="attribute">
  1164. <dt id="pyad2.messages.Message.bitfield">
  1165. <tt class="descname">bitfield</tt><em class="property"> = None</em><a class="headerlink" href="#pyad2.messages.Message.bitfield" title="Permalink to this definition">¶</a></dt>
  1166. <dd><p>The bitfield associated with this message</p>
  1167. </dd></dl>
  1168. <dl class="attribute">
  1169. <dt id="pyad2.messages.Message.panel_data">
  1170. <tt class="descname">panel_data</tt><em class="property"> = None</em><a class="headerlink" href="#pyad2.messages.Message.panel_data" title="Permalink to this definition">¶</a></dt>
  1171. <dd><p>The panel data field associated with this message</p>
  1172. </dd></dl>
  1173. </dd></dl>
  1174. <dl class="class">
  1175. <dt id="pyad2.messages.ExpanderMessage">
  1176. <em class="property">class </em><tt class="descclassname">pyad2.messages.</tt><tt class="descname">ExpanderMessage</tt><big>(</big><em>data=None</em><big>)</big><a class="reference internal" href="_modules/pyad2/messages.html#ExpanderMessage"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.messages.ExpanderMessage" title="Permalink to this definition">¶</a></dt>
  1177. <dd><p>Bases: <a class="reference internal" href="#pyad2.messages.BaseMessage" title="pyad2.messages.BaseMessage"><tt class="xref py py-class docutils literal"><span class="pre">pyad2.messages.BaseMessage</span></tt></a></p>
  1178. <p>Represents a message from a zone or relay expansion module.</p>
  1179. <dl class="attribute">
  1180. <dt id="pyad2.messages.ExpanderMessage.ZONE">
  1181. <tt class="descname">ZONE</tt><em class="property"> = 0</em><a class="headerlink" href="#pyad2.messages.ExpanderMessage.ZONE" title="Permalink to this definition">¶</a></dt>
  1182. <dd><p>Flag indicating that the expander message relates to a Zone Expander.</p>
  1183. </dd></dl>
  1184. <dl class="attribute">
  1185. <dt id="pyad2.messages.ExpanderMessage.RELAY">
  1186. <tt class="descname">RELAY</tt><em class="property"> = 1</em><a class="headerlink" href="#pyad2.messages.ExpanderMessage.RELAY" title="Permalink to this definition">¶</a></dt>
  1187. <dd><p>Flag indicating that the expander message relates to a Relay Expander.</p>
  1188. </dd></dl>
  1189. <dl class="attribute">
  1190. <dt id="pyad2.messages.ExpanderMessage.type">
  1191. <tt class="descname">type</tt><em class="property"> = None</em><a class="headerlink" href="#pyad2.messages.ExpanderMessage.type" title="Permalink to this definition">¶</a></dt>
  1192. <dd><p>Expander message type: ExpanderMessage.ZONE or ExpanderMessage.RELAY</p>
  1193. </dd></dl>
  1194. <dl class="attribute">
  1195. <dt id="pyad2.messages.ExpanderMessage.address">
  1196. <tt class="descname">address</tt><em class="property"> = -1</em><a class="headerlink" href="#pyad2.messages.ExpanderMessage.address" title="Permalink to this definition">¶</a></dt>
  1197. <dd><p>Address of expander</p>
  1198. </dd></dl>
  1199. <dl class="attribute">
  1200. <dt id="pyad2.messages.ExpanderMessage.channel">
  1201. <tt class="descname">channel</tt><em class="property"> = -1</em><a class="headerlink" href="#pyad2.messages.ExpanderMessage.channel" title="Permalink to this definition">¶</a></dt>
  1202. <dd><p>Channel on the expander</p>
  1203. </dd></dl>
  1204. <dl class="attribute">
  1205. <dt id="pyad2.messages.ExpanderMessage.value">
  1206. <tt class="descname">value</tt><em class="property"> = -1</em><a class="headerlink" href="#pyad2.messages.ExpanderMessage.value" title="Permalink to this definition">¶</a></dt>
  1207. <dd><p>Value associated with the message</p>
  1208. </dd></dl>
  1209. </dd></dl>
  1210. <dl class="class">
  1211. <dt id="pyad2.messages.RFMessage">
  1212. <em class="property">class </em><tt class="descclassname">pyad2.messages.</tt><tt class="descname">RFMessage</tt><big>(</big><em>data=None</em><big>)</big><a class="reference internal" href="_modules/pyad2/messages.html#RFMessage"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.messages.RFMessage" title="Permalink to this definition">¶</a></dt>
  1213. <dd><p>Bases: <a class="reference internal" href="#pyad2.messages.BaseMessage" title="pyad2.messages.BaseMessage"><tt class="xref py py-class docutils literal"><span class="pre">pyad2.messages.BaseMessage</span></tt></a></p>
  1214. <p>Represents a message from an RF receiver.</p>
  1215. <dl class="attribute">
  1216. <dt id="pyad2.messages.RFMessage.x">
  1217. <tt class="descname">x</tt><em class="property"> = 3</em><a class="headerlink" href="#pyad2.messages.RFMessage.x" title="Permalink to this definition">¶</a></dt>
  1218. <dd></dd></dl>
  1219. <dl class="attribute">
  1220. <dt id="pyad2.messages.RFMessage.serial_number">
  1221. <tt class="descname">serial_number</tt><em class="property"> = None</em><a class="headerlink" href="#pyad2.messages.RFMessage.serial_number" title="Permalink to this definition">¶</a></dt>
  1222. <dd><p>Serial number of the RF device</p>
  1223. </dd></dl>
  1224. <dl class="attribute">
  1225. <dt id="pyad2.messages.RFMessage.value">
  1226. <tt class="descname">value</tt><em class="property"> = -1</em><a class="headerlink" href="#pyad2.messages.RFMessage.value" title="Permalink to this definition">¶</a></dt>
  1227. <dd><p>Value associated with this message</p>
  1228. </dd></dl>
  1229. <dl class="attribute">
  1230. <dt id="pyad2.messages.RFMessage.battery">
  1231. <tt class="descname">battery</tt><em class="property"> = False</em><a class="headerlink" href="#pyad2.messages.RFMessage.battery" title="Permalink to this definition">¶</a></dt>
  1232. <dd><p>Battery low indication</p>
  1233. </dd></dl>
  1234. <dl class="attribute">
  1235. <dt id="pyad2.messages.RFMessage.supervision">
  1236. <tt class="descname">supervision</tt><em class="property"> = False</em><a class="headerlink" href="#pyad2.messages.RFMessage.supervision" title="Permalink to this definition">¶</a></dt>
  1237. <dd><p>Supervision required indication</p>
  1238. </dd></dl>
  1239. <dl class="attribute">
  1240. <dt id="pyad2.messages.RFMessage.loop">
  1241. <tt class="descname">loop</tt><em class="property"> = [False, False, False, False]</em><a class="headerlink" href="#pyad2.messages.RFMessage.loop" title="Permalink to this definition">¶</a></dt>
  1242. <dd><p>Loop indicators</p>
  1243. </dd></dl>
  1244. </dd></dl>
  1245. <dl class="class">
  1246. <dt id="pyad2.messages.LRRMessage">
  1247. <em class="property">class </em><tt class="descclassname">pyad2.messages.</tt><tt class="descname">LRRMessage</tt><big>(</big><em>data=None</em><big>)</big><a class="reference internal" href="_modules/pyad2/messages.html#LRRMessage"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.messages.LRRMessage" title="Permalink to this definition">¶</a></dt>
  1248. <dd><p>Bases: <a class="reference internal" href="#pyad2.messages.BaseMessage" title="pyad2.messages.BaseMessage"><tt class="xref py py-class docutils literal"><span class="pre">pyad2.messages.BaseMessage</span></tt></a></p>
  1249. <p>Represent a message from a Long Range Radio.</p>
  1250. <dl class="attribute">
  1251. <dt id="pyad2.messages.LRRMessage.event_data">
  1252. <tt class="descname">event_data</tt><em class="property"> = None</em><a class="headerlink" href="#pyad2.messages.LRRMessage.event_data" title="Permalink to this definition">¶</a></dt>
  1253. <dd><p>Data associated with the LRR message. Usually user ID or zone.</p>
  1254. </dd></dl>
  1255. <dl class="attribute">
  1256. <dt id="pyad2.messages.LRRMessage.partition">
  1257. <tt class="descname">partition</tt><em class="property"> = -1</em><a class="headerlink" href="#pyad2.messages.LRRMessage.partition" title="Permalink to this definition">¶</a></dt>
  1258. <dd><p>The partition that this message applies to</p>
  1259. </dd></dl>
  1260. <dl class="attribute">
  1261. <dt id="pyad2.messages.LRRMessage.event_type">
  1262. <tt class="descname">event_type</tt><em class="property"> = None</em><a class="headerlink" href="#pyad2.messages.LRRMessage.event_type" title="Permalink to this definition">¶</a></dt>
  1263. <dd><p>The type of the event that occurred</p>
  1264. </dd></dl>
  1265. </dd></dl>
  1266. </div>
  1267. <div class="section" id="subpackages">
  1268. <h2>Subpackages<a class="headerlink" href="#subpackages" title="Permalink to this headline">¶</a></h2>
  1269. <div class="toctree-wrapper compound">
  1270. <ul>
  1271. <li class="toctree-l1"><a class="reference internal" href="pyad2.event.html">event Package</a><ul>
  1272. <li class="toctree-l2"><a class="reference internal" href="pyad2.event.html#id1"><tt class="docutils literal"><span class="pre">event</span></tt> Package</a></li>
  1273. <li class="toctree-l2"><a class="reference internal" href="pyad2.event.html#module-pyad2.event.event"><tt class="docutils literal"><span class="pre">event</span></tt> Module</a></li>
  1274. </ul>
  1275. </li>
  1276. </ul>
  1277. </div>
  1278. </div>
  1279. </div>
  1280. </div>
  1281. </div>
  1282. </div>
  1283. <div class="sphinxsidebar">
  1284. <div class="sphinxsidebarwrapper">
  1285. <h3><a href="index.html">Table Of Contents</a></h3>
  1286. <ul>
  1287. <li><a class="reference internal" href="#">pyad2 Package</a><ul>
  1288. <li><a class="reference internal" href="#module-pyad2.ad2"><tt class="docutils literal"><span class="pre">ad2</span></tt> Module</a></li>
  1289. <li><a class="reference internal" href="#module-pyad2.devices"><tt class="docutils literal"><span class="pre">devices</span></tt> Module</a></li>
  1290. <li><a class="reference internal" href="#module-pyad2.util"><tt class="docutils literal"><span class="pre">util</span></tt> Module</a></li>
  1291. <li><a class="reference internal" href="#module-pyad2.zonetracking"><tt class="docutils literal"><span class="pre">zonetracking</span></tt> Module</a></li>
  1292. <li><a class="reference internal" href="#module-pyad2.panels"><tt class="docutils literal"><span class="pre">panels</span></tt> Module</a></li>
  1293. <li><a class="reference internal" href="#module-pyad2.messages"><tt class="docutils literal"><span class="pre">messages</span></tt> Module</a></li>
  1294. <li><a class="reference internal" href="#subpackages">Subpackages</a><ul>
  1295. </ul>
  1296. </li>
  1297. </ul>
  1298. </li>
  1299. </ul>
  1300. <h4>Previous topic</h4>
  1301. <p class="topless"><a href="index.html"
  1302. title="previous chapter">Welcome to pyad2&#8217;s documentation!</a></p>
  1303. <h4>Next topic</h4>
  1304. <p class="topless"><a href="pyad2.event.html"
  1305. title="next chapter">event Package</a></p>
  1306. <h3>This Page</h3>
  1307. <ul class="this-page-menu">
  1308. <li><a href="_sources/pyad2.txt"
  1309. rel="nofollow">Show Source</a></li>
  1310. </ul>
  1311. <div id="searchbox" style="display: none">
  1312. <h3>Quick search</h3>
  1313. <form class="search" action="search.html" method="get">
  1314. <input type="text" name="q" />
  1315. <input type="submit" value="Go" />
  1316. <input type="hidden" name="check_keywords" value="yes" />
  1317. <input type="hidden" name="area" value="default" />
  1318. </form>
  1319. <p class="searchtip" style="font-size: 90%">
  1320. Enter search terms or a module, class or function name.
  1321. </p>
  1322. </div>
  1323. <script type="text/javascript">$('#searchbox').show(0);</script>
  1324. </div>
  1325. </div>
  1326. <div class="clearer"></div>
  1327. </div>
  1328. <div class="related">
  1329. <h3>Navigation</h3>
  1330. <ul>
  1331. <li class="right" style="margin-right: 10px">
  1332. <a href="genindex.html" title="General Index"
  1333. >index</a></li>
  1334. <li class="right" >
  1335. <a href="py-modindex.html" title="Python Module Index"
  1336. >modules</a> |</li>
  1337. <li class="right" >
  1338. <a href="pyad2.event.html" title="event Package"
  1339. >next</a> |</li>
  1340. <li class="right" >
  1341. <a href="index.html" title="Welcome to pyad2’s documentation!"
  1342. >previous</a> |</li>
  1343. <li><a href="index.html">pyad2 documentation</a> &raquo;</li>
  1344. </ul>
  1345. </div>
  1346. <div class="footer">
  1347. &copy; Copyright 2013, Author.
  1348. Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2b1.
  1349. </div>
  1350. </body>
  1351. </html>