PC side Elisa-3 library
|
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