only:accelerometer refactoring & docs

This commit is contained in:
rusefillc 2024-02-12 09:55:04 -05:00
parent 9369776eb7
commit 30c903e9ca
8 changed files with 14 additions and 9 deletions

View File

@ -89,7 +89,7 @@ void setBoardConfigOverrides() {
// rev.D uses SPI1 pins for CAN2, but rev.E and later uses mega-module meaning SPI1 for SD-card
if (isMegaModuleRevision()) {
setHellenSdCardSpi1();
configureHellenMegaAccCS2Pin();
hellenMegaAccelerometerPreInitCS2Pin();
setHellenMegaEnPin();
} else {
setHellenEnPin(Gpio::H144_OUT_IO3);

View File

@ -138,7 +138,7 @@ void setBoardConfigOverrides() {
setHellenMegaEnPin();
// rev G and newer uses hellen mega-module
setHellenSdCardSpi1();
configureHellenMegaAccCS2Pin();
hellenMegaAccelerometerPreInitCS2Pin();
}
setDefaultHellenAtPullUps();

View File

@ -48,7 +48,7 @@ void setBoardConfigOverrides() {
setHellenVbatt();
setHellenSdCardSpi1();
configureHellenMegaAccCS2Pin();
hellenMegaAccelerometerPreInitCS2Pin();
configureHellenCanTerminator();
setHellenCan();

View File

@ -52,7 +52,7 @@ void setBoardConfigOverrides() {
setHellenVbatt();
setHellenSdCardSpi1();
configureHellenMegaAccCS2Pin();
hellenMegaAccelerometerPreInitCS2Pin();
configureHellenCanTerminator();
setDefaultHellenAtPullUps();

View File

@ -57,9 +57,14 @@ void hellenBoardStandBy() {
}
/**
* dirty hack
* We need to make sure that accelerometer device which physically exists does not conflict with SD card
* in case of shared SPI.
* We reply on specific order of execution here:
* 1) accelerometer pre-initialization into safe CS pin state
* 2) SD card initialization
* 3) accelerometer main initialization if accelerometer feature is desired
*/
void configureHellenMegaAccCS2Pin() {
void hellenMegaAccelerometerPreInitCS2Pin() {
static bool initialized = false;
static OutputPin cs2pin;
if (!initialized) {

View File

@ -54,7 +54,7 @@ void setBoardConfigOverrides() {
setHellenVbatt();
setHellenSdCardSpi1();
configureHellenMegaAccCS2Pin();
hellenMegaAccelerometerPreInitCS2Pin();
engineConfiguration->vrThreshold[0].pin = Gpio::MM100_OUT_PWM6;

View File

@ -17,7 +17,7 @@ void setHellenMegaEnPin();
void setHellenEnPin(Gpio pin);
void setHellen64MegaEnPin();
void hellenBoardStandBy();
void configureHellenMegaAccCS2Pin();
void hellenMegaAccelerometerPreInitCS2Pin();
void configureHellenCanTerminator();
void setHellenCan();

View File

@ -223,7 +223,7 @@ void initAccelerometer() {
return;
}
/* Commented until we have configureHellenMegaAccCS2Pin() */
/* Commented until we have hellenMegaAccelerometerPreInitCS2Pin() */
#ifndef HW_HELLEN
chipSelect.initPin("SPI Acc", engineConfiguration->accelerometerCsPin);
#endif