#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 {
// 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();
}