Minor improvements

This commit is contained in:
Nffj84
2024-07-03 13:10:27 +03:00
parent 16bb7b2929
commit f2dc975d9f
5 changed files with 22 additions and 11 deletions
+2 -2
View File
@@ -6,8 +6,8 @@ CONFIG += c++17 console
TARGET = a8 TARGET = a8
QMAKE_CXXFLAGS = -O0 -g -ggdb -fsanitize=undefined,bounds,float-divide-by-zero,integer-divide-by-zero,null,return,signed-integer-overflow,unreachable,shift,alignment,nonnull-attribute,returns-nonnull-attribute,enum QMAKE_CXXFLAGS = -O0 -g -ggdb -fsanitize=address,bounds,float-divide-by-zero,integer-divide-by-zero,null,return,signed-integer-overflow,unreachable,shift,alignment,nonnull-attribute,returns-nonnull-attribute,enum
QMAKE_LFLAGS = -O0 -g -ggdb -fsanitize=undefined,bounds,float-divide-by-zero,integer-divide-by-zero,null,return,signed-integer-overflow,unreachable,shift,alignment,nonnull-attribute,returns-nonnull-attribute,enum QMAKE_LFLAGS = -O0 -g -ggdb -fsanitize=address,bounds,float-divide-by-zero,integer-divide-by-zero,null,return,signed-integer-overflow,unreachable,shift,alignment,nonnull-attribute,returns-nonnull-attribute,enum
QMAKE_CXX = clang++ QMAKE_CXX = clang++
QMAKE_CC = clang QMAKE_CC = clang
+11 -8
View File
@@ -83,14 +83,17 @@ void RemoteControl::sendResponse(void)
{ {
QJsonDocument responseDocument(mResponseObject); QJsonDocument responseDocument(mResponseObject);
std::string response = responseDocument.toJson(QJsonDocument::Compact).toStdString(); std::string response = responseDocument.toJson(QJsonDocument::Compact).toStdString();
write(mFifoFdOut, response.c_str(), response.size());
qDebug().noquote().nospace() << "Sent: " << response;
qDebug().noquote().nospace() << "Sending responce: " << response;
write(mFifoFdOut, response.c_str(), response.size());
mIsBusy = false; mIsBusy = false;
} }
void RemoteControl::restoreOrientation(void) void RemoteControl::restoreOrientation(void)
{ {
qDebug().noquote().nospace() << "Restoring orientation";
QByteArray serialCommandAngle = Config::getCommand()->getCommandForInternal(COMMAND_ID::TURN_TO_DEGREES); QByteArray serialCommandAngle = Config::getCommand()->getCommandForInternal(COMMAND_ID::TURN_TO_DEGREES);
int16_t degreesVal = Config::getCurrentYaw() * 10; int16_t degreesVal = Config::getCurrentYaw() * 10;
@@ -100,7 +103,6 @@ void RemoteControl::restoreOrientation(void)
serialCommandAngle[10] = degreesVal & 0xFF; serialCommandAngle[10] = degreesVal & 0xFF;
serialCommandAngle[11] = degreesVal >> 8; serialCommandAngle[11] = degreesVal >> 8;
qDebug().noquote().nospace() << serialCommandAngle;
Config::getSerial()->sendCommand(serialCommandAngle); Config::getSerial()->sendCommand(serialCommandAngle);
QTimer::singleShot(1000, this, [this]() mutable { sendResponse(); }); QTimer::singleShot(1000, this, [this]() mutable { sendResponse(); });
@@ -108,6 +110,8 @@ void RemoteControl::restoreOrientation(void)
void RemoteControl::restoreZoom(void) void RemoteControl::restoreZoom(void)
{ {
qDebug().noquote().nospace() << "Restoring zoom";
QByteArray serialCommandZoom = Config::getCommand()->getCommandForInternal(COMMAND_ID::ZOOM_TO_X); QByteArray serialCommandZoom = Config::getCommand()->getCommandForInternal(COMMAND_ID::ZOOM_TO_X);
uint8_t integerPart = static_cast<uint8_t>(Config::getCurrentZoom()); uint8_t integerPart = static_cast<uint8_t>(Config::getCurrentZoom());
@@ -117,7 +121,6 @@ void RemoteControl::restoreZoom(void)
serialCommandZoom[8] = integerPart; serialCommandZoom[8] = integerPart;
serialCommandZoom[9] = scaledFractional; serialCommandZoom[9] = scaledFractional;
qDebug().noquote().nospace() << serialCommandZoom.toStdString();
Config::getSerial()->sendCommand(serialCommandZoom); Config::getSerial()->sendCommand(serialCommandZoom);
QTimer::singleShot(3000, this, [this]() mutable { restoreOrientation(); }); QTimer::singleShot(3000, this, [this]() mutable { restoreOrientation(); });
@@ -125,7 +128,7 @@ void RemoteControl::restoreZoom(void)
void RemoteControl::calculateTargetPosition(QJsonObject &commandObject) void RemoteControl::calculateTargetPosition(QJsonObject &commandObject)
{ {
qDebug().noquote().nospace() << "Calculating?"; qDebug().noquote().nospace() << "Getting target location";
float latitude = commandObject["latitude"].toDouble(); float latitude = commandObject["latitude"].toDouble();
float longitude = commandObject["longitude"].toDouble(); float longitude = commandObject["longitude"].toDouble();
@@ -147,7 +150,7 @@ void RemoteControl::calculateTargetPosition(QJsonObject &commandObject)
void RemoteControl::turnToTarget(QJsonObject &commandObject) void RemoteControl::turnToTarget(QJsonObject &commandObject)
{ {
qDebug().noquote().nospace() << "Turning?"; qDebug().noquote().nospace() << "Turning to target";
uint16_t targetX = commandObject["target_x"].toInt(); uint16_t targetX = commandObject["target_x"].toInt();
uint16_t targetY = commandObject["target_y"].toInt(); uint16_t targetY = commandObject["target_y"].toInt();
@@ -173,7 +176,7 @@ void RemoteControl::turnToTarget(QJsonObject &commandObject)
void RemoteControl::zoomToTarget(QJsonObject &commandObject) void RemoteControl::zoomToTarget(QJsonObject &commandObject)
{ {
qDebug().noquote().nospace() << "Zooming?"; qDebug().noquote().nospace() << "Zooming to target";
float fillRatio = 0.5; float fillRatio = 0.5;
float targetPixelWidth = commandObject["target_pixel_width"].toInt(); float targetPixelWidth = commandObject["target_pixel_width"].toInt();
@@ -229,7 +232,7 @@ void RemoteControl::run()
// Exit with exit message // Exit with exit message
if (commandObject.contains("extra") == true && commandObject["extra"] == "EXIT") { if (commandObject.contains("extra") == true && commandObject["extra"] == "EXIT") {
return; exit(EXIT_SUCCESS);
} }
mIsBusy = true; mIsBusy = true;
+2 -1
View File
@@ -35,7 +35,8 @@ QHash<QString, QVariant> SerialResponse::getResponceValues(QByteArray response)
QHash<QString, QVariant> results; QHash<QString, QVariant> results;
if (response.size() == 0) { if (response.size() == 0) {
qCritical().noquote().nospace() << "Response is empty, exiting..."; qWarning().noquote().nospace() << "Response is empty, exiting...";
return results;
} }
// Check response data validity // Check response data validity
+3
View File
@@ -72,3 +72,6 @@ CMakeLists.txt.user*
*.dll *.dll
*.exe *.exe
# Folders
build/
+4
View File
@@ -103,6 +103,10 @@ void RemoteControl::startCommunication()
write(mFifoFdOut, command.c_str(), command.size()); write(mFifoFdOut, command.c_str(), command.size());
qDebug().noquote().nospace() << "Sent: " << command; qDebug().noquote().nospace() << "Sent: " << command;
if (commandObject["extra"] == "EXIT") {
exit(EXIT_SUCCESS);
}
while (true) { while (true) {
char buffer[1024]; char buffer[1024];
ssize_t bytesRead = read(mFifoFdIn, buffer, sizeof(buffer) - 1); ssize_t bytesRead = read(mFifoFdIn, buffer, sizeof(buffer) - 1);