SatDump 2.0.0-alpha-520736c72
Loading...
Searching...
No Matches
svissr_deframer.h
1#pragma once
2
3#include <array>
4#include <cstdint>
5#include <vector>
6
7namespace fengyun_svissr
8{
9 class SVISSRDeframer
10 {
11 private:
12 // Main shifter
13 uint64_t shifter;
14 int goodBits;
15 // Small function to push a bit into the frame
16 void pushBit(uint8_t bit);
17 // Framing variables
18 uint8_t byteBuffer;
19 bool writeFrame;
20 int wroteBits, outputBits;
21 std::vector<uint8_t> frameBuffer;
22
23 // PN Stuff
24 uint64_t pn_shifter;
25 int pn_right_bit_counter = 0;
26
27 public:
28 SVISSRDeframer();
29 std::vector<std::vector<uint8_t>> work(uint8_t *data, int len);
30 };
31} // namespace fengyun_svissr