Let the SEGFAULTS begin!
Signed-off-by: Peter Siegmund <developer@mars3142.org>
This commit is contained in:
5
.gitignore
vendored
Normal file
5
.gitignore
vendored
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
build/**
|
||||||
|
managed_components/**
|
||||||
|
sdkconfig
|
||||||
|
sdkconfig.old
|
||||||
|
.vscode/settings.json
|
23
.vscode/c_cpp_properties.json
vendored
Normal file
23
.vscode/c_cpp_properties.json
vendored
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"name": "ESP-IDF",
|
||||||
|
"compilerPath": "${config:idf.toolsPath}/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/bin/xtensa-esp32s3-elf-gcc",
|
||||||
|
"compileCommands": "${config:idf.buildPath}/compile_commands.json",
|
||||||
|
"includePath": [
|
||||||
|
"${config:idf.espIdfPath}/components/**",
|
||||||
|
"${config:idf.espIdfPathWin}/components/**",
|
||||||
|
"${workspaceFolder}/**"
|
||||||
|
],
|
||||||
|
"browse": {
|
||||||
|
"path": [
|
||||||
|
"${config:idf.espIdfPath}/components",
|
||||||
|
"${config:idf.espIdfPathWin}/components",
|
||||||
|
"${workspaceFolder}"
|
||||||
|
],
|
||||||
|
"limitSymbolsToIncludedHeaders": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"version": 4
|
||||||
|
}
|
15
.vscode/launch.json
vendored
Normal file
15
.vscode/launch.json
vendored
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"type": "gdbtarget",
|
||||||
|
"request": "attach",
|
||||||
|
"name": "Eclipse CDT GDB Adapter"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "espidf",
|
||||||
|
"name": "Launch",
|
||||||
|
"request": "launch"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
6
CMakeLists.txt
Normal file
6
CMakeLists.txt
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# The following five lines of boilerplate have to be in your project's
|
||||||
|
# CMakeLists in this exact order for cmake to work correctly
|
||||||
|
cmake_minimum_required(VERSION 3.16)
|
||||||
|
|
||||||
|
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
|
||||||
|
project(miniature_town)
|
5
components/led_matrix/CMakeLists.txt
Normal file
5
components/led_matrix/CMakeLists.txt
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
idf_component_register(SRCS "led_matrix.c"
|
||||||
|
INCLUDE_DIRS "include"
|
||||||
|
PRIV_REQUIRES
|
||||||
|
led_strip
|
||||||
|
)
|
17
components/led_matrix/idf_component.yml
Normal file
17
components/led_matrix/idf_component.yml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
## IDF Component Manager Manifest File
|
||||||
|
dependencies:
|
||||||
|
## Required IDF version
|
||||||
|
idf:
|
||||||
|
version: '>=4.1.0'
|
||||||
|
# # Put list of dependencies here
|
||||||
|
# # For components maintained by Espressif:
|
||||||
|
# component: "~1.0.0"
|
||||||
|
# # For 3rd party components:
|
||||||
|
# username/component: ">=1.0.0,<2.0.0"
|
||||||
|
# username2/component2:
|
||||||
|
# version: "~1.0.0"
|
||||||
|
# # For transient dependencies `public` flag can be set.
|
||||||
|
# # `public` flag doesn't have an effect dependencies of the `main` component.
|
||||||
|
# # All dependencies of `main` are public by default.
|
||||||
|
# public: true
|
||||||
|
espressif/led_strip: '~3.0.0'
|
3
components/led_matrix/include/led_matrix.h
Normal file
3
components/led_matrix/include/led_matrix.h
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
void init_led(void);
|
39
components/led_matrix/led_matrix.c
Normal file
39
components/led_matrix/led_matrix.c
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include "led_matrix.h"
|
||||||
|
|
||||||
|
#include "led_strip.h"
|
||||||
|
|
||||||
|
#define LED_STRIP_RMT_RES_HZ (10 * 1000 * 1000)
|
||||||
|
|
||||||
|
led_strip_handle_t led_strip_init(uint8_t gpio_pin, uint32_t width, uint32_t height)
|
||||||
|
{
|
||||||
|
led_strip_config_t strip_config = {
|
||||||
|
.strip_gpio_num = gpio_pin,
|
||||||
|
.max_leds = width * height,
|
||||||
|
.led_model = LED_MODEL_WS2812,
|
||||||
|
.color_component_format = LED_STRIP_COLOR_COMPONENT_FMT_RGB,
|
||||||
|
.flags = {
|
||||||
|
.invert_out = false,
|
||||||
|
}};
|
||||||
|
|
||||||
|
led_strip_rmt_config_t rmt_config = {
|
||||||
|
.clk_src = RMT_CLK_SRC_DEFAULT,
|
||||||
|
.resolution_hz = LED_STRIP_RMT_RES_HZ,
|
||||||
|
.mem_block_symbols = 64,
|
||||||
|
.flags = {
|
||||||
|
.with_dma = true,
|
||||||
|
}};
|
||||||
|
|
||||||
|
led_strip_handle_t led_strip;
|
||||||
|
ESP_ERROR_CHECK(led_strip_new_rmt_device(&strip_config, &rmt_config, &led_strip));
|
||||||
|
return led_strip;
|
||||||
|
}
|
||||||
|
|
||||||
|
void init_led(void)
|
||||||
|
{
|
||||||
|
led_strip_handle_t led = led_strip_init(14, 8, 8);
|
||||||
|
// led_strip_set_pixel(led, 0, 255, 0, 0);
|
||||||
|
// led_strip_set_pixel(led, 1, 0, 255, 0);
|
||||||
|
// led_strip_set_pixel(led, 2, 0, 0, 255);
|
||||||
|
led_strip_refresh(led);
|
||||||
|
}
|
2
components/remote_control/CMakeLists.txt
Normal file
2
components/remote_control/CMakeLists.txt
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
idf_component_register(SRCS "remote_control.c"
|
||||||
|
INCLUDE_DIRS "include")
|
1
components/remote_control/include/remote_control.h
Normal file
1
components/remote_control/include/remote_control.h
Normal file
@@ -0,0 +1 @@
|
|||||||
|
void func(void);
|
7
components/remote_control/remote_control.c
Normal file
7
components/remote_control/remote_control.c
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include "remote_control.h"
|
||||||
|
|
||||||
|
void func(void)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
21
dependencies.lock
Normal file
21
dependencies.lock
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
dependencies:
|
||||||
|
espressif/led_strip:
|
||||||
|
component_hash: b578eb926d9f6402fd45398b53c9bd5d1b7a15c1b2974d25aa3088e6c79b0b4c
|
||||||
|
dependencies:
|
||||||
|
- name: idf
|
||||||
|
require: private
|
||||||
|
version: '>=5.0'
|
||||||
|
source:
|
||||||
|
registry_url: https://components.espressif.com/
|
||||||
|
type: service
|
||||||
|
version: 3.0.1
|
||||||
|
idf:
|
||||||
|
source:
|
||||||
|
type: idf
|
||||||
|
version: 5.4.1
|
||||||
|
direct_dependencies:
|
||||||
|
- espressif/led_strip
|
||||||
|
- idf
|
||||||
|
manifest_hash: f4b6d767929ac18eaac7f04ecb838dbd4eeadcf88f73554cdf3fb35996942f18
|
||||||
|
target: esp32s3
|
||||||
|
version: 2.0.0
|
6
main/CMakeLists.txt
Normal file
6
main/CMakeLists.txt
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
idf_component_register(SRCS "main.c"
|
||||||
|
INCLUDE_DIRS "."
|
||||||
|
PRIV_REQUIRES
|
||||||
|
led_matrix
|
||||||
|
remote_control
|
||||||
|
)
|
16
main/idf_component.yml
Normal file
16
main/idf_component.yml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
## IDF Component Manager Manifest File
|
||||||
|
dependencies:
|
||||||
|
## Required IDF version
|
||||||
|
idf:
|
||||||
|
version: '>=5.4.0'
|
||||||
|
# # Put list of dependencies here
|
||||||
|
# # For components maintained by Espressif:
|
||||||
|
# component: "~1.0.0"
|
||||||
|
# # For 3rd party components:
|
||||||
|
# username/component: ">=1.0.0,<2.0.0"
|
||||||
|
# username2/component2:
|
||||||
|
# version: "~1.0.0"
|
||||||
|
# # For transient dependencies `public` flag can be set.
|
||||||
|
# # `public` flag doesn't have an effect dependencies of the `main` component.
|
||||||
|
# # All dependencies of `main` are public by default.
|
||||||
|
# public: true
|
6
main/main.c
Normal file
6
main/main.c
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
#include "led_matrix.h"
|
||||||
|
|
||||||
|
void app_main(void)
|
||||||
|
{
|
||||||
|
init_led();
|
||||||
|
}
|
7
partitions.csv
Normal file
7
partitions.csv
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
# Name , Type , SubType , Offset , Size , Flags
|
||||||
|
nvs , data , nvs , 0x9000 , 20k ,
|
||||||
|
otadata , data , ota , 0xe000 , 8k ,
|
||||||
|
app0 , app , ota_0 , 0x10000 , 1024k ,
|
||||||
|
app1 , app , ota_1 , , 1024k ,
|
||||||
|
spiffs , data , spiffs , , 1536k ,
|
||||||
|
coredump , data , coredump , , 64k ,
|
|
19
sdkconfig.defaults
Executable file
19
sdkconfig.defaults
Executable file
@@ -0,0 +1,19 @@
|
|||||||
|
# activate Bluetooth Low Energy (BLE)
|
||||||
|
CONFIG_BT_ENABLED=y
|
||||||
|
CONFIG_BT_NIMBLE_ENABLED=y
|
||||||
|
|
||||||
|
# nimble options
|
||||||
|
CONFIG_BT_NIMBLE_SVC_GAP_DEVICE_NAME="miniature"
|
||||||
|
|
||||||
|
# Logging
|
||||||
|
CONFIG_LOG_DEFAULT_LEVEL_INFO=y
|
||||||
|
CONFIG_LOG_DEFAULT_LEVEL=3
|
||||||
|
CONFIG_LOG_MAXIMUM_LEVEL=3
|
||||||
|
|
||||||
|
# Flash Size
|
||||||
|
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
|
||||||
|
CONFIG_ESPTOOLPY_FLASHSIZE="4MB"
|
||||||
|
|
||||||
|
# Partitions
|
||||||
|
CONFIG_PARTITION_TABLE_CUSTOM=y
|
||||||
|
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv"
|
2
sdkconfig.defaults.esp32s3
Normal file
2
sdkconfig.defaults.esp32s3
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
# default ESP target
|
||||||
|
CONFIG_IDF_TARGET="esp32s3"
|
Reference in New Issue
Block a user