diff --git a/decoder/src/lib/pdu.cc b/decoder/src/lib/pdu.cc index 35c3b13..5b479af 100644 --- a/decoder/src/lib/pdu.cc +++ b/decoder/src/lib/pdu.cc @@ -47,9 +47,21 @@ pdu::do_correct_errors(bit_vector& frame_body) uint16_t pdu::frame_size_max() const { - const size_t HEADER_BLOCK_SIZE = 312; - - // ToDo: decide how do to get header fields when block is not yet complete - +#if 1 + const size_t HEADER_BLOCK_SIZE = 720; return HEADER_BLOCK_SIZE; +#else + const size_t MIN_HEADER_BLOCK_SZ = 312; + // after HEADER_BLOCK_SIZE bits have been read we can then use the + // header contents to decide on frame_size_max + + size_t n = MIN_HEADER_BLOCK_SZ; + if(n < ) { + static const size_t BITS[] = {}; + static const size_t BITS_SZ = sizeof(BITS) / sizeof(BITS[0]); + n = extract(); + } + return n; + +#endif } diff --git a/decoder/src/lib/tsbk.cc b/decoder/src/lib/tsbk.cc index 3b92b4d..9c96209 100644 --- a/decoder/src/lib/tsbk.cc +++ b/decoder/src/lib/tsbk.cc @@ -43,5 +43,10 @@ tsbk::duid_str() const uint16_t tsbk::frame_size_max() const { - return 350; +#if 1 + return 720 +#else + // todo: check this out! + return 358; +#endif }