Elisa3
variables.h
Go to the documentation of this file.
00001 #include "constants.h"
00002 
00003 /***********/
00004 /*** ADC ***/
00005 /***********/
00006 extern volatile unsigned char currentAdChannel;
00007 extern unsigned char currentProx;
00008 extern unsigned char currentMotLeftChannel;
00009 extern unsigned char currentMotRightChannel;
00010 extern unsigned char rightMotorPhase;
00011 extern unsigned char leftMotorPhase;
00012 extern volatile unsigned int proximityValue[24];
00013 extern int proximityResult[12];
00014 extern signed int proximityOffset[12];
00015 extern unsigned long proximitySum[12];
00016 extern unsigned char adcSaveDataTo;
00017 extern unsigned char adcSamplingState;
00018 extern unsigned char rightChannelPhase;
00019 extern unsigned char leftChannelPhase;
00020 extern unsigned int batteryLevel;
00021 extern unsigned char measBattery;
00022 extern unsigned char proxUpdated;
00023 extern int proximityResultLinear[8];
00024 float rightMotSteps;
00025 float leftMotSteps;
00026 float rightMotStepsOld;
00027 float leftMotStepsOld;
00028 
00029 /******************************/
00030 /*** CONSUMPTION CONTROLLER ***/
00031 /******************************/
00032 extern unsigned int left_current_avg;
00033 extern unsigned int right_current_avg;
00034 extern unsigned int last_left_current;
00035 extern unsigned int last_right_current;
00036 
00037 /************************/
00038 /*** SPEED CONTROLLER ***/
00039 /************************/
00040 extern signed int pwm_right_desired_to_control;
00041 extern signed int pwm_left_desired_to_control;
00042 extern unsigned int left_vel_sum;
00043 extern unsigned int right_vel_sum;
00044 extern signed int last_left_vel;
00045 extern signed int last_right_vel;
00046 extern signed int pwm_right;
00047 extern signed int pwm_left;
00048 extern signed int pwm_right_desired;
00049 extern signed int pwm_left_desired;
00050 extern signed int pwm_intermediate_right_desired;
00051 extern signed int pwm_intermediate_left_desired;
00052 extern signed int k_ff_speed_control_left;
00053 extern signed int k_ff_speed_control_right;
00054 extern signed long int pwm_right_speed_controller;
00055 extern signed long int pwm_left_speed_controller;
00056 extern signed int delta_left_speed_current;
00057 extern signed int delta_right_speed_current;
00058 extern signed int delta_left_speed_prev;
00059 extern signed int delta_right_speed_prev;
00060 extern signed int delta_left_speed_sum;
00061 extern signed int delta_right_speed_sum;
00062 extern unsigned char compute_left_vel;
00063 extern unsigned char compute_right_vel;
00064 extern signed int pwm_right_working;
00065 extern signed int pwm_left_working;
00066 extern unsigned char firstSampleRight;
00067 extern unsigned char firstSampleLeft;
00068 
00069 /***********/
00070 /*** NRF ***/
00071 /***********/
00072 extern unsigned int dataLED[3];
00073 extern signed int speedl;
00074 extern signed int speedr;
00075 extern unsigned char rfData[PAYLOAD_SIZE];
00076 extern unsigned char ackPayload[16];
00077 extern unsigned char packetId;
00078 extern unsigned int rfAddress;
00079 extern unsigned char rfFlags;
00080 extern unsigned char spiCommError;
00081 extern unsigned char rfDebugMode;
00082 extern unsigned char rfDebugCounter;
00083 
00084 /****************/
00085 /*** RGB LEDS ***/
00086 /****************/
00087 extern unsigned char pwm_red;
00088 extern unsigned char pwm_green;
00089 extern unsigned char pwm_blue;
00090 extern unsigned char blinkState;
00091 extern unsigned char rgbState;
00092 
00093 /************/
00094 /*** UART ***/
00095 /************/
00096 extern unsigned char peripheralChoice;
00097 extern unsigned char choosePeripheral;
00098 extern unsigned char sendAdcValues;
00099 extern unsigned char commError;
00100 extern unsigned int byteCount;
00101 extern unsigned char uartBuff[UART_BUFF_SIZE];
00102 extern unsigned char nextByteIndex;
00103 extern unsigned char currByteIndex;
00104 extern unsigned char chooseMenu;
00105 extern unsigned char menuChoice;
00106 extern unsigned char addressReceived;
00107 extern unsigned char menuState;
00108 extern unsigned char getDataNow;
00109 
00110 /*************************/
00111 /*** IR REMOTE CONTROL ***/
00112 /*************************/
00113 extern unsigned char irCommand;
00114 extern unsigned char command_received;
00115 extern unsigned char colorState;
00116 extern unsigned char irEnabled;
00117 extern unsigned char checkGlitch;
00118 extern unsigned char behaviorState;
00119 
00120 /*********************/
00121 /*** ACCELEROMETER ***/
00122 /*********************/
00123 extern int accelAddress;
00124 extern unsigned char useAccel;
00125 extern signed int accX;
00126 extern signed int accY;
00127 extern signed int accZ;
00128 extern signed int accOffsetX;
00129 extern signed int accOffsetY;
00130 extern signed int accOffsetZ;
00131 extern signed int accOffsetXSum;
00132 extern signed int accOffsetYSum;
00133 extern signed int accOffsetZSum;
00134 extern signed int currentAngle;
00135 extern unsigned char currPosition;
00136 extern unsigned int timesInSamePos;
00137 extern unsigned char robotPosition;
00138 extern signed char accBuff[6];
00139 
00140 /***************/
00141 /*** VARIOUS ***/
00142 /***************/
00143 extern uint32_t clockTick;
00144 extern unsigned char currentSelector;
00145 extern signed int calibrationCycle;
00146 extern unsigned char startCalibration;
00147 extern unsigned char hardwareRevision;
00148 extern unsigned char demoState;
00149 extern unsigned char lineFound;
00150 extern unsigned char outOfLine;
00151 extern unsigned char chargeContact;
00152 extern unsigned long int demoStartTime;
00153 extern unsigned long int demoStartTime2;
00154 extern unsigned long int demoEndTime;
00155 extern unsigned char currentOsccal;
00156 extern unsigned long long int speedStepCounter;
00157 extern unsigned char speedStep;
00158 extern unsigned char softAccEnabled;
00159 extern unsigned char calibrationWritten;
00160 extern unsigned char greenLedState;
00161 extern unsigned char rgbLedState;
00162 
00163 /**************************/
00164 /*** OBSTACLE AVOIDANCE ***/
00165 /**************************/
00166 extern unsigned char obstacleAvoidanceEnabled;
00167 
00168 /***********************/
00169 /*** CLIFF AVOIDANCE ***/
00170 /***********************/
00171 extern unsigned char cliffAvoidanceEnabled;
00172 extern unsigned char cliffDetectedFlag;
00173 
00174 /****************/
00175 /*** ODOMETRY ***/
00176 /****************/
00177 extern float theta, lastTheta, xPos, yPos, deltaDist;
00178 extern float thetaOld, xPosOld, yPosOld, deltaDistOld;
00179 extern float leftDist, rightDist, leftDistPrev, rightDistPrev;
00180 extern unsigned char computeOdometry;
00181 extern float thetaAcc;
00182 extern unsigned char calibState;
00183 extern unsigned char calibVelIndex;
00184 extern unsigned char calibWheel;
00185 extern signed int tempVel;
00186 extern signed int calibration[CALIBRATION_SAMPLES][8];
00187 extern unsigned long int timeoutOdometry;
00188 extern unsigned long timeOdometry;
00189 extern unsigned char calibrateOdomFlag;
00190 extern signed long int leftSpeedSumOdom;
00191 extern signed long int rightSpeedSumOdom;
00192 extern unsigned int leftSumCount;
00193 extern unsigned int rightSumCount;
00194 extern signed int avgLeftSpeed;
00195 extern signed int avgRightSpeed;
00196 extern signed int speedLeftFromEnc;
00197 extern signed int speedRightFromEnc;
00198 extern uint32_t timeLeftOdom;
00199 extern uint32_t timeRightOdom;
00200 
00201 /***************/
00202 /*** IR COMM ***/
00203 /***************/
00204 extern unsigned char irCommEnabled;
00205 extern unsigned char irCommEnabledNext;
00206 extern unsigned char irCommMode;
00207 extern volatile unsigned char irCommState;
00208 extern unsigned int irCommTempValue;
00209 extern volatile unsigned char irCommSendValues;
00210 extern unsigned long int irCommTickCounter;
00211 extern unsigned long int irCommTickCounter2;
00212 extern unsigned char irCommTickCounterUpdate;
00213 extern signed char irCommLastSensor;
00214 extern signed int irCommLastData;
00215 
00216 // demo
00217 extern signed int angleDeg;
00218 extern signed int angleError;
00219 extern unsigned char angleDegEncode;
00220 extern unsigned char irCommRobotId;
00221 extern unsigned char irCommRobotsNum;
00222 extern unsigned char irCommLedToggle;
00223 extern unsigned char irCommMsgCount;
00224 
00225 // debug
00226 extern signed int irCommMaxSensorSignalTemp[IRCOMM_SAMPLING_WINDOW*2];
00227 extern unsigned char irCommMaxSensorSignalIndexTemp;
00228 extern signed int irCommMaxSensorSignalFiltTemp[IRCOMM_SAMPLING_WINDOW*2];
00229 extern unsigned char irCommMaxSensorSignalFiltIndexTemp;
00230 extern signed int irCommRxMaxSensorTemp[2];
00231 extern unsigned char irCommRxMaxSensorIndexTemp;
00232 extern signed int irCommRxMaxDiffTemp[2];
00233 extern unsigned char irCommRxMaxDiffIndexTemp;
00234 extern signed int irCommProxMeanTemp[2];
00235 extern unsigned char irCommProxMeanIndexTemp;
00236 extern unsigned char irCommSwitchCountTemp[2];
00237 extern unsigned char irCommSwitchCountIndexTemp;
00238 extern unsigned int irCommMaxSensorValueCurrTemp[2];
00239 extern unsigned char irCommMaxSensorValueCurrIndexTemp;
00240 extern unsigned int irCommMinSensorValueCurrTemp[2];
00241 extern unsigned char irCommMinSensorValueCurrIndexTemp;
00242 extern unsigned char irCommShiftCountTemp[2];
00243 extern unsigned char irCommShiftCountIndexTemp;
00244 extern unsigned char irCommShiftCountFinalTemp[2];
00245 extern unsigned char irCommShiftCountFinalIndexTemp;
00246 extern unsigned int irCommStartDiffTemp[2];
00247 extern unsigned char irCommStartDiffIndexTemp;
00248 extern unsigned char irCommComputeShiftTemp[2];
00249 extern unsigned char irCommComputeShiftIndexTemp;
00250 extern unsigned char irCommRxPeakHighToLowTemp[2];
00251 extern unsigned char irCommRxPeakHighToLowIndexTemp;
00252 extern unsigned char irCommRxStartPeakDurationTemp[2];
00253 extern unsigned char irCommRxStartPeakDurationIndexTemp;
00254 extern unsigned char irCommRxStartBitDetectedTemp[2];
00255 extern unsigned char irCommRxStartBitDetectedIndexTemp;
00256 extern unsigned char irCommStateTemp[14];
00257 extern unsigned char irCommStateIndexTemp;
00258 extern unsigned char irCommSyncStateTemp[2];
00259 extern unsigned char irCommSyncStateIndexTemp;
00260 extern signed int irCommBitsSignalTemp[IRCOMM_SAMPLING_WINDOW*10];
00261 extern unsigned char irCommBitsSignalIndexTemp;
00262 extern unsigned char irCommRxBitReceivedTemp[10];
00263 extern unsigned char irCommRxBitReceivedIndexTemp;
00264 extern unsigned char irCommRxPrevDataReceived;
00265 
00266 // reception
00267 extern unsigned char irCommAdcRxState;
00268 extern unsigned char irCommRxWindowSamples;
00269 extern unsigned int irCommMaxSensorValueBuff1[8];
00270 extern unsigned int irCommMaxSensorValueBuff2[8];
00271 extern unsigned int *irCommMaxSensorValueAdc;
00272 extern unsigned int *irCommMaxSensorValueCurr;
00273 extern unsigned int irCommMinSensorValueBuff1[8];
00274 extern unsigned int irCommMinSensorValueBuff2[8];
00275 extern unsigned int *irCommMinSensorValueAdc;
00276 extern unsigned int *irCommMinSensorValueCurr;
00277 extern unsigned int irCommProxValuesBuff1[8*IRCOMM_SAMPLING_WINDOW];
00278 extern unsigned int irCommProxValuesBuff2[8*IRCOMM_SAMPLING_WINDOW];
00279 extern unsigned int *irCommProxValuesAdc;
00280 extern unsigned int *irCommProxValuesCurr;
00281 extern unsigned int *irCommTempPointer;
00282 extern unsigned char irCommRxCrc;
00283 extern signed int irCommMaxSensorSignal[IRCOMM_SAMPLING_WINDOW];
00284 extern signed long int irCommProxSum;
00285 extern signed int irCommTempMax;
00286 extern signed int irCommTempMin;
00287 extern unsigned char irCommShiftCount;
00288 extern unsigned char irCommComputeShift;
00289 extern signed int irCommProxMean;
00290 extern signed char irCommSignalState;
00291 extern unsigned char irCommSwitchCount;
00292 extern unsigned char irCommRxBitCount;
00293 extern unsigned char irCommRxCrcError;
00294 extern unsigned char irCommRxByte;
00295 extern unsigned char irCommSecondBitSkipped;
00296 extern unsigned char irCommShiftCounter;
00297 extern unsigned char irCommRxBitReceived[10];
00298 extern unsigned char irCommRxByteExpected;
00299 extern unsigned char irCommRxSequenceCount;
00300 extern unsigned char irCommRxLastDataReceived;
00301 extern unsigned char irCommRxDataAvailable;
00302 extern signed char irCommRxReceivingSensor;
00303 extern unsigned char irCommRxBitSkipped;
00304 extern unsigned char irCommRxStartBitDetected;
00305 extern unsigned char irCommRxPeakHighToLow;
00306 extern unsigned char irCommRxStartPeakDuration;
00307 extern signed int irCommRxMaxDiff;
00308 extern signed int irCommRxMaxSensor;
00309 extern unsigned char irCommRxNumReceivingSensors;
00310 
00311 // transmission
00312 extern unsigned char irCommAdcTxState;
00313 extern unsigned char irCommTxByte;
00314 extern unsigned char irCommTxByteEnqueued;
00315 extern unsigned long int irCommTxLastTransmissionTime;
00316 extern unsigned char irCommTxBitToTransmit[12];
00317 extern unsigned char irCommTxCrc;
00318 extern unsigned char irCommTxBitCount;
00319 extern unsigned char irCommTxPulseState;
00320 extern unsigned int irCommTxDuration;
00321 extern unsigned char irCommTxSwitchCount;
00322 extern unsigned char irCommTxSwitchCounter;
00323 extern unsigned char irCommTxDurationCycle;
00324 extern unsigned char irCommTxSensorMask;
00325 extern unsigned char irCommTxSensorGroup;
00326 
00327 
00328 
00329 
00330 
00331 
00332 
00333 
00334 
 All Files Functions Variables Defines