rusEFI
The most advanced open source ECU
|
Trigger shape has all the fields needed to describe and decode trigger signal. More...
#include <trigger_structure.h>
Data Fields | |
bool | isSynchronizationNeeded |
bool | isSecondWheelCam |
int | gapTrackingLength = 1 |
bool | shapeWithoutTdc = false |
bool | needSecondTriggerInput = false |
bool | shapeDefinitionError = false |
int | version = 0 |
float | synchronizationRatioFrom [GAP_TRACKING_LENGTH] |
float | synchronizationRatioTo [GAP_TRACKING_LENGTH] |
int | syncRatioAvg |
angle_t | tdcPosition |
bool | useOnlyPrimaryForSync |
SyncEdge | syncEdge |
bool | useOnlyRisingEdges |
size_t | expectedEventCount [PWM_PHASE_MAX_WAVE_PER_PWM] |
TriggerWheel | triggerSignalIndeces [PWM_PHASE_MAX_COUNT] |
TriggerValue | triggerSignalStates [PWM_PHASE_MAX_COUNT] |
bool | knownOperationMode = true |
MultiChannelStateSequenceWithData< PWM_PHASE_MAX_COUNT > | wave |
bool | isRiseEvent [PWM_PHASE_MAX_COUNT] |
int | triggerShapeSynchPointIndex |
Private Attributes | |
angle_t | previousAngle |
operation_mode_e | operationMode |
Trigger shape has all the fields needed to describe and decode trigger signal.
Definition at line 47 of file trigger_structure.h.
TriggerWaveform::TriggerWaveform | ( | ) |
Definition at line 61 of file trigger_structure.cpp.
void TriggerWaveform::addEvent | ( | angle_t | angle, |
TriggerValue const | state, | ||
TriggerWheel const | channelIndex = TriggerWheel::T_PRIMARY |
||
) |
angle | (0..1] |
todo: it would be nice to be able to provide trigger angles without sorting them externally The idea here is to shift existing data - including handling high vs low state of the signals
Definition at line 270 of file trigger_structure.cpp.
Referenced by addEvent360(), addEvent720(), addEventAngle(), addEventClamped(), and initialize60_2_2_Renault_F().
void TriggerWaveform::addEvent360 | ( | angle_t | angle, |
TriggerValue const | state, | ||
TriggerWheel const | channelIndex = TriggerWheel::T_PRIMARY |
||
) |
this method helps us use real world 360 degrees shape for FOUR_STROKE_CAM_SENSOR and FOUR_STROKE_CRANK_SENSOR
Definition at line 250 of file trigger_structure.cpp.
Referenced by addToothFallRise(), addToothRiseFall(), addvq30tooth(), configure60degSingleTooth(), configureBenelli(), configureGm60_2_2_2(), configureNeon1995TriggerWaveformOnlyCrank(), configureNeon2003TriggerWaveformCrank(), configureOnePlusOne(), gm_tooth_pair(), initializeMazdaLCam(), initializeMitsubishi4G69Cam(), initializeSuzukiK6A(), initializeVvt6G72(), and setSkodaFavorit().
void TriggerWaveform::addEvent720 | ( | angle_t | angle, |
TriggerValue const | state, | ||
TriggerWheel const | channelIndex = TriggerWheel::T_PRIMARY |
||
) |
See header for documentation
Definition at line 246 of file trigger_structure.cpp.
Referenced by add4cylblock(), configure3_1_cam(), configureDodgeStratusTriggerWaveform(), configureFiatIAQ_P8(), configureFordAspireTriggerWaveform(), configureHondaCbr600(), configureMazdaProtegeLx(), configureNeon2003TriggerWaveformCam(), initDodgeRam(), initialize2jzGE3_34_simulation_shape(), initializeMazdaMiataNaShape(), initializeMazdaMiataNb1ShapeWithOffset(), initializeMazdaMiataVVtCamShape(), initializeNissanSR20VE_4(), initializeRoverK(), initializeSuzukiG13B(), initJeep18_2_2_2(), and initJeep_XJ_4cyl_2500().
void TriggerWaveform::addEventAngle | ( | angle_t | angle, |
TriggerValue const | state, | ||
TriggerWheel const | channelIndex = TriggerWheel::T_PRIMARY |
||
) |
This version of the method is best when same wheel could be mounted either on crank or cam
This version of 'addEvent...' family considers the angle duration of operationMode in this trigger For example, (0..180] for FOUR_STROKE_SYMMETRICAL_CRANK_SENSOR
TODO: one day kill all usages with FOUR_STROKE_CAM_SENSOR 720 cycle and add runtime prohibition TODO: for FOUR_STROKE_CAM_SENSOR addEvent360 is the way to go
angle | (0..360] or (0..720] depending on configuration |
Definition at line 266 of file trigger_structure.cpp.
Referenced by commonRenix(), commonSymmetrical(), configureChryslerNGC_36_2_2(), configureFordPip(), configureFordST170(), configureJeepEVD_36_2_2(), daihatsu(), initializeMazdaMiataNb2Crank(), initializeNissanQR25crank(), initializeSubaru7_6_crankOnly(), JeepRenix66_2_2(), and makeNissanPattern().
void TriggerWaveform::addEventClamped | ( | angle_t | angle, |
TriggerValue const | state, | ||
TriggerWheel const | channelIndex, | ||
float | filterLeft, | ||
float | filterRight | ||
) |
Definition at line 189 of file trigger_structure.cpp.
Referenced by addSkippedToothTriggerEvents(), configureTriTach(), and setVwConfiguration().
void TriggerWaveform::addToothFallRise | ( | angle_t | angle, |
angle_t | width = 10 , |
||
TriggerWheel const | channelIndex = TriggerWheel::T_PRIMARY |
||
) |
Definition at line 261 of file trigger_structure.cpp.
Referenced by initialize_one_of_24_2_2(), initialize_one_of_36_2_2(), and initialize_one_of_36_2_2_2().
void TriggerWaveform::addToothRiseFall | ( | angle_t | angle, |
angle_t | width = 10 , |
||
TriggerWheel const | channelIndex = TriggerWheel::T_PRIMARY |
||
) |
Definition at line 256 of file trigger_structure.cpp.
Referenced by addNBCrankTooth(), addTooth(), configureBarra3plus1cam(), configureChryslerVtt15(), configureFordCoyote(), configureGmTriggerWaveform(), configureHondaK_12_1(), configureHondaK_4_1(), configureKawaKX450F(), configureMazdaProtegeSOHC(), configureQuickStartSenderWheel(), initializeMazdaSkyactivCam(), initializeMitsubishi4g63Cam(), initializeNissanHRvvtIn(), initializeNissanVQvvt(), initializeSuzukiK6A(), initializeUzCam(), initializeVvt3A92(), and setMercedesTwoSegment().
void TriggerWaveform::calculateExpectedEventCounts | ( | ) |
Definition at line 214 of file trigger_structure.cpp.
Referenced by initializeTriggerWaveform().
uint16_t TriggerWaveform::findAngleIndex | ( | TriggerFormDetails * | details, |
angle_t | angle | ||
) | const |
Let's find the last trigger angle which is less or equal to the desired angle todo: extract binary search as template method?
Definition at line 390 of file trigger_structure.cpp.
Referenced by InstantRpmCalculator::calculateInstantRpm().
angle_t TriggerWaveform::getAngle | ( | int | phaseIndex | ) | const |
This private method should only be used to prepare the array of pre-calculated values See eventAngles array
FOUR_STROKE_CRANK_SENSOR magic: We have two crank shaft revolutions for each engine cycle See also trigger_central.cpp See also getEngineCycleEventCount()
Definition at line 172 of file trigger_structure.cpp.
Referenced by TriggerFormDetails::prepareEventAngles().
angle_t TriggerWaveform::getCycleDuration | ( | ) | const |
physical primary trigger duration
Definition at line 115 of file trigger_structure.cpp.
Referenced by addEvent(), addEventAngle(), commonRenix(), configureChryslerNGC_36_2_2(), configureFordPip(), configureFordST170(), daihatsu(), getAngle(), getLength(), getSwitchAngle(), initializeTriggerWaveform(), and JeepRenix66_2_2().
size_t TriggerWaveform::getExpectedEventCount | ( | TriggerWheel | channelIndex | ) | const |
Definition at line 210 of file trigger_structure.cpp.
Referenced by calculateExpectedEventCounts(), TriggerDecoderBase::getEventCountersError(), and Engine::OnTriggerSynchronization().
size_t TriggerWaveform::getLength | ( | ) | const |
this one is per CRANKshaft revolution
Trigger event count equals engine cycle event count if we have a cam sensor. Two trigger cycles make one engine cycle in case of a four stroke engine If we only have a cranksensor.
'engine->engineCycleEventCount' hold a pre-calculated copy of this value as a performance optimization
24 for FOUR_STROKE_TWELVE_TIMES_CRANK_SENSOR 6 for FOUR_STROKE_THREE_TIMES_CRANK_SENSOR 4 for FOUR_STROKE_SYMMETRICAL_CRANK_SENSOR 2 for FOUR_STROKE_CRANK_SENSOR 1 otherwise
Definition at line 160 of file trigger_structure.cpp.
Referenced by TriggerCentral::applyShapesConfiguration(), TriggerDecoderBase::decodeTriggerEvent(), findAngleIndex(), InstantRpmCalculator::movePreSynchTimestamps(), and TriggerFormDetails::prepareEventAngles().
size_t TriggerWaveform::getSize | ( | ) | const |
Definition at line 102 of file trigger_structure.cpp.
Referenced by TriggerStimulatorHelper::assertSyncPosition(), calculateTriggerSynchPoint(), TriggerDecoderBase::decodeTriggerEvent(), TriggerCentral::engineMovedRecently(), TriggerStimulatorHelper::feedSimulatedEvent(), TriggerDecoderBase::findTriggerZeroEventIndex(), getLength(), getSimulatedEventTime(), TriggerCentral::handleShaftSignal(), TriggerDecoderBase::isValidIndex(), HpfpController::onFastCallback(), TriggerDecoderBase::onShaftSynchronization(), TriggerFormDetails::prepareEventAngles(), startSimulatedTriggerSignal(), startTriggerInputPins(), and triggerShapeInfo().
angle_t TriggerWaveform::getSwitchAngle | ( | int | index | ) | const |
These angles are in trigger DESCRIPTION coordinates - i.e. the way you add events while declaring trigger shape
Definition at line 363 of file trigger_structure.cpp.
Referenced by getAngle().
int TriggerWaveform::getTriggerWaveformSynchPointIndex | ( | ) | const |
Definition at line 106 of file trigger_structure.cpp.
operation_mode_e TriggerWaveform::getWheelOperationMode | ( | ) | const |
See also Engine::getOperationMode which accounts for additional settings which are needed to resolve precise mode for vague wheels
Definition at line 202 of file trigger_structure.cpp.
Referenced by RpmCalculator::getOperationMode(), TriggerCentral::handleShaftSignal(), and needsDisambiguation().
void TriggerWaveform::initialize | ( | operation_mode_e | operationMode, |
SyncEdge | syncEdge | ||
) |
Definition at line 65 of file trigger_structure.cpp.
Referenced by configure12ToothCrank(), configure3_1_cam(), configure3ToothCrank(), configure60degSingleTooth(), configure6ToothCrank(), configureArcticCat(), configureBarra3plus1cam(), configureBenelli(), configureChryslerNGC_36_2_2(), configureChryslerVtt15(), configureDodgeStratusTriggerWaveform(), configureFiatIAQ_P8(), configureFordAspireTriggerWaveform(), configureFordCoyote(), configureFordPip(), configureFordST170(), configureGm60_2_2_2(), configureGmTriggerWaveform(), configureHondaCbr600(), configureHondaK_12_1(), configureHondaK_4_1(), configureJeepEVD_36_2_2(), configureKawaKX450F(), configureMazdaProtegeLx(), configureMazdaProtegeSOHC(), configureNeon1995TriggerWaveformOnlyCrank(), configureNeon2003TriggerWaveformCam(), configureNeon2003TriggerWaveformCrank(), configureOnePlusOne(), configureQuickStartSenderWheel(), configureTriTach(), daihatsu(), initDodgeRam(), initGmLS24(), initialize2jzGE3_34_simulation_shape(), initialize36_2_1(), initialize36_2_1_1(), initialize60_2_2_Renault_F(), initialize_one_of_24_2_2(), initialize_one_of_36_2_2(), initialize_one_of_36_2_2_2(), initializeJeepRenix66_2_2(), initializeMazdaLCam(), initializeMazdaMiataNaShape(), initializeMazdaMiataNb1ShapeWithOffset(), initializeMazdaMiataNb2Crank(), initializeMazdaMiataVVtCamShape(), initializeMazdaSkyactivCam(), initializeMitsubishi4g63Cam(), initializeMitsubishi4G69Cam(), initializeNissanHRvvtIn(), initializeNissanMR18crank(), initializeNissanMRvvt(), initializeNissanQR25crank(), initializeNissanSR20VE_4(), initializeNissanVQ30cam(), initializeNissanVQ35crank(), initializeNissanVQvvt(), initializeRenix44_2_2(), initializeRenix66_2_2(), initializeRoverK(), initializeSkippedToothTrigger(), initializeSubaru7_6(), initializeSubaru7_6_camOnly(), initializeSubaru7_6_crankOnly(), initializeSubaru_SVX(), initializeSuzukiG13B(), initializeSuzukiK6A(), initializeUzCam(), initializeVvt3A92(), initializeVvt6G72(), initJeep18_2_2_2(), initJeep_XJ_4cyl_2500(), setMercedesTwoSegment(), setSkodaFavorit(), setVwConfiguration(), and TriggerWaveform().
void TriggerWaveform::initializeSyncPoint | ( | TriggerDecoderBase & | state, |
const TriggerConfiguration & | triggerConfiguration | ||
) |
Definition at line 112 of file trigger_decoder.cpp.
Referenced by calculateTriggerSynchPoint(), and initVvtShape().
void TriggerWaveform::initializeTriggerWaveform | ( | operation_mode_e | triggerOperationMode, |
const trigger_config_s & | triggerType, | ||
bool | isCrankWheel = true |
||
) |
External logger is needed because at this point our logger is not yet initialized
different from TT_HALF_MOON
Feb 2019 suggestion: it would be an improvement to remove 'expectedEventCount' logic from 'addEvent' and move it here, after all events were added.
Definition at line 451 of file trigger_structure.cpp.
Referenced by TriggerCentral::applyShapesConfiguration(), and initVvtShape().
bool TriggerWaveform::needsDisambiguation | ( | ) | const |
Definition at line 136 of file trigger_structure.cpp.
Referenced by TriggerCentral::applyShapesConfiguration().
void TriggerWaveform::setSecondTriggerSynchronizationGap | ( | float | syncRatio | ) |
Definition at line 427 of file trigger_structure.cpp.
Referenced by configureFordCoyote(), configureFordPip(), configureQuickStartSenderWheel(), initGmLS24_3deg(), initGmLS24_5deg(), initialize36_2_1(), initialize36_2_1_1(), initialize60_2_2_Renault_F(), initializeMazdaSkyactivCam(), initializeMitsubishi4G69Cam(), initializeNissanQR25crank(), initializeSkippedToothTrigger(), initializeSuzukiG13B(), initializeSuzukiK6A(), initializeVvt3A92(), setMercedesTwoSegment(), and setVwConfiguration().
void TriggerWaveform::setSecondTriggerSynchronizationGap2 | ( | float | syncRatioFrom, |
float | syncRatioTo | ||
) |
Definition at line 431 of file trigger_structure.cpp.
Referenced by configureHondaK_12_1(), initializeMazdaMiataNaShape(), initializeMazdaMiataNb2Crank(), initializeMazdaMiataVVtCamShape(), initializeMitsubishi4g63Cam(), initializeNissanMRvvt(), initializeNissanVQvvt(), and initializeRoverK().
void TriggerWaveform::setShapeDefinitionError | ( | bool | value | ) |
Definition at line 419 of file trigger_structure.cpp.
Referenced by addEvent(), TriggerStimulatorHelper::assertSyncPosition(), calculateTriggerSynchPoint(), customTrigger(), TriggerStimulatorHelper::findTriggerSyncPoint(), and initializeSkippedToothTrigger().
void TriggerWaveform::setThirdTriggerSynchronizationGap | ( | float | syncRatio | ) |
Definition at line 435 of file trigger_structure.cpp.
Referenced by initGmLS24_3deg(), initGmLS24_5deg(), initialize60_2_2_Renault_F(), initializeMazdaSkyactivCam(), initializeRoverK(), initializeTriggerWaveform(), setMercedesTwoSegment(), and setVwConfiguration().
void TriggerWaveform::setTriggerSynchronizationGap | ( | float | syncRatio | ) |
Definition at line 423 of file trigger_structure.cpp.
Referenced by configureArcticCat(), configureChryslerNGC_36_2_2(), configureDaihatsu3cyl(), configureDaihatsu4cyl(), configureFiatIAQ_P8(), configureFordCoyote(), configureFordPip(), configureGmTriggerWaveform(), configureKawaKX450F(), configureNeon2003TriggerWaveformCrank(), configureQuickStartSenderWheel(), initGmLS24_3deg(), initGmLS24_5deg(), initialize(), initialize36_2_1(), initialize36_2_1_1(), initialize60_2_2_Renault_F(), initializeMazdaSkyactivCam(), initializeMitsubishi4G69Cam(), initializeNissanMR18crank(), initializeNissanQR25crank(), initializeRoverK(), initializeSkippedToothTrigger(), initializeSuzukiG13B(), initializeSuzukiK6A(), initializeVvt3A92(), and setMercedesTwoSegment().
Definition at line 367 of file trigger_structure.cpp.
Referenced by configureDodgeStratusTriggerWaveform(), configureHondaCbr600(), configureHondaK_12_1(), configureNeon2003TriggerWaveformCam(), initializeMazdaMiataNaShape(), initializeMazdaMiataNb2Crank(), initializeMazdaMiataVVtCamShape(), initializeMitsubishi4g63Cam(), initializeNissanMRvvt(), initializeNissanSR20VE_4(), initializeNissanVQvvt(), initializeSubaru7_6_crankOnly(), and setVwConfiguration().
void TriggerWaveform::setTriggerSynchronizationGap3 | ( | int | index, |
float | syncRatioFrom, | ||
float | syncRatioTo | ||
) |
note that index is in reverse order comparing with chronological order on the documentation images https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers
Definition at line 371 of file trigger_structure.cpp.
Referenced by TriggerCentral::applyTriggerGapOverride(), commonSymmetrical(), configureArcticCat(), configureBarra3plus1cam(), configureHondaJ30A2_24_1_1(), configureHondaK_4_1(), configureJeepEVD_36_2_2(), configureNeon1995TriggerWaveformOnlyCrank(), configureNeon2003TriggerWaveformCam(), initialize(), initialize36_2_2_2(), initializeJeepRenix66_2_2(), initializeMazdaLCam(), initializeMazdaMiataNb1ShapeWithOffset(), initializeNissanHRcrank(), initializeNissanHRvvtIn(), initializeNissanVQ35crank(), initializeSubaru7_6(), initializeSubaru7_6_camOnly(), initializeSubaruEZ30(), initializeTriggerWaveform(), initializeVvt6G72(), setSecondTriggerSynchronizationGap2(), setSkodaFavorit(), setTriggerSynchronizationGap2(), and setTriggerSynchronizationGap4().
|
inline |
Definition at line 201 of file trigger_structure.h.
Referenced by configureChryslerNGC_36_2_2(), configureChryslerVtt15(), initializeNissanVQ30cam(), initializeUzCam(), setSecondTriggerSynchronizationGap(), setThirdTriggerSynchronizationGap(), and setTriggerSynchronizationGap().
size_t TriggerWaveform::expectedEventCount[PWM_PHASE_MAX_WAVE_PER_PWM] |
This is used for signal validation
Definition at line 133 of file trigger_structure.h.
Referenced by addEvent(), calculateExpectedEventCounts(), getExpectedEventCount(), and initialize().
int TriggerWaveform::gapTrackingLength = 1 |
number of consecutive trigger gaps needed to synchronize
Definition at line 66 of file trigger_structure.h.
Referenced by TriggerCentral::applyCamGapOverride(), TriggerCentral::applyTriggerGapOverride(), TriggerDecoderBase::decodeTriggerEvent(), initialize(), TriggerDecoderBase::isSyncPoint(), TriggerDecoderBase::printGaps(), and setTriggerSynchronizationGap3().
bool TriggerWaveform::isRiseEvent[PWM_PHASE_MAX_COUNT] |
Definition at line 155 of file trigger_structure.h.
Referenced by addEvent(), initialize(), and TriggerFormDetails::prepareEventAngles().
bool TriggerWaveform::isSecondWheelCam |
trigger meta information: is second wheel mounted on crank shaft ('false') or cam shaft ('true')
Definition at line 62 of file trigger_structure.h.
Referenced by configureFordAspireTriggerWaveform(), configureGm60_2_2_2(), configureMazdaProtegeLx(), initialize(), and initializeMazdaMiataNaShape().
bool TriggerWaveform::isSynchronizationNeeded |
Simplest trigger shape does not require any synchronization - for example if there is only one primary channel tooth each raising (or falling depending on configuration) front would synchronize
Definition at line 57 of file trigger_structure.h.
Referenced by calculateExpectedEventCounts(), configure3_1_cam(), configure60degSingleTooth(), configureFordAspireTriggerWaveform(), configureGm60_2_2_2(), configureMazdaProtegeLx(), configureMazdaProtegeSOHC(), configureOnePlusOne(), configureTriTach(), TriggerDecoderBase::decodeTriggerEvent(), initDodgeRam(), initialize(), initialize2jzGE3_34_simulation_shape(), initializeSkippedToothTrigger(), initializeSubaru_SVX(), initJeep18_2_2_2(), initJeep_XJ_4cyl_2500(), setTriggerSynchronizationGap3(), and triggerInfo().
bool TriggerWaveform::knownOperationMode = true |
Definition at line 143 of file trigger_structure.h.
Referenced by initialize(), initialize36_2_2_2(), initializeMitsubishi4gSymmetricalCrank(), and initializeSkippedToothTrigger().
bool TriggerWaveform::needSecondTriggerInput = false |
this flag tells us if we should ignore events on second input channel that's the way to ignore noise from the disconnected wire
Definition at line 76 of file trigger_structure.h.
Referenced by addEvent(), initialize(), initializeTriggerWaveform(), and triggerInfo().
|
private |
this is part of performance optimization
Definition at line 254 of file trigger_structure.h.
Referenced by addEvent(), addEvent360(), addEventClamped(), getCycleDuration(), getLength(), getWheelOperationMode(), and initialize().
|
private |
This variable is used to confirm that events are added in the right order. todo: this variable is probably not needed, could be reimplemented by accessing by index
Definition at line 250 of file trigger_structure.h.
Referenced by addEvent(), and initialize().
bool TriggerWaveform::shapeDefinitionError = false |
true value here means that we do not have a valid trigger configuration
Definition at line 80 of file trigger_structure.h.
Referenced by TriggerCentral::applyShapesConfiguration(), TriggerStimulatorHelper::assertSyncPosition(), TriggerDecoderBase::findTriggerZeroEventIndex(), TriggerCentral::handleShaftSignal(), initialize(), initializeTriggerWaveform(), TriggerCentral::prepareTriggerShape(), setShapeDefinitionError(), and Engine::updateTriggerConfiguration().
bool TriggerWaveform::shapeWithoutTdc = false |
special case for triggers which do not provide exact TDC location For example pick-up in distributor with mechanical ignition firing order control.
Definition at line 71 of file trigger_structure.h.
Referenced by calculateExpectedEventCounts(), commonSymmetrical(), configureMazdaProtegeSOHC(), initialize(), initialize2jzGE3_34_simulation_shape(), and initializeSkippedToothTrigger().
SyncEdge TriggerWaveform::syncEdge |
Definition at line 121 of file trigger_structure.h.
Referenced by initialize(), and shouldConsiderEdge().
float TriggerWaveform::synchronizationRatioFrom[GAP_TRACKING_LENGTH] |
Depending on trigger shape, we use between one and three previous gap ranges to detect synchronization.
Usually second or third gap is not needed, but some crazy triggers like 36-2-2-2 require two consecutive gaps ratios to sync
Definition at line 94 of file trigger_structure.h.
Referenced by TriggerCentral::applyCamGapOverride(), TriggerCentral::applyTriggerGapOverride(), TriggerDecoderBase::decodeTriggerEvent(), TriggerDecoderBase::isSyncPoint(), TriggerDecoderBase::printGaps(), and setTriggerSynchronizationGap3().
float TriggerWaveform::synchronizationRatioTo[GAP_TRACKING_LENGTH] |
Definition at line 95 of file trigger_structure.h.
Referenced by TriggerCentral::applyCamGapOverride(), TriggerCentral::applyTriggerGapOverride(), TriggerDecoderBase::decodeTriggerEvent(), TriggerDecoderBase::isSyncPoint(), TriggerDecoderBase::printGaps(), and setTriggerSynchronizationGap3().
int TriggerWaveform::syncRatioAvg |
used by NoiselessTriggerDecoder (See TriggerCentral::handleShaftSignal())
Definition at line 101 of file trigger_structure.h.
Referenced by setTriggerSynchronizationGap3().
angle_t TriggerWaveform::tdcPosition |
Trigger indexes within trigger cycle are counted from synchronization point, and all engine processes are defined in angles from TDC.
That's the angle distance from trigger event #0 and actual engine TDC
see also globalTriggerAngleOffset
Definition at line 112 of file trigger_structure.h.
Referenced by configure60degSingleTooth(), configureDodgeStratusTriggerWaveform(), configureFiatIAQ_P8(), configureFordPip(), configureHondaCbr600(), configureHondaJ30A2_24_1_1(), configureJeepEVD_36_2_2(), configureMazdaProtegeLx(), configureNeon1995TriggerWaveformOnlyCrank(), configureNeon2003TriggerWaveformCam(), daihatsu(), initGmLS24_3deg(), initGmLS24_5deg(), initialize(), initialize36_2_1(), initialize36_2_1_1(), initializeMazdaMiataNaShape(), initializeMazdaMiataNb1ShapeWithOffset(), initializeMazdaMiataNb2Crank(), initializeNissanHRcrank(), initializeNissanMR18crank(), initializeNissanMRvvt(), initializeNissanQR25crank(), initializeNissanSR20VE_4(), initializeNissanVQ30cam(), initializeNissanVQ35crank(), initializeSubaru7_6(), initializeSubaru7_6_camOnly(), initializeSubaru7_6_crankOnly(), initializeSubaru_SVX(), initializeSubaruEZ30(), initJeep18_2_2_2(), initJeep_XJ_4cyl_2500(), and setSkodaFavorit().
int TriggerWaveform::triggerShapeSynchPointIndex |
index of synchronization event within TriggerWaveform See findTriggerZeroEventIndex()
Definition at line 231 of file trigger_structure.h.
Referenced by getTriggerWaveformSynchPointIndex(), initialize(), initializeSyncPoint(), and TriggerFormDetails::prepareEventAngles().
TriggerWheel TriggerWaveform::triggerSignalIndeces[PWM_PHASE_MAX_COUNT] |
These signals are used for trigger export only
Definition at line 139 of file trigger_structure.h.
Referenced by addEvent(), and initialize().
TriggerValue TriggerWaveform::triggerSignalStates[PWM_PHASE_MAX_COUNT] |
Definition at line 140 of file trigger_structure.h.
Referenced by addEvent(), and initialize().
bool TriggerWaveform::useOnlyPrimaryForSync |
In case of a multi-channel trigger, do we want to sync based on primary channel only? See also gapBothDirections
Definition at line 118 of file trigger_structure.h.
Referenced by calculateExpectedEventCounts(), configure60degSingleTooth(), configureNeon2003TriggerWaveformCam(), configureOnePlusOne(), initialize(), initializeMazdaMiataNaShape(), initializeMazdaMiataNb1ShapeWithOffset(), initializeSubaru7_6(), initializeSubaru_SVX(), and shouldConsiderEdge().
bool TriggerWaveform::useOnlyRisingEdges |
Definition at line 124 of file trigger_structure.h.
Referenced by addEvent(), calculateExpectedEventCounts(), TriggerDecoderBase::decodeTriggerEvent(), findAngleIndex(), handleShaftSignal(), TriggerCentral::handleShaftSignal(), initialize(), isUsefulSignal(), TriggerFormDetails::prepareEventAngles(), and InstantRpmCalculator::setLastEventTimeForInstantRpm().
int TriggerWaveform::version = 0 |
this variable is incremented after each trigger shape redefinition
Definition at line 85 of file trigger_structure.h.
Referenced by initializeTriggerWaveform(), and updateTriggerWaveformIfNeeded().
MultiChannelStateSequenceWithData<PWM_PHASE_MAX_COUNT> TriggerWaveform::wave |
wave.phaseCount is total count of shaft events per CAM or CRANK shaft revolution. TODO this should be migrated to CRANKshaft revolution, this would go together this variable is public for performance reasons (I want to avoid costs of method if it's not inlined) but name is supposed to hint at the fact that decoders should not be assigning to it Please use "getSize()" function to read this value
Definition at line 153 of file trigger_structure.h.
Referenced by addEvent(), TriggerStimulatorHelper::feedSimulatedEvent(), getAngle(), getSimulatedEventTime(), getSize(), getSwitchAngle(), initialize(), initialize60_2_2_Renault_F(), initializeTriggerWaveform(), and startSimulatedTriggerSignal().