libpruw1  0.4
One wire (W1) driver for Beaglebone hardware based on libpruio
pruw1_C_wrapper.bas
Go to the documentation of this file.
1 
14 
15 #INCLUDE ONCE "BBB/pruio.bi"
16 ' driver header file
17 #include ONCE "pruw1.bi"
18 
19 
20 FUNCTION pruw1_new CDECL ALIAS "pruw1_new"( _
21  BYVAL P AS PruIo PTR, _
22  BYVAL B AS Uint8, _
23  BYVAL M AS Uint8) AS PruW1 PTR EXPORT
24 
25  RETURN NEW PruW1(P, B, M)
26 END FUNCTION
27 
28 
29 SUB pruw1_destroy CDECL ALIAS "pruw1_destroy"( _
30  BYVAL W1 AS PruW1 PTR) EXPORT
31 
32  IF W1 THEN DELETE W1
33 END SUB
34 
35 
36 FUNCTION pruw1_scanBus CDECL ALIAS "pruw1_scanBus"( _
37  BYVAL W1 AS PruW1 PTR, _
38  BYVAL SearchType AS UInt8 = &hF0)AS ZSTRING PTR EXPORT
39 
40  RETURN W1->scanBus(SearchType)
41 END FUNCTION
42 
43 
44 SUB pruw1_sendByte CDECL ALIAS "pruw1_sendByte"( _
45  BYVAL W1 AS PruW1 PTR, _
46  BYVAL V AS UInt8) EXPORT
47 
48  W1->sendByte(V)
49 END SUB
50 
51 
52 SUB pruw1_sendRom CDECL ALIAS "pruw1_sendRom"( _
53  BYVAL W1 AS PruW1 PTR, _
54  BYVAL V AS UInt64) EXPORT
55 
56  W1->sendRom(V)
57 END SUB
58 
59 
60 FUNCTION pruw1_recvBlock CDECL ALIAS "pruw1_recvBlock"( _
61  BYVAL W1 AS PruW1 PTR, _
62  BYVAL N AS UInt8) AS UInt8 EXPORT
63 
64  RETURN W1->recvBlock(N)
65 END FUNCTION
66 
67 
68 FUNCTION pruw1_recvByte CDECL ALIAS "pruw1_recvByte"( _
69  BYVAL W1 AS PruW1 PTR) AS UInt8 EXPORT
70 
71  RETURN W1->recvByte()
72 END FUNCTION
73 
74 
75 FUNCTION pruw1_getIn CDECL ALIAS "pruw1_getIn"( _
76  BYVAL W1 AS PruW1 PTR) AS UInt8 EXPORT
77 
78  RETURN W1->getIn()
79 END FUNCTION
80 
81 
82 FUNCTION pruw1_resetBus CDECL ALIAS "pruw1_resetBus"( _
83  BYVAL W1 AS PruW1 PTR) AS UInt8 EXPORT
84 
85  RETURN W1->resetBus()
86 END FUNCTION
87 
88 
89 FUNCTION pruw1_checkPara CDECL ALIAS "pruw1_checkPara"( _
90  BYVAL W1 AS PruW1 PTR) AS UInt8 EXPORT
91 
92  RETURN W1->checkPara()
93 END FUNCTION
94 
95 
96 FUNCTION pruw1_calcCrc CDECL ALIAS "pruw1_calcCrc"( _
97  BYVAL W1 AS PruW1 PTR, _
98  BYVAL N AS UInt8) AS UInt8 EXPORT
99 
100  RETURN W1->calcCrc(N)
101 END FUNCTION
102 
103 
104 FUNCTION pruw1_getSlotMax CDECL ALIAS "pruw1_getSlotMax"( _
105  BYVAL W1 AS PruW1 PTR) AS Int32 EXPORT
106 
107  RETURN UBOUND(W1->Slots)
108 END FUNCTION
109 
110 
111 SUB pruw1_eraseSlots CDECL ALIAS "pruw1_eraseSlots"( _
112  BYVAL W1 AS PruW1 PTR) EXPORT
113 
114  REDIM W1->Slots(-1)
115 END SUB
116 
117 
118 FUNCTION pruw1_getId CDECL ALIAS "pruw1_getId"( _
119  BYVAL W1 AS PruW1 PTR, _
120  BYVAL N AS UInt32) AS UInt64 EXPORT
121 
122  RETURN IIF(N > UBOUND(W1->Slots), 0, W1->Slots(N))
123  'RETURN W1->Slots(N)
124 END FUNCTION
125