123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237 |
- /*
- * Copyright (c) 2020 Nanjing Xiaoxiongpai Intelligent Technology 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.
- */
- #include "elevator.h"
- #include "cmsis_os2.h"
- #include "iot_errno.h"
- #include "iot_gpio.h"
- #include "iot_gpio_ex.h"
- #include "iot_i2c.h"
- #include <math.h>
- #include <stdio.h>
- #include <string.h>
- #include <unistd.h>
- #define WIFI_IOT_IO_FUNC_GPIO_0_I2C1_SDA 6
- #define WIFI_IOT_IO_FUNC_GPIO_1_I2C1_SCL 6
- #define WIFI_IOT_IO_FUNC_GPIO_7_GPIO 0
- #define WIFI_IOT_I2C_IDX_1 1
- #define LED1 12
- #define LED2 7
- #define LED3 14
- #define LED4 10
- #define LED5 13
- // #define LED6 14
- // #define LED7 7
- // #define LED8 8
- // #define LED9 1
- // #define LED10 0
- #define OUT_GPIO 2
- /***************************************************************
- * 函数名称: BoardInit
- * 说 明: GPIO初始化
- * 参 数: 无
- * 返 回 值: 无
- ***************************************************************/
- void BoardInit(void)
- {
- IoTGpioInit(LED1);
- IoTGpioSetFunc(LED1, IOT_GPIO_FUNC_GPIO_12_GPIO);
- IoTGpioSetDir(LED1, IOT_GPIO_DIR_OUT); //设置为输出模式
- IoTGpioInit(LED2);
- IoTGpioSetFunc(LED2, IOT_GPIO_FUNC_GPIO_7_GPIO);
- IoTGpioSetDir(LED2, IOT_GPIO_DIR_OUT); //设置为输出模式
- IoTGpioInit(LED3);
- IoTGpioSetFunc(LED3, IOT_GPIO_FUNC_GPIO_14_GPIO);
- IoTGpioSetDir(LED3, IOT_GPIO_DIR_OUT); //设置为输出模式
- IoTGpioInit(LED4);
- IoTGpioSetFunc(LED4, IOT_GPIO_FUNC_GPIO_10_GPIO);
- IoTGpioSetDir(LED4, IOT_GPIO_DIR_OUT); //设置为输出模式
- IoTGpioInit(LED5);
- IoTGpioSetFunc(LED5, IOT_GPIO_FUNC_GPIO_13_GPIO);
- IoTGpioSetDir(LED5, IOT_GPIO_DIR_OUT); //设置为输出模式
- // IoTGpioInit(LED6);
- // IoTGpioSetFunc(LED6, IOT_GPIO_FUNC_GPIO_14_GPIO);
- // IoTGpioSetDir(LED6, IOT_GPIO_DIR_OUT); //设置为输出模式
- // IoTGpioInit(LED7);
- // IoTGpioSetFunc(LED7, IOT_GPIO_FUNC_GPIO_7_GPIO);
- // IoTGpioSetDir(LED7, IOT_GPIO_DIR_OUT); //设置为输出模式
- // IoTGpioInit(LED8);
- // IoTGpioSetFunc(LED8, IOT_GPIO_FUNC_GPIO_8_GPIO);
- // IoTGpioSetDir(LED8, IOT_GPIO_DIR_OUT); //设置为输出模式
- // IoTGpioInit(LED9);
- // IoTGpioSetFunc(LED9, IOT_GPIO_FUNC_GPIO_1_GPIO);
- // IoTGpioSetDir(LED9, IOT_GPIO_DIR_OUT); //设置为输出模式
- // IoTGpioInit(LED10);
- // IoTGpioSetFunc(LED10, IOT_GPIO_FUNC_GPIO_0_GPIO);
- // IoTGpioSetDir(LED10, IOT_GPIO_DIR_OUT); //设置为输出模式
- IoTGpioInit(OUT_GPIO);
- IoTGpioSetFunc(OUT_GPIO, IOT_GPIO_FUNC_GPIO_2_GPIO);
- IoTGpioSetDir(OUT_GPIO, IOT_GPIO_DIR_IN); // 设置为输入模式
- }
- /***************************************************************
- * 函数名称: ElevatorReadData
- * 说 明: 读取数据
- * 参 数: 无
- * 返 回 值: 无
- ***************************************************************/
- uint8_t ElevatorReadData(void)
- {
- IotGpioValue temp = {0};
- IoTGpioGetInputVal(OUT_GPIO,&temp);
- return temp;
- }
- /***************************************************************
- * 函数名称: FanStatusSet
- * 说 明: 风扇状态设置
- * 参 数: status,ENUM枚举的数据
- * OFF,关风扇
- * ON,开风扇
- * 返 回 值: 无
- ***************************************************************/
- void FanStatusSet(SwitchStatus status)
- {
- if (status == ON) {
- IoTGpioSetOutputVal(LED1, 0);
- IoTGpioSetOutputVal(LED2, 1);
- IoTGpioSetOutputVal(LED3, 1);
- IoTGpioSetOutputVal(LED4, 1);
- IoTGpioSetOutputVal(LED5, 1);
- // IoTGpioSetOutputVal(LED6, 1);
- // IoTGpioSetOutputVal(LED7, 1);
- // IoTGpioSetOutputVal(LED8, 1);
- // IoTGpioSetOutputVal(LED9, 1);
- // IoTGpioSetOutputVal(LED10, 0);
- osDelay(20);
- IoTGpioSetOutputVal(LED1, 0);
- IoTGpioSetOutputVal(LED2, 0);
- IoTGpioSetOutputVal(LED3, 1);
- IoTGpioSetOutputVal(LED4, 1);
- IoTGpioSetOutputVal(LED5, 1);
- // IoTGpioSetOutputVal(LED6, 1);
- // IoTGpioSetOutputVal(LED7, 1);
- // IoTGpioSetOutputVal(LED8, 1);
- // IoTGpioSetOutputVal(LED9, 0);
- // IoTGpioSetOutputVal(LED10, 0);
- osDelay(20);
- IoTGpioSetOutputVal(LED1, 0);
- IoTGpioSetOutputVal(LED2, 0);
- IoTGpioSetOutputVal(LED3, 0);
- IoTGpioSetOutputVal(LED4, 1);
- IoTGpioSetOutputVal(LED5, 1);
- // IoTGpioSetOutputVal(LED6, 1);
- // IoTGpioSetOutputVal(LED7, 1);
- // IoTGpioSetOutputVal(LED8, 0);
- // IoTGpioSetOutputVal(LED9, 0);
- // IoTGpioSetOutputVal(LED10, 0);
- osDelay(20);
- IoTGpioSetOutputVal(LED1, 0);
- IoTGpioSetOutputVal(LED2, 0);
- IoTGpioSetOutputVal(LED3, 0);
- IoTGpioSetOutputVal(LED4, 0);
- IoTGpioSetOutputVal(LED5, 1);
- // IoTGpioSetOutputVal(LED6, 1);
- // IoTGpioSetOutputVal(LED7, 0);
- // IoTGpioSetOutputVal(LED8, 0);
- // IoTGpioSetOutputVal(LED9, 0);
- // IoTGpioSetOutputVal(LED10, 0);
- osDelay(20);
- IoTGpioSetOutputVal(LED1, 0);
- IoTGpioSetOutputVal(LED2, 0);
- IoTGpioSetOutputVal(LED3, 0);
- IoTGpioSetOutputVal(LED4, 0);
- IoTGpioSetOutputVal(LED5, 0);
- // IoTGpioSetOutputVal(LED6, 0);
- // IoTGpioSetOutputVal(LED7, 0);
- // IoTGpioSetOutputVal(LED8, 0);
- // IoTGpioSetOutputVal(LED9, 0);
- // IoTGpioSetOutputVal(LED10, 0);
- }
- if (status == OFF) {
- IoTGpioSetOutputVal(LED1, 0);
- IoTGpioSetOutputVal(LED2, 0);
- IoTGpioSetOutputVal(LED3, 0);
- IoTGpioSetOutputVal(LED4, 0);
- IoTGpioSetOutputVal(LED5, 1);
- // IoTGpioSetOutputVal(LED6, 1);
- // IoTGpioSetOutputVal(LED7, 0);
- // IoTGpioSetOutputVal(LED8, 0);
- // IoTGpioSetOutputVal(LED9, 0);
- // IoTGpioSetOutputVal(LED10, 0);
- osDelay(20);
- IoTGpioSetOutputVal(LED1, 0);
- IoTGpioSetOutputVal(LED2, 0);
- IoTGpioSetOutputVal(LED3, 0);
- IoTGpioSetOutputVal(LED4, 1);
- IoTGpioSetOutputVal(LED5, 1);
- // IoTGpioSetOutputVal(LED6, 1);
- // IoTGpioSetOutputVal(LED7, 1);
- // IoTGpioSetOutputVal(LED8, 0);
- // IoTGpioSetOutputVal(LED9, 0);
- // IoTGpioSetOutputVal(LED10, 0);
- osDelay(20);
- IoTGpioSetOutputVal(LED1, 0);
- IoTGpioSetOutputVal(LED2, 0);
- IoTGpioSetOutputVal(LED3, 1);
- IoTGpioSetOutputVal(LED4, 1);
- IoTGpioSetOutputVal(LED5, 1);
- // IoTGpioSetOutputVal(LED6, 1);
- // IoTGpioSetOutputVal(LED7, 1);
- // IoTGpioSetOutputVal(LED8, 1);
- // IoTGpioSetOutputVal(LED9, 0);
- // IoTGpioSetOutputVal(LED10, 0);
- osDelay(20);
- IoTGpioSetOutputVal(LED1, 0);
- IoTGpioSetOutputVal(LED2, 1);
- IoTGpioSetOutputVal(LED3, 1);
- IoTGpioSetOutputVal(LED4, 1);
- IoTGpioSetOutputVal(LED5, 1);
- // IoTGpioSetOutputVal(LED6, 1);
- // IoTGpioSetOutputVal(LED7, 1);
- // IoTGpioSetOutputVal(LED8, 1);
- // IoTGpioSetOutputVal(LED9, 1);
- // IoTGpioSetOutputVal(LED10, 0);
- osDelay(20);
- IoTGpioSetOutputVal(LED1, 1);
- IoTGpioSetOutputVal(LED2, 1);
- IoTGpioSetOutputVal(LED3, 1);
- IoTGpioSetOutputVal(LED4, 1);
- IoTGpioSetOutputVal(LED5, 1);
- // IoTGpioSetOutputVal(LED6, 1);
- // IoTGpioSetOutputVal(LED7, 1);
- // IoTGpioSetOutputVal(LED8, 1);
- // IoTGpioSetOutputVal(LED9, 1);
- // IoTGpioSetOutputVal(LED10, 1);
- }
- }
|