diff options
author | Paul Keith <javelinanddart@gmail.com> | 2020-01-27 20:19:53 -0600 |
---|---|---|
committer | Jan Altensen <info@stricted.net> | 2020-01-31 15:51:37 +0100 |
commit | 0322a6f345fa3dc32271fdb5ca1d20d18910cfba (patch) | |
tree | f2e1d5a85b74a1e0434e7ee79acd28cf3888528f | |
parent | b43a8d575def17b79c0798584b4f2f48169be244 (diff) | |
download | android_hardware_samsung-0322a6f345fa3dc32271fdb5ca1d20d18910cfba.tar.gz android_hardware_samsung-0322a6f345fa3dc32271fdb5ca1d20d18910cfba.tar.bz2 android_hardware_samsung-0322a6f345fa3dc32271fdb5ca1d20d18910cfba.zip |
hidl: consumerir: Fill in implementation for IR hal
Change-Id: I0b69cce74a6fce9bf720508c279df67c49641c49
-rw-r--r-- | hidl/consumerir/ConsumerIr.cpp | 25 |
1 files 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 <samsung_ir.h> +#include <android-base/file.h> +#include <android-base/strings.h> + +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<bool> ConsumerIr::transmit(int32_t carrierFreq, const hidl_vec<int32_t>& pattern) { - // TODO implement - return bool {}; + float factor; + std::vector<int32_t> 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<void> ConsumerIr::getCarrierFreqs(getCarrierFreqs_cb _hidl_cb) { - // TODO implement + _hidl_cb(true, consumerirFreqs); return Void(); } |