utils.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define EXTERN   extern

Functions

EXTERN void sleep (unsigned short) FIXEDCONF1
EXTERN void sleepMicro (unsigned short) FIXEDCONF1
EXTERN void adjustPWM (void) FIXEDCONF1
EXTERN void setupPagedRAM (unsigned char) FIXEDCONF1
EXTERN void resetToNonRunningState (void) FIXEDCONF1
EXTERN void sampleEachADC (ADCArray *) FIXEDCONF1
EXTERN void sampleLoopADC (ADCArray *) FIXEDCONF1
EXTERN unsigned char checksum (unsigned char *, unsigned short) FIXEDCONF1
EXTERN unsigned short stringCopy (unsigned char *, unsigned char *) FIXEDCONF1


Define Documentation

#define EXTERN   extern

Definition at line 32 of file utils.h.


Function Documentation

EXTERN void adjustPWM ( void   ) 

Definition at line 63 of file utils.c.

References ATD0DR0, ATD0DR1, ATD0DR2, ATD0DR3, ATD0DR4, PWMDTY0, PWMDTY1, PWMDTY2, PWMDTY3, and PWMDTY4.

Referenced by main().

00063                 {
00064         PWMDTY0 = ATD0DR0 >> 2; // scale raw adc to a duty
00065         PWMDTY1 = ATD0DR1 >> 2; // scale raw adc to a duty
00066         PWMDTY2 = ATD0DR2 >> 2; // scale raw adc to a duty
00067         PWMDTY3 = ATD0DR3 >> 2; // scale raw adc to a duty
00068         PWMDTY4 = ATD0DR4 >> 2; // scale raw adc to a duty
00069         //PWMDTY5 = ATD0DR5 >> 2; // scale raw adc to a duty
00070         //PWMDTY6 = ATD0DR6 >> 2; // scale raw adc to a duty
00071         //PWMDTY7 = ATD0DR7 >> 2; // scale raw adc to a duty (user led instead)
00072 }

EXTERN unsigned char checksum ( unsigned char *  ,
unsigned  short 
)

Definition at line 136 of file utils.c.

Referenced by checksumAndSend().

00136                                                                    {
00137         unsigned char sum = 0;
00138         unsigned short i;
00139         for(i=0;i<length;i++){
00140                 sum += *block;
00141                 block++;
00142         }
00143         return sum;
00144 }

EXTERN void resetToNonRunningState ( void   ) 

Definition at line 46 of file utils.c.

References CLEAR_PRIMARY_SYNC, coreStatusA, engineCyclePeriod, recordADCBank, RPM, and ticksPerCycleAtOneRPM.

Referenced by main().

00046                              {
00047         /* Reset RPM to zero */
00048         RPM[recordADCBank] = 0;
00049 
00050         /* Ensure tacho reads lowest possible value */
00051         engineCyclePeriod = ticksPerCycleAtOneRPM;
00052 
00053         /* Clear all sync flags to lost state */
00054         //coreStatusA &= CLEAR_RPM_VALID;
00055         coreStatusA &= CLEAR_PRIMARY_SYNC;
00056         //coreStatusA &= CLEAR_SECONDARY_SYNC;
00057 
00058         // TODO more stuff needs resetting here, but only critical things.
00059 }

EXTERN void sampleEachADC ( ADCArray  ) 

Definition at line 76 of file utils.c.

References ADCArray::AAP, ATD0DR0, ATD0DR1, ATD0DR2, ATD0DR3, ATD0DR4, ATD0DR5, ATD0DR6, ATD0DR7, ATD1DR0, ATD1DR1, ATD1DR2, ATD1DR3, ATD1DR4, ATD1DR5, ATD1DR6, ATD1DR7, ADCArray::BRV, ADCArray::CHT, ADCArray::EGO, ADCArray::EGO2, ADCArray::IAP, ADCArray::IAT, ADCArray::MAF, ADCArray::MAP, ADCArray::MAT, recordADCBank, ADCArray::SpareADC3, ADCArray::SpareADC4, ADCArray::SpareADC5, ADCArray::SpareADC6, ADCArray::SpareADC7, and ADCArray::TPS.

Referenced by main().

00076                                     {
00077         /* ATD0 */
00078         Arrays->IAT[recordADCBank] = ATD0DR0;
00079         Arrays->CHT[recordADCBank] = ATD0DR1;
00080         Arrays->TPS[recordADCBank] = ATD0DR2;
00081         Arrays->EGO[recordADCBank] = ATD0DR3;
00082         Arrays->MAP[recordADCBank] = ATD0DR4;
00083         Arrays->AAP[recordADCBank] = ATD0DR5;
00084         Arrays->BRV[recordADCBank] = ATD0DR6;
00085         Arrays->MAT[recordADCBank] = ATD0DR7;
00086 
00087         /* ATD1 */
00088         Arrays->EGO2[recordADCBank] = ATD1DR0;
00089         Arrays->IAP[recordADCBank] = ATD1DR1;
00090         Arrays->MAF[recordADCBank] = ATD1DR2;
00091         Arrays->SpareADC3[recordADCBank] = ATD1DR3;
00092         Arrays->SpareADC4[recordADCBank] = ATD1DR4;
00093         Arrays->SpareADC5[recordADCBank] = ATD1DR5;
00094         Arrays->SpareADC6[recordADCBank] = ATD1DR6;
00095         Arrays->SpareADC7[recordADCBank] = ATD1DR7;
00096 }

EXTERN void sampleLoopADC ( ADCArray  ) 

Definition at line 100 of file utils.c.

References ADCS_IN_ADC0, ATD0_BASE, ATD1_BASE, DVUSP, and recordADCBank.

Referenced by PrimaryRPMISR().

00100                                     {
00101         // get the address of the ADC array
00102         unsigned short addr = (unsigned short)Arrays;
00103 
00104         //sendUS(addr);
00105         unsigned char loop;
00106         /* (value of((address of ADCArrays struct) + (offset to start of bank(0 or half struct length)) + (offset to particular ADC (loopcounter * 4)) + (offset to correct element(0 or 2)))) =
00107          * (value of((address of ARRAY block) + (loop counter * 2))) */
00108 
00109         for(loop=0;loop<ADCS_IN_ADC0;loop++){
00110                 /* Do the first block */
00111                 DVUSP(addr + /*(0) +*/ (loop * 4) + (recordADCBank * 2)) = DVUSP(ATD0_BASE + (loop * 2));
00112 
00113                 /* Do the second block */
00114                 DVUSP(addr + 32 + (loop * 4) + (recordADCBank * 2)) = DVUSP(ATD1_BASE + (loop * 2));
00115         }
00116 }

EXTERN void setupPagedRAM ( unsigned  char  ) 

Definition at line 31 of file utils.c.

References currentFuelRPage, currentTimeRPage, currentTuneRPage, RPAGE, RPAGE_FUEL_ONE, RPAGE_FUEL_TWO, RPAGE_TIME_ONE, RPAGE_TIME_TWO, RPAGE_TUNE_ONE, and RPAGE_TUNE_TWO.

Referenced by initPagedRam().

00031                                       {
00032         if(bool){
00033                 currentFuelRPage = RPAGE_FUEL_ONE;
00034                 currentTimeRPage = RPAGE_TIME_ONE;
00035                 currentTuneRPage = RPAGE_TUNE_ONE;
00036         }else{
00037                 currentFuelRPage = RPAGE_FUEL_TWO;
00038                 currentTimeRPage = RPAGE_TIME_TWO;
00039                 currentTuneRPage = RPAGE_TUNE_TWO;
00040         }
00041 
00042         RPAGE = currentTuneRPage;
00043 }

EXTERN void sleep ( unsigned  short  ) 

Definition at line 120 of file utils.c.

Referenced by initConfiguration().

00120                              {
00121         unsigned short j, k;
00122         for(j=0;j<ms;j++)
00123                 for(k=0;k<5714;k++);
00124 }

EXTERN void sleepMicro ( unsigned  short  ) 

Definition at line 128 of file utils.c.

Referenced by main().

00128                                   { /* Very approximate... */
00129         unsigned short j, k;
00130         for(j=0;j<us;j++)
00131                 for(k=0;k<6;k++);
00132 }

EXTERN unsigned short stringCopy ( unsigned char *  ,
unsigned char *   
)

Definition at line 146 of file utils.c.

Referenced by sendDebug().

00146                                                                      {
00147         unsigned short length = 0;
00148         while(*source != 0){
00149                 *dest = *source;
00150                 dest++;
00151                 source++;
00152                 length++;
00153         }
00154         *dest = 0;
00155         return length;
00156 }


Generated on Mon Nov 10 21:19:19 2008 for freeems by  doxygen 1.5.2