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) FPAGE_FE
EXTERN void sleepMicro (unsigned short) FPAGE_FE
EXTERN void adjustPWM (void) FPAGE_FE
EXTERN void setupPagedRAM (unsigned char) FPAGE_F8
EXTERN void resetToNonRunningState (void) FPAGE_F8
EXTERN void sampleEachADC (ADCArray *) FPAGE_F8
EXTERN void sampleBlockADC (ADCArray *) FPAGE_F8
EXTERN unsigned char checksum (unsigned char *, unsigned short) FPAGE_F8
EXTERN unsigned short stringCopy (unsigned char *, unsigned char *) FPAGE_F8


Define Documentation

#define EXTERN   extern

Definition at line 32 of file utils.h.


Function Documentation

EXTERN void adjustPWM ( void   ) 

Definition at line 66 of file utils.c.

References ATD0DR0, ATD0DR1, ATD0DR2, ATD0DR3, ATD0DR4, ATD0DR5, ATD0DR6, ATD0DR7, PWMDTY0, PWMDTY1, PWMDTY2, PWMDTY3, PWMDTY4, PWMDTY5, PWMDTY6, and PWMDTY7.

Referenced by main().

00066                 {
00067         PWMDTY0 = ATD0DR0 >> 2; // scale raw adc to a duty
00068         PWMDTY1 = ATD0DR1 >> 2; // scale raw adc to a duty
00069         PWMDTY2 = ATD0DR2 >> 2; // scale raw adc to a duty
00070         PWMDTY3 = ATD0DR3 >> 2; // scale raw adc to a duty
00071         PWMDTY4 = ATD0DR4 >> 2; // scale raw adc to a duty
00072         PWMDTY5 = ATD0DR5 >> 2; // scale raw adc to a duty
00073         PWMDTY6 = ATD0DR6 >> 2; // scale raw adc to a duty
00074         PWMDTY7 = ATD0DR7 >> 2; // scale raw adc to a duty (user led instead at the moment, see init)
00075 }

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

Definition at line 126 of file utils.c.

Referenced by checksumAndSend().

00126                                                                    {
00127         unsigned char sum = 0;
00128         unsigned short i;
00129         for(i=0;i<length;i++){
00130                 sum += *block;
00131                 block++;
00132         }
00133         return sum;
00134 }

EXTERN void resetToNonRunningState ( void   ) 

Definition at line 48 of file utils.c.

References CLEAR_PRIMARY_SYNC, coreStatusA, engineCyclePeriod, RPM0, RPM1, and ticksPerCycleAtOneRPM.

Referenced by main().

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

EXTERN void sampleBlockADC ( ADCArray  ) 

Definition at line 103 of file utils.c.

References ATD0_BASE, and ATD1_BASE.

Referenced by PrimaryRPMISR().

00103                                      {
00104         memcpy(Arrays, (void*)ATD0_BASE, 16);
00105         memcpy(Arrays+16, (void*)ATD1_BASE, 16);
00106 }

EXTERN void sampleEachADC ( ADCArray  ) 

Definition at line 79 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, ADCArray::SpareADC3, ADCArray::SpareADC4, ADCArray::SpareADC5, ADCArray::SpareADC6, ADCArray::SpareADC7, and ADCArray::TPS.

Referenced by main().

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

EXTERN void setupPagedRAM ( unsigned  char  ) 

Definition at line 32 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 initAllPagedRAM().

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

EXTERN void sleep ( unsigned  short  ) 

Definition at line 110 of file utils.c.

Referenced by initConfiguration().

00110                              {
00111         unsigned short j, k;
00112         for(j=0;j<ms;j++)
00113                 for(k=0;k<5714;k++);
00114 }

EXTERN void sleepMicro ( unsigned  short  ) 

Definition at line 118 of file utils.c.

Referenced by main().

00118                                   { /* Very approximate... */
00119         unsigned short j, k;
00120         for(j=0;j<us;j++)
00121                 for(k=0;k<6;k++);
00122 }

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

Definition at line 136 of file utils.c.

00136                                                                      {
00137         unsigned short length = 0;
00138         while(*source != 0){
00139                 *dest = *source;
00140                 dest++;
00141                 source++;
00142                 length++;
00143         }
00144         *dest = 0;
00145         return length;
00146 }


Generated on Mon Dec 22 21:30:36 2008 for freeems by  doxygen 1.5.2