X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?p=staging%2Fsoundmanager.git;a=blobdiff_plain;f=sample%2Fradio%2Fbinding%2Fradio_impl.h;fp=sample%2Fradio%2Fbinding%2Fradio_impl.h;h=79e91a4ef49d971a4ae45a3935321aec6e056869;hp=0000000000000000000000000000000000000000;hb=2e602801b372b0b68111316b89f567213e3ea378;hpb=f743c3428f41b8d127e538ea8a6505a0c882cdb2 diff --git a/sample/radio/binding/radio_impl.h b/sample/radio/binding/radio_impl.h new file mode 100644 index 0000000..79e91a4 --- /dev/null +++ b/sample/radio/binding/radio_impl.h @@ -0,0 +1,76 @@ +/* + * Copyright (C) 2017 Konsulko Group + * + * 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. + */ + +#ifndef _RADIO_IMPL_H +#define _RADIO_IMPL_H + +#include + +typedef enum { + BAND_AM = 0, + BAND_FM +} radio_band_t; + +typedef enum { + SCAN_FORWARD = 0, + SCAN_BACKWARD +} radio_scan_direction_t; + +typedef void (*radio_scan_callback_t)(uint32_t frequency, void *data); + +typedef void (*radio_freq_callback_t)(uint32_t frequency, void *data); + +typedef enum { + MONO = 0, + STEREO +} radio_stereo_mode_t; + +int radio_impl_init(void); + +uint32_t radio_impl_get_frequency(void); + +void radio_impl_set_frequency(uint32_t frequency); + +void radio_impl_set_frequency_callback(radio_freq_callback_t callback, + void *data); + +radio_band_t radio_impl_get_band(void); + +void radio_impl_set_band(radio_band_t band); + +int radio_impl_band_supported(radio_band_t band); + +uint32_t radio_impl_get_min_frequency(radio_band_t band); + +uint32_t radio_impl_get_max_frequency(radio_band_t band); + +uint32_t radio_impl_get_frequency_step(radio_band_t band); + +void radio_impl_start(void); + +void radio_impl_stop(void); + +void radio_impl_scan_start(radio_scan_direction_t direction, + radio_scan_callback_t callback, + void *data); + +void radio_impl_scan_stop(void); + +radio_stereo_mode_t radio_impl_get_stereo_mode(void); + +void radio_impl_set_stereo_mode(radio_stereo_mode_t mode); + +#endif /* _RADIO_IMPL_H */