123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175 |
- /*
- * Copyright (c) 2021 Huawei Device Co., Ltd.
- * 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 PERIPHERAL_HAL_H
- #define PERIPHERAL_HAL_H
- #include "ohos_types.h"
- /* gpio start */
- typedef enum {
- /** GPIO hardware pin 0 */
- HAL_WIFI_IOT_IO_NAME_GPIO_0,
- /** GPIO hardware pin 1 */
- HAL_WIFI_IOT_IO_NAME_GPIO_1,
- /** GPIO hardware pin 2 */
- HAL_WIFI_IOT_IO_NAME_GPIO_2,
- /** GPIO hardware pin 3 */
- HAL_WIFI_IOT_IO_NAME_GPIO_3,
- /** GPIO hardware pin 4 */
- HAL_WIFI_IOT_IO_NAME_GPIO_4,
- /** GPIO hardware pin 5 */
- HAL_WIFI_IOT_IO_NAME_GPIO_5,
- /** GPIO hardware pin 6 */
- HAL_WIFI_IOT_IO_NAME_GPIO_6,
- /** GPIO hardware pin 7 */
- HAL_WIFI_IOT_IO_NAME_GPIO_7,
- /** GPIO hardware pin 8 */
- HAL_WIFI_IOT_IO_NAME_GPIO_8,
- /** GPIO hardware pin 9 */
- HAL_WIFI_IOT_IO_NAME_GPIO_9,
- /** GPIO hardware pin 10 */
- HAL_WIFI_IOT_IO_NAME_GPIO_10,
- /** GPIO hardware pin 11 */
- HAL_WIFI_IOT_IO_NAME_GPIO_11,
- /** GPIO hardware pin 12 */
- HAL_WIFI_IOT_IO_NAME_GPIO_12,
- /** GPIO hardware pin 13 */
- HAL_WIFI_IOT_IO_NAME_GPIO_13,
- /** GPIO hardware pin 14 */
- HAL_WIFI_IOT_IO_NAME_GPIO_14,
- /** Maximum value */
- HAL_WIFI_IOT_IO_NAME_MAX,
- } HalWifiIotIoName;
- /**
- * @brief set IO function.
- *
- * @param id -- IO number, reference {@ HalWifiIotIoName}.
- * @param val -- the io function value which defined in {@ hi_io.h}.
- *
- * @return Returns {@link WIFI_IOT_SUCCESS} if the operation is successful;
- * returns an error code defined in {@link wifiiot_errno.h} otherwise.
- * @since 1.0
- * @version 1.0
- */
- unsigned int HalIoSetFunc(HalWifiIotIoName id, const char *val);
- /* gpio end */
- /* adc start */
- /**
- * @brief Enumerates ADC channel indexes.
- *
- */
- typedef enum {
- /** Channel 0 */
- HAL_WIFI_IOT_ADC_CHANNEL_0,
- /** Channel 1 */
- HAL_WIFI_IOT_ADC_CHANNEL_1,
- /** Channel 2 */
- HAL_WIFI_IOT_ADC_CHANNEL_2,
- /** Channel 3 */
- HAL_WIFI_IOT_ADC_CHANNEL_3,
- /** Channel 4 */
- HAL_WIFI_IOT_ADC_CHANNEL_4,
- /** Channel 5 */
- HAL_WIFI_IOT_ADC_CHANNEL_5,
- /** Channel 6 */
- HAL_WIFI_IOT_ADC_CHANNEL_6,
- /** Channel 7 */
- HAL_WIFI_IOT_ADC_CHANNEL_7,
- /** Button value */
- HAL_WIFI_IOT_ADC_CHANNEL_BUTT,
- } HalWifiIotAdcChannelIndex;
- /**
- * @brief Enumerates analog power control modes.
- */
- typedef enum {
- /** Automatic control */
- HAL_WIFI_IOT_ADC_CUR_BAIS_DEFAULT,
- /** Automatic control */
- HAL_WIFI_IOT_ADC_CUR_BAIS_AUTO,
- /** Manual control (AVDD = 1.8 V) */
- HAL_WIFI_IOT_ADC_CUR_BAIS_1P8V,
- /** Manual control (AVDD = 3.3 V) */
- HAL_WIFI_IOT_ADC_CUR_BAIS_3P3V,
- /** Button value */
- HAL_WIFI_IOT_ADC_CUR_BAIS_BUTT,
- } HalWifiIotAdcCurBais;
- /**
- * @brief Enumerates equation models.
- */
- typedef enum {
- /** One-equation model */
- HAL_WIFI_IOT_ADC_EQU_MODEL_1,
- /** Two-equation model */
- HAL_WIFI_IOT_ADC_EQU_MODEL_2,
- /** Four-equation model */
- HAL_WIFI_IOT_ADC_EQU_MODEL_4,
- /** Eight-equation model */
- HAL_WIFI_IOT_ADC_EQU_MODEL_8,
- /** Button value */
- HAL_WIFI_IOT_ADC_EQU_MODEL_BUTT,
- } HalWifiIotAdcEquModelSel;
- /**
- * @brief Reads a piece of sampled data from a specified ADC channel based on the input parameters.
- *
- *
- *
- * @param channel Indicates the ADC channel index.
- * @param data Indicates the pointer to the address for storing the read data.
- * @param equModel Indicates the equation model.
- * @param curBais Indicates the analog power control mode.
- * @param rstCnt Indicates the count of the time from reset to conversion start.
- * One count is equal to 334 ns. The value must range from 0 to 0xFF0.
- * @return Returns {@link WIFI_IOT_SUCCESS} if the operation is successful;
- * returns an error code defined in {@link wifiiot_errno.h} otherwise.
- * @since 1.0
- * @version 1.0
- */
- unsigned int HalAdcRead(HalWifiIotAdcChannelIndex channel, unsigned short *data, HalWifiIotAdcEquModelSel equModel,
- HalWifiIotAdcCurBais curBais, unsigned short rstCnt);
- /** adc end ****/
- /**
- * @brief set WatchDog enable or disable.
- *
- * @param enable -- 1 enable, 0 disable.
- *
- * @since 1.0
- * @version 1.0
- */
- void HalSetWatchDogEnable(int enable);
- /**
- * @brief start the pwm.
- *
- * @param id Port id of PWM
- * @param duty The usefull cycles of PWM
- * @param freq The total cycles of PWM
- *
- * @return Returns {@link WIFI_IOT_SUCCESS} if the operation is successful;
- * returns an error code defined in {@link wifiiot_errno.h} otherwise.
- * @since 1.0
- * @version 1.0
- */
- unsigned int HalPwmStart(uint32 id, uint16 duty, uint16 freq);
- #endif // PERIPHERAL_HAL_H
|