blob: c6ca9643c0ff28ef1e93bad1aefc1d830bf402b0 [file] [log] [blame]
/*
* Copyright (c) 2009-2012, The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of The Linux Foundation nor
* the names of its contributors may be used to endorse or promote
* products derived from this software without specific prior written
* permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package qcom.fmradio;
class FmReceiverJNI {
/**
* General success
*/
static final int FM_JNI_SUCCESS = 0;
/**
* General failure
*/
static final int FM_JNI_FAILURE = -1;
/**
* native method: Open device
* @return The file descriptor of the device
*
*/
static native int acquireFdNative(String path);
/**
* native method:
* @param fd
* @param control
* @param field
* @return
*/
static native int audioControlNative(int fd, int control, int field);
/**
* native method: cancels search
* @param fd file descriptor of device
* @return May return
* {@link #FM_JNI_SUCCESS}
* {@link #FM_JNI_FAILURE}
*/
static native int cancelSearchNative(int fd);
/**
* native method: release control of device
* @param fd file descriptor of device
* @return May return
* {@link #FM_JNI_SUCCESS}
* {@link #FM_JNI_FAILURE}
*/
static native int closeFdNative(int fd);
/**
* native method: get frequency
* @param fd file descriptor of device
* @return Returns frequency in int form
*/
static native int getFreqNative(int fd);
/**
* native method: set frequency
* @param fd file descriptor of device
* @param freq freq to be set in int form
* @return {@link #FM_JNI_SUCCESS}
* {@link #FM_JNI_FAILURE}
*
*/
static native int setFreqNative(int fd, int freq);
/**
* native method: get v4l2 control
* @param fd file descriptor of device
* @param id v4l2 id to be retrieved
* @return Returns current value of the
* v4l2 control
*/
static native int getControlNative (int fd, int id);
/**
* native method: set v4l2 control
* @param fd file descriptor of device
* @param id v4l2 control to be set
* @param value value to be set
* @return {@link #FM_JNI_SUCCESS}
* {@link #FM_JNI_FAILURE}
*/
static native int setControlNative (int fd, int id, int value);
/**
* native method: start search
* @param fd file descriptor of device
* @param dir search direction
* @return {@link #FM_JNI_SUCCESS}
* {@link #FM_JNI_FAILURE}
*/
static native int startSearchNative (int fd, int dir);
/**
* native method: get buffer
* @param fd file descriptor of device
* @param buff[] buffer
* @param index index of the buffer to be retrieved
* @return {@link #FM_JNI_SUCCESS}
* {@link #FM_JNI_FAILURE}
*/
static native int getBufferNative (int fd, byte buff[], int index);
/**
* native method: get RSSI value of the
* received signal
* @param fd file descriptor of device
* @return Returns signal strength in int form
* Signal value range from -120 to 10
*/
static native int getRSSINative (int fd);
/**
* native method: set FM band
* @param fd file descriptor of device
* @param low lower band
* @param high higher band
* @return {@link #FM_JNI_SUCCESS}
* {@link #FM_JNI_FAILURE}
*/
static native int setBandNative (int fd, int low, int high);
/**
* native method: get lower band
* @param fd file descriptor of device
* @return Returns lower band in int form
*/
static native int getLowerBandNative (int fd);
/**
* native method: get upper band
* @param fd file descriptor of device
* @return Returns upper band in int form
*/
static native int getUpperBandNative (int fd);
/**
* native method: force Mono/Stereo mode
* @param fd file descriptor of device
* @param val force mono/stereo indicator
* @return {@link #FM_JNI_SUCCESS}
* {@link #FM_JNI_FAILURE}
*/
static native int setMonoStereoNative (int fd, int val);
/**
* native method: get Raw RDS data
* @param fd file descriptor of device
* @param buff[] buffer
* @param count number of bytes to be read
* @return Returns number of bytes read
*/
static native int getRawRdsNative (int fd, byte buff[], int count);
/**
* native method: set v4l2 control
* @param fd file descriptor of device
* @param id v4l2 control to be set
* @param value value to be set
* @return {@link #FM_JNI_SUCCESS}
* {@link #FM_JNI_FAILURE}
*/
static native int setNotchFilterNative(int fd, int id, boolean value);
/**
* native method: enable/disable Analog Mode
*/
static native int setAnalogModeNative(boolean value);
/**
* native method: Starts the RT transmission
* @param fd file descriptor of device
* @param buff[] buffer
* @param count number of bytes to be read
* @return Returns number of bytes read
*/
static native int startRTNative(int fd, String str, int count);
/**
* native method: Stops the RT transmission
* @param fd file descriptor of device
* @param buff[] buffer
* @param count number of bytes to be read
* @return Returns number of bytes read
*/
static native int stopRTNative(int fd);
/**
* native method: Starts the PS transmission
* @param fd file descriptor of device
* @param buff[] buffer
* @param count number of bytes to be read
* @return Returns number of bytes read
*/
static native int startPSNative(int fd, String str, int count);
/**
* native method: Stops the PS transmission
* @param fd file descriptor of device
* @param buff[] buffer
* @param count number of bytes to be read
*/
static native int stopPSNative(int fd);
/**
* native method: Sets the Programme type for transmission
* @param fd file descriptor of device
* @param pty program type to be transmited
* @return {@link #FM_JNI_SUCCESS}
* {@link #FM_JNI_FAILURE}
*/
static native int setPTYNative (int fd, int pty);
/**
* native method: Sets the Programme Id for transmission
* @param fd file descriptor of device
* @param pty program Id to be transmited
* @return {@link #FM_JNI_SUCCESS}
* {@link #FM_JNI_FAILURE}
*/
static native int setPINative (int fd, int pi);
/**
* native method: Sets the repeat count for Programme service
* transmission.
* @param fd file descriptor of device
* @param repeatcount number of times PS string to be transmited
* repeatedly.
* @return {@link #FM_JNI_SUCCESS}
* {@link #FM_JNI_FAILURE}
*/
static native int setPSRepeatCountNative(int fd, int repeatCount);
/**
* native method: Sets the power level for the tramsmitter
* transmission.
* @param fd file descriptor of device
* @param powLevel is the level at which transmitter operates.
* @return {@link #FM_JNI_SUCCESS}
* {@link #FM_JNI_FAILURE}
*/
static native int setTxPowerLevelNative(int fd, int powLevel);
/**
* native method: Sets the calibration
* @param fd file descriptor of device
* @return {@link #FM_JNI_SUCCESS}
* {@link #FM_JNI_FAILURE}
*/
static native int SetCalibrationNative(int fd);
/**
* native method: Configures the spur table
* @param fd file descriptor of device
* @return {@link #FM_JNI_SUCCESS}
* {@link #FM_JNI_FAILURE}
*/
static native int configureSpurTable(int fd);
/**
* native method: Configures the new spur table
* @param fd file descriptor of device
* @return {@link #FM_JNI_SUCCESS}
* {@link #FM_JNI_FAILURE}
*/
static native int setSpurDataNative(int fd, short buff[], int len);
static native void configurePerformanceParams(int fd);
}