TCP default now, bugfixes in CoreController
This commit is contained in:
parent
59c4ed74e0
commit
3cc3786505
@ -4,6 +4,11 @@
|
|||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
|
|
||||||
|
enum SdCard {
|
||||||
|
SDC0,
|
||||||
|
SDC1
|
||||||
|
};
|
||||||
|
|
||||||
FileSystemTest::FileSystemTest() {
|
FileSystemTest::FileSystemTest() {
|
||||||
using namespace std;
|
using namespace std;
|
||||||
SdCard sdCard = SdCard::SDC0;
|
SdCard sdCard = SdCard::SDC0;
|
||||||
|
@ -1,11 +1,6 @@
|
|||||||
#ifndef BSP_Q7S_BOARDTEST_FILESYSTEMTEST_H_
|
#ifndef BSP_Q7S_BOARDTEST_FILESYSTEMTEST_H_
|
||||||
#define BSP_Q7S_BOARDTEST_FILESYSTEMTEST_H_
|
#define BSP_Q7S_BOARDTEST_FILESYSTEMTEST_H_
|
||||||
|
|
||||||
enum SdCard {
|
|
||||||
SDC0,
|
|
||||||
SDC1
|
|
||||||
};
|
|
||||||
|
|
||||||
class FileSystemTest {
|
class FileSystemTest {
|
||||||
public:
|
public:
|
||||||
FileSystemTest();
|
FileSystemTest();
|
||||||
|
@ -24,8 +24,8 @@ ReturnValue_t Q7STestTask::performOneShotAction() {
|
|||||||
//testScratchApi();
|
//testScratchApi();
|
||||||
//testJsonLibDirect();
|
//testJsonLibDirect();
|
||||||
//testDummyParams();
|
//testDummyParams();
|
||||||
FsOpCodes opCode = FsOpCodes::ATTEMPT_DIR_REMOVAL_NON_EMPTY;
|
//FsOpCodes opCode = FsOpCodes::ATTEMPT_DIR_REMOVAL_NON_EMPTY;
|
||||||
testFileSystemHandlerDirect(opCode);
|
//testFileSystemHandlerDirect(opCode);
|
||||||
return TestTask::performOneShotAction();
|
return TestTask::performOneShotAction();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ CoreController::CoreController(object_id_t objectId):
|
|||||||
}
|
}
|
||||||
|
|
||||||
ReturnValue_t CoreController::handleCommandMessage(CommandMessage *message) {
|
ReturnValue_t CoreController::handleCommandMessage(CommandMessage *message) {
|
||||||
return HasReturnvaluesIF::RETURN_OK;
|
return ExtendedControllerBase::handleCommandMessage(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CoreController::performControlOperation() {
|
void CoreController::performControlOperation() {
|
||||||
@ -74,7 +74,7 @@ ReturnValue_t CoreController::initialize() {
|
|||||||
"count failed" << std::endl;
|
"count failed" << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
return HasReturnvaluesIF::RETURN_OK;
|
return ExtendedControllerBase::initialize();
|
||||||
}
|
}
|
||||||
|
|
||||||
ReturnValue_t CoreController::checkModeCommand(Mode_t mode, Submode_t submode,
|
ReturnValue_t CoreController::checkModeCommand(Mode_t mode, Submode_t submode,
|
||||||
@ -462,6 +462,12 @@ ReturnValue_t CoreController::actionPerformReboot(const uint8_t *data, size_t si
|
|||||||
}
|
}
|
||||||
bool rebootSameBootCopy = data[0];
|
bool rebootSameBootCopy = data[0];
|
||||||
if(rebootSameBootCopy) {
|
if(rebootSameBootCopy) {
|
||||||
|
#if OBSW_VERBOSE_LEVEL >= 1
|
||||||
|
sif::info << "CoreController::actionPerformReboot: Rebooting on current image" << std::endl;
|
||||||
|
#endif
|
||||||
|
// Attempt graceful shutdown by unmounting and switching off SD cards
|
||||||
|
SdCardManager::instance()->switchOffSdCard(sd::SdCard::SLOT_0);
|
||||||
|
SdCardManager::instance()->switchOffSdCard(sd::SdCard::SLOT_1);
|
||||||
int result = std::system("xsc_boot_copy -r");
|
int result = std::system("xsc_boot_copy -r");
|
||||||
if(result != 0) {
|
if(result != 0) {
|
||||||
utility::handleSystemError(result, "CoreController::executeAction");
|
utility::handleSystemError(result, "CoreController::executeAction");
|
||||||
@ -472,6 +478,10 @@ ReturnValue_t CoreController::actionPerformReboot(const uint8_t *data, size_t si
|
|||||||
if(size < 3) {
|
if(size < 3) {
|
||||||
return HasActionsIF::INVALID_PARAMETERS;
|
return HasActionsIF::INVALID_PARAMETERS;
|
||||||
}
|
}
|
||||||
|
#if OBSW_VERBOSE_LEVEL >= 1
|
||||||
|
sif::info << "CoreController::actionPerformReboot: Rebooting on " <<
|
||||||
|
static_cast<int>(data[1]) << " " << static_cast<int>(data[2]) << std::endl;
|
||||||
|
#endif
|
||||||
// The second byte in data is the target chip, the third byte is the target copy
|
// The second byte in data is the target chip, the third byte is the target copy
|
||||||
std::string cmdString = "xsc_boot_copy " + std::to_string(data[1]) + " " +
|
std::string cmdString = "xsc_boot_copy " + std::to_string(data[1]) + " " +
|
||||||
std::to_string(data[2]);
|
std::to_string(data[2]);
|
||||||
|
@ -226,7 +226,7 @@ ReturnValue_t FileSystemHandler::removeDirectory(const char *repositoryPath,
|
|||||||
else {
|
else {
|
||||||
// Check error code. Most probably denied permissions because folder is not empty
|
// Check error code. Most probably denied permissions because folder is not empty
|
||||||
sif::warning << "FileSystemHandler::removeDirectory: Deleting directory failed with "
|
sif::warning << "FileSystemHandler::removeDirectory: Deleting directory failed with "
|
||||||
"code" << err.value() << ": " << strerror(err.value()) << std::endl;
|
"code " << err.value() << ": " << strerror(err.value()) << std::endl;
|
||||||
if(err.value() == ENOTEMPTY) {
|
if(err.value() == ENOTEMPTY) {
|
||||||
return DIRECTORY_NOT_EMPTY;
|
return DIRECTORY_NOT_EMPTY;
|
||||||
}
|
}
|
||||||
@ -242,7 +242,7 @@ ReturnValue_t FileSystemHandler::removeDirectory(const char *repositoryPath,
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
sif::warning << "FileSystemHandler::removeDirectory: Deleting directory failed with "
|
sif::warning << "FileSystemHandler::removeDirectory: Deleting directory failed with "
|
||||||
"code" << err.value() << ": " << strerror(err.value()) << std::endl;
|
"code " << err.value() << ": " << strerror(err.value()) << std::endl;
|
||||||
// Check error code
|
// Check error code
|
||||||
if(err.value() == ENOTEMPTY) {
|
if(err.value() == ENOTEMPTY) {
|
||||||
return DIRECTORY_NOT_EMPTY;
|
return DIRECTORY_NOT_EMPTY;
|
||||||
|
@ -5,6 +5,6 @@
|
|||||||
|
|
||||||
// Use TCP instead of UDP for the TMTC bridge. This allows using the TMTC client locally
|
// Use TCP instead of UDP for the TMTC bridge. This allows using the TMTC client locally
|
||||||
// because UDP packets are not allowed in the VPN
|
// because UDP packets are not allowed in the VPN
|
||||||
#define OBSW_USE_TMTC_TCP_BRIDGE 0
|
#define OBSW_USE_TMTC_TCP_BRIDGE 1
|
||||||
|
|
||||||
#endif /* COMMON_CONFIG_COMMONCONFIG_H_ */
|
#endif /* COMMON_CONFIG_COMMONCONFIG_H_ */
|
||||||
|
2
fsfw
2
fsfw
@ -1 +1 @@
|
|||||||
Subproject commit 0ff81294e7e209bb4a26171b10d80fe522e65bcf
|
Subproject commit 296c587e3de10c579847e04af3176b3acaa2d701
|
2
tmtc
2
tmtc
@ -1 +1 @@
|
|||||||
Subproject commit 477743f6264689327528beb5344c39247af6c49e
|
Subproject commit bc32472d88a0d7a1566f53c05a1bc49f3c377985
|
Loading…
Reference in New Issue
Block a user