fix in image upload function
This commit is contained in:
@ -86,7 +86,7 @@ ReturnValue_t StarTrackerHandler::executeAction(ActionId_t actionId, MessageQueu
|
||||
return EXECUTION_FINISHED;
|
||||
}
|
||||
case(StarTracker::DOWNLOAD_IMAGE): {
|
||||
strImageLoader->startImageDownload();
|
||||
strImageLoader->startImageDownload(std::string(reinterpret_cast<const char*>(data), size));
|
||||
imageLoaderExecuting = true;
|
||||
return EXECUTION_FINISHED;
|
||||
}
|
||||
@ -167,12 +167,6 @@ ReturnValue_t StarTrackerHandler::buildCommandFromCommand(DeviceCommandId_t devi
|
||||
prepareInterfaceRequest();
|
||||
return RETURN_OK;
|
||||
}
|
||||
case (StarTracker::UPLOAD_IMAGE): {
|
||||
std::string uploadImage = std::string(reinterpret_cast<const char*>(commandData),
|
||||
commandDataLen);
|
||||
strImageLoader->startImageUpload(uploadImage);
|
||||
return result;
|
||||
}
|
||||
case (StarTracker::REQ_POWER): {
|
||||
preparePowerRequest();
|
||||
return RETURN_OK;
|
||||
@ -181,6 +175,10 @@ ReturnValue_t StarTrackerHandler::buildCommandFromCommand(DeviceCommandId_t devi
|
||||
prepareRebootCommand();
|
||||
return RETURN_OK;
|
||||
}
|
||||
case (StarTracker::TAKE_IMAGE): {
|
||||
prepareTakeImageCommand();
|
||||
return RETURN_OK;
|
||||
}
|
||||
case (StarTracker::SUBSCRIBE_TO_TM): {
|
||||
prepareSubscriptionCommand(commandData);
|
||||
return RETURN_OK;
|
||||
@ -261,6 +259,7 @@ void StarTrackerHandler::fillCommandAndReplyMap() {
|
||||
this->insertInCommandAndReplyMap(StarTracker::REQ_TIME, 3, &timeSet,
|
||||
StarTracker::MAX_FRAME_SIZE * 2 + 2);
|
||||
this->insertInCommandMap(StarTracker::UPLOAD_IMAGE);
|
||||
this->insertInCommandMap(StarTracker::DOWNLOAD_IMAGE);
|
||||
this->insertInCommandAndReplyMap(StarTracker::REQ_POWER, 3, &powerSet,
|
||||
StarTracker::MAX_FRAME_SIZE * 2 + 2);
|
||||
this->insertInCommandAndReplyMap(StarTracker::REQ_INTERFACE, 3, &interfaceSet,
|
||||
@ -293,6 +292,8 @@ void StarTrackerHandler::fillCommandAndReplyMap() {
|
||||
StarTracker::MAX_FRAME_SIZE * 2 + 2);
|
||||
this->insertInCommandAndReplyMap(StarTracker::ALGO, 3, nullptr,
|
||||
StarTracker::MAX_FRAME_SIZE * 2 + 2);
|
||||
this->insertInCommandAndReplyMap(StarTracker::TAKE_IMAGE, 3, nullptr,
|
||||
StarTracker::MAX_FRAME_SIZE * 2 + 2);
|
||||
}
|
||||
|
||||
ReturnValue_t StarTrackerHandler::scanForReply(const uint8_t *start, size_t remainingSize,
|
||||
@ -365,6 +366,10 @@ ReturnValue_t StarTrackerHandler::interpretDeviceReply(DeviceCommandId_t id, con
|
||||
result = handleActionReply();
|
||||
break;
|
||||
}
|
||||
case (StarTracker::TAKE_IMAGE): {
|
||||
result = handleActionReply();
|
||||
break;
|
||||
}
|
||||
case (StarTracker::REQ_VERSION): {
|
||||
result = handleVersionTm();
|
||||
break;
|
||||
@ -522,6 +527,10 @@ ReturnValue_t StarTrackerHandler::scanForActionReply(DeviceCommandId_t *foundId)
|
||||
*foundId = StarTracker::BOOT;
|
||||
break;
|
||||
}
|
||||
case (StarTracker::ID::TAKE_IMAGE): {
|
||||
*foundId = StarTracker::TAKE_IMAGE;
|
||||
break;
|
||||
}
|
||||
case (StarTracker::ID::UPLOAD_IMAGE): {
|
||||
*foundId = StarTracker::UPLOAD_IMAGE;
|
||||
break;
|
||||
@ -701,6 +710,15 @@ void StarTrackerHandler::prepareRebootCommand() {
|
||||
rawPacketLen = dataLinkLayer.getEncodedLength();
|
||||
}
|
||||
|
||||
void StarTrackerHandler::prepareTakeImageCommand() {
|
||||
uint32_t length = 0;
|
||||
struct CameraActionRequest camReq;
|
||||
arc_pack_camera_action_req(&camReq, commandBuffer, &length);
|
||||
dataLinkLayer.encodeFrame(commandBuffer, length);
|
||||
rawPacket = dataLinkLayer.getEncodedFrame();
|
||||
rawPacketLen = dataLinkLayer.getEncodedLength();
|
||||
}
|
||||
|
||||
void StarTrackerHandler::prepareSubscriptionCommand(const uint8_t* tmId) {
|
||||
uint32_t length = 18;
|
||||
commandBuffer[0] = TMTC_SETPARAMREQ;
|
||||
|
Reference in New Issue
Block a user