infrared_protocol_kaseikyo.h 1.7 KB

12345678910111213141516171819202122232425262728293031
  1. #pragma once
  2. #include "../infrared_i.h"
  3. /***************************************************************************************************
  4. * Kaseikyo protocol description
  5. * https://github.com/Arduino-IRremote/Arduino-IRremote/blob/master/src/ir_Kaseikyo.hpp
  6. ****************************************************************************************************
  7. * Preamble Preamble Pulse Distance/Width Pause Preamble Preamble
  8. * mark space Modulation up to period repeat repeat
  9. * mark space
  10. *
  11. * 3360 1665 48 bit ...130000 3456 1728
  12. * __________ _ _ _ _ _ _ _ _ _ _ _ _ _ ___________
  13. * ____ __________ _ _ _ __ __ __ _ _ __ __ _ _ ________________ ___________
  14. *
  15. ***************************************************************************************************/
  16. void* infrared_decoder_kaseikyo_alloc(void);
  17. void infrared_decoder_kaseikyo_reset(void* decoder);
  18. void infrared_decoder_kaseikyo_free(void* decoder);
  19. InfraredMessage* infrared_decoder_kaseikyo_check_ready(void* decoder);
  20. InfraredMessage* infrared_decoder_kaseikyo_decode(void* decoder, bool level, uint32_t duration);
  21. void* infrared_encoder_kaseikyo_alloc(void);
  22. InfraredStatus
  23. infrared_encoder_kaseikyo_encode(void* encoder_ptr, uint32_t* duration, bool* level);
  24. void infrared_encoder_kaseikyo_reset(void* encoder_ptr, const InfraredMessage* message);
  25. void infrared_encoder_kaseikyo_free(void* encoder_ptr);
  26. const InfraredProtocolVariant* infrared_protocol_kaseikyo_get_variant(InfraredProtocol protocol);