27 lines
792 B
C
27 lines
792 B
C
|
#pragma once
|
||
|
#include "protocol_generic.h"
|
||
|
|
||
|
class ProtocolIoProx : public ProtocolGeneric {
|
||
|
public:
|
||
|
uint8_t get_encoded_data_size() final;
|
||
|
uint8_t get_decoded_data_size() final;
|
||
|
|
||
|
void encode(
|
||
|
const uint8_t* decoded_data,
|
||
|
const uint8_t decoded_data_size,
|
||
|
uint8_t* encoded_data,
|
||
|
const uint8_t encoded_data_size) final;
|
||
|
|
||
|
void decode(
|
||
|
const uint8_t* encoded_data,
|
||
|
const uint8_t encoded_data_size,
|
||
|
uint8_t* decoded_data,
|
||
|
const uint8_t decoded_data_size) final;
|
||
|
|
||
|
bool can_be_decoded(const uint8_t* encoded_data, const uint8_t encoded_data_size) final;
|
||
|
|
||
|
private:
|
||
|
/** Computes the IoProx checksum of the provided (decoded) data. */
|
||
|
uint8_t compute_checksum(const uint8_t* data, const uint8_t data_size);
|
||
|
};
|