summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Keith <javelinanddart@gmail.com>2020-01-27 20:19:53 -0600
committerJan Altensen <info@stricted.net>2020-01-31 15:51:37 +0100
commit0322a6f345fa3dc32271fdb5ca1d20d18910cfba (patch)
treef2e1d5a85b74a1e0434e7ee79acd28cf3888528f
parentb43a8d575def17b79c0798584b4f2f48169be244 (diff)
downloadandroid_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.cpp25
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();
}