123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- /* main.c -- MQTT client example
- *
- * Copyright (c) 2014-2015, Tuan PM <tuanpm at live dot com>
- * 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 Redis 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 AND FITNESS FOR A PARTICULAR PURPOSE
- * 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.
- */
- #include "esp_common.h"
- #include "driver/uart.h"
- #include "driver/spi_interface.h"
- #include "gpio.h"
- #include "log/esp_log.h"
- #include "gdbstub/gdbstub.h"
- #include "hal/lsm6ds3.h"
- #include "hal/max17043.h"
- #include "hal/lps25hb.h"
- #include "hal/ws2812.h"
- #include "interface/wifi_interface.h"
- #include "user_config.h"
- static const char* TAG = "main.c";
- void ICACHE_FLASH_ATTR wifi_success_cb(void)
- {
- ESP_LOGV(TAG, "Wi-Fi Success");
- }
- void ICACHE_FLASH_ATTR wifi_fail_cb(wifi_failure_et failure_code)
- {
- ESP_LOGV(TAG, "Wi-Fi failure")
- switch (failure_code)
- {
- case WIFI_AP_DISCONNECTED:
- {
- ESP_LOGI(TAG, "Wi-Fi connection lost");
- break;
- }
- case WIFI_AP_AUTHMODE_CHANGE:
- {
- ESP_LOGI(TAG, "Wi-Fi credential failure or change");
- break;
- }
- case WIFI_NO_STORED_APS_FAILURE:
- {
- ESP_LOGI(TAG, "no stored Wi-Fi credentials");
- break;
- }
- case WIFI_NO_AVAILABLE_APS_FAILURE:
- {
- ESP_LOGI(TAG, "no Wi-Fi available");
- break;
- }
- case WIFI_TIMEOUT_FAILURE:
- {
- ESP_LOGI(TAG, "Wi-Fi timeout");
- break;
- }
- case WIFI_SCAN_FAILURE:
- {
- ESP_LOGW(TAG, "Wi-Fi scan failure");
- break;
- }
- default:
- {
- ESP_LOGW(TAG, "unknown Wi-Fi failure code");
- }
- }
- }
- void ICACHE_FLASH_ATTR app_init(void)
- {
- uart_init(BIT_RATE_115200, BIT_RATE_115200, DISABLE_UART1);
- ESP_LOGD(TAG, "LSM6DS3, MAX17043, and LPS25HB Testing...");
- //while(true)
- {
- LSM6DS3_Enable_I2C_Bridge(1);
- uint16_t x = max17043_getVoltage();
- ESP_LOGI(TAG, "MAX17043 Voltage %d", x);
- uint8_t y;
- LPS25HB_Get_DeviceID(&y);
- ESP_LOGI(TAG, "DEVICEID %x", y);
- // uint8_t i;
- // for(i=0;i<8;i++)
- // ESP_LOGI(TAG, "RX SPI Value: %x", data[i]);
- //os_delay_us(1000000);
- system_soft_wdt_feed();
- }
- ESP_LOGI(TAG, "WS2812B Testing...");
- //while(true)
- {
- ESP_LOGI(TAG, "Setting WS2812B");
- WS2812_SetColor(WS2812_ORANGE, WS2812_PULSE);
- }
- ESP_LOGI(TAG, "IO Testing...")
- {
- IO_InitIO();
- //Encoder_SetSwitchCallback(os_printf("SWITCH_A"), os_printf("SWITCH_B"));
- //Encoder_SetIMUCallback(os_printf("IMU"));
- LSM6DS3_EnableMotion();
- IO_EnableIOInterrupts();
- }
- ESP_LOGI(TAG, "WiFi Interface Testing...")
- {
- WiFi_SetCallbacks(wifi_success_cb, wifi_fail_cb);
- WiFi_Connect(30*1000); // thirty seconds
- }
- }
- void user_init(void)
- {
- WiFi_Initialize();
- system_init_done_cb(app_init);
- //WiFi_Initialize();
- }
|