aboutsummaryrefslogtreecommitdiffstats
path: root/libs/pixtend/v2/pplv2/doc/pixtendv2core.html
blob: c5af31b5400e420a99706c21fc3239d0c0173502 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: package pixtendv2core</title>
<meta charset="utf-8">
</head><body bgcolor="#f0f0f8">

<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong>pixtendv2core</strong></big></big> (version 0.1.4)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/usr/local/lib/python2.7/dist-packages/pixtendlibv2-0.1.4-py2.7.egg/pixtendv2core/__init__.py">/usr/local/lib/python2.7/dist-packages/pixtendlibv2-0.1.4-py2.7.egg/pixtendv2core/__init__.py</a></font></td></tr></table>
    <p><tt>#&nbsp;coding=utf-8</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Package Contents</strong></big></font></td></tr>
    
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top></td><td width="25%" valign=top></td><td width="25%" valign=top></td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
    
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="__builtin__.html#object">__builtin__.object</a>
</font></dt><dd>
<dl>
<dt><font face="helvetica, arial"><a href="pixtendv2core.html#PiXtendV2Core">PiXtendV2Core</a>
</font></dt></dl>
</dd>
</dl>
 <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="PiXtendV2Core">class <strong>PiXtendV2Core</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
    
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>The&nbsp;PiXtendV2&nbsp;base&nbsp;class&nbsp;can&nbsp;be&nbsp;used&nbsp;to&nbsp;build&nbsp;PiXtend&nbsp;V2&nbsp;modules,&nbsp;which&nbsp;use&nbsp;the&nbsp;same&nbsp;code&nbsp;base,&nbsp;thus&nbsp;reducing<br>
code&nbsp;multiplication.&nbsp;This&nbsp;class&nbsp;implements&nbsp;the&nbsp;most&nbsp;basic&nbsp;functions,&nbsp;properties&nbsp;and&nbsp;infrastructure&nbsp;needed&nbsp;to<br>
create&nbsp;a&nbsp;PiXtend&nbsp;V2&nbsp;module&nbsp;in&nbsp;Python.&nbsp;This&nbsp;class&nbsp;cannot&nbsp;run&nbsp;on&nbsp;its&nbsp;own,&nbsp;it&nbsp;needs&nbsp;to&nbsp;be&nbsp;inherited&nbsp;by&nbsp;a&nbsp;child<br>
class&nbsp;and&nbsp;the&nbsp;functions&nbsp;'_pack_spi_data'&nbsp;and&nbsp;'_unpack_spi_data'&nbsp;have&nbsp;to&nbsp;be&nbsp;implemented&nbsp;there&nbsp;as&nbsp;these&nbsp;are<br>
defined&nbsp;as&nbsp;abstract&nbsp;functions&nbsp;and&nbsp;cannot&nbsp;be&nbsp;used&nbsp;directly.<br>
Furthermore,&nbsp;for&nbsp;the&nbsp;SPI&nbsp;data&nbsp;transfer&nbsp;to&nbsp;work&nbsp;correctly,&nbsp;the&nbsp;child&nbsp;class&nbsp;needs&nbsp;to&nbsp;implement&nbsp;a&nbsp;list[int]&nbsp;variable<br>
which&nbsp;holds&nbsp;the&nbsp;data&nbsp;which&nbsp;is&nbsp;sent&nbsp;to&nbsp;the&nbsp;microcontroller.&nbsp;The&nbsp;needed&nbsp;list[int]&nbsp;length&nbsp;can&nbsp;be&nbsp;found&nbsp;in&nbsp;the<br>
SPI&nbsp;protocol&nbsp;specification&nbsp;of&nbsp;the&nbsp;PiXtend&nbsp;V2&nbsp;board.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="PiXtendV2Core-__del__"><strong>__del__</strong></a>(self)</dt><dd><tt>Destructor&nbsp;of&nbsp;the&nbsp;Pixtend&nbsp;V2&nbsp;class.&nbsp;Delete&nbsp;objects.</tt></dd></dl>

<dl><dt><a name="PiXtendV2Core-__init__"><strong>__init__</strong></a>(self, spi_speed<font color="#909090">=700000</font>, com_interval<font color="#909090">=0.03</font>, model<font color="#909090">=0</font>, disable_dac<font color="#909090">=False</font>)</dt><dd><tt>Constructor&nbsp;of&nbsp;the&nbsp;PixtendV2&nbsp;base&nbsp;class.&nbsp;Setup&nbsp;SPI&nbsp;communication,&nbsp;base&nbsp;variables&nbsp;and&nbsp;start<br>
the&nbsp;cyclic&nbsp;communication&nbsp;using&nbsp;a&nbsp;timer&nbsp;from&nbsp;the&nbsp;threading&nbsp;module.<br>
&nbsp;<br>
:param&nbsp;int&nbsp;spi_speed:&nbsp;SPI&nbsp;communication&nbsp;speed,&nbsp;default&nbsp;is&nbsp;700000<br>
:param&nbsp;float&nbsp;com_interval:&nbsp;Cycle&nbsp;time&nbsp;of&nbsp;the&nbsp;communication,&nbsp;how&nbsp;often&nbsp;is&nbsp;data&nbsp;exchanged&nbsp;between&nbsp;the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Raspberry&nbsp;Pi&nbsp;and&nbsp;the&nbsp;microcontroller&nbsp;on&nbsp;the&nbsp;PiXtend&nbsp;board,&nbsp;default&nbsp;is&nbsp;30&nbsp;ms<br>
:param&nbsp;int&nbsp;model:&nbsp;The&nbsp;model&nbsp;number&nbsp;of&nbsp;the&nbsp;PiXtend&nbsp;board&nbsp;which&nbsp;is&nbsp;used.&nbsp;S&nbsp;=&nbsp;83&nbsp;and&nbsp;L&nbsp;=&nbsp;76<br>
:param&nbsp;bool&nbsp;disable_dac:&nbsp;The&nbsp;DAC&nbsp;(analog&nbsp;output)&nbsp;can&nbsp;be&nbsp;disabled&nbsp;to&nbsp;allow&nbsp;the&nbsp;use&nbsp;of&nbsp;the&nbsp;CAN-Bus&nbsp;on&nbsp;the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PiXtend&nbsp;V2&nbsp;-L-&nbsp;board</tt></dd></dl>

<dl><dt><a name="PiXtendV2Core-set_dac_output"><strong>set_dac_output</strong></a>(self, dac_channel<font color="#909090">=0</font>, value<font color="#909090">=0</font>)</dt><dd><tt>Set&nbsp;the&nbsp;analog&nbsp;output&nbsp;value&nbsp;for&nbsp;the&nbsp;chosen&nbsp;DAC.&nbsp;The&nbsp;value&nbsp;0&nbsp;or&nbsp;constant&nbsp;DAC_A&nbsp;selects&nbsp;DAC&nbsp;A&nbsp;which&nbsp;is<br>
"Analog&nbsp;Out&nbsp;0"&nbsp;and&nbsp;the&nbsp;value&nbsp;1&nbsp;or&nbsp;constant&nbsp;DAC_B&nbsp;selects&nbsp;DAC&nbsp;B&nbsp;which&nbsp;is&nbsp;"Analog&nbsp;Out&nbsp;1".<br>
Example:<br>
Selecting&nbsp;and&nbsp;setting&nbsp;DAC&nbsp;A:<br>
p.set_dac_output&nbsp;(p.DAC_A,&nbsp;512)<br>
&nbsp;<br>
Selecting&nbsp;and&nbsp;setting&nbsp;DAC&nbsp;B:<br>
p.set_dac_output&nbsp;(p.DAC_B,&nbsp;256)<br>
&nbsp;<br>
:param&nbsp;int&nbsp;dac_channel:&nbsp;Number&nbsp;of&nbsp;the&nbsp;DAC&nbsp;to&nbsp;set&nbsp;the&nbsp;new&nbsp;value&nbsp;to<br>
:param&nbsp;int&nbsp;value:&nbsp;Output&nbsp;value&nbsp;for&nbsp;the&nbsp;chosen&nbsp;DAC.<br>
:raises&nbsp;ValueError:&nbsp;If&nbsp;value&nbsp;is&nbsp;smaller&nbsp;then&nbsp;0&nbsp;or&nbsp;larger&nbsp;then&nbsp;1023</tt></dd></dl>

<hr>
Static methods defined here:<br>
<dl><dt><a name="PiXtendV2Core-clear_bit"><strong>clear_bit</strong></a>(int_type, offset)</dt><dd><tt><a href="#PiXtendV2Core-clear_bit">clear_bit</a>()&nbsp;returns&nbsp;an&nbsp;integer&nbsp;with&nbsp;the&nbsp;bit&nbsp;at&nbsp;'offset'&nbsp;cleared,&nbsp;set&nbsp;to&nbsp;0.<br>
&nbsp;<br>
:param&nbsp;int&nbsp;int_type:&nbsp;Integer&nbsp;value&nbsp;in&nbsp;which&nbsp;to&nbsp;clear&nbsp;one&nbsp;bit<br>
:param&nbsp;int&nbsp;offset:&nbsp;Offset&nbsp;value&nbsp;which&nbsp;bit&nbsp;to&nbsp;clear<br>
:return:&nbsp;Integer&nbsp;with&nbsp;bit&nbsp;cleared&nbsp;a&nbsp;'offset'<br>
:rtype:&nbsp;int</tt></dd></dl>

<dl><dt><a name="PiXtendV2Core-set_bit"><strong>set_bit</strong></a>(int_type, offset)</dt><dd><tt><a href="#PiXtendV2Core-set_bit">set_bit</a>()&nbsp;returns&nbsp;an&nbsp;integer&nbsp;with&nbsp;the&nbsp;bit&nbsp;at&nbsp;'offset'&nbsp;set&nbsp;to&nbsp;1.<br>
&nbsp;<br>
:param&nbsp;int&nbsp;int_type:&nbsp;Integer&nbsp;value&nbsp;in&nbsp;which&nbsp;to&nbsp;set&nbsp;one&nbsp;bit<br>
:param&nbsp;int&nbsp;offset:&nbsp;Offset&nbsp;value&nbsp;which&nbsp;bit&nbsp;to&nbsp;set<br>
:return:&nbsp;Integer&nbsp;with&nbsp;bit&nbsp;set&nbsp;at&nbsp;'offset'<br>
:rtype:&nbsp;int</tt></dd></dl>

<dl><dt><a name="PiXtendV2Core-test_bit"><strong>test_bit</strong></a>(int_type, offset)</dt><dd><tt><a href="#PiXtendV2Core-test_bit">test_bit</a>()&nbsp;returns&nbsp;1,&nbsp;if&nbsp;the&nbsp;bit&nbsp;at&nbsp;'offset'&nbsp;is&nbsp;one&nbsp;else&nbsp;0&nbsp;if&nbsp;the&nbsp;bit&nbsp;is&nbsp;not&nbsp;set.<br>
&nbsp;<br>
:param&nbsp;int&nbsp;int_type:&nbsp;Integer&nbsp;value&nbsp;to&nbsp;test<br>
:param&nbsp;int&nbsp;offset:&nbsp;Offset&nbsp;value&nbsp;which&nbsp;bit&nbsp;to&nbsp;test<br>
:return:&nbsp;Integer&nbsp;based&nbsp;value&nbsp;of&nbsp;0&nbsp;if&nbsp;bit&nbsp;at&nbsp;'offset'&nbsp;is&nbsp;not&nbsp;set&nbsp;or&nbsp;1&nbsp;if&nbsp;bit&nbsp;is&nbsp;set<br>
:rtype:&nbsp;int</tt></dd></dl>

<dl><dt><a name="PiXtendV2Core-toggle_bit"><strong>toggle_bit</strong></a>(int_type, offset)</dt><dd><tt><a href="#PiXtendV2Core-toggle_bit">toggle_bit</a>()&nbsp;returns&nbsp;an&nbsp;integer&nbsp;with&nbsp;the&nbsp;bit&nbsp;at&nbsp;'offset'&nbsp;inverted,&nbsp;0&nbsp;-&gt;&nbsp;1&nbsp;and&nbsp;1&nbsp;-&gt;&nbsp;0.<br>
&nbsp;<br>
:param&nbsp;int&nbsp;int_type:&nbsp;Integer&nbsp;value&nbsp;to&nbsp;toggle&nbsp;one&nbsp;bit&nbsp;within<br>
:param&nbsp;int&nbsp;offset:&nbsp;Offset&nbsp;value&nbsp;which&nbsp;bit&nbsp;to&nbsp;toggle<br>
:return:&nbsp;integer&nbsp;with&nbsp;bit&nbsp;toggled&nbsp;at&nbsp;'offset'<br>
:rtype:&nbsp;int</tt></dd></dl>

<hr>
Data descriptors defined here:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>analog_out0</strong></dt>
<dd><tt>Get&nbsp;or&nbsp;Set&nbsp;the&nbsp;value&nbsp;of&nbsp;the&nbsp;Digital&nbsp;Analog&nbsp;Converter&nbsp;(DAC)&nbsp;for&nbsp;Analog&nbsp;Output&nbsp;0.<br>
This&nbsp;function&nbsp;wraps&nbsp;the&nbsp;'set_dac_output'&nbsp;function,&nbsp;this&nbsp;way&nbsp;only&nbsp;one&nbsp;value&nbsp;has<br>
to&nbsp;be&nbsp;provided,&nbsp;the&nbsp;DAC&nbsp;selection&nbsp;is&nbsp;automatic.<br>
Value&nbsp;range&nbsp;0..1023&nbsp;for&nbsp;0V&nbsp;to&nbsp;10V.<br>
&nbsp;<br>
Example:<br>
p.analog_out0&nbsp;=&nbsp;512<br>
myvalue&nbsp;=&nbsp;p.analog_out0<br>
&nbsp;<br>
:return:&nbsp;Current&nbsp;value<br>
:rtype:&nbsp;int</tt></dd>
</dl>
<dl><dt><strong>analog_out1</strong></dt>
<dd><tt>Get&nbsp;or&nbsp;Set&nbsp;the&nbsp;value&nbsp;of&nbsp;the&nbsp;Digital&nbsp;Analog&nbsp;Converter&nbsp;(DAC)&nbsp;for&nbsp;Analog&nbsp;Output&nbsp;1.<br>
This&nbsp;function&nbsp;wraps&nbsp;the&nbsp;'set_dac_output'&nbsp;function,&nbsp;this&nbsp;way&nbsp;only&nbsp;one&nbsp;value&nbsp;has<br>
to&nbsp;be&nbsp;provided,&nbsp;the&nbsp;DAC&nbsp;selection&nbsp;is&nbsp;automatic.<br>
Value&nbsp;range&nbsp;0..1023&nbsp;for&nbsp;0V&nbsp;to&nbsp;10V.<br>
&nbsp;<br>
Example:<br>
p.analog_out1&nbsp;=&nbsp;255&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
myvalue&nbsp;=&nbsp;p.analog_out1<br>
&nbsp;<br>
:return:&nbsp;Current&nbsp;value<br>
:rtype:&nbsp;int</tt></dd>
</dl>
<dl><dt><strong>crc_header_in_error</strong></dt>
<dd><tt>Get&nbsp;the&nbsp;error&nbsp;state&nbsp;of&nbsp;the&nbsp;CRC&nbsp;check&nbsp;performed&nbsp;on&nbsp;the&nbsp;SPI&nbsp;data&nbsp;header.&nbsp;If&nbsp;the&nbsp;CRC&nbsp;comparision&nbsp;is&nbsp;wrong<br>
the&nbsp;value&nbsp;will&nbsp;be&nbsp;True,&nbsp;if&nbsp;the&nbsp;header&nbsp;of&nbsp;the&nbsp;SPI&nbsp;data&nbsp;is&nbsp;correct,&nbsp;the&nbsp;value&nbsp;will&nbsp;be&nbsp;False.<br>
&nbsp;<br>
:return:&nbsp;Current&nbsp;value,&nbsp;False&nbsp;means&nbsp;no&nbsp;error,&nbsp;True&nbsp;means&nbsp;the&nbsp;header&nbsp;is&nbsp;not&nbsp;correct,&nbsp;error<br>
:rtype:&nbsp;bool</tt></dd>
</dl>
<dl><dt><strong>crc_header_in_error_counter</strong></dt>
<dd><tt>Get&nbsp;the&nbsp;error&nbsp;counter&nbsp;of&nbsp;the&nbsp;CRC&nbsp;check&nbsp;performed&nbsp;on&nbsp;the&nbsp;incoming&nbsp;SPI&nbsp;data&nbsp;header.<br>
&nbsp;<br>
:return:&nbsp;Current&nbsp;value<br>
:rtype:&nbsp;int</tt></dd>
</dl>
<dl><dt><strong>firmware</strong></dt>
<dd><tt>Get&nbsp;the&nbsp;microcontroller's&nbsp;firmware&nbsp;version.<br>
&nbsp;<br>
:return:&nbsp;Current&nbsp;value<br>
:rtype:&nbsp;int</tt></dd>
</dl>
<dl><dt><strong>gpio0</strong></dt>
<dd><tt>Get&nbsp;or&nbsp;Set&nbsp;the&nbsp;state&nbsp;of&nbsp;GPIO&nbsp;0.&nbsp;The&nbsp;value&nbsp;False&nbsp;means&nbsp;'off'&nbsp;and&nbsp;a&nbsp;value&nbsp;of&nbsp;True&nbsp;means&nbsp;'on'.<br>
&nbsp;<br>
Example:<br>
p.gpio0&nbsp;=&nbsp;p.ON&nbsp;#&nbsp;Turns&nbsp;the&nbsp;GPIO&nbsp;on<br>
p.gpio0&nbsp;=&nbsp;p.OFF&nbsp;#&nbsp;Turns&nbsp;the&nbsp;GPIO&nbsp;off<br>
or&nbsp;use<br>
p.gpio0&nbsp;=&nbsp;True&nbsp;#&nbsp;Turns&nbsp;the&nbsp;GPIO&nbsp;on<br>
p.gpio0&nbsp;=&nbsp;False&nbsp;#&nbsp;Turns&nbsp;the&nbsp;GPIO&nbsp;off<br>
&nbsp;<br>
:return:&nbsp;Current&nbsp;value<br>
:rtype:&nbsp;bool</tt></dd>
</dl>
<dl><dt><strong>gpio0_ctrl</strong></dt>
<dd><tt>Get&nbsp;or&nbsp;Set&nbsp;the&nbsp;configuration&nbsp;of&nbsp;GPIO&nbsp;0.&nbsp;Possible&nbsp;values&nbsp;are&nbsp;0&nbsp;(Input),&nbsp;1&nbsp;(Output),&nbsp;2&nbsp;(DHT11)&nbsp;or&nbsp;3&nbsp;(DHT22).<br>
&nbsp;<br>
:return:&nbsp;Current&nbsp;configuration<br>
:rtype:&nbsp;int<br>
:raises&nbsp;ValueError:&nbsp;If&nbsp;the&nbsp;passed&nbsp;value&nbsp;is&nbsp;not&nbsp;0,&nbsp;1,&nbsp;2&nbsp;or&nbsp;3</tt></dd>
</dl>
<dl><dt><strong>gpio1</strong></dt>
<dd><tt>Get&nbsp;or&nbsp;Set&nbsp;the&nbsp;state&nbsp;of&nbsp;GPIO&nbsp;1.&nbsp;The&nbsp;value&nbsp;False&nbsp;means&nbsp;'off'&nbsp;and&nbsp;a&nbsp;value&nbsp;of&nbsp;True&nbsp;means&nbsp;'on'.<br>
&nbsp;<br>
Example:<br>
p.gpio1&nbsp;=&nbsp;p.ON&nbsp;#&nbsp;Turns&nbsp;the&nbsp;GPIO&nbsp;on<br>
p.gpio1&nbsp;=&nbsp;p.OFF&nbsp;#&nbsp;Turns&nbsp;the&nbsp;GPIO&nbsp;off<br>
or&nbsp;use<br>
p.gpio1&nbsp;=&nbsp;True&nbsp;#&nbsp;Turns&nbsp;the&nbsp;GPIO&nbsp;on<br>
p.gpio1&nbsp;=&nbsp;False&nbsp;#&nbsp;Turns&nbsp;the&nbsp;GPIO&nbsp;off<br>
&nbsp;<br>
:return:&nbsp;Current&nbsp;value<br>
:rtype:&nbsp;bool</tt></dd>
</dl>
<dl><dt><strong>gpio1_ctrl</strong></dt>
<dd><tt>Get&nbsp;or&nbsp;Set&nbsp;the&nbsp;configuration&nbsp;of&nbsp;GPIO&nbsp;1.&nbsp;Possible&nbsp;values&nbsp;are&nbsp;0&nbsp;(Input),&nbsp;1&nbsp;(Output),&nbsp;2&nbsp;(DHT11)&nbsp;or&nbsp;3&nbsp;(DHT22).<br>
&nbsp;<br>
:return:&nbsp;Current&nbsp;configuration<br>
:rtype:&nbsp;int<br>
:raises&nbsp;ValueError:&nbsp;If&nbsp;the&nbsp;passed&nbsp;value&nbsp;is&nbsp;not&nbsp;0,&nbsp;1,&nbsp;2&nbsp;or&nbsp;3</tt></dd>
</dl>
<dl><dt><strong>gpio2</strong></dt>
<dd><tt>Get&nbsp;or&nbsp;Set&nbsp;the&nbsp;state&nbsp;of&nbsp;GPIO&nbsp;2.&nbsp;The&nbsp;value&nbsp;False&nbsp;means&nbsp;'off'&nbsp;and&nbsp;a&nbsp;value&nbsp;of&nbsp;True&nbsp;means&nbsp;'on'.<br>
&nbsp;<br>
Example:<br>
p.gpio2&nbsp;=&nbsp;p.ON&nbsp;#&nbsp;Turns&nbsp;the&nbsp;GPIO&nbsp;on<br>
p.gpio2&nbsp;=&nbsp;p.OFF&nbsp;#&nbsp;Turns&nbsp;the&nbsp;GPIO&nbsp;off<br>
or&nbsp;use<br>
p.gpio2&nbsp;=&nbsp;True&nbsp;#&nbsp;Turns&nbsp;the&nbsp;GPIO&nbsp;on<br>
p.gpio2&nbsp;=&nbsp;False&nbsp;#&nbsp;Turns&nbsp;the&nbsp;GPIO&nbsp;off<br>
&nbsp;<br>
:return:&nbsp;Current&nbsp;value<br>
:rtype:&nbsp;bool</tt></dd>
</dl>
<dl><dt><strong>gpio2_ctrl</strong></dt>
<dd><tt>Get&nbsp;or&nbsp;Set&nbsp;the&nbsp;configuration&nbsp;of&nbsp;GPIO&nbsp;2.&nbsp;Possible&nbsp;values&nbsp;are&nbsp;0&nbsp;(Input),&nbsp;1&nbsp;(Output),&nbsp;2&nbsp;(DHT11)&nbsp;or&nbsp;3&nbsp;(DHT22).<br>
&nbsp;<br>
:return:&nbsp;Current&nbsp;configuration<br>
:rtype:&nbsp;int<br>
:raises&nbsp;ValueError:&nbsp;If&nbsp;the&nbsp;passed&nbsp;value&nbsp;is&nbsp;not&nbsp;0,&nbsp;1,&nbsp;2&nbsp;&nbsp;or&nbsp;3</tt></dd>
</dl>
<dl><dt><strong>gpio3</strong></dt>
<dd><tt>Get&nbsp;or&nbsp;Set&nbsp;the&nbsp;state&nbsp;of&nbsp;GPIO&nbsp;3.&nbsp;The&nbsp;value&nbsp;False&nbsp;means&nbsp;'off'&nbsp;and&nbsp;a&nbsp;value&nbsp;of&nbsp;True&nbsp;means&nbsp;'on'.<br>
&nbsp;<br>
Example:<br>
p.gpio3&nbsp;=&nbsp;p.ON&nbsp;#&nbsp;Turns&nbsp;the&nbsp;GPIO&nbsp;on<br>
p.gpio3&nbsp;=&nbsp;p.OFF&nbsp;#&nbsp;Turns&nbsp;the&nbsp;GPIO&nbsp;off<br>
or&nbsp;use<br>
p.gpio3&nbsp;=&nbsp;True&nbsp;#&nbsp;Turns&nbsp;the&nbsp;GPIO&nbsp;on<br>
p.gpio3&nbsp;=&nbsp;False&nbsp;#&nbsp;Turns&nbsp;the&nbsp;GPIO&nbsp;off<br>
&nbsp;<br>
:return:&nbsp;Current&nbsp;value<br>
:rtype:&nbsp;bool</tt></dd>
</dl>
<dl><dt><strong>gpio3_ctrl</strong></dt>
<dd><tt>Get&nbsp;or&nbsp;Set&nbsp;the&nbsp;configuration&nbsp;of&nbsp;GPIO&nbsp;3.&nbsp;Possible&nbsp;values&nbsp;are&nbsp;0&nbsp;(Input),&nbsp;1&nbsp;(Output),&nbsp;2&nbsp;(DHT11)&nbsp;or&nbsp;3&nbsp;(DHT22).<br>
&nbsp;<br>
:return:&nbsp;Current&nbsp;configuration<br>
:rtype:&nbsp;int<br>
:raises&nbsp;ValueError:&nbsp;If&nbsp;the&nbsp;passed&nbsp;value&nbsp;is&nbsp;not&nbsp;0,&nbsp;1,&nbsp;2&nbsp;or&nbsp;3</tt></dd>
</dl>
<dl><dt><strong>gpio_pullups_enable</strong></dt>
<dd><tt>Enable&nbsp;or&nbsp;Disable&nbsp;the&nbsp;GPIO&nbsp;0-3&nbsp;pullups&nbsp;if&nbsp;the&nbsp;GPIOs&nbsp;are&nbsp;configured&nbsp;as&nbsp;outputs&nbsp;and&nbsp;the&nbsp;pullups&nbsp;are&nbsp;needed.<br>
Setting&nbsp;this&nbsp;property&nbsp;to&nbsp;True&nbsp;enables&nbsp;the&nbsp;pullups,&nbsp;if&nbsp;it&nbsp;is&nbsp;set&nbsp;to&nbsp;False&nbsp;the&nbsp;pullups&nbsp;remain&nbsp;off.<br>
&nbsp;<br>
:return:&nbsp;Current&nbsp;value<br>
:rtype:&nbsp;bool</tt></dd>
</dl>
<dl><dt><strong>hardware</strong></dt>
<dd><tt>Get&nbsp;the&nbsp;PiXtend&nbsp;V2&nbsp;hardware&nbsp;revision.<br>
&nbsp;<br>
:return:&nbsp;Current&nbsp;value<br>
:rtype:&nbsp;int</tt></dd>
</dl>
<dl><dt><strong>hum_input0_raw</strong></dt>
<dd><tt>Get&nbsp;the&nbsp;humidity&nbsp;raw&nbsp;value&nbsp;from&nbsp;humidity&nbsp;input&nbsp;0.<br>
&nbsp;<br>
:return:&nbsp;Current&nbsp;value<br>
:rtype:&nbsp;int</tt></dd>
</dl>
<dl><dt><strong>hum_input1_raw</strong></dt>
<dd><tt>Get&nbsp;the&nbsp;humidity&nbsp;raw&nbsp;value&nbsp;from&nbsp;humidity&nbsp;input&nbsp;1.<br>
&nbsp;<br>
:return:&nbsp;Current&nbsp;value<br>
:rtype:&nbsp;int</tt></dd>
</dl>
<dl><dt><strong>hum_input2_raw</strong></dt>
<dd><tt>Get&nbsp;the&nbsp;humidity&nbsp;raw&nbsp;value&nbsp;from&nbsp;humidity&nbsp;input&nbsp;2.<br>
&nbsp;<br>
:return:&nbsp;Current&nbsp;value<br>
:rtype:&nbsp;int</tt></dd>
</dl>
<dl><dt><strong>hum_input3_raw</strong></dt>
<dd><tt>Get&nbsp;the&nbsp;humidity&nbsp;raw&nbsp;value&nbsp;from&nbsp;humidity&nbsp;input&nbsp;3.<br>
&nbsp;<br>
:return:&nbsp;Current&nbsp;value<br>
:rtype:&nbsp;int</tt></dd>
</dl>
<dl><dt><strong>humid0</strong></dt>
<dd><tt>Get&nbsp;the&nbsp;converted&nbsp;humidity&nbsp;value&nbsp;from&nbsp;humidity&nbsp;input&nbsp;0&nbsp;if&nbsp;a&nbsp;DHT11/DHT22&nbsp;sensor&nbsp;is&nbsp;physically&nbsp;attached.<br>
&nbsp;<br>
:return:&nbsp;Current&nbsp;value<br>
:rtype:&nbsp;float</tt></dd>
</dl>
<dl><dt><strong>humid1</strong></dt>
<dd><tt>Get&nbsp;the&nbsp;converted&nbsp;humidity&nbsp;value&nbsp;from&nbsp;humidity&nbsp;input&nbsp;1&nbsp;if&nbsp;a&nbsp;DHT11/DHT22&nbsp;sensor&nbsp;is&nbsp;physically&nbsp;attached.<br>
&nbsp;<br>
:return:&nbsp;Current&nbsp;value<br>
:rtype:&nbsp;float</tt></dd>
</dl>
<dl><dt><strong>humid2</strong></dt>
<dd><tt>Get&nbsp;the&nbsp;converted&nbsp;humidity&nbsp;value&nbsp;from&nbsp;humidity&nbsp;input&nbsp;2&nbsp;if&nbsp;a&nbsp;DHT11/DHT22&nbsp;sensor&nbsp;is&nbsp;physically&nbsp;attached.<br>
&nbsp;<br>
:return:&nbsp;Current&nbsp;value<br>
:rtype:&nbsp;float</tt></dd>
</dl>
<dl><dt><strong>humid3</strong></dt>
<dd><tt>Get&nbsp;the&nbsp;converted&nbsp;humidity&nbsp;value&nbsp;from&nbsp;humidity&nbsp;input&nbsp;3&nbsp;if&nbsp;a&nbsp;DHT11/DHT22&nbsp;sensor&nbsp;is&nbsp;physically&nbsp;attached.<br>
&nbsp;<br>
:return:&nbsp;Current&nbsp;value<br>
:rtype:&nbsp;float</tt></dd>
</dl>
<dl><dt><strong>model_in</strong></dt>
<dd><tt>Get&nbsp;the&nbsp;PiXtend&nbsp;V2&nbsp;model&nbsp;information&nbsp;from&nbsp;the&nbsp;microcontroller.<br>
&nbsp;<br>
:return:&nbsp;Current&nbsp;value<br>
:rtype:&nbsp;int</tt></dd>
</dl>
<dl><dt><strong>model_in_error</strong></dt>
<dd><tt>Get&nbsp;the&nbsp;result&nbsp;of&nbsp;the&nbsp;comparison&nbsp;between&nbsp;the&nbsp;configured&nbsp;model,&nbsp;supplied&nbsp;by&nbsp;the&nbsp;child&nbsp;class&nbsp;through&nbsp;the&nbsp;init<br>
function&nbsp;(constructor)&nbsp;when&nbsp;the&nbsp;object&nbsp;is&nbsp;created,&nbsp;and&nbsp;the&nbsp;reported&nbsp;model&nbsp;by&nbsp;the&nbsp;microcontroller.<br>
If&nbsp;the&nbsp;configured&nbsp;model&nbsp;and&nbsp;the&nbsp;reported&nbsp;model&nbsp;match,&nbsp;the&nbsp;value&nbsp;will&nbsp;be&nbsp;False,<br>
if&nbsp;they&nbsp;don't&nbsp;match,&nbsp;the&nbsp;value&nbsp;will&nbsp;be&nbsp;True&nbsp;and&nbsp;signifies&nbsp;an&nbsp;error.<br>
&nbsp;<br>
:return:&nbsp;Current&nbsp;value,&nbsp;False&nbsp;means&nbsp;no&nbsp;error,&nbsp;True&nbsp;means&nbsp;the&nbsp;reported&nbsp;model&nbsp;does&nbsp;not&nbsp;match<br>
:rtype:&nbsp;bool</tt></dd>
</dl>
<dl><dt><strong>retain_copy</strong></dt>
<dd><tt>Get&nbsp;or&nbsp;Set&nbsp;the&nbsp;microcontroller's&nbsp;Retain&nbsp;memory&nbsp;option&nbsp;to&nbsp;copy&nbsp;incoming&nbsp;data&nbsp;to&nbsp;the&nbsp;outgoing&nbsp;data<br>
stream.&nbsp;This&nbsp;way&nbsp;the&nbsp;data&nbsp;which&nbsp;will&nbsp;be&nbsp;stored&nbsp;on&nbsp;the&nbsp;microcontroller,&nbsp;in&nbsp;the&nbsp;event&nbsp;of&nbsp;a&nbsp;sudden&nbsp;power&nbsp;loss,<br>
can&nbsp;be&nbsp;verified&nbsp;that&nbsp;the&nbsp;data&nbsp;really&nbsp;reaches&nbsp;the&nbsp;microcontroller&nbsp;and&nbsp;that&nbsp;values&nbsp;are&nbsp;correct.&nbsp;This&nbsp;option&nbsp;is<br>
mainly&nbsp;intended&nbsp;for&nbsp;debugging,&nbsp;but&nbsp;can&nbsp;be&nbsp;used&nbsp;by&nbsp;anyone.<br>
&nbsp;<br>
:return:&nbsp;Current&nbsp;value<br>
:rtype:&nbsp;bool<br>
:raises&nbsp;ValueError:&nbsp;If&nbsp;the&nbsp;passed&nbsp;value&nbsp;is&nbsp;not&nbsp;True&nbsp;or&nbsp;False</tt></dd>
</dl>
<dl><dt><strong>retain_enable</strong></dt>
<dd><tt>Get&nbsp;or&nbsp;Set&nbsp;the&nbsp;microcontroller's&nbsp;Retain&nbsp;memory&nbsp;option&nbsp;to&nbsp;enabled.&nbsp;With&nbsp;this&nbsp;option&nbsp;active&nbsp;a&nbsp;specified&nbsp;amount&nbsp;of<br>
data&nbsp;will&nbsp;be&nbsp;stored&nbsp;in&nbsp;the&nbsp;microcontroller's&nbsp;flash&nbsp;memory&nbsp;in&nbsp;the&nbsp;event&nbsp;of&nbsp;a&nbsp;sudden&nbsp;power&nbsp;loss.&nbsp;The&nbsp;exact&nbsp;amount<br>
of&nbsp;int's/bytes&nbsp;which&nbsp;a&nbsp;PiXtend&nbsp;V2&nbsp;board&nbsp;can&nbsp;store&nbsp;can&nbsp;be&nbsp;found&nbsp;in&nbsp;the&nbsp;SPI&nbsp;protocol&nbsp;specifications.<br>
&nbsp;<br>
:return:&nbsp;Current&nbsp;value<br>
:rtype:&nbsp;bool<br>
:raises&nbsp;ValueError:&nbsp;If&nbsp;the&nbsp;passed&nbsp;value&nbsp;is&nbsp;not&nbsp;True&nbsp;or&nbsp;False</tt></dd>
</dl>
<dl><dt><strong>save_state</strong></dt>
<dd><tt>Get&nbsp;or&nbsp;Set&nbsp;the&nbsp;microcontroller's&nbsp;SaveState&nbsp;bit&nbsp;in&nbsp;case&nbsp;the&nbsp;computer&nbsp;has&nbsp;to&nbsp;shutdown&nbsp;or&nbsp;needs&nbsp;to&nbsp;reboot.<br>
Settings&nbsp;this&nbsp;property&nbsp;to&nbsp;True&nbsp;will&nbsp;halt&nbsp;the&nbsp;microcontroller&nbsp;and&nbsp;a&nbsp;reset&nbsp;is&nbsp;needed&nbsp;in&nbsp;order&nbsp;to&nbsp;start&nbsp;any<br>
communication&nbsp;again.<br>
&nbsp;<br>
:return:&nbsp;Current&nbsp;value<br>
:rtype:&nbsp;bool<br>
:raises&nbsp;ValueError:&nbsp;If&nbsp;the&nbsp;passed&nbsp;value&nbsp;is&nbsp;not&nbsp;True&nbsp;or&nbsp;False</tt></dd>
</dl>
<dl><dt><strong>state_led_off</strong></dt>
<dd><tt>Get&nbsp;or&nbsp;Set&nbsp;if&nbsp;the&nbsp;State&nbsp;LED&nbsp;(L1)&nbsp;on&nbsp;the&nbsp;PiXtend&nbsp;V2&nbsp;board&nbsp;is&nbsp;on&nbsp;or&nbsp;off.<br>
True&nbsp;turns&nbsp;the&nbsp;LED&nbsp;off&nbsp;and&nbsp;False&nbsp;leave&nbsp;the&nbsp;State&nbsp;LED&nbsp;(L1)&nbsp;on.<br>
&nbsp;<br>
:return:&nbsp;Current&nbsp;value<br>
:rtype:&nbsp;bool<br>
:raises&nbsp;ValueError:&nbsp;If&nbsp;the&nbsp;passed&nbsp;value&nbsp;is&nbsp;not&nbsp;True&nbsp;or&nbsp;False</tt></dd>
</dl>
<dl><dt><strong>temp0</strong></dt>
<dd><tt>Get&nbsp;the&nbsp;converted&nbsp;temperature&nbsp;value&nbsp;from&nbsp;temperature&nbsp;input&nbsp;0&nbsp;from&nbsp;a&nbsp;DHT11&nbsp;or&nbsp;DHT22&nbsp;sensor.<br>
&nbsp;<br>
:return:&nbsp;Current&nbsp;value<br>
:rtype:&nbsp;float</tt></dd>
</dl>
<dl><dt><strong>temp1</strong></dt>
<dd><tt>Get&nbsp;the&nbsp;converted&nbsp;temperature&nbsp;value&nbsp;from&nbsp;temperature&nbsp;input&nbsp;1&nbsp;from&nbsp;a&nbsp;DHT11&nbsp;or&nbsp;DHT22&nbsp;sensor.<br>
&nbsp;<br>
:return:&nbsp;Current&nbsp;value<br>
:rtype:&nbsp;float</tt></dd>
</dl>
<dl><dt><strong>temp2</strong></dt>
<dd><tt>Get&nbsp;the&nbsp;converted&nbsp;temperature&nbsp;value&nbsp;from&nbsp;temperature&nbsp;input&nbsp;2&nbsp;from&nbsp;a&nbsp;DHT11&nbsp;or&nbsp;DHT22&nbsp;sensor.<br>
&nbsp;<br>
:return:&nbsp;Current&nbsp;value<br>
:rtype:&nbsp;float</tt></dd>
</dl>
<dl><dt><strong>temp3</strong></dt>
<dd><tt>Get&nbsp;the&nbsp;converted&nbsp;temperature&nbsp;value&nbsp;from&nbsp;temperature&nbsp;input&nbsp;3&nbsp;from&nbsp;a&nbsp;DHT11&nbsp;or&nbsp;DHT22&nbsp;sensor.<br>
&nbsp;<br>
:return:&nbsp;Current&nbsp;value<br>
:rtype:&nbsp;float</tt></dd>
</dl>
<dl><dt><strong>temp_input0_raw</strong></dt>
<dd><tt>Get&nbsp;the&nbsp;temperature&nbsp;raw&nbsp;value&nbsp;from&nbsp;temperature&nbsp;input&nbsp;0.<br>
&nbsp;<br>
:return:&nbsp;Current&nbsp;value<br>
:rtype:&nbsp;int</tt></dd>
</dl>
<dl><dt><strong>temp_input1_raw</strong></dt>
<dd><tt>Get&nbsp;the&nbsp;temperature&nbsp;raw&nbsp;value&nbsp;from&nbsp;temperature&nbsp;input&nbsp;1.<br>
&nbsp;<br>
:return:&nbsp;Current&nbsp;value<br>
:rtype:&nbsp;int</tt></dd>
</dl>
<dl><dt><strong>temp_input2_raw</strong></dt>
<dd><tt>Get&nbsp;the&nbsp;temperature&nbsp;raw&nbsp;value&nbsp;from&nbsp;temperature&nbsp;input&nbsp;2.<br>
&nbsp;<br>
:return:&nbsp;Current&nbsp;value<br>
:rtype:&nbsp;int</tt></dd>
</dl>
<dl><dt><strong>temp_input3_raw</strong></dt>
<dd><tt>Get&nbsp;the&nbsp;temperature&nbsp;raw&nbsp;value&nbsp;from&nbsp;temperature&nbsp;input&nbsp;3.<br>
&nbsp;<br>
:return:&nbsp;Current&nbsp;value<br>
:rtype:&nbsp;int</tt></dd>
</dl>
<dl><dt><strong>uc_state</strong></dt>
<dd><tt>The&nbsp;UCState&nbsp;byte&nbsp;from&nbsp;the&nbsp;microcontroller&nbsp;contains&nbsp;information&nbsp;of&nbsp;the&nbsp;following&nbsp;internal&nbsp;states:<br>
&nbsp;&nbsp;&nbsp;&nbsp;Bit&nbsp;0:&nbsp;Run&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;The&nbsp;microcontroller&nbsp;is&nbsp;up&nbsp;and&nbsp;running,&nbsp;this&nbsp;is&nbsp;just&nbsp;a&nbsp;helper&nbsp;bit<br>
&nbsp;&nbsp;&nbsp;&nbsp;Bit&nbsp;4:&nbsp;Error0&nbsp;&nbsp;&nbsp;-&nbsp;Bit&nbsp;0&nbsp;of&nbsp;the&nbsp;4&nbsp;bit&nbsp;error&nbsp;number&nbsp;from&nbsp;the&nbsp;microcontroller.&nbsp;Together&nbsp;with&nbsp;the&nbsp;next&nbsp;3<br>
&nbsp;&nbsp;&nbsp;&nbsp;Bit&nbsp;5:&nbsp;Error1&nbsp;&nbsp;&nbsp;-&nbsp;bits&nbsp;a&nbsp;4&nbsp;bit&nbsp;number&nbsp;can&nbsp;be&nbsp;formed&nbsp;which&nbsp;results&nbsp;in&nbsp;an&nbsp;error&nbsp;number&nbsp;which&nbsp;is<br>
&nbsp;&nbsp;&nbsp;&nbsp;Bit&nbsp;6:&nbsp;Error2&nbsp;&nbsp;&nbsp;-&nbsp;listed&nbsp;in&nbsp;the&nbsp;SPI&nbsp;protocol&nbsp;specification&nbsp;or&nbsp;the&nbsp;software&nbsp;manual.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Bit&nbsp;7:&nbsp;Error3<br>
&nbsp;<br>
:return:&nbsp;Current&nbsp;value<br>
:rtype:&nbsp;int</tt></dd>
</dl>
<dl><dt><strong>uc_warnings</strong></dt>
<dd><tt>The&nbsp;UCWarnings&nbsp;byte&nbsp;from&nbsp;the&nbsp;microcontroller&nbsp;contains&nbsp;information&nbsp;of&nbsp;the&nbsp;following&nbsp;internal&nbsp;errors:<br>
Bit&nbsp;1:&nbsp;RetainCRCError&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;Signals&nbsp;a&nbsp;CRC&nbsp;error&nbsp;in&nbsp;the&nbsp;retain&nbsp;data&nbsp;in&nbsp;the&nbsp;microcontroller<br>
Bit&nbsp;2:&nbsp;RetainVoltageError&nbsp;&nbsp;&nbsp;-&nbsp;The&nbsp;supply&nbsp;voltage&nbsp;is&nbsp;below&nbsp;19&nbsp;volts,&nbsp;the&nbsp;Retain&nbsp;memory&nbsp;option&nbsp;cannot&nbsp;be&nbsp;used.<br>
&nbsp;<br>
:return:&nbsp;Current&nbsp;value<br>
:rtype:&nbsp;int</tt></dd>
</dl>
<dl><dt><strong>use_fahrenheit</strong></dt>
<dd><tt>Get&nbsp;or&nbsp;Set&nbsp;if&nbsp;the&nbsp;conversion&nbsp;of&nbsp;the&nbsp;temperature&nbsp;raw&nbsp;value&nbsp;should&nbsp;be&nbsp;done&nbsp;in&nbsp;Fahrenheit.<br>
Default&nbsp;is&nbsp;'False',&nbsp;meaning&nbsp;by&nbsp;getting&nbsp;the&nbsp;temperature&nbsp;from&nbsp;temp0&nbsp;to&nbsp;temp3<br>
the&nbsp;value&nbsp;will&nbsp;be&nbsp;in&nbsp;degrees&nbsp;Celsius,&nbsp;if&nbsp;set&nbsp;to&nbsp;'True'&nbsp;the&nbsp;values&nbsp;will&nbsp;be&nbsp;in&nbsp;Fahrenheit.<br>
&nbsp;<br>
:returns:&nbsp;Bool&nbsp;value,&nbsp;'False'&nbsp;for&nbsp;Celsius&nbsp;and&nbsp;'True'&nbsp;for&nbsp;Fahrenheit<br>
:rtype:&nbsp;bool</tt></dd>
</dl>
<dl><dt><strong>watchdog</strong></dt>
<dd><tt>Get&nbsp;or&nbsp;Set&nbsp;the&nbsp;PiXtend&nbsp;V2&nbsp;watchdog&nbsp;option.&nbsp;WDT_OFF&nbsp;or&nbsp;0&nbsp;ms&nbsp;means&nbsp;the&nbsp;watchdog&nbsp;is&nbsp;disabled.&nbsp;One&nbsp;of&nbsp;the<br>
following&nbsp;time&nbsp;values&nbsp;16&nbsp;ms,&nbsp;32&nbsp;ms,&nbsp;64&nbsp;ms,&nbsp;125&nbsp;ms,&nbsp;250&nbsp;ms,&nbsp;500&nbsp;ms,&nbsp;1000&nbsp;ms&nbsp;(1s),&nbsp;2000&nbsp;ms&nbsp;(2s),&nbsp;4000&nbsp;ms&nbsp;(4s)<br>
and&nbsp;8000&nbsp;ms&nbsp;(8s)&nbsp;turns&nbsp;the&nbsp;watchdog&nbsp;function&nbsp;in&nbsp;the&nbsp;microcontroller&nbsp;on.&nbsp;If&nbsp;no&nbsp;SPI&nbsp;communication&nbsp;occurs&nbsp;within<br>
this&nbsp;time&nbsp;frame,&nbsp;the&nbsp;microcontroller&nbsp;will&nbsp;stop&nbsp;working&nbsp;and&nbsp;goes&nbsp;into&nbsp;save&nbsp;state.&nbsp;Only&nbsp;a&nbsp;reset&nbsp;or&nbsp;power&nbsp;cycle<br>
will&nbsp;bring&nbsp;it&nbsp;back&nbsp;to&nbsp;life&nbsp;once&nbsp;it&nbsp;has&nbsp;entered&nbsp;this&nbsp;stage.<br>
&nbsp;<br>
:return:&nbsp;Current&nbsp;value<br>
:rtype:&nbsp;int<br>
:raises&nbsp;ValueError:&nbsp;If&nbsp;the&nbsp;passed&nbsp;value&nbsp;is&nbsp;not&nbsp;one&nbsp;of&nbsp;the&nbsp;following:&nbsp;16,&nbsp;32,&nbsp;64,&nbsp;125,&nbsp;250,&nbsp;500,&nbsp;1000,<br>
2000,&nbsp;4000&nbsp;or&nbsp;8000</tt></dd>
</dl>
<hr>
Data and other attributes defined here:<br>
<dl><dt><strong>BIT_0</strong> = 0</dl>

<dl><dt><strong>BIT_1</strong> = 1</dl>

<dl><dt><strong>BIT_10</strong> = 10</dl>

<dl><dt><strong>BIT_11</strong> = 11</dl>

<dl><dt><strong>BIT_12</strong> = 12</dl>

<dl><dt><strong>BIT_13</strong> = 13</dl>

<dl><dt><strong>BIT_14</strong> = 14</dl>

<dl><dt><strong>BIT_15</strong> = 15</dl>

<dl><dt><strong>BIT_2</strong> = 2</dl>

<dl><dt><strong>BIT_3</strong> = 3</dl>

<dl><dt><strong>BIT_4</strong> = 4</dl>

<dl><dt><strong>BIT_5</strong> = 5</dl>

<dl><dt><strong>BIT_6</strong> = 6</dl>

<dl><dt><strong>BIT_7</strong> = 7</dl>

<dl><dt><strong>BIT_8</strong> = 8</dl>

<dl><dt><strong>BIT_9</strong> = 9</dl>

<dl><dt><strong>COM_INTERVAL_DEFAULT</strong> = 0.03</dl>

<dl><dt><strong>COM_INTERVAL_DHT</strong> = 0.03</dl>

<dl><dt><strong>COM_INTERVAL_MINIMUM</strong> = 0.01</dl>

<dl><dt><strong>DAC_A</strong> = 0</dl>

<dl><dt><strong>DAC_B</strong> = 1</dl>

<dl><dt><strong>DHT11</strong> = 0</dl>

<dl><dt><strong>DHT22</strong> = 1</dl>

<dl><dt><strong>GPIO_DHT11</strong> = 2</dl>

<dl><dt><strong>GPIO_DHT22</strong> = 3</dl>

<dl><dt><strong>GPIO_INPUT</strong> = 0</dl>

<dl><dt><strong>GPIO_OUTPUT</strong> = 1</dl>

<dl><dt><strong>JUMPER_10V</strong> = 1</dl>

<dl><dt><strong>JUMPER_5V</strong> = 0</dl>

<dl><dt><strong>MC_RESET_PIN</strong> = 23</dl>

<dl><dt><strong>OFF</strong> = False</dl>

<dl><dt><strong>ON</strong> = True</dl>

<dl><dt><strong>PIXTENDV2L_MODEL</strong> = 76</dl>

<dl><dt><strong>PIXTENDV2S_MODEL</strong> = 83</dl>

<dl><dt><strong>PWM_MODE</strong> = 1</dl>

<dl><dt><strong>RS232</strong> = 0</dl>

<dl><dt><strong>RS485</strong> = 0</dl>

<dl><dt><strong>SERVO_MODE</strong> = 0</dl>

<dl><dt><strong>SPI_ENABLE_PIN</strong> = 24</dl>

<dl><dt><strong>SPI_NOT_FOUND</strong> = -1</dl>

<dl><dt><strong>SPI_SPEED</strong> = 700000</dl>

<dl><dt><strong>WDT_125MS</strong> = 125</dl>

<dl><dt><strong>WDT_16MS</strong> = 16</dl>

<dl><dt><strong>WDT_1S</strong> = 1000</dl>

<dl><dt><strong>WDT_250MS</strong> = 250</dl>

<dl><dt><strong>WDT_2S</strong> = 2000</dl>

<dl><dt><strong>WDT_32MS</strong> = 32</dl>

<dl><dt><strong>WDT_4S</strong> = 4000</dl>

<dl><dt><strong>WDT_500MS</strong> = 500</dl>

<dl><dt><strong>WDT_64MS</strong> = 64</dl>

<dl><dt><strong>WDT_8S</strong> = 8000</dl>

<dl><dt><strong>WDT_OFF</strong> = 0</dl>

<dl><dt><strong>__abstractmethods__</strong> = frozenset(['_pack_spi_data', '_unpack_spi_data'])</dl>

<dl><dt><strong>__metaclass__</strong> = &lt;class 'abc.ABCMeta'&gt;<dd><tt>Metaclass&nbsp;for&nbsp;defining&nbsp;Abstract&nbsp;Base&nbsp;Classes&nbsp;(ABCs).<br>
&nbsp;<br>
Use&nbsp;this&nbsp;metaclass&nbsp;to&nbsp;create&nbsp;an&nbsp;ABC.&nbsp;&nbsp;An&nbsp;ABC&nbsp;can&nbsp;be&nbsp;subclassed<br>
directly,&nbsp;and&nbsp;then&nbsp;acts&nbsp;as&nbsp;a&nbsp;mix-in&nbsp;class.&nbsp;&nbsp;You&nbsp;can&nbsp;also&nbsp;register<br>
unrelated&nbsp;concrete&nbsp;classes&nbsp;(even&nbsp;built-in&nbsp;classes)&nbsp;and&nbsp;unrelated<br>
ABCs&nbsp;as&nbsp;'virtual&nbsp;subclasses'&nbsp;--&nbsp;these&nbsp;and&nbsp;their&nbsp;descendants&nbsp;will<br>
be&nbsp;considered&nbsp;subclasses&nbsp;of&nbsp;the&nbsp;registering&nbsp;ABC&nbsp;by&nbsp;the&nbsp;built-in<br>
issubclass()&nbsp;function,&nbsp;but&nbsp;the&nbsp;registering&nbsp;ABC&nbsp;won't&nbsp;show&nbsp;up&nbsp;in<br>
their&nbsp;MRO&nbsp;(Method&nbsp;Resolution&nbsp;Order)&nbsp;nor&nbsp;will&nbsp;method<br>
implementations&nbsp;defined&nbsp;by&nbsp;the&nbsp;registering&nbsp;ABC&nbsp;be&nbsp;callable&nbsp;(not<br>
even&nbsp;via&nbsp;super()).</tt></dl>

</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
    
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Robin Turner'<br>
<strong>__version__</strong> = '0.1.4'</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
    
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Robin&nbsp;Turner</td></tr></table>
</body></html>
bues.ch cgit interface