meier/ImtqHandler #44
@ -56,6 +56,7 @@ ReturnValue_t CCSDSIPCoreBridge::handleTm() {
|
|||||||
ReturnValue_t CCSDSIPCoreBridge::sendTm(const uint8_t * data, size_t dataLen) {
|
ReturnValue_t CCSDSIPCoreBridge::sendTm(const uint8_t * data, size_t dataLen) {
|
||||||
|
|
||||||
if(pollPapbSignal() == RETURN_OK) {
|
if(pollPapbSignal() == RETURN_OK) {
|
||||||
|
ptmeBufferEmpty();
|
||||||
startPacketTransfer();
|
startPacketTransfer();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -72,6 +73,7 @@ ReturnValue_t CCSDSIPCoreBridge::sendTm(const uint8_t * data, size_t dataLen) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(pollPapbSignal() == RETURN_OK) {
|
if(pollPapbSignal() == RETURN_OK) {
|
||||||
|
ptmeBufferEmpty();
|
||||||
endPacketTransfer();
|
endPacketTransfer();
|
||||||
}
|
}
|
||||||
return RETURN_OK;
|
return RETURN_OK;
|
||||||
@ -103,3 +105,24 @@ ReturnValue_t CCSDSIPCoreBridge::pollPapbSignal() {
|
|||||||
|
|
||||||
return RETURN_OK;
|
return RETURN_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CCSDSIPCoreBridge::ptmeBufferEmpty() {
|
||||||
|
ReturnValue_t result = RETURN_OK;
|
||||||
|
int papbEmptyState = 1;
|
||||||
|
|
||||||
|
result = gpioComIF->readGpio(papbEmptyId, &papbEmptyState);
|
||||||
|
|
||||||
|
if (result != RETURN_OK) {
|
||||||
|
sif::debug << "CCSDSIPCoreBridge::ptmeBufferEmpty: Failed to read papb empty signal"
|
||||||
|
<< std::endl;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (papbEmptyState == 1) {
|
||||||
|
sif::debug << "CCSDSIPCoreBridge::ptmeBufferEmpty: Buffer is empty" << std::endl;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
sif::debug << "CCSDSIPCoreBridge::ptmeBufferEmpty: Buffer is not empty" << std::endl;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
@ -53,7 +53,8 @@ private:
|
|||||||
|
|
||||||
|
|
||||||
/** Size of mapped address space. 4k (minimal size of pl device) */
|
/** Size of mapped address space. 4k (minimal size of pl device) */
|
||||||
static const int MAP_SIZE = 0xFA0;
|
// static const int MAP_SIZE = 0xFA0;
|
||||||
|
static const int MAP_SIZE = 0x1000;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Configuration bits:
|
* Configuration bits:
|
||||||
@ -111,6 +112,12 @@ private:
|
|||||||
* @return RETURN_OK when ready to receive data else PAPB_BUSY.
|
* @return RETURN_OK when ready to receive data else PAPB_BUSY.
|
||||||
*/
|
*/
|
||||||
ReturnValue_t pollPapbSignal();
|
ReturnValue_t pollPapbSignal();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief This function can be used for debugging to check wheter there are packets in
|
||||||
|
* the packet buffer of the PTME or not.
|
||||||
|
*/
|
||||||
|
void ptmeBufferEmpty();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* MISSION_OBC_CCSDSIPCOREBRIDGE_H_ */
|
#endif /* MISSION_OBC_CCSDSIPCOREBRIDGE_H_ */
|
||||||
|
Loading…
Reference in New Issue
Block a user