Compare commits
3 Commits
a312625085
...
97072a7d87
Author | SHA1 | Date | |
---|---|---|---|
97072a7d87
|
|||
59f2d3f83a
|
|||
6efbe91747
|
2
firmware/.gitignore
vendored
2
firmware/.gitignore
vendored
@@ -38,3 +38,5 @@ bin/
|
||||
components/**/*.a
|
||||
*.ninja
|
||||
Testing/*
|
||||
|
||||
**/insights_auth_key.txt
|
||||
|
10
firmware/components/analytics/CMakeLists.txt
Normal file
10
firmware/components/analytics/CMakeLists.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
idf_component_register(SRCS
|
||||
src/analytics.c
|
||||
INCLUDE_DIRS "include"
|
||||
REQUIRES
|
||||
rmaker_common
|
||||
esp_insights
|
||||
rmaker_common
|
||||
)
|
||||
|
||||
target_add_binary_data(${COMPONENT_TARGET} "insights_auth_key.txt" TEXT)
|
@@ -4,7 +4,7 @@
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
void wifi_init_sta(void);
|
||||
void analytics_init(void);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
20
firmware/components/analytics/src/analytics.c
Normal file
20
firmware/components/analytics/src/analytics.c
Normal file
@@ -0,0 +1,20 @@
|
||||
#include "analytics.h"
|
||||
#include "esp_insights.h"
|
||||
#include "esp_rmaker_utils.h"
|
||||
|
||||
extern const char insights_auth_key_start[] asm("_binary_insights_auth_key_txt_start");
|
||||
extern const char insights_auth_key_end[] asm("_binary_insights_auth_key_txt_end");
|
||||
|
||||
void analytics_init(void)
|
||||
{
|
||||
esp_insights_config_t config = {
|
||||
.log_type = ESP_DIAG_LOG_TYPE_ERROR | ESP_DIAG_LOG_TYPE_EVENT | ESP_DIAG_LOG_TYPE_WARNING,
|
||||
.node_id = NULL,
|
||||
.auth_key = insights_auth_key_start,
|
||||
.alloc_ext_ram = false,
|
||||
};
|
||||
|
||||
esp_insights_init(&config);
|
||||
|
||||
esp_rmaker_time_sync_init(NULL);
|
||||
}
|
@@ -1,7 +1,11 @@
|
||||
idf_component_register(SRCS
|
||||
src/ble_manager.c
|
||||
src/wifi_manager.c
|
||||
INCLUDE_DIRS "include"
|
||||
PRIV_REQUIRES
|
||||
bt
|
||||
driver
|
||||
nvs_flash
|
||||
)
|
||||
esp_insights
|
||||
led-manager
|
||||
)
|
@@ -0,0 +1,10 @@
|
||||
#pragma once
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
void wifi_manager_init(void);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
@@ -1,4 +1,4 @@
|
||||
#include "wifi_handler.h"
|
||||
#include "wifi_manager.h"
|
||||
|
||||
#include "esp_event.h"
|
||||
#include "esp_insights.h"
|
||||
@@ -21,7 +21,7 @@ static EventGroupHandle_t s_wifi_event_group;
|
||||
#define WIFI_CONNECTED_BIT BIT0
|
||||
#define WIFI_FAIL_BIT BIT1
|
||||
|
||||
static const char *TAG = "wifi_handler";
|
||||
static const char *TAG = "wifi_manager";
|
||||
|
||||
static int s_retry_num = 0;
|
||||
|
||||
@@ -72,7 +72,7 @@ static void event_handler(void *arg, esp_event_base_t event_base, int32_t event_
|
||||
}
|
||||
}
|
||||
|
||||
void wifi_init_sta()
|
||||
void wifi_manager_init()
|
||||
{
|
||||
s_wifi_event_group = xEventGroupCreate();
|
||||
|
@@ -2,12 +2,7 @@
|
||||
|
||||
#include "ui/MainMenu.h"
|
||||
|
||||
#ifndef ESP32
|
||||
#include <chrono>
|
||||
#include <thread>
|
||||
#endif
|
||||
|
||||
uint64_t counter = 0;
|
||||
uint64_t splashTime = 0;
|
||||
|
||||
SplashScreen::SplashScreen(menu_options_t *options) : Widget(options->u8g2), m_options(options)
|
||||
{
|
||||
@@ -15,18 +10,14 @@ SplashScreen::SplashScreen(menu_options_t *options) : Widget(options->u8g2), m_o
|
||||
|
||||
void SplashScreen::update(const uint64_t dt)
|
||||
{
|
||||
counter += dt;
|
||||
if (counter >= 3000)
|
||||
splashTime += dt;
|
||||
if (splashTime > 100)
|
||||
{
|
||||
counter = 0;
|
||||
if (m_options && m_options->setScreen)
|
||||
{
|
||||
m_options->setScreen(std::make_shared<MainMenu>(m_options));
|
||||
}
|
||||
}
|
||||
#ifndef ESP32
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(1));
|
||||
#endif
|
||||
}
|
||||
|
||||
void SplashScreen::render()
|
||||
@@ -36,4 +27,4 @@ void SplashScreen::render()
|
||||
u8g2_DrawStr(u8g2, 30, u8g2->height / 2 + 5, "Axel Janz");
|
||||
u8g2_SetFont(u8g2, u8g2_font_haxrcorp4089_tr);
|
||||
u8g2_DrawStr(u8g2, 35, 50, "Initialisierung...");
|
||||
}
|
||||
}
|
||||
|
@@ -4,21 +4,18 @@ idf_component_register(SRCS
|
||||
button_handling.c
|
||||
i2c_checker.c
|
||||
hal/u8g2_esp32_hal.c
|
||||
wifi_handler.c
|
||||
INCLUDE_DIRS "."
|
||||
PRIV_REQUIRES
|
||||
analytics
|
||||
insa
|
||||
ble-manager
|
||||
connectivity-manager
|
||||
led-manager
|
||||
persistence-manager
|
||||
u8g2
|
||||
nvs_flash
|
||||
driver
|
||||
esp_timer
|
||||
esp_event
|
||||
esp_wifi
|
||||
app_update
|
||||
rmaker_common
|
||||
)
|
||||
|
||||
target_add_binary_data(${COMPONENT_TARGET} "insights_auth_key.txt" TEXT)
|
||||
|
@@ -1,5 +1,11 @@
|
||||
menu "System Control"
|
||||
menu "WiFi Configuration"
|
||||
config WIFI_ENABLED
|
||||
bool "Enable WiFi"
|
||||
default y
|
||||
help
|
||||
Enable or disable WiFi connectivity.
|
||||
|
||||
config WIFI_SSID
|
||||
string "WiFi SSID"
|
||||
default "YourSSID"
|
||||
|
@@ -1,5 +1,6 @@
|
||||
#include "app_task.h"
|
||||
|
||||
#include "analytics.h"
|
||||
#include "button_handling.h"
|
||||
#include "common/InactivityTracker.h"
|
||||
#include "driver/i2c.h"
|
||||
@@ -10,10 +11,12 @@
|
||||
#include "hal_esp32/PersistenceManager.h"
|
||||
#include "i2c_checker.h"
|
||||
#include "led_status.h"
|
||||
#include "sdkconfig.h"
|
||||
#include "u8g2.h"
|
||||
#include "ui/ClockScreenSaver.h"
|
||||
#include "ui/ScreenSaver.h"
|
||||
#include "ui/SplashScreen.h"
|
||||
#include "wifi_manager.h"
|
||||
|
||||
#define PIN_RST GPIO_NUM_NC
|
||||
|
||||
@@ -102,6 +105,10 @@ static void init_ui(void)
|
||||
auto screensaver = std::make_shared<ClockScreenSaver>(&options);
|
||||
options.pushScreen(screensaver);
|
||||
});
|
||||
|
||||
u8g2_ClearBuffer(&u8g2);
|
||||
m_widget->render();
|
||||
u8g2_SendBuffer(&u8g2);
|
||||
}
|
||||
|
||||
static void handle_button(uint8_t button)
|
||||
@@ -160,6 +167,11 @@ void app_task(void *args)
|
||||
setup_buttons();
|
||||
init_ui();
|
||||
|
||||
#if CONFIG_WIFI_ENABLED
|
||||
wifi_manager_init();
|
||||
analytics_init();
|
||||
#endif
|
||||
|
||||
auto oldTime = esp_timer_get_time();
|
||||
|
||||
while (true)
|
||||
|
@@ -3,38 +3,13 @@
|
||||
#include "esp_event.h"
|
||||
#include "esp_insights.h"
|
||||
#include "esp_log.h"
|
||||
#include "esp_ota_ops.h"
|
||||
#include "esp_rmaker_utils.h"
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "freertos/task.h"
|
||||
#include "led_manager.h"
|
||||
#include "led_status.h"
|
||||
#include "nvs_flash.h"
|
||||
#include "sdkconfig.h"
|
||||
#include "wifi_handler.h"
|
||||
|
||||
static const char *TAG = "main";
|
||||
|
||||
extern const char insights_auth_key_start[] asm("_binary_insights_auth_key_txt_start");
|
||||
extern const char insights_auth_key_end[] asm("_binary_insights_auth_key_txt_end");
|
||||
|
||||
void show_partition(void)
|
||||
{
|
||||
const esp_partition_t *running_partition = esp_ota_get_running_partition();
|
||||
|
||||
if (running_partition != NULL)
|
||||
{
|
||||
ESP_DIAG_EVENT(TAG, "Currently running partition: %s", running_partition->label);
|
||||
ESP_DIAG_EVENT(TAG, " Type: %s", (running_partition->type == ESP_PARTITION_TYPE_APP) ? "APP" : "DATA");
|
||||
ESP_DIAG_EVENT(TAG, " Subtype: %d", running_partition->subtype);
|
||||
ESP_DIAG_EVENT(TAG, " Offset: 0x%lx", running_partition->address);
|
||||
ESP_DIAG_EVENT(TAG, " Size: %ld bytes", running_partition->size);
|
||||
}
|
||||
else
|
||||
{
|
||||
ESP_LOGE(TAG, "Could not determine the running partition!");
|
||||
}
|
||||
}
|
||||
#include "wifi_manager.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
@@ -50,23 +25,8 @@ extern "C"
|
||||
ESP_ERROR_CHECK(nvs_flash_init());
|
||||
}
|
||||
|
||||
show_partition();
|
||||
|
||||
led_status_init(CONFIG_STATUS_WLED_PIN);
|
||||
|
||||
wifi_init_sta();
|
||||
|
||||
esp_insights_config_t config = {
|
||||
.log_type = ESP_DIAG_LOG_TYPE_ERROR | ESP_DIAG_LOG_TYPE_EVENT | ESP_DIAG_LOG_TYPE_WARNING,
|
||||
.node_id = nullptr,
|
||||
.auth_key = insights_auth_key_start,
|
||||
.alloc_ext_ram = false,
|
||||
};
|
||||
|
||||
esp_insights_init(&config);
|
||||
|
||||
esp_rmaker_time_sync_init(NULL);
|
||||
|
||||
wled_init();
|
||||
|
||||
register_handler();
|
||||
|
@@ -1,8 +1,6 @@
|
||||
# Name , Type , SubType , Offset , Size , Flags
|
||||
nvs , data , nvs , 0x9000 , 20k ,
|
||||
otadata , data , ota , , 8k ,
|
||||
app0 , app , ota_0 , 0x10000 , 1536k ,
|
||||
app1 , app , ota_1 , , 1536k ,
|
||||
phy , data , phy , , 4k ,
|
||||
nvs , data , nvs , 0x9000 , 24k ,
|
||||
phy_init , data , phy , , 4k ,
|
||||
factory , app , factory , 0x10000 , 3584K ,
|
||||
coredump , data , coredump , , 64k ,
|
||||
spiffs , data , spiffs , , 892k ,
|
||||
fctry , data , nvs , , 24k ,
|
||||
|
|
Reference in New Issue
Block a user