mirror of
https://github.com/SatDump/SatDump
synced 2026-08-13 17:47:30 -04:00
36 lines
No EOL
828 B
C++
36 lines
No EOL
828 B
C++
/*
|
|
* packetfixer.cpp
|
|
*
|
|
* Created on: 05/11/2016
|
|
* Author: Lucas Teske
|
|
*/
|
|
|
|
#include "packetfixer.h"
|
|
|
|
namespace sathelper
|
|
{
|
|
void PacketFixer::fixPacket(uint8_t *data, uint32_t length, PhaseShift phaseShift, bool iqInversion)
|
|
{
|
|
if (iqInversion || phaseShift != PhaseShift::DEG_0)
|
|
{
|
|
for (uint32_t i = 0; i < length; i += 2)
|
|
{
|
|
if (iqInversion)
|
|
{
|
|
uint8_t x = data[i + 1];
|
|
data[i + 1] = data[i];
|
|
data[i] = x;
|
|
}
|
|
if (phaseShift == PhaseShift::DEG_90 || phaseShift == PhaseShift::DEG_270)
|
|
{
|
|
Rotate(&data[i]);
|
|
}
|
|
if (phaseShift == PhaseShift::DEG_180 || phaseShift == PhaseShift::DEG_270)
|
|
{
|
|
data[i] ^= 0xFF;
|
|
data[i + 1] ^= 0xFF;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} // namespace sathelper
|