diff --git a/CHANGELOG.md b/CHANGELOG.md index f1af2b62..045b7121 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,8 @@ will consitute of a breaking change warranting a new major release: ## Added +- 5 ms delay after pulling RADFET enable pin high before starting + the ADC conversion. - Set STR time in configuration sequence to firmware mode. - The STR `AutoThreshold` parameters are now set from the configuration JSON file at STR startup. diff --git a/mission/payload/RadiationSensorHandler.cpp b/mission/payload/RadiationSensorHandler.cpp index e20d7308..07363fba 100644 --- a/mission/payload/RadiationSensorHandler.cpp +++ b/mission/payload/RadiationSensorHandler.cpp @@ -1,6 +1,7 @@ #include #include #include +#include #include #include #include @@ -98,6 +99,10 @@ ReturnValue_t RadiationSensorHandler::buildCommandFromCommand(DeviceCommandId_t } case (radSens::START_CONVERSION): { ReturnValue_t result = gpioIF->pullHigh(gpioIds::ENABLE_RADFET); + // Test a small delay between pulling the RADFET high and reading the sensor. As long as this + // delay remains small enough, this should not cause scheduling issues. Do not make this + // delay large, this device might be scheduled inside the ACS PST! + TaskFactory::delayTask(5); if (result != returnvalue::OK) { #if OBSW_VERBOSE_LEVEL >= 1 sif::warning