From 0322a6f345fa3dc32271fdb5ca1d20d18910cfba Mon Sep 17 00:00:00 2001 From: Paul Keith Date: Mon, 27 Jan 2020 20:19:53 -0600 Subject: hidl: consumerir: Fill in implementation for IR hal Change-Id: I0b69cce74a6fce9bf720508c279df67c49641c49 --- hidl/consumerir/ConsumerIr.cpp | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/hidl/consumerir/ConsumerIr.cpp b/hidl/consumerir/ConsumerIr.cpp index 8b5ef82..9696fa0 100644 --- a/hidl/consumerir/ConsumerIr.cpp +++ b/hidl/consumerir/ConsumerIr.cpp @@ -18,6 +18,12 @@ #include +#include +#include + +using android::base::Join; +using android::base::WriteStringToFile; + namespace android { namespace hardware { namespace ir { @@ -26,12 +32,25 @@ namespace implementation { // Methods from ::android::hardware::ir::V1_0::IConsumerIr follow. Return ConsumerIr::transmit(int32_t carrierFreq, const hidl_vec& pattern) { - // TODO implement - return bool {}; + float factor; + std::vector buffer{carrierFreq}; + +#ifndef MS_IR_SIGNAL + // Calculate factor of conversion from microseconds to pulses + factor = 1000000 / carrierFreq; +#else + factor = 1; +#endif + + for (const int32_t& number : pattern) { + buffer.emplace_back(number / factor); + } + + return WriteStringToFile(Join(buffer, ','), IR_PATH, true); } Return ConsumerIr::getCarrierFreqs(getCarrierFreqs_cb _hidl_cb) { - // TODO implement + _hidl_cb(true, consumerirFreqs); return Void(); } -- cgit v1.2.3