52 lines
1.3 KiB
C
52 lines
1.3 KiB
C
#include <stdio.h>
|
|
|
|
#include "bt_spp_server.h"
|
|
#include "drive_control.h"
|
|
#include "driver/gpio.h"
|
|
#include "speed_sensor.h"
|
|
#include "battery_monitor.h"
|
|
#include "esp_err.h"
|
|
#include "esp_log.h"
|
|
#include "nvs_flash.h"
|
|
|
|
static const char *TAG = "MAIN";
|
|
static const gpio_num_t SPEED_SENSOR_GPIO = GPIO_NUM_32;
|
|
|
|
void app_main(void)
|
|
{
|
|
esp_err_t err = nvs_flash_init();
|
|
if (err == ESP_ERR_NVS_NO_FREE_PAGES || err == ESP_ERR_NVS_NEW_VERSION_FOUND) {
|
|
ESP_ERROR_CHECK(nvs_flash_erase());
|
|
err = nvs_flash_init();
|
|
}
|
|
ESP_ERROR_CHECK(err);
|
|
|
|
ESP_LOGI(TAG, "NVS ready");
|
|
|
|
err = speed_sensor_init(SPEED_SENSOR_GPIO);
|
|
if (err != ESP_OK) {
|
|
ESP_LOGE(TAG, "speed_sensor_init failed: %s", esp_err_to_name(err));
|
|
return;
|
|
}
|
|
|
|
err = drive_control_init();
|
|
if (err != ESP_OK) {
|
|
ESP_LOGE(TAG, "drive_control_init failed: %s", esp_err_to_name(err));
|
|
return;
|
|
}
|
|
|
|
err = battery_monitor_init();
|
|
if (err != ESP_OK) {
|
|
ESP_LOGE(TAG, "battery_monitor_init failed: %s", esp_err_to_name(err));
|
|
return;
|
|
}
|
|
|
|
err = bt_spp_server_init();
|
|
if (err != ESP_OK) {
|
|
ESP_LOGE(TAG, "bt_spp_server_init failed: %s", esp_err_to_name(err));
|
|
return;
|
|
}
|
|
|
|
ESP_LOGI(TAG, "Firmware ready. Waiting for Bluetooth client...");
|
|
}
|