eive-obsw/bsp_q7s/boardtest/Q7STestTask.cpp

68 lines
1.9 KiB
C++
Raw Normal View History

2021-07-05 12:09:31 +02:00
#include "Q7STestTask.h"
2021-07-06 18:17:32 +02:00
2021-07-05 12:09:31 +02:00
#include "fsfw/timemanager/Stopwatch.h"
#include "fsfw/tasks/TaskFactory.h"
2021-07-06 18:17:32 +02:00
2021-07-09 17:21:26 +02:00
#include "bsp_q7s/memory/scratchApi.h"
2021-07-05 12:09:31 +02:00
#include <iostream>
#include <fstream>
#include <cstdio>
Q7STestTask::Q7STestTask(object_id_t objectId): TestTask(objectId) {
}
ReturnValue_t Q7STestTask::performOneShotAction() {
2021-07-06 18:20:14 +02:00
//sdCardTests();
2021-07-09 17:21:26 +02:00
testScratchApi();
2021-07-05 12:09:31 +02:00
return TestTask::performOneShotAction();
}
void Q7STestTask::sdCardTests() {
using namespace std;
Stopwatch stopwatch;
2021-07-06 18:17:32 +02:00
int result = std::system("q7hw sd info all > /tmp/sd_status.txt");
if(result != 0) {
sif::debug << "system call failed with " << result << endl;
}
ifstream sdStatus("/tmp/sd_status.txt");
string line;
uint8_t idx = 0;
while (std::getline(sdStatus, line)) {
std::istringstream iss(line);
string word;
while(iss >> word) {
if(word == "on") {
sif::info << "SD card " << static_cast<int>(idx) << " is on" << endl;
}
else if(word == "off") {
sif::info << "SD card " << static_cast<int>(idx) << " is off" << endl;
}
}
idx++;
}
std::remove("/tmp/sd_status.txt");
2021-07-05 12:09:31 +02:00
}
2021-07-06 18:17:32 +02:00
void Q7STestTask::fileTests() {
using namespace std;
ofstream testFile("/tmp/test.txt");
testFile << "Hallo Welt" << endl;
testFile.close();
system("echo \"Hallo Welt\" > /tmp/test2.txt");
system("echo \"Hallo Welt\"");
}
2021-07-09 17:21:26 +02:00
void Q7STestTask::testScratchApi() {
ReturnValue_t result = scratch::writeNumber("TEST", 1);
if(result != HasReturnvaluesIF::RETURN_OK) {
sif::debug << "Q7STestTask::scratchApiTest: Writing number failed" << std::endl;
}
int number = 0;
result = scratch::readNumber("TEST", number);
if(result != HasReturnvaluesIF::RETURN_OK) {
sif::debug << "Q7STestTask::scratchApiTest: Reading number failed" << std::endl;
}
}