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 |
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 | ) |
EXTERN void sleepMicro | ( | unsigned | short | ) |
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 }