infrared_transmit.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #include <furi_hal_infrared.h>
  2. #include <infrared.h>
  3. #include <stdint.h>
  4. #ifdef __cplusplus
  5. extern "C" {
  6. #endif
  7. /**
  8. * Send message over INFRARED.
  9. *
  10. * \param[in] message - message to send.
  11. * \param[in] times - number of times message should be sent.
  12. */
  13. void infrared_send(const InfraredMessage* message, int times);
  14. /**
  15. * Send raw data through infrared port.
  16. *
  17. * \param[in] timings - array of timings to send.
  18. * \param[in] timings_cnt - timings array size.
  19. * \param[in] start_from_mark - true if timings starts from mark,
  20. * otherwise from space
  21. */
  22. void infrared_send_raw(const uint32_t timings[], uint32_t timings_cnt, bool start_from_mark);
  23. /**
  24. * Send raw data through infrared port, with additional settings.
  25. *
  26. * \param[in] timings - array of timings to send.
  27. * \param[in] timings_cnt - timings array size.
  28. * \param[in] start_from_mark - true if timings starts from mark,
  29. * otherwise from space
  30. * \param[in] duty_cycle - duty cycle to generate on PWM
  31. * \param[in] frequency - frequency to generate on PWM
  32. */
  33. void infrared_send_raw_ext(
  34. const uint32_t timings[],
  35. uint32_t timings_cnt,
  36. bool start_from_mark,
  37. uint32_t frequency,
  38. float duty_cycle);
  39. #ifdef __cplusplus
  40. }
  41. #endif