/* * Copyright 2016 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.hardware.ir@1.0; interface IConsumerIr { /** * transmit() sends an IR pattern at a given carrierFreq. * * The pattern is alternating series of carrier on and off periods measured in * microseconds. The carrier should be turned off at the end of a transmit * even if there are and odd number of entries in the pattern array. * * This call must return when the transmit is complete or encounters an error. * * returns: true on success, false on error. */ transmit(int32_t carrierFreq, vec<int32_t> pattern) generates (bool success); /** * getCarrierFreqs() enumerates which frequencies the IR transmitter supports. * * returns: On success, true and a vector of all supported frequency * ranges. On error, returns false. */ getCarrierFreqs() generates (bool success, vec<ConsumerIrFreqRange> ranges); };