protocol_ioprox.h 792 B

1234567891011121314151617181920212223242526
  1. #pragma once
  2. #include "protocol_generic.h"
  3. class ProtocolIoProx : public ProtocolGeneric {
  4. public:
  5. uint8_t get_encoded_data_size() final;
  6. uint8_t get_decoded_data_size() final;
  7. void encode(
  8. const uint8_t* decoded_data,
  9. const uint8_t decoded_data_size,
  10. uint8_t* encoded_data,
  11. const uint8_t encoded_data_size) final;
  12. void decode(
  13. const uint8_t* encoded_data,
  14. const uint8_t encoded_data_size,
  15. uint8_t* decoded_data,
  16. const uint8_t decoded_data_size) final;
  17. bool can_be_decoded(const uint8_t* encoded_data, const uint8_t encoded_data_size) final;
  18. private:
  19. /** Computes the IoProx checksum of the provided (decoded) data. */
  20. uint8_t compute_checksum(const uint8_t* data, const uint8_t data_size);
  21. };