abdrive library  v0.5.5
Differential servo and encoder drive library for the Parallax Arlo
arlodrive.h
Go to the documentation of this file.
1 //#define interactive_development_mode
2 
53 #ifndef ABDRIVE_H
54 #define ABDRIVE_H
55 
56 #if defined(__cplusplus)
57 extern "C" {
58 #endif
59 
60 #include "simpletools.h"
61 #include "simpletext.h"
62 #include "fdserial.h"
63 
64 /*
65  #ifndef interactive_development_mode
66  #define interactive_development_mode
67  void display_control_sys(int start, int end);
68  #endif
69 */
70 
71 #ifndef _ActivityBot_EE_Start_
72 
76 #define _ActivityBot_EE_Start_ 63418
77 #endif
78 
79 #ifndef _ActivityBot_EE_Pins_
80 #define _ActivityBot_EE_Pins_ 12
81 #endif
82 
83 #ifndef _ActivityBot_EE_Trims_
84 #define _ActivityBot_EE_Trims_ 28
85 #endif
86 
87 #ifndef _ActivityBot_EE_Left_
88 #define _ActivityBot_EE_Left_ 52
89 #endif
90 
91 #ifndef _ActivityBot_EE_Right_
92 #define _ActivityBot_EE_Right_ 1052
93 #endif
94 
95 #ifndef _ActivityBot_EE_End_
96 
100 #define _ActivityBot_EE_End_ 63418 + 2052
101 #endif
102 
103 #ifndef AB_RIGHT
104 #define AB_RIGHT 1
105 #endif
106 
107 #ifndef AB_LEFT
108 #define AB_LEFT -1
109 #endif
110 
111 
112 #ifndef AB_FORWARD
113 #define AB_FORWARD 1
114 #endif
115 
116 #ifndef AB_BACKWARD
117 #define AB_BACKWARD -1
118 #endif
119 
120 #ifndef OFF
121 
125 #define OFF 0
126 #endif
127 
128 #ifndef ON
129 
133 #define ON 1
134 #endif
135 
136 
142 void drive_feedback(int enabled);
143 
144 
151 void drive_trim(int enabled);
152 
153 
174 void drive_trimSet(int direction, int side, int value);
175 
176 
183 void drive_trimDisplay(void);
184 
185 
190 void drive_displayInterpolation(void);
191 
192 
203 void drive_encoderPins(int encPinLeft, int encPinRight);
204 
205 
216 void drive_servoPins(int servoPinLeft, int servoPinRight);
217 
218 
227 void drive_speed(int left, int right);
228 
229 
240 void drive_ramp(int left, int right);
241 
242 
254 void drive_rampStep(int left, int right);
255 
262 void drive_setRampStep(int stepsize);
263 
264 
274 void drive_distance(int left, int right);
275 
276 
281 void drive_close(void);
282 
283 
284 
288 int drive_open();
289 
290 
300 void drive_setMaxSpeed(int speed);
301 
302 
314 void drive_goto(int distLeft, int distRight);
315 
316 
326 void drive_getTicks(int *left, int *right);
327 
328 
338 void drive_getTicksCalc(int *left, int *right);
339 
340 
352 void drive_getTicksCalc(int *left, int *right);
353 
354 
355 /*
356  void drive_getSpeedCalc(int *left, int *right);
357  void drive_getSpeedActual(int *left, int *right);
358 */
359 
360 #ifdef interactive_development_mode
361 void drive_displayControlSystem(int start, int end);
362 void drive_record(int startStop);
363 void drive_interpolation_table_setup();
364 #endif
365 
366 #if defined(__cplusplus)
367 }
368 #endif
369 /* __cplusplus */
370 #endif
371 /* ABDRIVE_H */
372