libpruio  0.2
Input/Output driver for digital/analog lines on Beagleboard hardware
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
pruio_c_wrapper.bas
Go to the documentation of this file.
1 /'* \file pruio_c_wrapper.bas
2 \brief The main source code of the C wrapper for libpruio.
3 
4 This file provides the libpruio functions in a C compatible syntax to
5 use libpruio in polyglot applications or to create language bindings
6 for non-C languages.
7 
8 Licence: LGPLv2 (http://www.gnu.org/licenses/lgpl-2.0.html)
9 
10 Copyright 2014 by Thomas{ dOt ]Freiherr[ At ]gmx[ DoT }net
11 
12 
13 compile by (static and dynamic library)
14 
15 ./build
16 
17 '/
18 
19 
20 ' Driver file.
21 #INCLUDE ONCE "../pruio/pruio.bas"
22 
23 
24 '* \brief Wrapper function for constructor PruIo::PruIo().
25 FUNCTION pruio_new CDECL ALIAS "pruio_new"( _
26  BYVAL Act AS UInt16 = PRUIO_DEF_ACTIVE _
27  , BYVAL Av AS UInt8 = PRUIO_DEF_AVRAGE _
28  , BYVAL OpD AS UInt32 = PRUIO_DEF_ODELAY _
29  , BYVAL SaD AS UInt8 = PRUIO_DEF_SDELAY) AS PruIo PTR EXPORT
30 
31  RETURN NEW PruIo(Act, Av, OpD, SaD)
32 END FUNCTION
33 
34 '* \brief Wrapper function for destructor PruIo::~PruIo.
35 SUB pruio_destroy CDECL ALIAS "pruio_destroy"( _
36  BYVAL Io AS PruIo PTR) EXPORT
37 
38  IF Io THEN DELETE Io : Io = 0
39 END SUB
40 
41 '* \brief Wrapper function for PruIo::config().
42 FUNCTION pruio_config CDECL ALIAS "pruio_config"( _
43  BYVAL Io AS PruIo PTR _
44  , BYVAL Samp AS UInt32 _
45  , BYVAL Mask AS UInt32 _
46  , BYVAL Tmr AS UInt32 _
47  , BYVAL Mds AS UInt16) AS ZSTRING PTR EXPORT
48 
49  RETURN Io->config(Samp, Mask, Tmr, Mds)
50 END FUNCTION
51 
52 '* \brief Wrapper function for PruIo::Pin().
53 FUNCTION pruio_Pin CDECL ALIAS "pruio_Pin"( _
54  BYVAL Io AS PruIo PTR _
55  , BYVAL Ball AS UInt8) AS ZSTRING PTR EXPORT
56 
57  RETURN Io->Pin(Ball)
58 END FUNCTION
59 
60 '* \brief Wrapper function for PruIo::mm_start().
61 FUNCTION pruio_mm_start CDECL ALIAS "pruio_mm_start"( _
62  BYVAL Io AS PruIo PTR _
63  , BYVAL Trg1 AS UInt32 _
64  , BYVAL Trg2 AS UInt32 _
65  , BYVAL Trg3 AS UInt32 _
66  , BYVAL Trg4 AS UInt32) AS ZSTRING PTR EXPORT
67 
68  RETURN Io->mm_start(Trg1, Trg2, Trg3, Trg4)
69 END FUNCTION
70 
71 '* \brief Wrapper function for PruIo::rb_start().
72 FUNCTION pruio_rb_start CDECL ALIAS "pruio_rb_start"( _
73  BYVAL Io AS PruIo PTR) AS ZSTRING PTR EXPORT
74 
75  RETURN Io->rb_start()
76 END FUNCTION
77 
78 
79 '* \brief Wrapper function for AdcUdt::setStep().
80 FUNCTION pruio_adc_setStep CDECL ALIAS "pruio_adc_setStep"( _
81  BYVAL Io AS PruIo PTR _
82  , BYVAL Stp AS UInt8 _
83  , BYVAL ChN AS UInt8 _
84  , BYVAL Av AS UInt8 _
85  , BYVAL SaD AS UInt8 _
86  , BYVAL OpD AS UInt32) AS ZSTRING PTR EXPORT
87 
88  RETURN Io->Adc->setStep(Stp, ChN, Av, SaD, OpD)
89 END FUNCTION
90 
91 '* \brief Wrapper function for AdcUdt::mm_trg_pin().
92 FUNCTION pruio_adc_mm_trg_pin CDECL ALIAS "pruio_adc_mm_trg_pin"( _
93  BYVAL Io AS PruIo PTR _
94  , BYVAL Ball AS UInt8 _
95  , BYVAL GpioV AS UInt8 _
96  , BYVAL Skip AS UInt16) AS UInt32 EXPORT
97 
98  RETURN Io->Adc->mm_trg_pin(Ball, GpioV, Skip)
99 END FUNCTION
100 
101 '* \brief Wrapper function for AdcUdt::mm_trg_ain().
102 FUNCTION pruio_adc_mm_trg_ain CDECL ALIAS "pruio_adc_mm_trg_ain"( _
103  BYVAL Io AS PruIo PTR _
104  , BYVAL Stp AS UInt8 _
105  , BYVAL AdcV AS Int32 _
106  , BYVAL Rela AS UInt8 _
107  , BYVAL Skip AS UInt16) AS UInt32 EXPORT
108 
109  RETURN Io->Adc->mm_trg_ain(Stp, AdcV, Rela, Skip)
110 END FUNCTION
111 
112 '* \brief Wrapper function for AdcUdt::mm_trg_pre().
113 FUNCTION pruio_adc_mm_trg_pre CDECL ALIAS "pruio_adc_mm_trg_pre"( _
114  BYVAL Io AS PruIo PTR _
115  , BYVAL Stp AS UInt8 _
116  , BYVAL AdcV AS Int32 _
117  , BYVAL Samp AS UInt16 _
118  , BYVAL Rela AS UInt8) AS UInt32 EXPORT
119 
120  RETURN Io->Adc->mm_trg_pre(Stp, AdcV, Samp, Rela)
121 END FUNCTION
122 
123 
124 '* \brief Wrapper function for GpioUdt::config().
125 FUNCTION pruio_gpio_config CDECL ALIAS "pruio_gpio_config"( _
126  BYVAL Io AS PruIo PTR _
127  , BYVAL Ball AS UInt8 _
128  , BYVAL Modus AS UInt8) AS ZSTRING PTR EXPORT
129 
130  RETURN Io->Gpio->config(Ball, Modus)
131 END FUNCTION
132 
133 '* \brief Wrapper function for GpioUdt::setValue().
134 FUNCTION pruio_gpio_setValue CDECL ALIAS "pruio_gpio_setValue"( _
135  BYVAL Io AS PruIo PTR _
136  , BYVAL Ball AS UInt8 _
137  , BYVAL Modus AS UInt8) AS ZSTRING PTR EXPORT
138 
139  RETURN Io->Gpio->setValue(Ball, Modus)
140 END FUNCTION
141 
142 '* \brief Wrapper function for GpioUdt::Value().
143 FUNCTION pruio_gpio_Value CDECL ALIAS "pruio_gpio_Value"( _
144  BYVAL Io AS PruIo PTR _
145  , BYVAL Ball AS UInt8) AS UInt32 EXPORT
146 
147  RETURN Io->Gpio->Value(Ball)
148 END FUNCTION
149 
150 
151 '* \brief Wrapper function for CapMod::config().
152 FUNCTION pruio_cap_config CDECL ALIAS "pruio_cap_config"( _
153  BYVAL Io AS PruIo PTR _
154  , BYVAL Ball AS UInt8 _
155  , BYVAL FLow AS Float_t = 0.) AS ZSTRING PTR EXPORT
156 
157  RETURN Io->Cap->config(Ball, FLow)
158 END FUNCTION
159 
160 '* \brief Wrapper function for CapMod::Value().
161 FUNCTION pruio_cap_Value CDECL ALIAS "pruio_cap_Value"( _
162  BYVAL Io AS PruIo PTR _
163  , BYVAL Ball AS UInt8 _
164  , BYVAL Hz AS Float_t PTR = 0 _
165  , BYVAL Du AS Float_t PTR = 0) AS ZSTRING PTR EXPORT
166 
167  RETURN Io->Cap->Value(Ball, Hz, Du)
168 END FUNCTION
169 
170 
171 '* \brief Wrapper function for PwmMod::Value().
172 FUNCTION pruio_pwm_Value CDECL ALIAS "pruio_pwm_Value"( _
173  BYVAL Io AS PruIo PTR _
174  , BYVAL Ball AS UInt8 _
175  , BYVAL Hz AS Float_t PTR = 0 _
176  , BYVAL Du AS Float_t PTR = 0) AS ZSTRING PTR EXPORT
177 
178  RETURN Io->Pwm->Value(Ball, Hz, Du)
179 END FUNCTION
180 
181 '* \brief Wrapper function for PwmMod::setValue().
182 FUNCTION pruio_pwm_setValue CDECL ALIAS "pruio_pwm_setValue"( _
183  BYVAL Io AS PruIo PTR _
184  , BYVAL Ball AS UInt8 _
185  , BYVAL Hz AS Float_t _
186  , BYVAL Du AS Float_t) AS ZSTRING PTR EXPORT
187 
188  RETURN Io->Pwm->setValue(Ball, Hz, Du)
189 END FUNCTION
190 
191 
192