Merge pull request 'Arrayprinter format improvements' (#514) from KSat/fsfw:mueller/arrayprinter-improvements into development

Reviewed-on: #514
This commit is contained in:
Ulrich Mohr 2021-10-25 14:09:25 +02:00
commit 0e653378c3

View File

@ -45,18 +45,18 @@ void arrayprinter::printHex(const uint8_t *data, size_t size,
std::cout << "\r" << std::endl;
}
std::cout << "[" << std::hex;
std::cout << "hex [" << std::setfill('0') << std::hex;
for(size_t i = 0; i < size; i++) {
std::cout << "0x" << static_cast<int>(data[i]);
std::cout << std::setw(2) << static_cast<int>(data[i]);
if(i < size - 1) {
std::cout << " , ";
std::cout << ",";
if(i > 0 and (i + 1) % maxCharPerLine == 0) {
std::cout << std::endl;
}
}
}
std::cout << std::dec;
std::cout << std::dec << std::setfill(' ');
std::cout << "]" << std::endl;
#else
// General format: 0x01, 0x02, 0x03 so it is number of chars times 6
@ -69,16 +69,16 @@ void arrayprinter::printHex(const uint8_t *data, size_t size,
break;
}
currentPos += snprintf(printBuffer + currentPos, 6, "0x%02x", data[i]);
currentPos += snprintf(printBuffer + currentPos, 6, "%02x", data[i]);
if(i < size - 1) {
currentPos += sprintf(printBuffer + currentPos, ", ");
currentPos += sprintf(printBuffer + currentPos, ",");
if(i > 0 and (i + 1) % maxCharPerLine == 0) {
currentPos += sprintf(printBuffer + currentPos, "\n");
}
}
}
#if FSFW_DISABLE_PRINTOUT == 0
printf("[%s]\n", printBuffer);
printf("hex [%s]\n", printBuffer);
#endif /* FSFW_DISABLE_PRINTOUT == 0 */
#endif
}
@ -90,11 +90,11 @@ void arrayprinter::printDec(const uint8_t *data, size_t size,
std::cout << "\r" << std::endl;
}
std::cout << "[" << std::dec;
std::cout << "dec [" << std::dec;
for(size_t i = 0; i < size; i++) {
std::cout << static_cast<int>(data[i]);
if(i < size - 1){
std::cout << " , ";
std::cout << ",";
if(i > 0 and (i + 1) % maxCharPerLine == 0) {
std::cout << std::endl;
}
@ -114,14 +114,14 @@ void arrayprinter::printDec(const uint8_t *data, size_t size,
currentPos += snprintf(printBuffer + currentPos, 3, "%d", data[i]);
if(i < size - 1) {
currentPos += sprintf(printBuffer + currentPos, ", ");
currentPos += sprintf(printBuffer + currentPos, ",");
if(i > 0 and (i + 1) % maxCharPerLine == 0) {
currentPos += sprintf(printBuffer + currentPos, "\n");
}
}
}
#if FSFW_DISABLE_PRINTOUT == 0
printf("[%s]\n", printBuffer);
printf("dec [%s]\n", printBuffer);
#endif /* FSFW_DISABLE_PRINTOUT == 0 */
#endif
}