diff --git a/bsp_q7s/obsw.cpp b/bsp_q7s/obsw.cpp index d497eceb..881c03e1 100644 --- a/bsp_q7s/obsw.cpp +++ b/bsp_q7s/obsw.cpp @@ -36,6 +36,28 @@ int obsw::obsw() { return OBSW_ALREADY_RUNNING; } #endif + + // Init delay handling. + if(std::filesystem::exists("$HOME/boot_delay.txt")) { + std::ifstream ifile("$HOME/boot_delay.txt"); + std::string lineStr; + unsigned int bootDelaySecs = 0; + unsigned int line = 0; + // Try to reas delay seconds from file. + while(std::getline(ifile, lineStr)) { + std::istringstream iss(lineStr); + if(!(iss >> bootDelaySecs)) { + break; + } + line++; + } + if(line == 0) { + // If the file is empty, assume default of 6 seconds + bootDelaySecs = 6; + } + TaskFactory::delayTask(bootDelaySecs); + } + scheduling::initMission(); for (;;) {