Compare commits

...

2 Commits

Author SHA1 Message Date
2845c33955 Improved LED Ring 2026-04-26 11:43:59 +02:00
479162e47b Added Uart 2026-04-26 11:43:33 +02:00
6 changed files with 79 additions and 40 deletions

View File

@ -12,7 +12,7 @@ dependencies:
idf: idf:
source: source:
type: idf type: idf
version: 5.5.4 version: 5.5.1
direct_dependencies: direct_dependencies:
- espressif/led_strip - espressif/led_strip
- idf - idf

View File

@ -1,2 +1,2 @@
idf_component_register(SRCS "hw_test.c" "bosch456.c" idf_component_register(SRCS "hw_test.c" "bosch456.c" "uart.c"
INCLUDE_DIRS ".") INCLUDE_DIRS ".")

View File

@ -1,3 +1,4 @@
#include "bosch456.h"
#include "driver/gpio.h" #include "driver/gpio.h"
#include "driver/i2c_master.h" #include "driver/i2c_master.h"
#include "driver/i2c_types.h" #include "driver/i2c_types.h"
@ -6,20 +7,21 @@
#include "freertos/FreeRTOS.h" #include "freertos/FreeRTOS.h"
#include "freertos/task.h" #include "freertos/task.h"
#include "led_strip.h" #include "led_strip.h"
#include "uart.h"
#include <stdint.h> #include <stdint.h>
#include "bosch456.h" #include <sys/types.h>
#define LED_GPIO 21 #define LED_GPIO 21
#define TASTER_GPIO 12 #define TASTER_GPIO 12
#define V_LIPO_1 1 #define V_LIPO_1 1
#define V_LIPO_2 12 #define V_LIPO_2 12
#define TERMAINL_RX 2
#define TERMINAL_TX 3
#define DIP_MASTER 4 #define DIP_MASTER 4
#define I2C_SCL 5 #define I2C_SCL 5
#define I2C_SDA 6 #define I2C_SDA 6
#define LED_RING 7 #define LED_RING 7
#define RING_LEDS 95
#define I2C_PORT 0 #define I2C_PORT 0
#define IO_EXPANDER_ADDRESS 0x20 #define IO_EXPANDER_ADDRESS 0x20
@ -81,23 +83,32 @@ void vTaskInput(void *pvParameters) {
void vTaskRingBlink(void *pvParameters) { void vTaskRingBlink(void *pvParameters) {
ESP_LOGI("GPIO_TASK", "GPIO ring blink task started"); ESP_LOGI("GPIO_TASK", "GPIO ring blink task started");
static bool state; static bool state;
uint8_t c1 = 255, c2 = 255, c3 = 255;
while (1) { while (1) {
if (state) { if (state) {
// GREEN for (int i = 0; i < RING_LEDS; i++) {
led_strip_set_pixel(led_ring, 0, 25, 0, 0); led_strip_set_pixel(led_ring, i, c1, c2, c3);
led_strip_set_pixel(led_ring, 10, 25, 0, 0); led_strip_refresh(led_ring);
vTaskDelay(pdMS_TO_TICKS(10));
}
} else { } else {
led_strip_set_pixel(led_ring, 0, 0, 0, 0); for (int i = 0; i < RING_LEDS; i++) {
led_strip_set_pixel(led_ring, 10, 0, 0, 0); led_strip_set_pixel(led_ring, i, 0, 0, 0);
led_strip_refresh(led_ring);
vTaskDelay(pdMS_TO_TICKS(10));
}
} }
led_strip_refresh(led_ring);
state = !state; state = !state;
vTaskDelay(pdMS_TO_TICKS(1000)); uint8_t temp = c1;
c1 = c3;
c3 = c2;
c2 = temp;
vTaskDelay(pdMS_TO_TICKS(100));
} }
} }
@ -122,7 +133,7 @@ void app_main(void) {
/* LED Ring config */ /* LED Ring config */
led_strip_config_t ring_config = { led_strip_config_t ring_config = {
.strip_gpio_num = LED_RING, .strip_gpio_num = LED_RING,
.max_leds = 94, .max_leds = RING_LEDS,
}; };
led_strip_rmt_config_t rmt_ring_config = { led_strip_rmt_config_t rmt_ring_config = {
.resolution_hz = 10 * 1000 * 1000, // 10 MHz .resolution_hz = 10 * 1000 * 1000, // 10 MHz
@ -180,4 +191,5 @@ void app_main(void) {
} }
init_bma456(bus_handle); init_bma456(bus_handle);
init_uart();
} }

39
main/uart.c Normal file
View File

@ -0,0 +1,39 @@
#include "driver/uart.h"
#include "esp_log.h"
#include "hal/uart_types.h"
#include "uart.h"
#define MASTER_UART UART_NUM_1
#define BUF_SIZE (256)
#define TERMAINL_RX 2
#define TERMINAL_TX 3
void uart_read_task(void *param) {
uint8_t *data = (uint8_t *)malloc(BUF_SIZE);
int len = 0;
while (1) {
len = uart_read_bytes(MASTER_UART, data, BUF_SIZE, pdMS_TO_TICKS(20));
if (len > 0) {
for (int i = 0; i < len; i++) {
ESP_LOGI("UART", "UART: %c", data[i]);
}
}
}
}
void init_uart() {
uart_config_t uart_config = {// .baud_rate = 115200, // 921600, 115200
.baud_rate = 921600,
.data_bits = UART_DATA_8_BITS,
.parity = UART_PARITY_DISABLE,
.stop_bits = UART_STOP_BITS_1,
.flow_ctrl = UART_HW_FLOWCTRL_DISABLE};
uart_driver_install(MASTER_UART, BUF_SIZE * 2, 0, 0, NULL, 0);
uart_param_config(MASTER_UART, &uart_config);
uart_set_pin(MASTER_UART, TERMINAL_TX, TERMAINL_RX, UART_PIN_NO_CHANGE,
UART_PIN_NO_CHANGE);
xTaskCreate(uart_read_task, "Read Uart", 4096, NULL, 1, NULL);
}

2
main/uart.h Normal file
View File

@ -0,0 +1,2 @@
void init_uart();

View File

@ -1,6 +1,6 @@
# #
# Automatically generated file. DO NOT EDIT. # Automatically generated file. DO NOT EDIT.
# Espressif IoT Development Framework (ESP-IDF) 5.5.4 Project Configuration # Espressif IoT Development Framework (ESP-IDF) 5.5.1 Project Configuration
# #
CONFIG_SOC_ADC_SUPPORTED=y CONFIG_SOC_ADC_SUPPORTED=y
CONFIG_SOC_UART_SUPPORTED=y CONFIG_SOC_UART_SUPPORTED=y
@ -124,6 +124,7 @@ CONFIG_SOC_GPIO_OUT_RANGE_MAX=48
CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x0001FFFFFC000000 CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x0001FFFFFC000000
CONFIG_SOC_GPIO_CLOCKOUT_BY_IO_MUX=y CONFIG_SOC_GPIO_CLOCKOUT_BY_IO_MUX=y
CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM=3 CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM=3
CONFIG_SOC_GPIO_SUPPORT_HOLD_IO_IN_DSLP=y
CONFIG_SOC_DEDIC_GPIO_OUT_CHANNELS_NUM=8 CONFIG_SOC_DEDIC_GPIO_OUT_CHANNELS_NUM=8
CONFIG_SOC_DEDIC_GPIO_IN_CHANNELS_NUM=8 CONFIG_SOC_DEDIC_GPIO_IN_CHANNELS_NUM=8
CONFIG_SOC_DEDIC_GPIO_OUT_AUTO_ENABLE=y CONFIG_SOC_DEDIC_GPIO_OUT_AUTO_ENABLE=y
@ -184,7 +185,7 @@ CONFIG_SOC_RMT_CHANNELS_PER_GROUP=8
CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=48 CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=48
CONFIG_SOC_RMT_SUPPORT_RX_PINGPONG=y CONFIG_SOC_RMT_SUPPORT_RX_PINGPONG=y
CONFIG_SOC_RMT_SUPPORT_RX_DEMODULATION=y CONFIG_SOC_RMT_SUPPORT_RX_DEMODULATION=y
CONFIG_SOC_RMT_SUPPORT_ASYNC_STOP=y CONFIG_SOC_RMT_SUPPORT_TX_ASYNC_STOP=y
CONFIG_SOC_RMT_SUPPORT_TX_LOOP_COUNT=y CONFIG_SOC_RMT_SUPPORT_TX_LOOP_COUNT=y
CONFIG_SOC_RMT_SUPPORT_TX_LOOP_AUTO_STOP=y CONFIG_SOC_RMT_SUPPORT_TX_LOOP_AUTO_STOP=y
CONFIG_SOC_RMT_SUPPORT_TX_SYNCHRO=y CONFIG_SOC_RMT_SUPPORT_TX_SYNCHRO=y
@ -207,7 +208,6 @@ CONFIG_SOC_LCDCAM_RGB_DATA_WIDTH=16
CONFIG_SOC_RTC_CNTL_CPU_PD_DMA_BUS_WIDTH=128 CONFIG_SOC_RTC_CNTL_CPU_PD_DMA_BUS_WIDTH=128
CONFIG_SOC_RTC_CNTL_CPU_PD_REG_FILE_NUM=549 CONFIG_SOC_RTC_CNTL_CPU_PD_REG_FILE_NUM=549
CONFIG_SOC_RTC_CNTL_TAGMEM_PD_DMA_BUS_WIDTH=128 CONFIG_SOC_RTC_CNTL_TAGMEM_PD_DMA_BUS_WIDTH=128
CONFIG_SOC_RTC_CNTL_NEEDS_ATOMIC_ACCESS=y
CONFIG_SOC_RTCIO_PIN_COUNT=22 CONFIG_SOC_RTCIO_PIN_COUNT=22
CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y
CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y
@ -234,6 +234,10 @@ CONFIG_SOC_SPI_SCT_SUPPORTED=y
CONFIG_SOC_SPI_SCT_REG_NUM=14 CONFIG_SOC_SPI_SCT_REG_NUM=14
CONFIG_SOC_SPI_SCT_BUFFER_NUM_MAX=y CONFIG_SOC_SPI_SCT_BUFFER_NUM_MAX=y
CONFIG_SOC_SPI_SCT_CONF_BITLEN_MAX=0x3FFFA CONFIG_SOC_SPI_SCT_CONF_BITLEN_MAX=0x3FFFA
CONFIG_SOC_MEMSPI_SRC_FREQ_120M_SUPPORTED=y
CONFIG_SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED=y
CONFIG_SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED=y
CONFIG_SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED=y
CONFIG_SOC_SPIRAM_SUPPORTED=y CONFIG_SOC_SPIRAM_SUPPORTED=y
CONFIG_SOC_SPIRAM_XIP_SUPPORTED=y CONFIG_SOC_SPIRAM_XIP_SUPPORTED=y
CONFIG_SOC_SYSTIMER_COUNTER_NUM=2 CONFIG_SOC_SYSTIMER_COUNTER_NUM=2
@ -356,7 +360,6 @@ CONFIG_SOC_SPI_MEM_SUPPORT_WRAP=y
CONFIG_SOC_MEMSPI_TIMING_TUNING_BY_MSPI_DELAY=y CONFIG_SOC_MEMSPI_TIMING_TUNING_BY_MSPI_DELAY=y
CONFIG_SOC_MEMSPI_CORE_CLK_SHARED_WITH_PSRAM=y CONFIG_SOC_MEMSPI_CORE_CLK_SHARED_WITH_PSRAM=y
CONFIG_SOC_SPI_MEM_SUPPORT_CACHE_32BIT_ADDR_MAP=y CONFIG_SOC_SPI_MEM_SUPPORT_CACHE_32BIT_ADDR_MAP=y
CONFIG_SOC_SPI_MEM_FLASH_SUPPORT_HPM=y
CONFIG_SOC_COEX_HW_PTI=y CONFIG_SOC_COEX_HW_PTI=y
CONFIG_SOC_EXTERNAL_COEX_LEADER_TX_LINE=y CONFIG_SOC_EXTERNAL_COEX_LEADER_TX_LINE=y
CONFIG_SOC_SDMMC_USE_GPIO_MATRIX=y CONFIG_SOC_SDMMC_USE_GPIO_MATRIX=y
@ -368,7 +371,6 @@ CONFIG_SOC_WIFI_HW_TSF=y
CONFIG_SOC_WIFI_FTM_SUPPORT=y CONFIG_SOC_WIFI_FTM_SUPPORT=y
CONFIG_SOC_WIFI_GCMP_SUPPORT=y CONFIG_SOC_WIFI_GCMP_SUPPORT=y
CONFIG_SOC_WIFI_WAPI_SUPPORT=y CONFIG_SOC_WIFI_WAPI_SUPPORT=y
CONFIG_SOC_WIFI_TXOP_SUPPORT=y
CONFIG_SOC_WIFI_CSI_SUPPORT=y CONFIG_SOC_WIFI_CSI_SUPPORT=y
CONFIG_SOC_WIFI_MESH_SUPPORT=y CONFIG_SOC_WIFI_MESH_SUPPORT=y
CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y
@ -653,16 +655,8 @@ CONFIG_APPTRACE_LOCK_ENABLE=y
# #
# Common Options # Common Options
# #
#
# BLE Log
#
# CONFIG_BLE_LOG_ENABLED is not set
# end of BLE Log
# CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED is not set # CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED is not set
# CONFIG_BT_BLE_LOG_UHCI_OUT_ENABLED is not set # CONFIG_BT_BLE_LOG_UHCI_OUT_ENABLED is not set
# CONFIG_BT_LE_USED_MEM_STATISTICS_ENABLED is not set
# end of Common Options # end of Common Options
# end of Bluetooth # end of Bluetooth
@ -916,7 +910,6 @@ CONFIG_SPI_SLAVE_ISR_IN_IRAM=y
# ESP-Driver:TWAI Configurations # ESP-Driver:TWAI Configurations
# #
# CONFIG_TWAI_ISR_IN_IRAM is not set # CONFIG_TWAI_ISR_IN_IRAM is not set
# CONFIG_TWAI_IO_FUNC_IN_IRAM is not set
# CONFIG_TWAI_ISR_CACHE_SAFE is not set # CONFIG_TWAI_ISR_CACHE_SAFE is not set
# CONFIG_TWAI_ENABLE_DEBUG_LOG is not set # CONFIG_TWAI_ENABLE_DEBUG_LOG is not set
# end of ESP-Driver:TWAI Configurations # end of ESP-Driver:TWAI Configurations
@ -1019,7 +1012,6 @@ CONFIG_ESP_HTTPS_SERVER_EVENT_POST_TIMEOUT=2000
# #
# Hardware Settings # Hardware Settings
# #
CONFIG_ESP_HW_SUPPORT_FUNC_IN_IRAM=y
# #
# Chip revision # Chip revision
@ -1080,8 +1072,6 @@ CONFIG_RTC_CLK_SRC_INT_RC=y
# CONFIG_RTC_CLK_SRC_EXT_OSC is not set # CONFIG_RTC_CLK_SRC_EXT_OSC is not set
# CONFIG_RTC_CLK_SRC_INT_8MD256 is not set # CONFIG_RTC_CLK_SRC_INT_8MD256 is not set
CONFIG_RTC_CLK_CAL_CYCLES=1024 CONFIG_RTC_CLK_CAL_CYCLES=1024
CONFIG_RTC_CLK_FUNC_IN_IRAM=y
CONFIG_RTC_TIME_FUNC_IN_IRAM=y
# end of RTC Clock Config # end of RTC Clock Config
# #
@ -1135,9 +1125,9 @@ CONFIG_ESP_INTR_IN_IRAM=y
# #
# ESP-Driver:LCD Controller Configurations # ESP-Driver:LCD Controller Configurations
# #
# CONFIG_LCD_ENABLE_DEBUG_LOG is not set
# CONFIG_LCD_RGB_ISR_IRAM_SAFE is not set # CONFIG_LCD_RGB_ISR_IRAM_SAFE is not set
# CONFIG_LCD_RGB_RESTART_IN_VSYNC is not set # CONFIG_LCD_RGB_RESTART_IN_VSYNC is not set
# CONFIG_LCD_ENABLE_DEBUG_LOG is not set
# end of ESP-Driver:LCD Controller Configurations # end of ESP-Driver:LCD Controller Configurations
# #
@ -1191,9 +1181,9 @@ CONFIG_ESP_PHY_IRAM_OPT=y
# #
# Power Management # Power Management
# #
# CONFIG_PM_SLEEP_FUNC_IN_IRAM is not set CONFIG_PM_SLEEP_FUNC_IN_IRAM=y
# CONFIG_PM_ENABLE is not set # CONFIG_PM_ENABLE is not set
# CONFIG_PM_SLP_IRAM_OPT is not set CONFIG_PM_SLP_IRAM_OPT=y
CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y
CONFIG_PM_RESTORE_CACHE_TAGMEM_AFTER_LIGHT_SLEEP=y CONFIG_PM_RESTORE_CACHE_TAGMEM_AFTER_LIGHT_SLEEP=y
# end of Power Management # end of Power Management
@ -1405,10 +1395,10 @@ CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y
# #
# CONFIG_ESP_WIFI_WPS_STRICT is not set # CONFIG_ESP_WIFI_WPS_STRICT is not set
# CONFIG_ESP_WIFI_WPS_PASSPHRASE is not set # CONFIG_ESP_WIFI_WPS_PASSPHRASE is not set
# CONFIG_ESP_WIFI_WPS_RECONNECT_ON_FAIL is not set
# end of WPS Configuration Options # end of WPS Configuration Options
# CONFIG_ESP_WIFI_DEBUG_PRINT is not set # CONFIG_ESP_WIFI_DEBUG_PRINT is not set
# CONFIG_ESP_WIFI_TESTING_OPTIONS is not set
CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT=y CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT=y
# CONFIG_ESP_WIFI_ENT_FREE_DYNAMIC_BUFFER is not set # CONFIG_ESP_WIFI_ENT_FREE_DYNAMIC_BUFFER is not set
# end of Wi-Fi # end of Wi-Fi
@ -1741,7 +1731,6 @@ CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5
CONFIG_LWIP_IPV6_ND6_NUM_PREFIXES=5 CONFIG_LWIP_IPV6_ND6_NUM_PREFIXES=5
CONFIG_LWIP_IPV6_ND6_NUM_ROUTERS=3 CONFIG_LWIP_IPV6_ND6_NUM_ROUTERS=3
CONFIG_LWIP_IPV6_ND6_NUM_DESTINATIONS=10 CONFIG_LWIP_IPV6_ND6_NUM_DESTINATIONS=10
# CONFIG_LWIP_IPV6_ND6_ROUTE_INFO_OPTION_SUPPORT is not set
# CONFIG_LWIP_PPP_SUPPORT is not set # CONFIG_LWIP_PPP_SUPPORT is not set
# CONFIG_LWIP_SLIP_SUPPORT is not set # CONFIG_LWIP_SLIP_SUPPORT is not set
@ -1972,7 +1961,6 @@ CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y
# LibC # LibC
# #
CONFIG_LIBC_NEWLIB=y CONFIG_LIBC_NEWLIB=y
# CONFIG_LIBC_PICOLIBC is not set
CONFIG_LIBC_MISC_IN_IRAM=y CONFIG_LIBC_MISC_IN_IRAM=y
CONFIG_LIBC_LOCKS_PLACE_IN_IRAM=y CONFIG_LIBC_LOCKS_PLACE_IN_IRAM=y
CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=y CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=y
@ -1986,7 +1974,6 @@ CONFIG_LIBC_TIME_SYSCALL_USE_RTC_HRT=y
# CONFIG_LIBC_TIME_SYSCALL_USE_RTC is not set # CONFIG_LIBC_TIME_SYSCALL_USE_RTC is not set
# CONFIG_LIBC_TIME_SYSCALL_USE_HRT is not set # CONFIG_LIBC_TIME_SYSCALL_USE_HRT is not set
# CONFIG_LIBC_TIME_SYSCALL_USE_NONE is not set # CONFIG_LIBC_TIME_SYSCALL_USE_NONE is not set
CONFIG_LIBC_ASSERT_BUFFER_SIZE=200
# end of LibC # end of LibC
# #
@ -2007,8 +1994,6 @@ CONFIG_LIBC_ASSERT_BUFFER_SIZE=200
# #
# CONFIG_OPENTHREAD_SPINEL_ONLY is not set # CONFIG_OPENTHREAD_SPINEL_ONLY is not set
# end of OpenThread Spinel # end of OpenThread Spinel
# CONFIG_OPENTHREAD_DEBUG is not set
# end of OpenThread # end of OpenThread
# #
@ -2397,6 +2382,7 @@ CONFIG_WPA_MBEDTLS_TLS_CLIENT=y
# CONFIG_WPA_WPS_SOFTAP_REGISTRAR is not set # CONFIG_WPA_WPS_SOFTAP_REGISTRAR is not set
# CONFIG_WPA_WPS_STRICT is not set # CONFIG_WPA_WPS_STRICT is not set
# CONFIG_WPA_DEBUG_PRINT is not set # CONFIG_WPA_DEBUG_PRINT is not set
# CONFIG_WPA_TESTING_OPTIONS is not set
# CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH is not set # CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH is not set
# CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set # CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set
CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y