libpruw1  0.4
One wire (W1) driver for Beaglebone hardware based on libpruio
pruw1.bi
Go to the documentation of this file.
1 
9 
10 #INCLIB "pruw1"
11 
12 TYPE AS SHORT Int16
13 TYPE AS ULONGINT UInt64
14 
15 ' forward declarations of helper functions
16 DECLARE FUNCTION T_fam10 (BYVAL AS UInt8 PTR) AS Int16
17 DECLARE FUNCTION T_fam20 (BYVAL AS UInt8 PTR) AS Int16
18 
19 
20 
28 ENUM LineModus
29  PRUW1_PARPOW = &b01
30  PRUW1_PULLUP = &b10
31 END ENUM
32 
33 
34 
40 TYPE PruW1
41  AS ZSTRING PTR Errr
42  AS UInt32 _
43  Mask _
44  , PruNo _
45  , PruIRam _
46  , PruLMod
47  AS UInt32 PTR _
48  DRam _
49  , Raw
50 
51  AS Uint8 Crc8_Table(255) = { _
52  0, 94, 188, 226, 97, 63, 221, 131, 194, 156, 126, 32, 163, 253, 31, 65 _
53  , 157, 195, 33, 127, 252, 162, 64, 30, 95, 1, 227, 189, 62, 96, 130, 220 _
54  , 35, 125, 159, 193, 66, 28, 254, 160, 225, 191, 93, 3, 128, 222, 60, 98 _
55  , 190, 224, 2, 92, 223, 129, 99, 61, 124, 34, 192, 158, 29, 67, 161, 255 _
56  , 70, 24, 250, 164, 39, 121, 155, 197, 132, 218, 56, 102, 229, 187, 89, 7 _
57  , 219, 133, 103, 57, 186, 228, 6, 88, 25, 71, 165, 251, 120, 38, 196, 154 _
58  , 101, 59, 217, 135, 4, 90, 184, 230, 167, 249, 27, 69, 198, 152, 122, 36 _
59  , 248, 166, 68, 26, 153, 199, 37, 123, 58, 100, 134, 216, 91, 5, 231, 185 _
60  , 140, 210, 48, 110, 237, 179, 81, 15, 78, 16, 242, 172, 47, 113, 147, 205 _
61  , 17, 79, 173, 243, 112, 46, 204, 146, 211, 141, 111, 49, 178, 236, 14, 80 _
62  , 175, 241, 19, 77, 206, 144, 114, 44, 109, 51, 209, 143, 12, 82, 176, 238 _
63  , 50, 108, 142, 208, 83, 13, 239, 177, 240, 174, 76, 18, 145, 207, 45, 115 _
64  , 202, 148, 118, 40, 171, 245, 23, 73, 8, 86, 180, 234, 105, 55, 213, 139 _
65  , 87, 9, 235, 181, 54, 104, 138, 212, 149, 203, 41, 119, 244, 170, 72, 22 _
66  , 233, 183, 85, 11, 136, 214, 52, 106, 43, 117, 151, 201, 74, 20, 246, 168 _
67  , 116, 42, 200, 150, 21, 75, 169, 247, 182, 232, 10, 84, 215, 137, 107, 53 _
68  }
69  AS UInt64 Slots(ANY)
70 
71  DECLARE CONSTRUCTOR(BYVAL AS PruIo PTR, BYVAL AS Uint8, BYVAL AS Uint8 = PRUW1_PULLUP)
72  DECLARE DESTRUCTOR()
73  DECLARE FUNCTION scanBus(BYVAL AS UInt8 = &hF0)AS ZSTRING PTR
74  DECLARE SUB sendByte(BYVAL AS UInt8)
75  DECLARE SUB sendRom(BYVAL AS UInt64)
76  DECLARE FUNCTION recvBlock(BYVAL AS UInt8) AS UInt8
77  DECLARE FUNCTION recvByte()AS UInt8
78  DECLARE FUNCTION getIn() AS UInt8
79  DECLARE FUNCTION resetBus() AS UInt8
80  DECLARE FUNCTION calcCrc(BYVAL AS UInt8) AS UInt8
81  DECLARE FUNCTION checkPara() AS UInt8
82  DECLARE SUB prot()
83 END TYPE
84