auto-sync

This commit is contained in:
rusEfi 2014-08-31 19:02:54 -05:00
parent a46e46474e
commit 7dc8a7c312
4 changed files with 15 additions and 20 deletions

View File

@ -32,6 +32,8 @@ static void commonMiataNa(engine_configuration_s *engineConfiguration, board_con
engineConfiguration->ignitionMode = IM_WASTED_SPARK;
engineConfiguration->globalTriggerAngleOffset = 114;
// Frankenstein: high side #1 is PE8
// Frankenstein: high side #2 is PE10
// Frankenstein: high side #3 is PE12

View File

@ -185,8 +185,7 @@ void printConfiguration(engine_configuration_s *engineConfiguration, engine_conf
}
scheduleMsg(&logger, "ignitionPins: mode %s", pinModeToString(boardConfiguration->ignitionPinMode));
// todo: calculate coils count based on ignition mode
for (int i = 0; i < 4; i++) {
for (int i = 0; i < engineConfiguration->cylindersCount; i++) {
brain_pin_e brainPin = boardConfiguration->ignitionPins[i];
scheduleMsg(&logger, "ignition %d @ %s", i, hwPortname(brainPin));
}

View File

@ -183,7 +183,7 @@ uint32_t getWaveLowWidth(int index) {
return reader->last_wave_low_widthUs;
}
float getWaveHighWidthMs(int index) {
static float getWaveHighWidthMs(int index) {
WaveReader *reader = &readers[index];
ensureInitialized(reader);
if (getTimeNowUs() - reader->lastActivityTimeUs > 4 * US_PER_SECOND) {
@ -210,14 +210,6 @@ uint64_t getWidthEventTime(int index) {
return reader->widthEventTimeUs;
}
uint64_t getPeriodEventTime(int index) {
WaveReader *reader = &readers[index];
ensureInitialized(reader);
return reader->periodEventTimeUs;
}
int waveBufferReported = 0;
static void reportWave(Logging *logging, int index) {
// int counter = getEventCounter(index);
// debugInt2(logging, "ev", index, counter);

View File

@ -26,7 +26,10 @@ typedef struct {
volatile int eventCounter;
volatile uint64_t lastActivityTimeUs; // timestamp in microseconds ticks
volatile uint64_t periodEventTimeUs; // time of signal fall in microseconds
/**
* time of signal fall event, in microseconds
*/
volatile uint64_t periodEventTimeUs;
volatile uint64_t widthEventTimeUs; // time of signal rise in microseconds
volatile uint32_t signalPeriodUs; // period between two signal rises in microseconds
@ -45,7 +48,6 @@ void initWaveAnalyzer(void);
void pokeWaveInfo(void);
void reportWaveInfo(void);
uint32_t getWaveLowWidth(int index);
float getWaveHighWidthMs(int index);
uint64_t getWaveOffset(int index);
int getWaveMode(int index);