#include "inc/freeEMS.h"
#include "inc/commsISRs.h"
#include "inc/utils.h"
#include <string.h>
Include dependency graph for utils.c:
Go to the source code of this file.
Defines | |
#define | UTILS_C |
Functions | |
void | setupPagedRAM (unsigned char bool) |
void | resetToNonRunningState () |
void | adjustPWM () |
void | sampleEachADC (ADCArray *Arrays) |
void | sampleBlockADC (ADCArray *Arrays) |
void | sleep (unsigned short ms) |
void | sleepMicro (unsigned short us) |
unsigned char | checksum (unsigned char *block, unsigned short length) |
unsigned short | stringCopy (unsigned char *dest, unsigned char *source) |
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 }
unsigned char checksum | ( | unsigned char * | block, | |
unsigned short | length | |||
) |
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 }
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 }
void sampleBlockADC | ( | ADCArray * | Arrays | ) |
void sampleEachADC | ( | ADCArray * | Arrays | ) |
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 }
void setupPagedRAM | ( | unsigned char | bool | ) |
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 }
void sleep | ( | unsigned short | ms | ) |
void sleepMicro | ( | unsigned short | us | ) |
unsigned short stringCopy | ( | unsigned char * | dest, | |
unsigned char * | source | |||
) |