PC side Elisa-3 library
elisa3-lib.h
Go to the documentation of this file.
00001 #include <stdio.h>
00002 #include <sys/types.h>
00003 #include <math.h>
00004 #include <unistd.h>
00005 #include "usb-comm.h"
00006 
00013 void startCommunication(int *robotAddr, int numRobots);
00014 
00019 void stopCommunication();
00020 
00027 void setLeftSpeed(int robotAddr, char value);
00028 
00035 void setRightSpeed(int robotAddr, char value);
00036 
00042 void setLeftSpeedForAll(char *value);
00043 
00049 void setRightSpeedForAll(char *value);
00050 
00057 void setRed(int robotAddr, unsigned char value);
00058 
00065 void setGreen(int robotAddr, unsigned char value);
00066 
00073 void setBlue(int robotAddr, unsigned char value);
00074 
00080 void setRedForAll(unsigned char *value);
00081 
00087 void setGreenForAll(unsigned char *value);
00088 
00094 void setBlueForAll(unsigned char *value);
00095 
00101 void turnOnFrontIRs(int robotAddr);
00102 
00108 void turnOffFrontIRs(int robotAddr);
00109 
00115 void turnOnBackIR(int robotAddr);
00116 
00122 void turnOffBackIR(int robotAddr);
00123 
00129 void turnOnAllIRs(int robotAddr);
00130 
00136 void turnOffAllIRs(int robotAddr);
00137 
00143 void enableTVRemote(int robotAddr);
00144 
00150 void disableTVRemote(int robotAddr);
00151 
00157 void enableSleep(int robotAddr);
00158 
00164 void disableSleep(int robotAddr);
00165 
00171 void calibrateSensors(int robotAddr);
00172 
00177 void calibrateSensorsForAll();
00178 
00184 void enableObstacleAvoidance(int robotAddr);
00185 
00191 void disableObstacleAvoidance(int robotAddr);
00192 
00198 void enableCliffAvoidance(int robotAddr);
00199 
00205 void disableCliffAvoidance(int robotAddr);
00206 
00213 void setRobotAddress(int robotIndex, int robotAddr);
00214 
00221 void setRobotAddresses(int *robotAddr, int numRobots);
00222 
00229 unsigned int getProximity(int robotAddr, int proxId);
00230 
00237 unsigned int getProximityAmbient(int robotAddr, int proxId);
00238 
00245 unsigned int getGround(int robotAddr, int groundId);
00246 
00253 unsigned int getGroundAmbient(int robotAddr, int groundId);
00254 
00261 void getAllProximity(int robotAddr, unsigned int* proxArr);
00262 
00269 void getAllProximityAmbient(int robotAddr, unsigned int* proxArr);
00270 
00277 void getAllGround(int robotAddr, unsigned int* groundArr);
00278 
00285 void getAllGroundAmbient(int robotAddr, unsigned int* groundArr);
00286 
00292 void getAllProximityFromAll(unsigned int proxArr[][8]);
00293 
00299 void getAllProximityAmbientFromAll(unsigned int proxArr[][8]);
00300 
00306 void getAllGroundFromAll(unsigned int groundArr[][4]);
00307 
00313 void getAllGroundAmbientFromAll(unsigned int groundArr[][4]);
00314 
00320 unsigned int getBatteryAdc(int robotAddr);
00321 
00327 unsigned int getBatteryPercent(int robotAddr);
00328 
00334 signed int getAccX(int robotAddr);
00335 
00341 signed int getAccY(int robotAddr);
00342 
00348 signed int getAccZ(int robotAddr);
00349 
00355 unsigned char getSelector(int robotAddr);
00356 
00362 unsigned char getTVRemoteCommand(int robotAddr);
00363 
00371 void setSmallLed(int robotAddr, int ledId, int state);
00372 
00378 void turnOffSmallLeds(int robotAddr);
00379 
00385 void turnOnSmallLeds(int robotAddr);
00386 
00392 signed int getOdomTheta(int robotAddr);
00393 
00399 signed int getOdomXpos(int robotAddr);
00400 
00406 signed int getOdomYpos(int robotAddr);
00407 
00413 int getVerticalAngle(int robotAddr);
00414 
00420 void startOdometryCalibration(int robotAddr);
00421 
00426 void transferData();
00427 
00432 void stopTransferData();
00433 
00438 void resumeTransferData();
00439 
00445 unsigned char robotIsCharging(int robotAddr);
00446 
00452 unsigned char robotIsCharged(int robotAddr);
00453 
00459 unsigned char buttonIsPressed(int robotAddr);
00460 
00466 void resetFlagTX(int robotAddr);
00467 
00474 unsigned char getFlagTX(int robotAddr, int flagInd);
00475 
00481 unsigned char getFlagRX(int robotAddr);
00482 
00488 signed long int getLeftMotSteps(int robotAddr);
00489 
00495 signed long int getRightMotSteps(int robotAddr);
00496 
00502 double getRFQuality(int robotAddr);
00503 
00509 void resetMessageIsSentFlag(int robotAddr);
00510 
00516 unsigned char messageIsSent(int robotAddr);
00517 
00524 unsigned char waitForMessageTransmission(int robotAddr, unsigned long us);
00525 
00549 void setCompletePacket(int robotAddr, char red, char green, char blue, char flags[2], char left, char right, char leds);
00550 
00574 void setCompletePacketForAll(int *robotAddr, char *red, char *green, char *blue, char flags[][2], char *left, char *right, char *leds);
00575 
00582 unsigned char waitForUpdate(int robotAddr, unsigned long us);
00583 
00608 unsigned char sendMessageToRobot(int robotAddr, char red, char green, char blue, char flags[2], char left, char right, char leds, unsigned long us);
00609 
00610 
 All Files Functions Variables Defines