mirror of
https://github.com/SatDump/SatDump
synced 2026-08-13 17:47:30 -04:00
47 lines
No EOL
1.1 KiB
C++
47 lines
No EOL
1.1 KiB
C++
#include "vegs_reader.h"
|
|
#include "common/ccsds/ccsds_time.h"
|
|
#include "common/repack.h"
|
|
|
|
#include "logger.h"
|
|
|
|
namespace proba
|
|
{
|
|
namespace vegetation
|
|
{
|
|
VegetationS::VegetationS(int frm_size, int line_size)
|
|
{
|
|
img_data.resize(line_size);
|
|
|
|
lines = 0;
|
|
|
|
this->frm_size = frm_size;
|
|
this->line_size = line_size;
|
|
|
|
tmp_words = new uint16_t[line_size * 2];
|
|
}
|
|
|
|
VegetationS::~VegetationS()
|
|
{
|
|
delete[] tmp_words;
|
|
}
|
|
|
|
void VegetationS::work(ccsds::CCSDSPacket &packet)
|
|
{
|
|
if ((int)packet.payload.size() < frm_size)
|
|
return;
|
|
|
|
repackBytesTo12bits(&packet.payload[18], frm_size - 18, tmp_words);
|
|
|
|
for (int i = 0; i < line_size; i++)
|
|
img_data[lines * line_size + i] = tmp_words[i] << 4;
|
|
|
|
lines++;
|
|
img_data.resize((lines + 1) * line_size);
|
|
}
|
|
|
|
image::Image VegetationS::getImg()
|
|
{
|
|
return image::Image(img_data.data(), 16, line_size, lines, 1);
|
|
}
|
|
} // namespace swap
|
|
} // namespace proba
|