manque juste meteo
This commit is contained in:
parent
3d351b8a70
commit
f7ac519c2e
2
.vscode/c_cpp_properties.json
vendored
2
.vscode/c_cpp_properties.json
vendored
@ -2,7 +2,7 @@
|
||||
"configurations": [
|
||||
{
|
||||
"name": "ESP-IDF",
|
||||
"compilerPath": "${config:idf.toolsPath}/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/xtensa-esp32s3-elf-gcc",
|
||||
"compilerPath": "${config:idf.toolsPath}/tools/riscv32-esp-elf/esp-13.2.0_20240530/riscv32-esp-elf/bin/riscv32-esp-elf-gcc",
|
||||
"compileCommands": "${config:idf.buildPath}/compile_commands.json",
|
||||
"includePath": [
|
||||
"${config:idf.espIdfPath}/components/**",
|
||||
|
||||
13
.vscode/settings.json
vendored
13
.vscode/settings.json
vendored
@ -1,17 +1,18 @@
|
||||
{
|
||||
"C_Cpp.intelliSenseEngine": "default",
|
||||
"idf.espIdfPath": "/home/marc/esp/v5.3.1/esp-idf",
|
||||
"idf.espIdfPath": "/home/marc/esp/v5.4/esp-idf",
|
||||
"idf.pythonBinPath": "/home/marc/.espressif/python_env/idf5.3_py3.10_env/bin/python",
|
||||
"idf.toolsPath": "/home/marc/.espressif",
|
||||
"idf.customExtraPaths": "/home/marc/.espressif/tools/xtensa-esp-elf-gdb/14.2_20240403/xtensa-esp-elf-gdb/bin:/home/marc/.espressif/tools/riscv32-esp-elf-gdb/14.2_20240403/riscv32-esp-elf-gdb/bin:/home/marc/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin:/home/marc/.espressif/tools/riscv32-esp-elf/esp-13.2.0_20240530/riscv32-esp-elf/bin:/home/marc/.espressif/tools/esp32ulp-elf/2.38_20240113/esp32ulp-elf/bin:/home/marc/.espressif/tools/cmake/3.24.0/bin:/home/marc/.espressif/tools/openocd-esp32/v0.12.0-esp32-20240318/openocd-esp32/bin:/home/marc/.espressif/tools/ninja/1.11.1:/home/marc/.espressif/tools/esp-rom-elfs/20240305",
|
||||
"idf.customExtraVars": {
|
||||
"OPENOCD_SCRIPTS": "/home/marc/.espressif/tools/openocd-esp32/v0.12.0-esp32-20240318/openocd-esp32/share/openocd/scripts",
|
||||
"ESP_ROM_ELF_DIR": "/home/marc/.espressif/tools/esp-rom-elfs/20240305/"
|
||||
"ESP_ROM_ELF_DIR": "/home/marc/.espressif/tools/esp-rom-elfs/20240305/",
|
||||
"IDF_TARGET": "esp32p4"
|
||||
},
|
||||
"idf.gitPath": "git",
|
||||
"idf.adapterTargetName": "esp32s3",
|
||||
"idf.openOcdConfigs": [
|
||||
"board/esp32s3-builtin.cfg"
|
||||
"board/esp32p4-builtin.cfg"
|
||||
],
|
||||
"idf.flashType": "UART",
|
||||
"idf.port": "/dev/ttyUSB0",
|
||||
@ -85,7 +86,9 @@
|
||||
"thread": "cpp",
|
||||
"cinttypes": "cpp",
|
||||
"typeinfo": "cpp",
|
||||
"variant": "cpp"
|
||||
"variant": "cpp",
|
||||
"esp_task_wdt.h": "c",
|
||||
"stdio.h": "c"
|
||||
},
|
||||
"idf.pythonInstallPath": "/usr/bin/python3"
|
||||
"idf.pythonInstallPath": "/usr/local/bin/python"
|
||||
}
|
||||
|
||||
@ -6,4 +6,9 @@ cmake_minimum_required(VERSION 3.16)
|
||||
set(COMPONENTS main)
|
||||
|
||||
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
|
||||
|
||||
set(EXTRA_COMPONENT_DIRS
|
||||
/home/marc/esp-dev-kits/examples/esp32-p4-function-ev-board/examples/common_components
|
||||
)
|
||||
|
||||
project(rgb_lcd)
|
||||
|
||||
@ -43,8 +43,6 @@ static weather_data weather;
|
||||
static struct meteodailyforecast_data dailydatas[5];
|
||||
static struct meteoforecast_data forecastdatas[5];
|
||||
|
||||
inline int MIN(int a, int b) { return a > b ? b : a; }
|
||||
|
||||
void printdftemp(struct dailyforecast_prev *tmp)
|
||||
{
|
||||
printf(" Temps Min:%f, Max:%f", tmp->min, tmp->max);
|
||||
|
||||
@ -1,9 +1,150 @@
|
||||
dependencies:
|
||||
chmorgan/esp-audio-player:
|
||||
component_hash: c8ac1998e9af863bc41b57e592f88d1a5791a0f891485122336ddabbf7a65033
|
||||
dependencies:
|
||||
- name: idf
|
||||
require: private
|
||||
version: '>=5.0'
|
||||
- name: chmorgan/esp-libhelix-mp3
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
version: '>=1.0.0,<2.0.0'
|
||||
source:
|
||||
registry_url: https://components.espressif.com/
|
||||
type: service
|
||||
version: 1.0.7
|
||||
chmorgan/esp-file-iterator:
|
||||
component_hash: 327091394b9ef5c2cd395a960ab70ae64479e0a8831cbd9925e38895fad93719
|
||||
dependencies:
|
||||
- name: idf
|
||||
require: private
|
||||
version: '>=4.1.0'
|
||||
source:
|
||||
registry_url: https://components.espressif.com/
|
||||
type: service
|
||||
version: 1.0.0
|
||||
chmorgan/esp-libhelix-mp3:
|
||||
component_hash: cbb76089dc2c5749f7b470e2e70aedc44c9da519e04eb9a67d4c7ec275229e53
|
||||
dependencies:
|
||||
- name: idf
|
||||
require: private
|
||||
version: '>=4.1.0'
|
||||
source:
|
||||
registry_url: https://components.espressif.com
|
||||
type: service
|
||||
version: 1.0.3
|
||||
espressif/cmake_utilities:
|
||||
component_hash: 351350613ceafba240b761b4ea991e0f231ac7a9f59a9ee901f751bddc0bb18f
|
||||
dependencies:
|
||||
- name: idf
|
||||
require: private
|
||||
version: '>=4.1'
|
||||
source:
|
||||
registry_url: https://components.espressif.com
|
||||
type: service
|
||||
version: 0.5.3
|
||||
espressif/eppp_link:
|
||||
component_hash: c2fd9c57ac14a68a62c9d9cdeec39a2b265abc16779196ce2c9f5000c9a4dd8b
|
||||
dependencies:
|
||||
- name: idf
|
||||
require: private
|
||||
version: '>=5.2'
|
||||
- name: espressif/esp_serial_slave_link
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
version: ^1.1.0
|
||||
source:
|
||||
registry_url: https://components.espressif.com
|
||||
type: service
|
||||
version: 0.2.0
|
||||
espressif/esp32_p4_function_ev_board:
|
||||
component_hash: 1e0436b3d220275d6b7930330b1a9b828fedf0dbc81006531e592b059842641e
|
||||
dependencies:
|
||||
- name: espressif/esp_codec_dev
|
||||
registry_url: https://components.espressif.com
|
||||
require: public
|
||||
version: 1.2.*
|
||||
- name: espressif/esp_lcd_ek79007
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
version: 1.*
|
||||
- name: espressif/esp_lcd_ili9881c
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
version: 1.*
|
||||
- name: espressif/esp_lcd_touch_gt911
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
version: ^1
|
||||
- name: espressif/esp_lvgl_port
|
||||
registry_url: https://components.espressif.com
|
||||
require: public
|
||||
version: ^2
|
||||
- name: idf
|
||||
require: private
|
||||
version: '>=5.3'
|
||||
- name: lvgl/lvgl
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
version: '>=8,<10'
|
||||
source:
|
||||
registry_url: https://components.espressif.com/
|
||||
type: service
|
||||
targets:
|
||||
- esp32p4
|
||||
version: 4.1.1
|
||||
espressif/esp_codec_dev:
|
||||
component_hash: 014948481bda426cd46714f297fe1891711246c62bea288863a8cc8cf13ef1f0
|
||||
dependencies:
|
||||
- name: idf
|
||||
require: private
|
||||
version: '>=4.0'
|
||||
source:
|
||||
registry_url: https://components.espressif.com
|
||||
type: service
|
||||
version: 1.2.0
|
||||
espressif/esp_hosted:
|
||||
component_hash: ef6bc803451fab3c3f9a679bbc1c48fba0ceeeabc5af4178dd7d2300fafa423e
|
||||
dependencies:
|
||||
- name: idf
|
||||
require: private
|
||||
version: '>=5.3'
|
||||
source:
|
||||
registry_url: https://components.espressif.com
|
||||
type: service
|
||||
version: 1.4.0
|
||||
espressif/esp_lcd_ek79007:
|
||||
component_hash: 07c1afab7e9fd4dd2fd06ff9245e65327c5bbd5485efec199496e19a9304d47b
|
||||
dependencies:
|
||||
- name: espressif/cmake_utilities
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
version: 0.*
|
||||
- name: idf
|
||||
require: private
|
||||
version: '>=5.3'
|
||||
source:
|
||||
registry_url: https://components.espressif.com
|
||||
type: service
|
||||
targets:
|
||||
- esp32p4
|
||||
version: 1.0.2
|
||||
espressif/esp_lcd_ili9881c:
|
||||
component_hash: f4f374226b62baf13f735864e8fae58e17c537df34d598e059f6caad4761ef65
|
||||
dependencies:
|
||||
- name: idf
|
||||
require: private
|
||||
version: '>=5.3'
|
||||
source:
|
||||
registry_url: https://components.espressif.com
|
||||
type: service
|
||||
targets:
|
||||
- esp32p4
|
||||
version: 1.0.1
|
||||
espressif/esp_lcd_touch:
|
||||
component_hash: 779b4ba2464a3ae85681e4b860caa5fdc35801458c23f3039ee761bae7f442a4
|
||||
dependencies:
|
||||
- name: idf
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
version: '>=4.4.2'
|
||||
source:
|
||||
@ -11,25 +152,23 @@ dependencies:
|
||||
type: service
|
||||
version: 1.1.2
|
||||
espressif/esp_lcd_touch_gt911:
|
||||
component_hash: f90c3f82f052d1ccdfd71895a062f396ccc1c90ec69d8a99c483180387230bac
|
||||
component_hash: acc1c184358aa29ef72506f618c9c76a8cc2bf12af38a2bff3d44d84f3a08857
|
||||
dependencies:
|
||||
- name: idf
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
version: '>=4.4.2'
|
||||
- name: espressif/esp_lcd_touch
|
||||
registry_url: https://components.espressif.com
|
||||
require: public
|
||||
version: ^1.1.0
|
||||
- name: idf
|
||||
require: private
|
||||
version: '>=4.4.2'
|
||||
source:
|
||||
registry_url: https://components.espressif.com/
|
||||
type: service
|
||||
version: 1.1.1~1
|
||||
version: 1.1.3
|
||||
espressif/esp_lvgl_port:
|
||||
component_hash: 8bcec6b1144750343ce7e411a7a1057a75a6348d3edc137bd5792ccba7f6c270
|
||||
component_hash: bb938deffba7d80b2ce582a796c053681b0439e0a7033666688e0f1f5b921125
|
||||
dependencies:
|
||||
- name: idf
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
version: '>=4.4'
|
||||
- name: lvgl/lvgl
|
||||
@ -39,9 +178,19 @@ dependencies:
|
||||
source:
|
||||
registry_url: https://components.espressif.com/
|
||||
type: service
|
||||
version: 2.3.2
|
||||
version: 2.5.0
|
||||
espressif/esp_serial_slave_link:
|
||||
component_hash: 8c534b7d4986ca0e4c41db71f559492b795ab862f1d15359d7993034696b7bcc
|
||||
dependencies:
|
||||
- name: idf
|
||||
require: private
|
||||
version: '>=5.0'
|
||||
source:
|
||||
registry_url: https://components.espressif.com
|
||||
type: service
|
||||
version: 1.1.0
|
||||
espressif/esp_websocket_client:
|
||||
component_hash: 8280960def8af4f84bc58d2d76f55357cd1387775cbc2e0a6b3ca229aa7e209e
|
||||
component_hash: f77326f0e1c38da4e9c97e17c5d649b0dd13027f2645e720e48db269638fd622
|
||||
dependencies:
|
||||
- name: idf
|
||||
require: private
|
||||
@ -49,22 +198,41 @@ dependencies:
|
||||
source:
|
||||
registry_url: https://components.espressif.com/
|
||||
type: service
|
||||
version: 1.3.0
|
||||
idf:
|
||||
source:
|
||||
type: idf
|
||||
version: 5.3.1
|
||||
joltwallet/littlefs:
|
||||
component_hash: 362f1f5beb5087b0c60169aff82676d2d0ffc991ead975212b0cba95959181c5
|
||||
version: 1.4.0
|
||||
espressif/esp_wifi_remote:
|
||||
component_hash: f772731a8cc7361a3eb416eac94ac46cf85369cb996c5a5fc9245a07f241fee2
|
||||
dependencies:
|
||||
- name: idf
|
||||
- name: espressif/eppp_link
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
version: '>=4.3'
|
||||
version: '>=0.1'
|
||||
- name: espressif/esp_hosted
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
rules:
|
||||
- if: target in [esp32h2, esp32p4]
|
||||
version: '>=0.0.6'
|
||||
- name: idf
|
||||
require: private
|
||||
version: '>=5.3'
|
||||
source:
|
||||
registry_url: https://components.espressif.com/
|
||||
type: service
|
||||
version: 1.14.8
|
||||
version: 0.8.5
|
||||
idf:
|
||||
source:
|
||||
type: idf
|
||||
version: 5.4.0
|
||||
joltwallet/littlefs:
|
||||
component_hash: 34b8c56a14f10b440845fe972ce34ef41d1d205bcb139b3dfc58983a10abf59b
|
||||
dependencies:
|
||||
- name: idf
|
||||
require: private
|
||||
version: '>=5.0'
|
||||
source:
|
||||
registry_url: https://components.espressif.com/
|
||||
type: service
|
||||
version: 1.19.1
|
||||
lvgl/lvgl:
|
||||
component_hash: 2409fdc84e9766d2a18afd84b051aef3f838348136cdb1c10ac2e8bcdb012bf6
|
||||
dependencies: []
|
||||
@ -76,7 +244,6 @@ dependencies:
|
||||
component_hash: b46dd8c20dee72654e8ea4a43b16e8a93e984a6c10426392a4b8486fed50ca93
|
||||
dependencies:
|
||||
- name: idf
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
version: '>=5.0'
|
||||
source:
|
||||
@ -84,13 +251,17 @@ dependencies:
|
||||
type: service
|
||||
version: 1.0.0
|
||||
direct_dependencies:
|
||||
- chmorgan/esp-audio-player
|
||||
- chmorgan/esp-file-iterator
|
||||
- espressif/esp32_p4_function_ev_board
|
||||
- espressif/esp_lcd_touch_gt911
|
||||
- espressif/esp_lvgl_port
|
||||
- espressif/esp_websocket_client
|
||||
- espressif/esp_wifi_remote
|
||||
- idf
|
||||
- joltwallet/littlefs
|
||||
- lvgl/lvgl
|
||||
- suda-morris/am2302_rmt
|
||||
manifest_hash: eea83fb930d30dd687c0634cc1b3ac9d374a209e476f634357cee6bd38fc6b59
|
||||
target: esp32s3
|
||||
manifest_hash: 63eaaa4e8d94182764c8e6d23da6beff61e56db0cec736ba19ba0f825469c47c
|
||||
target: esp32p4
|
||||
version: 2.0.0
|
||||
|
||||
@ -2,7 +2,7 @@ set(EXTRA_COMPONENT_DIRS ../components)
|
||||
|
||||
idf_component_register(SRC_DIRS . fonts
|
||||
INCLUDE_DIRS "."
|
||||
REQUIRES heap esp_wifi nvs_flash mqtt meteofrance esp_netif image_downloader fatfs sdmmc vfs littlefs wifi_logger protocol_examples_common app_update esp_https_ota
|
||||
REQUIRES heap esp_wifi nvs_flash mqtt meteofrance esp_netif image_downloader fatfs sdmmc vfs littlefs wifi_logger protocol_examples_common app_update esp_https_ota bsp_extra esp32_p4_function_ev_board
|
||||
PRIV_REQUIRES littlefs
|
||||
EMBED_TXTFILES ${project_dir}/main/ca_cert.pem)
|
||||
|
||||
|
||||
@ -1,12 +1,24 @@
|
||||
dependencies:
|
||||
espressif/esp_wifi_remote: "0.8.5"
|
||||
espressif/esp32_p4_function_ev_board: "^4.1.1"
|
||||
suda-morris/am2302_rmt: "^1.0.0"
|
||||
espressif/esp_websocket_client: "^1.3.0"
|
||||
joltwallet/littlefs: ^1.14.8
|
||||
esp_lcd_touch_gt911:
|
||||
version: ^1
|
||||
esp_lvgl_port:
|
||||
version: 2.3.2
|
||||
version: 2.5.0
|
||||
idf:
|
||||
version: '>=5.0'
|
||||
version: '5.4.*'
|
||||
lvgl/lvgl:
|
||||
version: 9.2.0
|
||||
espressif/esp32_p4_function_ev_board:
|
||||
version: "4.1.*"
|
||||
|
||||
chmorgan/esp-audio-player:
|
||||
version: "1.0.*"
|
||||
public: true
|
||||
|
||||
chmorgan/esp-file-iterator:
|
||||
version: "1.0.0"
|
||||
public: true
|
||||
|
||||
419
main/main.c
419
main/main.c
@ -14,8 +14,10 @@
|
||||
#include "nvs_flash.h"
|
||||
#include <locale.h>
|
||||
#include "esp_vfs_fat.h"
|
||||
#include "sdmmc_cmd.h"
|
||||
#include <stdio.h>
|
||||
#include "bsp/esp-bsp.h"
|
||||
#include "bsp/display.h"
|
||||
#include "bsp_board_extra.h"
|
||||
|
||||
// OTA
|
||||
#include "esp_ota_ops.h"
|
||||
@ -26,9 +28,8 @@
|
||||
// Includes personnels
|
||||
#include "wifi_logger.h"
|
||||
#include "obtain_time.h"
|
||||
#include "fatfs.h"
|
||||
#include "meteofrance.h"
|
||||
#include "image_downloader.h"
|
||||
//#include "image_downloader.h"
|
||||
#include "wifi.h"
|
||||
#include "mqtt.h"
|
||||
|
||||
@ -40,7 +41,6 @@
|
||||
|
||||
#include "esp_littlefs.h"
|
||||
|
||||
#define MOUNT_POINT "/sdcard"
|
||||
// Pin assignments can be set in menuconfig, see "SD SPI Example Configuration" menu.
|
||||
// You can also change the pin assignments here by changing the following 4 lines.
|
||||
#define PIN_NUM_MISO 13
|
||||
@ -53,66 +53,6 @@ LV_FONT_DECLARE(montserrat_medium_12)
|
||||
LV_FONT_DECLARE(montserrat_medium_18)
|
||||
LV_FONT_DECLARE(montserrat_medium_24)
|
||||
|
||||
/* LCD size */
|
||||
#define EXAMPLE_LCD_H_RES (800)
|
||||
#define EXAMPLE_LCD_V_RES (480)
|
||||
|
||||
/* LCD settings */
|
||||
#define EXAMPLE_LCD_LVGL_FULL_REFRESH (0)
|
||||
#define EXAMPLE_LCD_LVGL_DIRECT_MODE (1)
|
||||
#define EXAMPLE_LCD_LVGL_AVOID_TEAR (1)
|
||||
#define EXAMPLE_LCD_RGB_BOUNCE_BUFFER_MODE (1)
|
||||
#define EXAMPLE_LCD_DRAW_BUFF_DOUBLE (1)
|
||||
#define EXAMPLE_LCD_DRAW_BUFF_HEIGHT (100)
|
||||
#define EXAMPLE_LCD_RGB_BUFFER_NUMS (2)
|
||||
#define EXAMPLE_LCD_RGB_BOUNCE_BUFFER_HEIGHT (10)
|
||||
|
||||
/* LCD pins */
|
||||
#define EXAMPLE_LCD_GPIO_VSYNC (GPIO_NUM_41)
|
||||
#define EXAMPLE_LCD_GPIO_HSYNC (GPIO_NUM_39)
|
||||
#define EXAMPLE_LCD_GPIO_DE (GPIO_NUM_40)
|
||||
#define EXAMPLE_LCD_GPIO_PCLK (GPIO_NUM_42)
|
||||
#define EXAMPLE_LCD_GPIO_DISP (GPIO_NUM_NC)
|
||||
#define EXAMPLE_LCD_GPIO_DATA0 (GPIO_NUM_8)
|
||||
#define EXAMPLE_LCD_GPIO_DATA1 (GPIO_NUM_3)
|
||||
#define EXAMPLE_LCD_GPIO_DATA2 (GPIO_NUM_46)
|
||||
#define EXAMPLE_LCD_GPIO_DATA3 (GPIO_NUM_9)
|
||||
#define EXAMPLE_LCD_GPIO_DATA4 (GPIO_NUM_1)
|
||||
#define EXAMPLE_LCD_GPIO_DATA5 (GPIO_NUM_5)
|
||||
#define EXAMPLE_LCD_GPIO_DATA6 (GPIO_NUM_6)
|
||||
#define EXAMPLE_LCD_GPIO_DATA7 (GPIO_NUM_7)
|
||||
#define EXAMPLE_LCD_GPIO_DATA8 (GPIO_NUM_15)
|
||||
#define EXAMPLE_LCD_GPIO_DATA9 (GPIO_NUM_16)
|
||||
#define EXAMPLE_LCD_GPIO_DATA10 (GPIO_NUM_4)
|
||||
#define EXAMPLE_LCD_GPIO_DATA11 (GPIO_NUM_45)
|
||||
#define EXAMPLE_LCD_GPIO_DATA12 (GPIO_NUM_48)
|
||||
#define EXAMPLE_LCD_GPIO_DATA13 (GPIO_NUM_47)
|
||||
#define EXAMPLE_LCD_GPIO_DATA14 (GPIO_NUM_21)
|
||||
#define EXAMPLE_LCD_GPIO_DATA15 (GPIO_NUM_14)
|
||||
|
||||
/* Touch settings */
|
||||
#define EXAMPLE_TOUCH_I2C_NUM (0)
|
||||
#define EXAMPLE_TOUCH_I2C_CLK_HZ (400000)
|
||||
|
||||
/* LCD touch pins */
|
||||
#define EXAMPLE_TOUCH_I2C_SCL (GPIO_NUM_18)
|
||||
#define EXAMPLE_TOUCH_I2C_SDA (GPIO_NUM_17)
|
||||
|
||||
#define EXAMPLE_LCD_PANEL_35HZ_RGB_TIMING() \
|
||||
{ \
|
||||
.pclk_hz = 16 * 1000 * 1000, \
|
||||
.h_res = EXAMPLE_LCD_H_RES, \
|
||||
.v_res = EXAMPLE_LCD_V_RES, \
|
||||
.hsync_pulse_width = 4, \
|
||||
.hsync_back_porch = 8, \
|
||||
.hsync_front_porch = 8, \
|
||||
.vsync_pulse_width = 4, \
|
||||
.vsync_back_porch = 8, \
|
||||
.vsync_front_porch = 8, \
|
||||
.flags.pclk_active_neg = true, \
|
||||
.flags.hsync_idle_low = true, \
|
||||
}
|
||||
|
||||
static const char *TAG = "domoTic";
|
||||
|
||||
extern char *upEvent;
|
||||
@ -132,183 +72,6 @@ static lv_indev_t *lvgl_touch_indev = NULL;
|
||||
lv_obj_t *chart;
|
||||
lv_chart_series_t *ser1;
|
||||
|
||||
static esp_err_t app_lcd_init(void)
|
||||
{
|
||||
esp_err_t ret = ESP_OK;
|
||||
|
||||
/* LCD initialization */
|
||||
ESP_LOGI(TAG, "Initialize RGB panel");
|
||||
esp_lcd_rgb_panel_config_t panel_conf = {
|
||||
.clk_src = LCD_CLK_SRC_PLL160M,
|
||||
.psram_trans_align = 64,
|
||||
.data_width = 16,
|
||||
.bits_per_pixel = 16,
|
||||
.de_gpio_num = EXAMPLE_LCD_GPIO_DE,
|
||||
.pclk_gpio_num = EXAMPLE_LCD_GPIO_PCLK,
|
||||
.vsync_gpio_num = EXAMPLE_LCD_GPIO_VSYNC,
|
||||
.hsync_gpio_num = EXAMPLE_LCD_GPIO_HSYNC,
|
||||
.disp_gpio_num = EXAMPLE_LCD_GPIO_DISP,
|
||||
.data_gpio_nums = {
|
||||
EXAMPLE_LCD_GPIO_DATA0,
|
||||
EXAMPLE_LCD_GPIO_DATA1,
|
||||
EXAMPLE_LCD_GPIO_DATA2,
|
||||
EXAMPLE_LCD_GPIO_DATA3,
|
||||
EXAMPLE_LCD_GPIO_DATA4,
|
||||
EXAMPLE_LCD_GPIO_DATA5,
|
||||
EXAMPLE_LCD_GPIO_DATA6,
|
||||
EXAMPLE_LCD_GPIO_DATA7,
|
||||
EXAMPLE_LCD_GPIO_DATA8,
|
||||
EXAMPLE_LCD_GPIO_DATA9,
|
||||
EXAMPLE_LCD_GPIO_DATA10,
|
||||
EXAMPLE_LCD_GPIO_DATA11,
|
||||
EXAMPLE_LCD_GPIO_DATA12,
|
||||
EXAMPLE_LCD_GPIO_DATA13,
|
||||
EXAMPLE_LCD_GPIO_DATA14,
|
||||
EXAMPLE_LCD_GPIO_DATA15,
|
||||
},
|
||||
.timings = EXAMPLE_LCD_PANEL_35HZ_RGB_TIMING(),
|
||||
.flags.fb_in_psram = 1,
|
||||
.num_fbs = EXAMPLE_LCD_RGB_BUFFER_NUMS,
|
||||
#if EXAMPLE_LCD_RGB_BOUNCE_BUFFER_MODE
|
||||
.bounce_buffer_size_px = EXAMPLE_LCD_H_RES * EXAMPLE_LCD_RGB_BOUNCE_BUFFER_HEIGHT,
|
||||
#endif
|
||||
};
|
||||
ESP_GOTO_ON_ERROR(esp_lcd_new_rgb_panel(&panel_conf, &lcd_panel), err, TAG, "RGB init failed");
|
||||
ESP_GOTO_ON_ERROR(esp_lcd_panel_init(lcd_panel), err, TAG, "LCD init failed");
|
||||
|
||||
return ret;
|
||||
|
||||
err:
|
||||
if (lcd_panel)
|
||||
{
|
||||
esp_lcd_panel_del(lcd_panel);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
static esp_err_t app_touch_init(void)
|
||||
{
|
||||
/* Initilize I2C */
|
||||
const i2c_config_t i2c_conf = {
|
||||
.mode = I2C_MODE_MASTER,
|
||||
.sda_io_num = EXAMPLE_TOUCH_I2C_SDA,
|
||||
.sda_pullup_en = GPIO_PULLUP_DISABLE,
|
||||
.scl_io_num = EXAMPLE_TOUCH_I2C_SCL,
|
||||
.scl_pullup_en = GPIO_PULLUP_DISABLE,
|
||||
.master.clk_speed = EXAMPLE_TOUCH_I2C_CLK_HZ};
|
||||
ESP_RETURN_ON_ERROR(i2c_param_config(EXAMPLE_TOUCH_I2C_NUM, &i2c_conf), TAG, "I2C configuration failed");
|
||||
ESP_RETURN_ON_ERROR(i2c_driver_install(EXAMPLE_TOUCH_I2C_NUM, i2c_conf.mode, 0, 0, 0), TAG, "I2C initialization failed");
|
||||
|
||||
/* Initialize touch HW */
|
||||
const esp_lcd_touch_config_t tp_cfg = {
|
||||
.x_max = EXAMPLE_LCD_H_RES,
|
||||
.y_max = EXAMPLE_LCD_V_RES,
|
||||
.rst_gpio_num = GPIO_NUM_NC,
|
||||
.int_gpio_num = GPIO_NUM_NC,
|
||||
.levels = {
|
||||
.reset = 0,
|
||||
.interrupt = 0,
|
||||
},
|
||||
.flags = {
|
||||
.swap_xy = 0,
|
||||
.mirror_x = 0,
|
||||
.mirror_y = 0,
|
||||
},
|
||||
};
|
||||
esp_lcd_panel_io_handle_t tp_io_handle = NULL;
|
||||
const esp_lcd_panel_io_i2c_config_t tp_io_config = ESP_LCD_TOUCH_IO_I2C_GT911_CONFIG();
|
||||
ESP_RETURN_ON_ERROR(esp_lcd_new_panel_io_i2c((esp_lcd_i2c_bus_handle_t)EXAMPLE_TOUCH_I2C_NUM, &tp_io_config, &tp_io_handle), TAG, "");
|
||||
return esp_lcd_touch_new_i2c_gt911(tp_io_handle, &tp_cfg, &touch_handle);
|
||||
}
|
||||
|
||||
static esp_err_t app_lvgl_init(void)
|
||||
{
|
||||
/* Initialize LVGL */
|
||||
const lvgl_port_cfg_t lvgl_cfg = {
|
||||
.task_priority = 4, /* LVGL task priority */
|
||||
.task_stack = 12288, // 6144, /* LVGL task stack size */
|
||||
.task_affinity = -1, /* LVGL task pinned to core (-1 is no affinity) */
|
||||
.task_max_sleep_ms = 500, /* Maximum sleep in LVGL task */
|
||||
.timer_period_ms = 5 /* LVGL timer tick period in ms */
|
||||
};
|
||||
ESP_RETURN_ON_ERROR(lvgl_port_init(&lvgl_cfg), TAG, "LVGL port initialization failed");
|
||||
|
||||
uint32_t buff_size = EXAMPLE_LCD_H_RES * EXAMPLE_LCD_DRAW_BUFF_HEIGHT;
|
||||
#if EXAMPLE_LCD_LVGL_FULL_REFRESH || EXAMPLE_LCD_LVGL_DIRECT_MODE
|
||||
buff_size = EXAMPLE_LCD_H_RES * EXAMPLE_LCD_V_RES;
|
||||
#endif
|
||||
|
||||
/* Add LCD screen */
|
||||
ESP_LOGD(TAG, "Add LCD screen");
|
||||
const lvgl_port_display_cfg_t disp_cfg = {
|
||||
.panel_handle = lcd_panel,
|
||||
.buffer_size = buff_size,
|
||||
.double_buffer = EXAMPLE_LCD_DRAW_BUFF_DOUBLE,
|
||||
.hres = EXAMPLE_LCD_H_RES,
|
||||
.vres = EXAMPLE_LCD_V_RES,
|
||||
.monochrome = false,
|
||||
#if LVGL_VERSION_MAJOR >= 9
|
||||
.color_format = LV_COLOR_FORMAT_RGB565,
|
||||
#endif
|
||||
.rotation = {
|
||||
.swap_xy = false,
|
||||
.mirror_x = false,
|
||||
.mirror_y = false,
|
||||
},
|
||||
.flags = {
|
||||
.buff_dma = false,
|
||||
.buff_spiram = false,
|
||||
#if EXAMPLE_LCD_LVGL_FULL_REFRESH
|
||||
.full_refresh = true,
|
||||
#elif EXAMPLE_LCD_LVGL_DIRECT_MODE
|
||||
.direct_mode = true,
|
||||
#endif
|
||||
#if LVGL_VERSION_MAJOR >= 9
|
||||
.swap_bytes = false,
|
||||
#endif
|
||||
}};
|
||||
const lvgl_port_display_rgb_cfg_t rgb_cfg = {
|
||||
.flags = {
|
||||
#if EXAMPLE_LCD_RGB_BOUNCE_BUFFER_MODE
|
||||
.bb_mode = true,
|
||||
#else
|
||||
.bb_mode = false,
|
||||
#endif
|
||||
#if EXAMPLE_LCD_LVGL_AVOID_TEAR
|
||||
.avoid_tearing = true,
|
||||
#else
|
||||
.avoid_tearing = false,
|
||||
#endif
|
||||
}};
|
||||
lvgl_disp = lvgl_port_add_disp_rgb(&disp_cfg, &rgb_cfg);
|
||||
|
||||
/* Add touch input (for selected screen) */
|
||||
const lvgl_port_touch_cfg_t touch_cfg = {
|
||||
.disp = lvgl_disp,
|
||||
.handle = touch_handle,
|
||||
};
|
||||
lvgl_touch_indev = lvgl_port_add_touch(&touch_cfg);
|
||||
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
static void _app_button_cb(lv_event_t *e)
|
||||
{
|
||||
if (lvgl_port_lock(0))
|
||||
{
|
||||
lv_disp_rotation_t rotation = lv_disp_get_rotation(lvgl_disp);
|
||||
rotation++;
|
||||
if (rotation > LV_DISPLAY_ROTATION_270)
|
||||
{
|
||||
rotation = LV_DISPLAY_ROTATION_0;
|
||||
}
|
||||
|
||||
/* LCD HW rotation */
|
||||
lv_disp_set_rotation(lvgl_disp, rotation);
|
||||
lvgl_port_unlock();
|
||||
}
|
||||
}
|
||||
|
||||
lv_subject_t meteoStatus;
|
||||
lv_subject_t dateHeureSubj;
|
||||
char dateHeureStr[30];
|
||||
@ -402,7 +165,7 @@ static void app_main_display(void)
|
||||
lv_obj_align(img_logo, LV_ALIGN_TOP_MID, 0, 20);
|
||||
/* Label */
|
||||
lv_obj_t *label = lv_label_create(scr);
|
||||
lv_obj_set_width(label, EXAMPLE_LCD_H_RES);
|
||||
lv_obj_set_width(label, lv_pct(100));
|
||||
lv_obj_set_style_text_align(label, LV_TEXT_ALIGN_CENTER, 0);
|
||||
#if LVGL_VERSION_MAJOR == 8
|
||||
lv_label_set_recolor(label, true);
|
||||
@ -1071,7 +834,7 @@ void draw_tabHome(){
|
||||
lv_label_set_text(label1, "Températures");
|
||||
lv_obj_set_pos(label1, 0, 0);
|
||||
|
||||
/*Create a container with COLUMN flex direction*/
|
||||
//Create a container with COLUMN flex direction
|
||||
lv_obj_t *cont_tempExt = lv_obj_create(cont_col);
|
||||
lv_obj_add_style(cont_tempExt, &style_container, 0);
|
||||
// lv_obj_set_height(cont_tempExt,50);
|
||||
@ -1079,11 +842,12 @@ void draw_tabHome(){
|
||||
lv_obj_t *lblExt = lv_label_create(cont_tempExt);
|
||||
lv_label_set_text(lblExt, "ext.");
|
||||
lv_obj_t *lblTempExt = lv_label_create(cont_tempExt);
|
||||
|
||||
lv_obj_add_style(lblTempExt, &style_lbvValue, 0);
|
||||
lv_label_set_text(lblTempExt, "");
|
||||
lv_label_bind_text(lblTempExt, &tempExtSubj, "%s °C");
|
||||
|
||||
/*Create a container with COLUMN flex direction*/
|
||||
//Create a container with COLUMN flex direction
|
||||
lv_obj_t *cont_tempInt = lv_obj_create(cont_col);
|
||||
lv_obj_add_style(cont_tempInt, &style_container, 0);
|
||||
// lv_obj_set_height(cont_tempInt,50);
|
||||
@ -1095,7 +859,7 @@ void draw_tabHome(){
|
||||
lv_label_set_text(lblTempInt, "");
|
||||
lv_label_bind_text(lblTempInt, &tempIntSubj, "%s °C");
|
||||
|
||||
/*Create a container with COLUMN flex direction*/
|
||||
//Create a container with COLUMN flex direction
|
||||
lv_obj_t *cont_tempInt2 = lv_obj_create(cont_col);
|
||||
lv_obj_add_style(cont_tempInt2, &style_container, 0);
|
||||
// lv_obj_set_height(cont_tempInt,50);
|
||||
@ -1108,7 +872,7 @@ void draw_tabHome(){
|
||||
|
||||
lv_label_set_text(lblTempInt2, "");
|
||||
|
||||
/*Create a container with COLUMN flex direction*/
|
||||
//Create a container with COLUMN flex direction
|
||||
lv_obj_t *cont_Cuve = lv_obj_create(cont_col);
|
||||
lv_obj_add_style(cont_Cuve, &style_container, 0);
|
||||
lv_obj_set_flex_flow(cont_Cuve, LV_FLEX_FLOW_ROW_WRAP);
|
||||
@ -1271,13 +1035,12 @@ void draw_ihm()
|
||||
// keys.clear();
|
||||
lv_obj_clean(lv_scr_act());
|
||||
|
||||
/*Create a Tab view object*/
|
||||
//Create a Tab view object
|
||||
lv_obj_t *tabview;
|
||||
tabview = lv_tabview_create(lv_screen_active());
|
||||
lv_tabview_set_tab_bar_position(tabview, LV_DIR_LEFT);
|
||||
lv_tabview_set_tab_bar_size(tabview, 80);
|
||||
lv_obj_add_event_cb(tabview, tabChgEvt, LV_EVENT_VALUE_CHANGED, tabview); /* Assign an event callback */
|
||||
|
||||
lv_obj_add_event_cb(tabview, tabChgEvt, LV_EVENT_VALUE_CHANGED, tabview); // Assign an event callback
|
||||
// lv_obj_set_style_bg_color(tabview, lv_palette_lighten(LV_PALETTE_RED, 2), 0);
|
||||
|
||||
lv_obj_t *tab_buttons = lv_tabview_get_tab_bar(tabview);
|
||||
@ -1287,7 +1050,7 @@ void draw_ihm()
|
||||
lv_obj_set_style_text_color(tab_buttons, lv_palette_lighten(LV_PALETTE_GREY, 5), 0);
|
||||
lv_obj_set_style_border_side(tab_buttons, LV_BORDER_SIDE_RIGHT, LV_PART_ITEMS | LV_STATE_CHECKED);
|
||||
|
||||
/*Add 3 tabs (the tabs are page (lv_page) and can be scrolled*/
|
||||
//Add 3 tabs (the tabs are page (lv_page) and can be scrolled
|
||||
tab0 = lv_tabview_add_tab(tabview, LV_SYMBOL_HOME);
|
||||
tabVolets = lv_tabview_add_tab(tabview, "Volets");
|
||||
tabMeteo = lv_tabview_add_tab(tabview, "Météo");
|
||||
@ -1335,7 +1098,7 @@ void draw_ihm()
|
||||
lv_obj_set_flex_flow(tabVolets, LV_FLEX_FLOW_ROW);
|
||||
|
||||
lv_obj_set_flex_flow(tabMeteo, LV_FLEX_FLOW_COLUMN);
|
||||
}
|
||||
}
|
||||
|
||||
void weather_data_retreived_start()
|
||||
{
|
||||
@ -1361,7 +1124,7 @@ void weather_data_retreived(struct meteodailyforecast_data dailyDatas[3], struct
|
||||
printf("%f\n", datas[2].previsions.min);
|
||||
ESP_LOGE(TAG, "fin debug");
|
||||
*/
|
||||
if (lvgl_port_lock(0))
|
||||
if (bsp_display_lock(0))
|
||||
{
|
||||
ESP_LOGV("MeteoFrance", "------------------------------------- Set des subjects J --------------------------------");
|
||||
// Prévisions des 3 prochains jours
|
||||
@ -1379,68 +1142,11 @@ void weather_data_retreived(struct meteodailyforecast_data dailyDatas[3], struct
|
||||
lv_subject_set_int(&meteoStatus, 0);
|
||||
lvgl_port_unlock();
|
||||
// ESP_LOGE(TAG, "------------------------------------- Fin Set des subjects --------------------------------");
|
||||
}else{
|
||||
ESP_LOGE(TAG, "Impossible d'obtenir le mutex");
|
||||
}
|
||||
}
|
||||
|
||||
void mount_sd_card()
|
||||
{
|
||||
// Options for mounting the filesystem.
|
||||
// If format_if_mount_failed is set to true, SD card will be partitioned and
|
||||
// formatted in case when mounting fails.
|
||||
esp_vfs_fat_sdmmc_mount_config_t mount_config = {
|
||||
.format_if_mount_failed = false,
|
||||
.max_files = 5,
|
||||
.allocation_unit_size = 16 * 1024};
|
||||
sdmmc_card_t *card;
|
||||
const char mount_point[] = MOUNT_POINT;
|
||||
ESP_LOGI(TAG, "Initializing SD card");
|
||||
|
||||
ESP_LOGI(TAG, "Using SPI peripheral");
|
||||
|
||||
sdmmc_host_t host = SDSPI_HOST_DEFAULT();
|
||||
|
||||
spi_bus_config_t bus_cfg = {
|
||||
.mosi_io_num = PIN_NUM_MOSI,
|
||||
.miso_io_num = PIN_NUM_MISO,
|
||||
.sclk_io_num = PIN_NUM_CLK,
|
||||
.quadwp_io_num = -1,
|
||||
.quadhd_io_num = -1,
|
||||
.max_transfer_sz = 4000,
|
||||
};
|
||||
esp_err_t ret = spi_bus_initialize(host.slot, &bus_cfg, SDSPI_DEFAULT_DMA);
|
||||
if (ret != ESP_OK)
|
||||
{
|
||||
ESP_LOGE(TAG, "Failed to initialize bus.");
|
||||
return;
|
||||
}
|
||||
|
||||
sdspi_device_config_t slot_config = SDSPI_DEVICE_CONFIG_DEFAULT();
|
||||
slot_config.gpio_cs = PIN_NUM_CS;
|
||||
slot_config.host_id = host.slot;
|
||||
|
||||
ESP_LOGI(TAG, "Mounting filesystem");
|
||||
ret = esp_vfs_fat_sdspi_mount(mount_point, &host, &slot_config, &mount_config, &card);
|
||||
|
||||
if (ret != ESP_OK)
|
||||
{
|
||||
if (ret == ESP_FAIL)
|
||||
{
|
||||
ESP_LOGE(TAG, "Failed to mount filesystem. "
|
||||
"If you want the card to be formatted, set the CONFIG_EXAMPLE_FORMAT_IF_MOUNT_FAILED menuconfig option.");
|
||||
}
|
||||
else
|
||||
{
|
||||
ESP_LOGE(TAG, "Failed to initialize the card (%s). "
|
||||
"Make sure SD card lines have pull-up resistors in place.",
|
||||
esp_err_to_name(ret));
|
||||
}
|
||||
return;
|
||||
}
|
||||
ESP_LOGI(TAG, "Filesystem mounted");
|
||||
|
||||
// Card has been initialized, print its properties
|
||||
sdmmc_card_print_info(stdout, card);
|
||||
}
|
||||
|
||||
extern char *days[7];
|
||||
extern char *months[12];
|
||||
@ -1593,38 +1299,47 @@ void app_main(void)
|
||||
|
||||
printf("2- Free heap after buffers allocation: %d\n", xPortGetFreeHeapSize());
|
||||
|
||||
mount_sd_card();
|
||||
|
||||
esp_vfs_littlefs_conf_t conf = {
|
||||
.base_path = "/littlefs",
|
||||
.partition_label = "littlefs",
|
||||
.format_if_mount_failed = true,
|
||||
.dont_mount = false,
|
||||
};
|
||||
|
||||
printf("3 - Free heap after buffers allocation: %d\n", xPortGetFreeHeapSize());
|
||||
/* LCD HW initialization */
|
||||
ESP_ERROR_CHECK(app_lcd_init());
|
||||
|
||||
bsp_display_cfg_t cfg = {
|
||||
.lvgl_port_cfg = ESP_LVGL_PORT_INIT_CONFIG(),
|
||||
.buffer_size = BSP_LCD_DRAW_BUFF_SIZE,
|
||||
.double_buffer = BSP_LCD_DRAW_BUFF_DOUBLE,
|
||||
.flags = {
|
||||
.buff_dma = true,
|
||||
.buff_spiram = false,
|
||||
.sw_rotate = false,
|
||||
}
|
||||
};
|
||||
bsp_display_start_with_config(&cfg);
|
||||
bsp_display_backlight_on();
|
||||
|
||||
bsp_display_lock(0);
|
||||
|
||||
//lv_demo_music();
|
||||
//lv_demo_benchmark();
|
||||
//lv_demo_widgets();
|
||||
|
||||
|
||||
// LCD HW initialization
|
||||
//ESP_ERROR_CHECK(app_lcd_init());
|
||||
|
||||
printf("4 - Free heap after buffers allocation: %d\n", xPortGetFreeHeapSize());
|
||||
/* Touch initialization */
|
||||
ESP_ERROR_CHECK(app_touch_init());
|
||||
// Touch initialization
|
||||
//ESP_ERROR_CHECK(app_touch_init());
|
||||
|
||||
printf("5 - Free heap after buffers allocation: %d\n", xPortGetFreeHeapSize());
|
||||
/* LVGL initialization */
|
||||
ESP_ERROR_CHECK(app_lvgl_init());
|
||||
// LVGL initialization
|
||||
//ESP_ERROR_CHECK(app_lvgl_init());
|
||||
|
||||
printf("6 - Free heap after buffers allocation: %d\n", xPortGetFreeHeapSize());
|
||||
|
||||
lv_subject_init_int(&meteoStatus, -1);
|
||||
|
||||
/* On affiche au plus tot l'ecran de démarrage */
|
||||
if (lvgl_port_lock(0))
|
||||
{
|
||||
// On affiche au plus tot l'ecran de démarrage
|
||||
// ESP_ERROR_CHECK(esp_lcd_panel_mirror(lcd_panel,true,true));
|
||||
app_main_display();
|
||||
lvgl_port_unlock();
|
||||
}
|
||||
bsp_display_unlock();
|
||||
|
||||
printf("7 - Free heap after buffers allocation: %d\n", xPortGetFreeHeapSize());
|
||||
// Initialize NVS
|
||||
@ -1639,8 +1354,8 @@ void app_main(void)
|
||||
printf("8 - Free heap after buffers allocation: %d\n", xPortGetFreeHeapSize());
|
||||
ESP_LOGI(TAG, "ESP_WIFI_MODE_STA");
|
||||
wifi_init_sta();
|
||||
start_wifi_logger();
|
||||
wifi_log_e("test", "%s %d %f", "hello world wifi logger", 43, 45.341223242); // write log over wifi with log level -> ERROR
|
||||
//start_wifi_logger();
|
||||
//wifi_log_e("test", "%s %d %f", "hello world wifi logger", 43, 45.341223242); // write log over wifi with log level -> ERROR
|
||||
esp_log_level_set("tcp_handler", ESP_LOG_NONE);
|
||||
printf("8b - Free heap after buffers allocation: %d\n", xPortGetFreeHeapSize());
|
||||
mqtt_app_start();
|
||||
@ -1681,38 +1396,31 @@ void app_main(void)
|
||||
TaskHandle_t xHandle = NULL;
|
||||
BaseType_t ret1;
|
||||
|
||||
ret1 = xTaskCreate(&imgdwn, "imageDownload_task", 3 * 1024, NULL, 5, &xHandle);
|
||||
/*ret1 = xTaskCreate(&imgdwn, "imageDownload_task", 3 * 1024, NULL, 5, &xHandle);
|
||||
if (ret1 != pdPASS)
|
||||
{
|
||||
ESP_LOGE(TAG, "Impossiblke de creer la tache imageDownload_task %i", ret1);
|
||||
}
|
||||
|
||||
}*/
|
||||
/*
|
||||
BaseType_t ret2 = xTaskCreate(&updateTime, "updateTimeTask", 3 * 1024, NULL, 5, NULL);
|
||||
if (ret2 != pdPASS)
|
||||
{
|
||||
ESP_LOGE(TAG, "Impossiblke de creer la tache updateTimeTask %i", ret1);
|
||||
ESP_LOGE(TAG, "Impossiblke de creer la tache updateTimeTask %i", ret2);
|
||||
}
|
||||
|
||||
*/
|
||||
printf("12. Free heap after buffers allocation: %d\n", xPortGetFreeHeapSize());
|
||||
/* Show LVGL objects */
|
||||
if (lvgl_port_lock(0))
|
||||
{
|
||||
draw_ihm();
|
||||
// lv_disp_set_rotation(lvgl_disp, LV_DISPLAY_ROTATION_180);
|
||||
// Show LVGL objects
|
||||
bsp_display_lock(0);
|
||||
draw_ihm();
|
||||
// lv_disp_set_rotation(lvgl_disp, LV_DISPLAY_ROTATION_180);
|
||||
bsp_display_unlock();
|
||||
|
||||
|
||||
lvgl_port_unlock();
|
||||
}
|
||||
printf("13. Free heap after buffers allocation: %d\n", xPortGetFreeHeapSize());
|
||||
printf("Minimum free heap size: %" PRIu32 " bytes\n", esp_get_minimum_free_heap_size());
|
||||
printf("Free heap size: %" PRIu32 " bytes\n", esp_get_free_heap_size());
|
||||
LV_ASSERT_MEM_INTEGRITY();
|
||||
|
||||
lv_mem_monitor_t mon;
|
||||
lv_mem_monitor(&mon);
|
||||
printf("used: %6d (%3d %%), frag: %3d %%, biggest free: %6d\n",
|
||||
(int)mon.total_size - mon.free_size, mon.used_pct, mon.frag_pct,
|
||||
(int)mon.free_biggest_size);
|
||||
|
||||
ESP_LOGI(TAG, "Initializing LittleFS");
|
||||
|
||||
esp_vfs_littlefs_conf_t conflfs = {
|
||||
@ -1775,10 +1483,7 @@ void app_main(void)
|
||||
}
|
||||
ESP_LOGI(TAG, "Read from file: '%s'", line);
|
||||
|
||||
//OTA désactivé
|
||||
//xTaskCreate(&simple_ota_example_task, "ota_example_task", 8192, NULL, 5, NULL);
|
||||
|
||||
/* Configuration de la sonde Temp/Humid.*/
|
||||
/* // Configuration de la sonde Temp/Humid.
|
||||
am2302_config_t am2302_config = {
|
||||
.gpio_num = AM2302_GPIO,
|
||||
};
|
||||
@ -1788,7 +1493,7 @@ void app_main(void)
|
||||
ESP_ERROR_CHECK(am2302_new_sensor_rmt(&am2302_config, &rmt_config, &sensor));
|
||||
|
||||
|
||||
xTaskCreate(&readTempHumid, "read_temp_task", 8192, NULL, 5, NULL);
|
||||
|
||||
//xTaskCreate(&readTempHumid, "read_temp_task", 8192, NULL, 5, NULL);
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
@ -1,85 +1,69 @@
|
||||
CONFIG_IDF_TARGET="esp32s3"
|
||||
# This file was generated using idf.py save-defconfig. It can be edited manually.
|
||||
# Espressif IoT Development Framework (ESP-IDF) 5.5.0 Project Minimal Configuration
|
||||
#
|
||||
CONFIG_IDF_TARGET="esp32p4"
|
||||
CONFIG_ESPTOOLPY_FLASHMODE_QIO=y
|
||||
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
|
||||
CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y
|
||||
CONFIG_PARTITION_TABLE_CUSTOM=y
|
||||
CONFIG_EXAMPLE_ENABLE_CAM_SENSOR_PIC_VFLIP=n
|
||||
CONFIG_EXAMPLE_ENABLE_CAM_SENSOR_PIC_HFLIP=n
|
||||
CONFIG_COMPILER_OPTIMIZATION_PERF=y
|
||||
CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE=y
|
||||
CONFIG_SPIRAM=y
|
||||
CONFIG_SPIRAM_MODE_OCT=y
|
||||
CONFIG_SPIRAM_FETCH_INSTRUCTIONS=y
|
||||
CONFIG_SPIRAM_RODATA=y
|
||||
CONFIG_SPIRAM_SPEED_80M=y
|
||||
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y
|
||||
CONFIG_ESP32S3_DATA_CACHE_LINE_64B=y
|
||||
CONFIG_SPIRAM_SPEED_200M=y
|
||||
CONFIG_SPIRAM_XIP_FROM_PSRAM=y
|
||||
CONFIG_SPIRAM_USE_CAPS_ALLOC=y
|
||||
CONFIG_CACHE_L2_CACHE_256KB=y
|
||||
CONFIG_CACHE_L2_CACHE_LINE_128B=y
|
||||
CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT=y
|
||||
CONFIG_FATFS_LFN_HEAP=y
|
||||
CONFIG_FREERTOS_HZ=1000
|
||||
CONFIG_FREERTOS_VTASKLIST_INCLUDE_COREID=y
|
||||
CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS=y
|
||||
CONFIG_FREERTOS_TASK_CREATE_ALLOW_EXT_MEM=n
|
||||
CONFIG_VFS_MAX_COUNT=15
|
||||
CONFIG_ESP_BROOKESIA_LOG_STYLE_STD=y
|
||||
CONFIG_ESP_BROOKESIA_MEMORY_USE_CUSTOM=y
|
||||
CONFIG_BSP_LCD_DPI_BUFFER_NUMS=2
|
||||
CONFIG_BSP_DISPLAY_LVGL_AVOID_TEAR=y
|
||||
CONFIG_BSP_DISPLAY_LVGL_DIRECT_MODE=y
|
||||
CONFIG_CAMERA_SC2336=y
|
||||
CONFIG_CAMERA_SC2336_MIPI_RAW10_1280x720_60FPS=y
|
||||
CONFIG_CAMERA_SC2336_CUSTOMIZED_IPA_JSON_CONFIGURATION_FILE=y
|
||||
CONFIG_CAMERA_SC2336_CUSTOMIZED_IPA_JSON_CONFIGURATION_FILE_PATH="components/apps/camera/sc2336_custom.json"
|
||||
CONFIG_ESP_VIDEO_ENABLE_DVP_VIDEO_DEVICE=n
|
||||
CONFIG_ESP_VIDEO_ENABLE_ISP_PIPELINE_CONTROLLER=y
|
||||
CONFIG_LV_COLOR_SCREEN_TRANSP=y
|
||||
CONFIG_LV_MEM_CUSTOM=y
|
||||
CONFIG_LV_MEM_CUSTOM_INCLUDE="esp_heap_caps.h"
|
||||
CONFIG_LV_MEMCPY_MEMSET_STD=y
|
||||
CONFIG_LV_CIRCLE_CACHE_SIZE=10
|
||||
CONFIG_LV_LAYER_SIMPLE_BUF_SIZE=102400
|
||||
CONFIG_LV_IMG_CACHE_DEF_SIZE=20
|
||||
CONFIG_LV_GRAD_CACHE_DEF_SIZE=10240
|
||||
CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM=y
|
||||
CONFIG_LV_FONT_MONTSERRAT_8=y
|
||||
CONFIG_LV_FONT_MONTSERRAT_10=y
|
||||
CONFIG_LV_FONT_MONTSERRAT_12=y
|
||||
CONFIG_LV_FONT_MONTSERRAT_16=y
|
||||
CONFIG_LV_FONT_MONTSERRAT_18=y
|
||||
CONFIG_LV_FONT_MONTSERRAT_20=y
|
||||
CONFIG_LV_FONT_MONTSERRAT_22=y
|
||||
CONFIG_LV_FONT_MONTSERRAT_24=y
|
||||
CONFIG_LV_FONT_MONTSERRAT_26=y
|
||||
CONFIG_LV_USE_DEMO_WIDGETS=n
|
||||
CONFIG_LV_USE_DEMO_BENCHMARK=n
|
||||
CONFIG_LV_USE_DEMO_STRESS=n
|
||||
CONFIG_LV_USE_DEMO_MUSIC=n
|
||||
CONFIG_LV_DEMO_MUSIC_AUTO_PLAY=n
|
||||
|
||||
## LVGL8 ##
|
||||
CONFIG_LV_MEM_SIZE_KILOBYTES=48
|
||||
CONFIG_LV_USE_PERF_MONITOR=y
|
||||
|
||||
## LVGL9 ##
|
||||
CONFIG_LV_CONF_SKIP=y
|
||||
|
||||
#CLIB default
|
||||
CONFIG_LV_USE_CLIB_MALLOC=y
|
||||
CONFIG_LV_USE_CLIB_SPRINTF=y
|
||||
CONFIG_LV_USE_CLIB_STRING=y
|
||||
|
||||
# Performance monitor
|
||||
CONFIG_LV_USE_OBSERVER=y
|
||||
CONFIG_LV_USE_SYSMON=y
|
||||
CONFIG_LV_USE_PERF_MONITOR=y
|
||||
|
||||
CONFIG_ESP_WIFI_ENABLED=y
|
||||
CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=10
|
||||
CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32
|
||||
# CONFIG_ESP_WIFI_STATIC_TX_BUFFER is not set
|
||||
CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER=y
|
||||
CONFIG_ESP_WIFI_TX_BUFFER_TYPE=1
|
||||
CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM=32
|
||||
CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER=y
|
||||
# CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER is not set
|
||||
CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF=0
|
||||
CONFIG_ESP_WIFI_RX_MGMT_BUF_NUM_DEF=5
|
||||
# CONFIG_ESP_WIFI_CSI_ENABLED is not set
|
||||
CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y
|
||||
CONFIG_ESP_WIFI_TX_BA_WIN=6
|
||||
CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y
|
||||
CONFIG_ESP_WIFI_RX_BA_WIN=6
|
||||
CONFIG_ESP_WIFI_NVS_ENABLED=y
|
||||
CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_0=y
|
||||
# CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_1 is not set
|
||||
CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752
|
||||
CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32
|
||||
CONFIG_ESP_WIFI_IRAM_OPT=y
|
||||
# CONFIG_ESP_WIFI_EXTRA_IRAM_OPT is not set
|
||||
CONFIG_ESP_WIFI_RX_IRAM_OPT=y
|
||||
CONFIG_ESP_WIFI_ENABLE_WPA3_SAE=y
|
||||
CONFIG_ESP_WIFI_ENABLE_SAE_PK=y
|
||||
CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT=y
|
||||
CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA=y
|
||||
# CONFIG_ESP_WIFI_SLP_IRAM_OPT is not set
|
||||
# CONFIG_ESP_WIFI_FTM_ENABLE is not set
|
||||
CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y
|
||||
# CONFIG_ESP_WIFI_GCMP_SUPPORT is not set
|
||||
# CONFIG_ESP_WIFI_GMAC_SUPPORT is not set
|
||||
CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y
|
||||
# CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set
|
||||
CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7
|
||||
CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y
|
||||
CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y
|
||||
# CONFIG_ESP_WIFI_WAPI_PSK is not set
|
||||
# CONFIG_ESP_WIFI_SUITE_B_192 is not set
|
||||
# CONFIG_ESP_WIFI_11KV_SUPPORT is not set
|
||||
# CONFIG_ESP_WIFI_MBO_SUPPORT is not set
|
||||
# CONFIG_ESP_WIFI_DPP_SUPPORT is not set
|
||||
# CONFIG_ESP_WIFI_11R_SUPPORT is not set
|
||||
# CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set
|
||||
CONFIG_LV_FONT_MONTSERRAT_28=y
|
||||
CONFIG_LV_FONT_MONTSERRAT_30=y
|
||||
CONFIG_LV_FONT_MONTSERRAT_32=y
|
||||
CONFIG_LV_FONT_MONTSERRAT_34=y
|
||||
CONFIG_LV_FONT_MONTSERRAT_36=y
|
||||
CONFIG_LV_FONT_MONTSERRAT_38=y
|
||||
CONFIG_LV_FONT_MONTSERRAT_40=y
|
||||
CONFIG_LV_FONT_MONTSERRAT_42=y
|
||||
CONFIG_LV_FONT_MONTSERRAT_44=y
|
||||
CONFIG_LV_FONT_MONTSERRAT_46=y
|
||||
CONFIG_LV_FONT_MONTSERRAT_48=y
|
||||
CONFIG_LV_USE_MONKEY=y
|
||||
CONFIG_LV_USE_DEMO_WIDGETS=y
|
||||
CONFIG_LV_USE_DEMO_BENCHMARK=y
|
||||
CONFIG_LV_USE_DEMO_STRESS=y
|
||||
CONFIG_IDF_EXPERIMENTAL_FEATURES=y
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user