Don't break VSS if using RPM2 pin and enable tooth or composite log
This commit is contained in:
parent
27531d3440
commit
62e14754bb
|
@ -7,4 +7,6 @@ void setPinMapping(byte boardID);
|
|||
void changeHalfToFullSync(void);
|
||||
void changeFullToHalfSync(void);
|
||||
|
||||
#define VSS_USES_RPM2() ((configPage2.vssMode > 1) && (pinVSS == pinTrigger2) && !BIT_CHECK(decoderState, BIT_DECODER_HAS_SECONDARY))
|
||||
|
||||
#endif
|
|
@ -3129,7 +3129,7 @@ void initialiseTriggers(void)
|
|||
|
||||
attachInterrupt(triggerInterrupt, triggerHandler, primaryTriggerEdge);
|
||||
//The secondary input can be used for VSS if nothing else requires it. Allows for the standard VR conditioner to be used for VSS.
|
||||
if( (configPage2.vssMode > 1) && (pinVSS == pinTrigger2) && !BIT_CHECK(decoderState, BIT_DECODER_HAS_SECONDARY) )
|
||||
if( VSS_USES_RPM2() )
|
||||
{
|
||||
//Secondary trigger input can safely be used for VSS
|
||||
attachInterrupt(digitalPinToInterrupt(pinVSS), vssPulse, RISING);
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#include "logger.h"
|
||||
#include "errors.h"
|
||||
#include "decoders.h"
|
||||
#include "init.h"
|
||||
|
||||
/**
|
||||
* Returns a numbered byte-field (partial field in case of multi-byte fields) from "current status" structure in the format expected by TunerStudio
|
||||
|
@ -374,8 +375,12 @@ void startToothLogger(void)
|
|||
detachInterrupt( digitalPinToInterrupt(pinTrigger) );
|
||||
attachInterrupt( digitalPinToInterrupt(pinTrigger), loggerPrimaryISR, CHANGE );
|
||||
|
||||
detachInterrupt( digitalPinToInterrupt(pinTrigger2) );
|
||||
attachInterrupt( digitalPinToInterrupt(pinTrigger2), loggerSecondaryISR, CHANGE );
|
||||
if(VSS_USES_RPM2() != true)
|
||||
{
|
||||
detachInterrupt( digitalPinToInterrupt(pinTrigger2) );
|
||||
attachInterrupt( digitalPinToInterrupt(pinTrigger2), loggerSecondaryISR, CHANGE );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void stopToothLogger(void)
|
||||
|
@ -386,8 +391,11 @@ void stopToothLogger(void)
|
|||
detachInterrupt( digitalPinToInterrupt(pinTrigger) );
|
||||
attachInterrupt( digitalPinToInterrupt(pinTrigger), triggerHandler, primaryTriggerEdge );
|
||||
|
||||
detachInterrupt( digitalPinToInterrupt(pinTrigger2) );
|
||||
attachInterrupt( digitalPinToInterrupt(pinTrigger2), triggerSecondaryHandler, secondaryTriggerEdge );
|
||||
if(VSS_USES_RPM2() != true)
|
||||
{
|
||||
detachInterrupt( digitalPinToInterrupt(pinTrigger2) );
|
||||
attachInterrupt( digitalPinToInterrupt(pinTrigger2), triggerSecondaryHandler, secondaryTriggerEdge );
|
||||
}
|
||||
}
|
||||
|
||||
void startCompositeLogger(void)
|
||||
|
@ -401,8 +409,11 @@ void startCompositeLogger(void)
|
|||
detachInterrupt( digitalPinToInterrupt(pinTrigger) );
|
||||
attachInterrupt( digitalPinToInterrupt(pinTrigger), loggerPrimaryISR, CHANGE );
|
||||
|
||||
detachInterrupt( digitalPinToInterrupt(pinTrigger2) );
|
||||
attachInterrupt( digitalPinToInterrupt(pinTrigger2), loggerSecondaryISR, CHANGE );
|
||||
if(VSS_USES_RPM2() != true)
|
||||
{
|
||||
detachInterrupt( digitalPinToInterrupt(pinTrigger2) );
|
||||
attachInterrupt( digitalPinToInterrupt(pinTrigger2), loggerSecondaryISR, CHANGE );
|
||||
}
|
||||
}
|
||||
|
||||
void stopCompositeLogger(void)
|
||||
|
@ -413,8 +424,11 @@ void stopCompositeLogger(void)
|
|||
detachInterrupt( digitalPinToInterrupt(pinTrigger) );
|
||||
attachInterrupt( digitalPinToInterrupt(pinTrigger), triggerHandler, primaryTriggerEdge );
|
||||
|
||||
detachInterrupt( digitalPinToInterrupt(pinTrigger2) );
|
||||
attachInterrupt( digitalPinToInterrupt(pinTrigger2), triggerSecondaryHandler, secondaryTriggerEdge );
|
||||
if(VSS_USES_RPM2() != true)
|
||||
{
|
||||
detachInterrupt( digitalPinToInterrupt(pinTrigger2) );
|
||||
attachInterrupt( digitalPinToInterrupt(pinTrigger2), triggerSecondaryHandler, secondaryTriggerEdge );
|
||||
}
|
||||
}
|
||||
|
||||
void startCompositeLoggerTertiary(void)
|
||||
|
@ -453,8 +467,11 @@ void startCompositeLoggerCams(void)
|
|||
toothHistoryIndex = 0;
|
||||
|
||||
//Disconnect the standard interrupt and add the logger version
|
||||
detachInterrupt( digitalPinToInterrupt(pinTrigger2) );
|
||||
attachInterrupt( digitalPinToInterrupt(pinTrigger2), loggerSecondaryISR, CHANGE );
|
||||
if(VSS_USES_RPM2() != true)
|
||||
{
|
||||
detachInterrupt( digitalPinToInterrupt(pinTrigger2) );
|
||||
attachInterrupt( digitalPinToInterrupt(pinTrigger2), loggerSecondaryISR, CHANGE );
|
||||
}
|
||||
|
||||
detachInterrupt( digitalPinToInterrupt(pinTrigger3) );
|
||||
attachInterrupt( digitalPinToInterrupt(pinTrigger3), loggerTertiaryISR, CHANGE );
|
||||
|
@ -465,8 +482,11 @@ void stopCompositeLoggerCams(void)
|
|||
currentStatus.compositeTriggerUsed = false;
|
||||
|
||||
//Disconnect the logger interrupts and attach the normal ones
|
||||
detachInterrupt( digitalPinToInterrupt(pinTrigger2) );
|
||||
attachInterrupt( digitalPinToInterrupt(pinTrigger2), triggerSecondaryHandler, secondaryTriggerEdge );
|
||||
if(VSS_USES_RPM2() != true)
|
||||
{
|
||||
detachInterrupt( digitalPinToInterrupt(pinTrigger2) );
|
||||
attachInterrupt( digitalPinToInterrupt(pinTrigger2), triggerSecondaryHandler, secondaryTriggerEdge );
|
||||
}
|
||||
|
||||
detachInterrupt( digitalPinToInterrupt(pinTrigger3) );
|
||||
attachInterrupt( digitalPinToInterrupt(pinTrigger3), triggerTertiaryHandler, tertiaryTriggerEdge );
|
||||
|
|
Loading…
Reference in New Issue