Compare commits

...

5 Commits

Author SHA1 Message Date
95a946e47f less crap spi 2025-07-31 17:00:47 +02:00
48d2089b69 get rid of window refresh 2025-07-31 16:13:54 +02:00
3e9b7b4326 less template pain 2025-07-31 16:12:35 +02:00
e1004ff196 x11 thread workaround 2025-07-31 14:36:21 +02:00
24df0fc825 add some missed includes 2025-07-31 14:35:58 +02:00
16 changed files with 489 additions and 266 deletions

View File

@@ -4,8 +4,8 @@
#ifndef CB_DISP_TOOLS_HPP #ifndef CB_DISP_TOOLS_HPP
#define CB_DISP_TOOLS_HPP #define CB_DISP_TOOLS_HPP
#include <display.hpp>
#include <display.hpp>
class DispTools { class DispTools {
public: public:
@@ -14,34 +14,28 @@ public:
void clear() { void clear() {
for (int y = 0; y < DISP_HEIGHT; y++) { for (int y = 0; y < DISP_HEIGHT; y++) {
for (int x = 0; x < DISP_WIDTH; x++) { for (int x = 0; x < DISP_WIDTH; x++) {
disp_frame[y][x] = 1; SMD::get().set_pixel(x, y, true);
} }
} }
} }
bool get_pixel(int x, int y) { bool get_pixel(int x, int y) {
// if (x < 0 || x >= DISP_WIDTH || y < 0 || y >= DISP_HEIGHT) // if (x < 0 || x >= DISP_WIDTH || y < 0 || y >= DISP_HEIGHT)
// assert(false); // assert(false);
return disp_frame[y][x]; return true;
// return disp_frame[y][x];
} }
void reset_pixel(int x, int y) { void reset_pixel(int x, int y) {
// if (x < 0 || x >= DISP_WIDTH || y < 0 || y >= DISP_HEIGHT) // if (x < 0 || x >= DISP_WIDTH || y < 0 || y >= DISP_HEIGHT)
// assert(false); // assert(false);
SMD::get().set_pixel(x, y, false);
disp_frame[y][x] = true;
} }
void set_pixel(int x, int y) { void set_pixel(int x, int y) {
// if (x < 0 || x >= DISP_WIDTH || y < 0 || y >= DISP_HEIGHT) // if (x < 0 || x >= DISP_WIDTH || y < 0 || y >= DISP_HEIGHT)
// assert(false); // assert(false);
// //
disp_frame[y][x] = false; SMD::get().set_pixel(x, y, true);
} }
void draw_rectangle(int x1, int y1, int x2, int y2);
void draw_line(int x1, int y1, int x2, int y2);
void draw_circle(int x, int y, int r);
void draw_to_display(); void draw_to_display();
private:
SMD::disp_frame_t disp_frame;
}; };

View File

@@ -17,12 +17,28 @@
class SMD { class SMD {
public: public:
using disp_line_t = std::bitset<400>; static constexpr size_t kLineBytes = DISP_WIDTH / 8;
using disp_frame_t = std::array<disp_line_t, 240>; static constexpr size_t kLineMultiSingle = (kLineBytes + 2);
static constexpr size_t kLineDataBytes = kLineMultiSingle * DISP_HEIGHT + 2;
static DMA_ATTR uint8_t dma_buf[SMD::kLineDataBytes];
static SMD& get(); static SMD& get();
void clear(); void clear();
void draw(const disp_frame_t& frame); void draw();
void set_pixel(int x, int y, bool value) {
assert(x >= 0 && x < DISP_WIDTH && y >= 0 && y < DISP_HEIGHT);
unsigned lineIdx = 2 + kLineMultiSingle * y + (x / 8);
unsigned bitIdx = 1 << (7 - (x % 8)) % 8;
if (value) {
dma_buf[lineIdx] &= ~bitIdx;
} else {
dma_buf[lineIdx] |= bitIdx;
}
}
private: private:
SMD(); SMD();
@@ -34,18 +50,14 @@ private:
.queue_size = 3, .queue_size = 3,
// .pre_cb = lcd_spi_pre_transfer_callback, //Specify pre-transfer callback to handle D/C line // .pre_cb = lcd_spi_pre_transfer_callback, //Specify pre-transfer callback to handle D/C line
}; };
static constexpr size_t kLineBytes = DISP_WIDTH / 8; spi_device_handle_t _spi;
spi_device_handle_t _spi; bool _vcom = false;
bool _vcom = false;
static constexpr size_t kLineData = (kLineBytes + 4);
std::array<uint8_t, kLineData> buf{};
std::array<uint8_t, kLineBytes> prep_line(const SMD::disp_line_t& line);
}; };
class SMDSurface : public Surface<SMDSurface, BwPixel>, public StandardEventQueue<SMDSurface> { class SMDSurface : public Surface<SMDSurface, BwPixel>, public StandardEventQueue<SMDSurface> {
public: public:
using PixelType = BwPixel;
SMDSurface(EventLoop* loop); SMDSurface(EventLoop* loop);
~SMDSurface() override; ~SMDSurface() override;

View File

@@ -13,53 +13,4 @@ DispTools& DispTools::get() {
return disp_tools; return disp_tools;
} }
void DispTools::draw_rectangle(int x1, int y1, int x2, int y2) { void DispTools::draw_to_display() { SMD::get().draw(); }
int dy = y2 - y1;
while (std::abs(dy) > 0) {
draw_line(x1, y1 + dy, x2, y1 + dy);
dy += (dy > 0) ? -1 : 1;
}
}
void DispTools::draw_line(int x1, int y1, int x2, int y2) {
int dx = x2 - x1;
int dy = y2 - y1;
int a = 0, b = 0, diff = 0;
if (dx == 0) {
while (dy != 0) {
set_pixel(x1, y1 + dy);
dy += (dy > 0) ? -1 : 1;
}
return;
}
if (dy == 0) {
while (dx != 0) {
set_pixel(x1 + dx, y1);
dx += (dx > 0) ? -1 : 1;
}
return;
}
while (std::abs(a) <= std::abs(dx) && std::abs(b) <= std::abs(dy)) {
set_pixel(x1 + a, y1 + b);
if (diff < 0) {
a += (dx > 0) ? 1 : -1;
diff += std::abs(dy);
} else {
b += (dy > 0) ? 1 : -1;
diff -= std::abs(dx);
}
}
}
void DispTools::draw_circle(int x, int y, int r) {
if (r > 181)
return;
int dy = -r;
while (dy <= r) {
int dx = static_cast<int>(std::sqrt(r * r - dy * dy));
draw_line(x - dx, y + dy, x + dx, y + dy);
dy++;
}
}
void DispTools::draw_to_display() { SMD::get().draw(disp_frame); }

View File

@@ -11,21 +11,12 @@
#include "disp_tools.hpp" #include "disp_tools.hpp"
DMA_ATTR uint8_t SMD::dma_buf[SMD::kLineDataBytes]{};
// This solution is attributed to Rich Schroeppel in the Programming Hacks section // This solution is attributed to Rich Schroeppel in the Programming Hacks section
// TODO: Why does the device flag not work? // TODO: Why does the device flag not work?
unsigned char reverse_bits3(unsigned char b) { return (b * 0x0202020202ULL & 0x010884422010ULL) % 0x3ff; } unsigned char reverse_bits3(unsigned char b) { return (b * 0x0202020202ULL & 0x010884422010ULL) % 0x3ff; }
std::array<uint8_t, SMD::kLineBytes> SMD::prep_line(const SMD::disp_line_t& line) {
std::array<uint8_t, kLineBytes> data{};
for (int i = 0; i < DISP_WIDTH; i++) {
data[i / 8] = data[i / 8] | (line[i] << (i % 8));
}
for (int i = 0; i < kLineBytes; i++) {
data[i] = reverse_bits3(data[i]);
}
return data;
}
SMD& SMD::get() { SMD& SMD::get() {
static SMD smd; static SMD smd;
return smd; return smd;
@@ -38,6 +29,12 @@ SMD::SMD() {
ESP_ERROR_CHECK(gpio_set_direction(SPI_DISP_DISP, GPIO_MODE_OUTPUT)); ESP_ERROR_CHECK(gpio_set_direction(SPI_DISP_DISP, GPIO_MODE_OUTPUT));
ESP_ERROR_CHECK(gpio_set_level(SPI_DISP_DISP, 1)); ESP_ERROR_CHECK(gpio_set_level(SPI_DISP_DISP, 1));
ESP_ERROR_CHECK(gpio_hold_en(SPI_DISP_DISP)); ESP_ERROR_CHECK(gpio_hold_en(SPI_DISP_DISP));
for (uint8_t i = 0; i < DISP_HEIGHT; i++) {
dma_buf[kLineMultiSingle * i + 1] = reverse_bits3(i + 1);
dma_buf[2 + kLineMultiSingle * i + kLineBytes] = 0;
}
dma_buf[kLineDataBytes - 1] = 0;
} }
void SMD::clear() { void SMD::clear() {
@@ -50,25 +47,15 @@ void SMD::clear() {
ESP_ERROR_CHECK(spi_device_transmit(_spi, &t)); ESP_ERROR_CHECK(spi_device_transmit(_spi, &t));
} }
void SMD::draw(const disp_frame_t& frame) { void SMD::draw() {
_vcom = !_vcom; _vcom = !_vcom;
for (uint8_t i = 0; i < DISP_HEIGHT; i++) { spi_transaction_t t{};
spi_transaction_t t{};
t.tx_buffer = buf.data(); t.tx_buffer = dma_buf;
t.length = buf.size() * 8; t.length = SMD::kLineDataBytes * 8;
dma_buf[0] = 0b10000000 | (_vcom << 6);
buf[0] = 0b10000000 | (_vcom << 6); ESP_ERROR_CHECK(spi_device_transmit(_spi, &t));
buf[1] = reverse_bits3(i + 1);
auto prepared = prep_line(frame.at(i));
memcpy(buf.data() + 2, prepared.data(), kLineBytes);
buf[2 + kLineBytes] = 0;
buf[2 + kLineBytes + 1] = 0;
ESP_ERROR_CHECK(spi_device_transmit(_spi, &t));
}
} }
void SMDSurface::draw_pixel_impl(unsigned x, unsigned y, const BwPixel& pixel) { void SMDSurface::draw_pixel_impl(unsigned x, unsigned y, const BwPixel& pixel) {

View File

@@ -45,7 +45,7 @@ FbTty tty;
extern "C" void app_main() { extern "C" void app_main() {
esp_pm_config_t pm_config = { esp_pm_config_t pm_config = {
.max_freq_mhz = CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ, .min_freq_mhz = 16, .light_sleep_enable = true}; .max_freq_mhz = CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ, .min_freq_mhz = 16, .light_sleep_enable = true};
ESP_ERROR_CHECK(esp_pm_configure(&pm_config)); // ESP_ERROR_CHECK(esp_pm_configure(&pm_config));
printf("Hello world!\n"); printf("Hello world!\n");
// TODO: Where to put that? // TODO: Where to put that?
ESP_ERROR_CHECK(esp_sleep_enable_gpio_wakeup()); ESP_ERROR_CHECK(esp_sleep_enable_gpio_wakeup());
@@ -64,8 +64,8 @@ extern "C" void app_main() {
SMD::get(); SMD::get();
SMD::get().clear(); SMD::get().clear();
DispTools::get().clear(); DispTools::get().clear();
DispTools::get().draw_line(0, 0, 399, 239); // DispTools::get().draw_line(0, 0, 399, 239);
DispTools::get().draw_circle(100, 100, 20); // DispTools::get().draw_circle(100, 100, 20);
DispTools::get().draw_to_display(); DispTools::get().draw_to_display();
tty.putstr("Hello\nworld!"); tty.putstr("Hello\nworld!");
DispTools::get().draw_to_display(); DispTools::get().draw_to_display();
@@ -77,28 +77,28 @@ extern "C" void app_main() {
EventLoop loop; EventLoop loop;
SMDSurface surface(&loop); SMDSurface surface(&loop);
surface.set_window<GridWindow<SMDSurface, BwPixel, 2, 2>>(); surface.set_window<GridWindow<SMDSurface, 2, 2>>();
GridWindow<SMDSurface, BwPixel, 2, 2>* window = GridWindow<SMDSurface, 2, 2>* window =
static_cast<GridWindow<SMDSurface, BwPixel, 2, 2>*>(surface.get_window()); static_cast<GridWindow<SMDSurface, 2, 2>*>(surface.get_window());
window->set_window<TextWindow<SubSurface<SMDSurface, BwPixel>, BwPixel, std::string>>(0, 0, &loop, "hello"); window->set_window<TextWindow<SubSurface<SMDSurface>, std::string>>(0, 0, &loop, "hello");
window->set_window<TextWindow<SubSurface<SMDSurface, BwPixel>, BwPixel, std::string>>(0, 1, &loop, "hello1"); window->set_window<TextWindow<SubSurface<SMDSurface>, std::string>>(0, 1, &loop, "hello1");
window->set_window<GridWindow<SubSurface<SMDSurface, BwPixel>, BwPixel, 2, 2>>(1, 0); window->set_window<GridWindow<SubSurface<SMDSurface>, 2, 2>>(1, 0);
GridWindow<SubSurface<SMDSurface, BwPixel>, BwPixel, 2, 2>* window2 = GridWindow<SubSurface<SMDSurface>, 2, 2>* window2 =
static_cast<GridWindow<SubSurface<SMDSurface, BwPixel>, BwPixel, 2, 2>*>( static_cast<GridWindow<SubSurface<SMDSurface>, 2, 2>*>(
window->get_subsurface(1, 0).get_window()); window->get_subsurface(1, 0).get_window());
window->set_window<TextWindow<SubSurface<SMDSurface, BwPixel>, BwPixel, std::string>>(1, 1, &loop, "hello3"); window->set_window<TextWindow<SubSurface<SMDSurface>, std::string>>(1, 1, &loop, "hello3");
window2->set_window<TextWindow<SubSurface<SubSurface<SMDSurface, BwPixel>, BwPixel>, BwPixel, std::string>>( window2->set_window<TextWindow<SubSurface<SMDSurface>, std::string>>(
0, 0, &loop, "hello2"); 0, 0, &loop, "hello2");
window2->set_window<TextWindow<SubSurface<SubSurface<SMDSurface, BwPixel>, BwPixel>, BwPixel, std::string>>( window2->set_window<TextWindow<SubSurface<SMDSurface>, std::string>>(
0, 1, &loop, "hello4"); 0, 1, &loop, "hello4");
window2->set_window<TextWindow<SubSurface<SubSurface<SMDSurface, BwPixel>, BwPixel>, BwPixel, std::string>>( window2->set_window<TextWindow<SubSurface<SMDSurface>, std::string>>(
1, 0, &loop, "hello5"); 1, 0, &loop, "hello5");
window2->set_window<TextWindow<SubSurface<SubSurface<SMDSurface, BwPixel>, BwPixel>, BwPixel, std::string>>( window2->set_window<TextWindow<SubSurface<SMDSurface>, std::string>>(
1, 1, &loop, "hello6"); 1, 1, &loop, "hello6");
auto* tl_text = static_cast<TextWindow<SubSurface<SMDSurface, BwPixel>, BwPixel, std::string>*>( auto* tl_text = static_cast<TextWindow<SubSurface<SMDSurface>, std::string>*>(
window->get_subsurface(0, 0).get_window()); window->get_subsurface(0, 0).get_window());
surface.handle(SurfaceResizeEvent{DISP_WIDTH, DISP_HEIGHT}); surface.handle(SurfaceResizeEvent{DISP_WIDTH, DISP_HEIGHT});

View File

@@ -12,6 +12,8 @@
#include <mutex> #include <mutex>
#include <optional> #include <optional>
#include <type_traits> #include <type_traits>
#include <variant>
#include <functional>
enum class EventHandlingResult { DONE, IGNORE, CONTINUE }; enum class EventHandlingResult { DONE, IGNORE, CONTINUE };

View File

@@ -5,6 +5,7 @@
#ifndef CB_SDK_FONTS_HPP #ifndef CB_SDK_FONTS_HPP
#define CB_SDK_FONTS_HPP #define CB_SDK_FONTS_HPP
#include <cstdint>
#include <array> #include <array>
// Terminess Powerline // Terminess Powerline

View File

@@ -11,10 +11,12 @@
#include "Window.hpp" #include "Window.hpp"
#include "utils.hpp" #include "utils.hpp"
template<typename SurfaceType, typename PixelType, unsigned nWidth, unsigned nHeight> template<typename SurfaceType, unsigned nWidth, unsigned nHeight>
class GridWindow : public Window<SurfaceType, PixelType> { class GridWindow : public Window<SurfaceType> {
public: public:
explicit GridWindow(SurfaceType* owner) : Window<SurfaceType, PixelType>(owner) { using PixelType = typename SurfaceType::PixelType;
explicit GridWindow(SurfaceType* owner) : Window<SurfaceType>(owner) {
for (int i = 0; i < nWidth; ++i) { for (int i = 0; i < nWidth; ++i) {
for (int j = 0; j < nHeight; ++j) { for (int j = 0; j < nHeight; ++j) {
_grid[i][j].emplace(owner); _grid[i][j].emplace(owner);
@@ -22,7 +24,7 @@ public:
} }
} }
EventHandlingResult handle(KeyboardEvent keyboardEvent) override { EventHandlingResult handle_v(KeyboardEvent keyboardEvent) override {
if (keyboardEvent.key_code == Key::Escape) { if (keyboardEvent.key_code == Key::Escape) {
if (!_has_focus) { if (!_has_focus) {
return EventHandlingResult::CONTINUE; return EventHandlingResult::CONTINUE;
@@ -67,12 +69,18 @@ public:
return EventHandlingResult::DONE; return EventHandlingResult::DONE;
} }
EventHandlingResult handle(SurfaceResizeEvent resize) override { EventHandlingResult handle_v(SurfaceResizeEvent resize) override {
_cell_width = this->_owner->get_width() / nWidth; _cell_width = this->_owner->get_width() / nWidth;
_cell_height = this->_owner->get_height() / nHeight; _cell_height = this->_owner->get_height() / nHeight;
for (int i = 0; i < nWidth; ++i) { for (int i = 0; i < nWidth; ++i) {
for (int j = 0; j < nHeight; ++j) { for (int j = 0; j < nHeight; ++j) {
_grid[i][j]->set_pos(i * _cell_width + 1, j * _cell_height + 1, _cell_width - 1, _cell_height - 1); if constexpr (is_specialization_of<SubSurface, SurfaceType>::value) {
_grid[i][j]->set_pos(this->_owner->get_x_offset() + i * _cell_width + 1,
this->_owner->get_y_offset() + j * _cell_height + 1, _cell_width - 2,
_cell_height - 2);
} else {
_grid[i][j]->set_pos(i * _cell_width + 1, j * _cell_height + 1, _cell_width - 2, _cell_height - 2);
}
} }
} }
refresh(); refresh();
@@ -84,17 +92,14 @@ public:
_grid[x][y]->template set_window<WindowType>(std::forward<Args>(args)...); _grid[x][y]->template set_window<WindowType>(std::forward<Args>(args)...);
} }
SubSurface<SurfaceType, PixelType>& get_subsurface(unsigned x, unsigned y) { SubSurface<SurfaceType>& get_subsurface(unsigned x, unsigned y) {
// assert(x >= nWidth && y >= nHeight); // assert(x >= nWidth && y >= nHeight);
return *_grid[x][y]; return *_grid[x][y];
} }
void refresh() override { void refresh() {
for (int i = 0; i < nWidth; ++i) { for (int i = 0; i < nWidth; ++i) {
for (int j = 0; j < nHeight; ++j) { for (int j = 0; j < nHeight; ++j) {
if (_grid[i][j]->has_window()) {
_grid[i][j]->get_window()->refresh();
}
if (i == _current_focus_x && j == _current_focus_y) { if (i == _current_focus_x && j == _current_focus_y) {
this->_owner->draw_rect(i * _cell_width, j * _cell_height, _cell_width, _cell_height, this->_owner->draw_rect(i * _cell_width, j * _cell_height, _cell_width, _cell_height,
PixelType(true)); PixelType(true));
@@ -107,7 +112,10 @@ public:
} }
private: private:
std::array<std::array<std::optional<SubSurface<SurfaceType, PixelType>>, nWidth>, nHeight> _grid; using SubType = std::conditional_t<is_specialization_of<SubSurface, SurfaceType>::value, SurfaceType,
SubSurface<SurfaceType>>;
std::array<std::array<std::optional<SubType>, nWidth>, nHeight> _grid;
unsigned _cell_width = 0; unsigned _cell_width = 0;
unsigned _cell_height = 0; unsigned _cell_height = 0;

View File

@@ -14,27 +14,25 @@
#include "Window.hpp" #include "Window.hpp"
#include "utils.hpp" #include "utils.hpp"
template<typename SurfaceParent, typename PixelType> template<typename SurfaceParent>
requires std::is_base_of_v<Pixel, PixelType> class SubSurface : public Surface<SubSurface<SurfaceParent>, typename SurfaceParent::PixelType> {
class SubSurface : public Surface<SubSurface<SurfaceParent, PixelType>, PixelType> {
public: public:
using PixelType = typename SurfaceParent::PixelType;
SubSurface(SurfaceParent* parent) : _parent(parent) {} SubSurface(SurfaceParent* parent) : _parent(parent) {}
SubSurface(SubSurface<SurfaceParent>* parent) : _parent(parent->_parent) {}
void draw_pixel_impl(unsigned x, unsigned y, const PixelType& pixel) { void draw_pixel_impl(unsigned x, unsigned y, const PixelType& pixel) {
if (x >= _x_size || y >= _y_size) { if (x >= _x_size || y >= _y_size) {
return; // Out of bounds assert(false);
} }
_parent->draw_pixel(x + _x_offset, y + _y_offset, pixel); _parent->draw_pixel(x + _x_offset, y + _y_offset, pixel);
} }
void clear_impl() { unsigned get_x_offset() const { return _x_offset; }
for (unsigned y = 0; y < _y_size; y++) {
for (unsigned x = 0; x < _x_size; x++) { unsigned get_y_offset() const { return _y_offset; }
_parent->draw_pixel(x + _x_offset, y + _y_offset, PixelType());
}
}
}
unsigned get_width_impl() const { return _x_size; } unsigned get_width_impl() const { return _x_size; }

View File

@@ -5,6 +5,7 @@
#ifndef SURFACE_HPP #ifndef SURFACE_HPP
#define SURFACE_HPP #define SURFACE_HPP
#include <cassert>
#include <memory> #include <memory>
#include <type_traits> #include <type_traits>
@@ -17,7 +18,7 @@ template<typename Derived, typename PixelType>
requires std::is_base_of_v<Pixel, PixelType> requires std::is_base_of_v<Pixel, PixelType>
class Surface : public StandardEventHandler<Derived> { class Surface : public StandardEventHandler<Derived> {
public: public:
Surface() = default; Surface() { static_assert(std::is_same_v<PixelType, typename Derived::PixelType>); }
void draw_pixel(unsigned x, unsigned y, const BwPixel& pixel) { void draw_pixel(unsigned x, unsigned y, const BwPixel& pixel) {
static_cast<Derived*>(this)->draw_pixel_impl(x, y, pixel); static_cast<Derived*>(this)->draw_pixel_impl(x, y, pixel);
@@ -34,7 +35,13 @@ public:
} }
} }
void clear() { static_cast<Derived*>(this)->clear_impl(); } void clear() {
for (unsigned x = 0; x < get_width(); x++) {
for (unsigned y = 0; y < get_height(); y++) {
draw_pixel(x, y, PixelType());
}
}
}
int get_width() const { return static_cast<const Derived*>(this)->get_width_impl(); } int get_width() const { return static_cast<const Derived*>(this)->get_width_impl(); }
@@ -50,7 +57,6 @@ public:
template<typename WindowType, typename... Args> template<typename WindowType, typename... Args>
void set_window(Args&&... args) { void set_window(Args&&... args) {
_window = std::make_unique<WindowType>(static_cast<Derived*>(this), std::forward<Args>(args)...); _window = std::make_unique<WindowType>(static_cast<Derived*>(this), std::forward<Args>(args)...);
_window->refresh();
} }
Surface(const Surface& other) = delete; Surface(const Surface& other) = delete;
@@ -63,13 +69,13 @@ public:
bool has_window() const { return _window != nullptr; } bool has_window() const { return _window != nullptr; }
Window<Derived, PixelType>* get_window() { Window<Derived>* get_window() {
assert(has_window()); assert(has_window());
return _window.get(); return _window.get();
} }
protected: protected:
std::unique_ptr<Window<Derived, PixelType>> _window = nullptr; std::unique_ptr<Window<Derived>> _window = nullptr;
}; };
#endif // SURFACE_HPP #endif // SURFACE_HPP

View File

@@ -16,16 +16,18 @@ struct TextUpdateEvent : public Event {
StringType new_text; StringType new_text;
}; };
template<typename SurfaceType, typename PixelType, typename StringType> template<typename SurfaceType, typename StringType>
class TextWindow : public Window<SurfaceType, PixelType>, class TextWindow : public Window<SurfaceType>,
public EventHandler<TextUpdateEvent<StringType>>, public EventHandler<TextUpdateEvent<StringType>>,
public EventQueue<TextWindow<SurfaceType, PixelType, StringType>, TextUpdateEvent<StringType>> { public EventQueue<TextWindow<SurfaceType, StringType>, TextUpdateEvent<StringType>> {
public: public:
using PixelType = typename SurfaceType::PixelType;
explicit TextWindow(SurfaceType* owner, EventLoop* loop, StringType text = "") : explicit TextWindow(SurfaceType* owner, EventLoop* loop, StringType text = "") :
Window<SurfaceType, PixelType>(owner), EventQueue<TextWindow, TextUpdateEvent<StringType>>(loop, this), Window<SurfaceType>(owner), EventQueue<TextWindow, TextUpdateEvent<StringType>>(loop, this),
_text(std::move(text)) {} _text(std::move(text)) {}
EventHandlingResult handle(SurfaceResizeEvent resize) override { EventHandlingResult handle_v(SurfaceResizeEvent resize) override {
refresh(); refresh();
return EventHandlingResult::DONE; return EventHandlingResult::DONE;
} }
@@ -36,7 +38,7 @@ public:
return EventHandlingResult::DONE; return EventHandlingResult::DONE;
} }
void refresh() override { void refresh() {
this->_owner->clear(); this->_owner->clear();
size_t _max_col = this->_owner->get_width() / 8; size_t _max_col = this->_owner->get_width() / 8;
size_t _max_row = this->_owner->get_height() / 16; size_t _max_row = this->_owner->get_height() / 16;

View File

@@ -16,21 +16,22 @@ template<typename Derived, typename PixelType>
requires std::is_base_of_v<Pixel, PixelType> requires std::is_base_of_v<Pixel, PixelType>
class Surface; class Surface;
template<typename SurfaceType, typename PixelType> template<typename SurfaceType>
requires std::is_base_of_v<Pixel, PixelType> class Window : StandardEventHandler<Window<SurfaceType>> {
class Window : StandardEventHandler<Window<SurfaceType, PixelType>> {
public: public:
using PixelType = typename SurfaceType::PixelType;
explicit Window(SurfaceType* owner) : _owner(owner) { explicit Window(SurfaceType* owner) : _owner(owner) {
// static_assert(is_specialization_of<Surface, SurfaceType>::value); // static_assert(is_specialization_of<Surface, SurfaceType>::value);
} }
virtual void refresh() = 0;
virtual ~Window() = default; virtual ~Window() = default;
virtual EventHandlingResult handle(KeyboardEvent) { return EventHandlingResult::CONTINUE; } EventHandlingResult handle(auto Event) { return handle_v(Event); }
virtual EventHandlingResult handle(SurfaceEvent) { return EventHandlingResult::CONTINUE; }
virtual EventHandlingResult handle(SurfaceResizeEvent) { return EventHandlingResult::CONTINUE; } virtual EventHandlingResult handle_v(KeyboardEvent) { return EventHandlingResult::CONTINUE; }
virtual EventHandlingResult handle_v(SurfaceEvent) { return EventHandlingResult::CONTINUE; }
virtual EventHandlingResult handle_v(SurfaceResizeEvent) { return EventHandlingResult::CONTINUE; }
protected: protected:
SurfaceType* _owner = nullptr; SurfaceType* _owner = nullptr;

View File

@@ -12,14 +12,14 @@
class SfmlSurface : public Surface<SfmlSurface, BwPixel>, public StandardEventQueue<SfmlSurface> { class SfmlSurface : public Surface<SfmlSurface, BwPixel>, public StandardEventQueue<SfmlSurface> {
public: public:
using PixelType = BwPixel;
SfmlSurface(EventLoop* loop); SfmlSurface(EventLoop* loop);
~SfmlSurface(); // override; ~SfmlSurface(); // override;
void draw_pixel_impl(unsigned x, unsigned y, const BwPixel& pixel); void draw_pixel_impl(unsigned x, unsigned y, const BwPixel& pixel);
void clear_impl();
unsigned get_width_impl() const; unsigned get_width_impl() const;
unsigned get_height_impl() const; unsigned get_height_impl() const;

View File

@@ -8,8 +8,6 @@ void SfmlSurface::draw_pixel_impl(unsigned x, unsigned y, const BwPixel& pixel)
_image.setPixel({x, y}, pixel.on ? sf::Color::Black : sf::Color::White); _image.setPixel({x, y}, pixel.on ? sf::Color::Black : sf::Color::White);
} }
void SfmlSurface::clear_impl() { _image = sf::Image(_image.getSize(), sf::Color::White); }
unsigned SfmlSurface::get_width_impl() const { return _image.getSize().x; } unsigned SfmlSurface::get_width_impl() const { return _image.getSize().x; }
unsigned SfmlSurface::get_height_impl() const { return _image.getSize().y; } unsigned SfmlSurface::get_height_impl() const { return _image.getSize().y; }

View File

@@ -1,4 +1,6 @@
#include <SFML/Graphics.hpp> #include <SFML/Graphics.hpp>
#include <barrier>
#include <latch>
#include <optional> #include <optional>
#include <thread> #include <thread>
@@ -9,55 +11,62 @@
int main() { int main() {
EventLoop loop; EventLoop loop;
SfmlSurface surface(&loop); std::latch barrier{1};
surface.set_window<GridWindow<SfmlSurface, BwPixel, 2, 2>>();
GridWindow<SfmlSurface, BwPixel, 2, 2>* window =
static_cast<GridWindow<SfmlSurface, BwPixel, 2, 2>*>(surface.get_window());
window->set_window<TextWindow<SubSurface<SfmlSurface, BwPixel>, BwPixel, std::string>>(0, 0, &loop, "hello");
window->set_window<TextWindow<SubSurface<SfmlSurface, BwPixel>, BwPixel, std::string>>(0, 1, &loop, "hello1");
window->set_window<GridWindow<SubSurface<SfmlSurface, BwPixel>, BwPixel, 2, 2>>(1, 0);
GridWindow<SubSurface<SfmlSurface, BwPixel>, BwPixel, 2, 2>* window2 =
static_cast<GridWindow<SubSurface<SfmlSurface, BwPixel>, BwPixel, 2, 2>*>(
window->get_subsurface(1, 0).get_window());
window->set_window<TextWindow<SubSurface<SfmlSurface, BwPixel>, BwPixel, std::string>>(1, 1, &loop, "hello3");
window2->set_window<TextWindow<SubSurface<SubSurface<SfmlSurface, BwPixel>, BwPixel>, BwPixel, std::string>>(
0, 0, &loop, "hello2");
window2->set_window<TextWindow<SubSurface<SubSurface<SfmlSurface, BwPixel>, BwPixel>, BwPixel, std::string>>(
0, 1, &loop, "hello4");
window2->set_window<TextWindow<SubSurface<SubSurface<SfmlSurface, BwPixel>, BwPixel>, BwPixel, std::string>>(
1, 0, &loop, "hello5");
window2->set_window<TextWindow<SubSurface<SubSurface<SfmlSurface, BwPixel>, BwPixel>, BwPixel, std::string>>(
1, 1, &loop, "hello6");
SfmlSurface* surface_ptr;
int i = 0; int i = 0;
std::thread loop_thread{[&] { std::thread loop_thread{[&] {
SfmlSurface surface(&loop);
surface_ptr = &surface;
barrier.count_down();
surface.set_window<GridWindow<SfmlSurface, 2, 2>>();
GridWindow<SfmlSurface, 2, 2>* window =
static_cast<GridWindow<SfmlSurface, 2, 2>*>(surface.get_window());
window->set_window<TextWindow<SubSurface<SfmlSurface>, std::string>>(0, 0, &loop, "hello");
window->set_window<TextWindow<SubSurface<SfmlSurface>, std::string>>(0, 1, &loop, "hello1");
window->set_window<GridWindow<SubSurface<SfmlSurface>, 2, 2>>(1, 0);
GridWindow<SubSurface<SfmlSurface>, 2, 2>* window2 =
static_cast<GridWindow<SubSurface<SfmlSurface>, 2, 2>*>(
window->get_subsurface(1, 0).get_window());
window->set_window<TextWindow<SubSurface<SfmlSurface>, std::string>>(1, 1, &loop, "hello3");
window2->set_window<TextWindow<SubSurface<SfmlSurface>, std::string>>(
0, 0, &loop, "hello2");
window2->set_window<TextWindow<SubSurface<SfmlSurface>, std::string>>(
0, 1, &loop, "hello4");
window2->set_window<TextWindow<SubSurface<SfmlSurface>, std::string>>(
1, 0, &loop, "hello5");
window2->set_window<TextWindow<SubSurface<SfmlSurface>, std::string>>(
1, 1, &loop, "hello6");
loop.run([&] { loop.run([&] {
surface._sf_window.clear(); surface._sf_window.clear();
surface._texture.update(surface._image); surface._texture.update(surface._image);
surface._sf_window.draw(surface._sprite); surface._sf_window.draw(surface._sprite);
surface._sf_window.display(); surface._sf_window.display();
static_cast<TextWindow<SubSurface<SfmlSurface, BwPixel>, BwPixel, std::string>*>( static_cast<TextWindow<SubSurface<SfmlSurface>, std::string>*>(
window->get_subsurface(0, 0).get_window()) window->get_subsurface(0, 0).get_window())
->push(TextUpdateEvent<std::string>{std::string("Hello, SFML!") + std::to_string(i++)}); ->push(TextUpdateEvent<std::string>{std::string("Hello, SFML!") + std::to_string(i++)});
}); });
}}; }};
while (surface._sf_window.isOpen()) { barrier.wait();
while (const std::optional event = surface._sf_window.pollEvent()) {
while (surface_ptr->_sf_window.isOpen()) {
while (const std::optional event = surface_ptr->_sf_window.pollEvent()) {
if (event->is<sf::Event::Closed>()) { if (event->is<sf::Event::Closed>()) {
surface._sf_window.close(); surface_ptr->_sf_window.close();
loop.push(LoopQuitEvent{}); loop.push(LoopQuitEvent{});
} }
if (event->is<sf::Event::Resized>()) { if (event->is<sf::Event::Resized>()) {
auto newSize = event->getIf<sf::Event::Resized>()->size; auto newSize = event->getIf<sf::Event::Resized>()->size;
surface.push(SurfaceResizeEvent{newSize.x, newSize.y}); surface_ptr->push(SurfaceResizeEvent{newSize.x, newSize.y});
} }
if (event->is<sf::Event::KeyPressed>()) { if (event->is<sf::Event::KeyPressed>()) {
auto key = event->getIf<sf::Event::KeyPressed>(); auto key = event->getIf<sf::Event::KeyPressed>();
surface.push(KeyboardEvent{static_cast<Key>(key->code)}); surface_ptr->push(KeyboardEvent{static_cast<Key>(key->code)});
} }
} }
} }

View File

@@ -1,11 +1,13 @@
# #
# Automatically generated file. DO NOT EDIT. # Automatically generated file. DO NOT EDIT.
# Espressif IoT Development Framework (ESP-IDF) 5.4.0 Project Configuration # Espressif IoT Development Framework (ESP-IDF) 5.5.0 Project Configuration
# #
CONFIG_SOC_CAPS_ECO_VER_MAX=102
CONFIG_SOC_ADC_SUPPORTED=y CONFIG_SOC_ADC_SUPPORTED=y
CONFIG_SOC_ANA_CMPR_SUPPORTED=y CONFIG_SOC_ANA_CMPR_SUPPORTED=y
CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y
CONFIG_SOC_UART_SUPPORTED=y CONFIG_SOC_UART_SUPPORTED=y
CONFIG_SOC_UHCI_SUPPORTED=y
CONFIG_SOC_GDMA_SUPPORTED=y CONFIG_SOC_GDMA_SUPPORTED=y
CONFIG_SOC_AHB_GDMA_SUPPORTED=y CONFIG_SOC_AHB_GDMA_SUPPORTED=y
CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y
@@ -45,6 +47,7 @@ CONFIG_SOC_ECDSA_SUPPORTED=y
CONFIG_SOC_FLASH_ENC_SUPPORTED=y CONFIG_SOC_FLASH_ENC_SUPPORTED=y
CONFIG_SOC_SECURE_BOOT_SUPPORTED=y CONFIG_SOC_SECURE_BOOT_SUPPORTED=y
CONFIG_SOC_BOD_SUPPORTED=y CONFIG_SOC_BOD_SUPPORTED=y
CONFIG_SOC_VBAT_SUPPORTED=y
CONFIG_SOC_APM_SUPPORTED=y CONFIG_SOC_APM_SUPPORTED=y
CONFIG_SOC_PMU_SUPPORTED=y CONFIG_SOC_PMU_SUPPORTED=y
CONFIG_SOC_LP_TIMER_SUPPORTED=y CONFIG_SOC_LP_TIMER_SUPPORTED=y
@@ -60,10 +63,12 @@ CONFIG_SOC_DEEP_SLEEP_SUPPORTED=y
CONFIG_SOC_MODEM_CLOCK_SUPPORTED=y CONFIG_SOC_MODEM_CLOCK_SUPPORTED=y
CONFIG_SOC_PM_SUPPORTED=y CONFIG_SOC_PM_SUPPORTED=y
CONFIG_SOC_XTAL_SUPPORT_32M=y CONFIG_SOC_XTAL_SUPPORT_32M=y
CONFIG_SOC_XTAL_CLOCK_PATH_DEPENDS_ON_TOP_DOMAIN=y
CONFIG_SOC_AES_SUPPORT_DMA=y CONFIG_SOC_AES_SUPPORT_DMA=y
CONFIG_SOC_AES_GDMA=y CONFIG_SOC_AES_GDMA=y
CONFIG_SOC_AES_SUPPORT_AES_128=y CONFIG_SOC_AES_SUPPORT_AES_128=y
CONFIG_SOC_AES_SUPPORT_AES_256=y CONFIG_SOC_AES_SUPPORT_AES_256=y
CONFIG_SOC_AES_SUPPORT_PSEUDO_ROUND_FUNCTION=y
CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y
CONFIG_SOC_ADC_DIG_IIR_FILTER_SUPPORTED=y CONFIG_SOC_ADC_DIG_IIR_FILTER_SUPPORTED=y
CONFIG_SOC_ADC_MONITOR_SUPPORTED=y CONFIG_SOC_ADC_MONITOR_SUPPORTED=y
@@ -167,7 +172,10 @@ CONFIG_SOC_I2S_SUPPORTS_PLL_F64M=y
CONFIG_SOC_I2S_SUPPORTS_PCM=y CONFIG_SOC_I2S_SUPPORTS_PCM=y
CONFIG_SOC_I2S_SUPPORTS_PDM=y CONFIG_SOC_I2S_SUPPORTS_PDM=y
CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y
CONFIG_SOC_I2S_SUPPORTS_PCM2PDM=y
CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y
CONFIG_SOC_I2S_PDM_MAX_TX_LINES=2 CONFIG_SOC_I2S_PDM_MAX_TX_LINES=2
CONFIG_SOC_I2S_PDM_MAX_RX_LINES=1
CONFIG_SOC_I2S_SUPPORTS_TDM=y CONFIG_SOC_I2S_SUPPORTS_TDM=y
CONFIG_SOC_I2S_TDM_FULL_DATA_WIDTH=y CONFIG_SOC_I2S_TDM_FULL_DATA_WIDTH=y
CONFIG_SOC_I2S_SUPPORT_SLEEP_RETENTION=y CONFIG_SOC_I2S_SUPPORT_SLEEP_RETENTION=y
@@ -188,6 +196,7 @@ CONFIG_SOC_PCNT_UNITS_PER_GROUP=4
CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2 CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2
CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2 CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2
CONFIG_SOC_PCNT_SUPPORT_RUNTIME_THRES_UPDATE=y CONFIG_SOC_PCNT_SUPPORT_RUNTIME_THRES_UPDATE=y
CONFIG_SOC_PCNT_SUPPORT_STEP_NOTIFY=y
CONFIG_SOC_PCNT_SUPPORT_SLEEP_RETENTION=y CONFIG_SOC_PCNT_SUPPORT_SLEEP_RETENTION=y
CONFIG_SOC_RMT_GROUPS=1 CONFIG_SOC_RMT_GROUPS=1
CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=2 CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=2
@@ -227,7 +236,9 @@ CONFIG_SOC_PARLIO_TX_CLK_SUPPORT_GATING=y
CONFIG_SOC_PARLIO_RX_CLK_SUPPORT_GATING=y CONFIG_SOC_PARLIO_RX_CLK_SUPPORT_GATING=y
CONFIG_SOC_PARLIO_RX_CLK_SUPPORT_OUTPUT=y CONFIG_SOC_PARLIO_RX_CLK_SUPPORT_OUTPUT=y
CONFIG_SOC_PARLIO_TRANS_BIT_ALIGN=y CONFIG_SOC_PARLIO_TRANS_BIT_ALIGN=y
CONFIG_SOC_PARLIO_TX_SUPPORT_LOOP_TRANSMISSION=y
CONFIG_SOC_PARLIO_SUPPORT_SLEEP_RETENTION=y CONFIG_SOC_PARLIO_SUPPORT_SLEEP_RETENTION=y
CONFIG_SOC_PARLIO_SUPPORT_SPI_LCD=y
CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4 CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4
CONFIG_SOC_MPI_OPERATIONS_NUM=3 CONFIG_SOC_MPI_OPERATIONS_NUM=3
CONFIG_SOC_RSA_MAX_BIT_LEN=3072 CONFIG_SOC_RSA_MAX_BIT_LEN=3072
@@ -270,7 +281,6 @@ CONFIG_SOC_SPI_MEM_SUPPORT_WRAP=y
CONFIG_SOC_MEMSPI_SRC_FREQ_64M_SUPPORTED=y CONFIG_SOC_MEMSPI_SRC_FREQ_64M_SUPPORTED=y
CONFIG_SOC_MEMSPI_SRC_FREQ_32M_SUPPORTED=y CONFIG_SOC_MEMSPI_SRC_FREQ_32M_SUPPORTED=y
CONFIG_SOC_MEMSPI_SRC_FREQ_16M_SUPPORTED=y CONFIG_SOC_MEMSPI_SRC_FREQ_16M_SUPPORTED=y
CONFIG_SOC_MEMSPI_FLASH_CLK_SRC_IS_INDEPENDENT=y
CONFIG_SOC_SYSTIMER_COUNTER_NUM=2 CONFIG_SOC_SYSTIMER_COUNTER_NUM=2
CONFIG_SOC_SYSTIMER_ALARM_NUM=3 CONFIG_SOC_SYSTIMER_ALARM_NUM=3
CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO=32 CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO=32
@@ -293,6 +303,7 @@ CONFIG_SOC_TIMER_SUPPORT_SLEEP_RETENTION=y
CONFIG_SOC_MWDT_SUPPORT_XTAL=y CONFIG_SOC_MWDT_SUPPORT_XTAL=y
CONFIG_SOC_MWDT_SUPPORT_SLEEP_RETENTION=y CONFIG_SOC_MWDT_SUPPORT_SLEEP_RETENTION=y
CONFIG_SOC_TWAI_CONTROLLER_NUM=1 CONFIG_SOC_TWAI_CONTROLLER_NUM=1
CONFIG_SOC_TWAI_MASK_FILTER_NUM=1
CONFIG_SOC_TWAI_CLK_SUPPORT_XTAL=y CONFIG_SOC_TWAI_CLK_SUPPORT_XTAL=y
CONFIG_SOC_TWAI_BRP_MIN=2 CONFIG_SOC_TWAI_BRP_MIN=2
CONFIG_SOC_TWAI_BRP_MAX=32768 CONFIG_SOC_TWAI_BRP_MAX=32768
@@ -314,9 +325,14 @@ CONFIG_SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY=y
CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=64 CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=64
CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES=y CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES=y
CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128=y CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128=y
CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_SUPPORT_PSEUDO_ROUND=y
CONFIG_SOC_APM_CTRL_FILTER_SUPPORTED=y CONFIG_SOC_APM_CTRL_FILTER_SUPPORTED=y
CONFIG_SOC_CRYPTO_DPA_PROTECTION_SUPPORTED=y CONFIG_SOC_CRYPTO_DPA_PROTECTION_SUPPORTED=y
CONFIG_SOC_ECC_CONSTANT_TIME_POINT_MUL=y
CONFIG_SOC_ECDSA_USES_MPI=y CONFIG_SOC_ECDSA_USES_MPI=y
CONFIG_SOC_ECDSA_SUPPORT_DETERMINISTIC_MODE=y
CONFIG_SOC_ECDSA_SUPPORT_HW_DETERMINISTIC_LOOP=y
CONFIG_SOC_ECDSA_P192_CURVE_DEFAULT_DISABLED=y
CONFIG_SOC_UART_NUM=2 CONFIG_SOC_UART_NUM=2
CONFIG_SOC_UART_HP_NUM=2 CONFIG_SOC_UART_HP_NUM=2
CONFIG_SOC_UART_FIFO_LEN=128 CONFIG_SOC_UART_FIFO_LEN=128
@@ -326,6 +342,12 @@ CONFIG_SOC_UART_SUPPORT_XTAL_CLK=y
CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y
CONFIG_SOC_UART_SUPPORT_FSM_TX_WAIT_SEND=y CONFIG_SOC_UART_SUPPORT_FSM_TX_WAIT_SEND=y
CONFIG_SOC_UART_SUPPORT_SLEEP_RETENTION=y CONFIG_SOC_UART_SUPPORT_SLEEP_RETENTION=y
CONFIG_SOC_UART_WAKEUP_CHARS_SEQ_MAX_LEN=5
CONFIG_SOC_UART_WAKEUP_SUPPORT_ACTIVE_THRESH_MODE=y
CONFIG_SOC_UART_WAKEUP_SUPPORT_FIFO_THRESH_MODE=y
CONFIG_SOC_UART_WAKEUP_SUPPORT_START_BIT_MODE=y
CONFIG_SOC_UART_WAKEUP_SUPPORT_CHAR_SEQ_MODE=y
CONFIG_SOC_UHCI_NUM=1
CONFIG_SOC_COEX_HW_PTI=y CONFIG_SOC_COEX_HW_PTI=y
CONFIG_SOC_EXTERNAL_COEX_ADVANCE=y CONFIG_SOC_EXTERNAL_COEX_ADVANCE=y
CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21
@@ -349,13 +371,16 @@ CONFIG_SOC_PM_CPU_RETENTION_BY_SW=y
CONFIG_SOC_PM_MODEM_RETENTION_BY_REGDMA=y CONFIG_SOC_PM_MODEM_RETENTION_BY_REGDMA=y
CONFIG_SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY=y CONFIG_SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY=y
CONFIG_SOC_PM_RETENTION_SW_TRIGGER_REGDMA=y CONFIG_SOC_PM_RETENTION_SW_TRIGGER_REGDMA=y
CONFIG_SOC_PM_SUPPORT_PMU_CLK_ICG=y
CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y
CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y
CONFIG_SOC_CLK_OSC_SLOW_SUPPORTED=y CONFIG_SOC_CLK_OSC_SLOW_SUPPORTED=y
CONFIG_SOC_CLK_RC32K_SUPPORTED=y CONFIG_SOC_CLK_RC32K_SUPPORTED=y
CONFIG_SOC_CLK_LP_FAST_SUPPORT_LP_PLL=y CONFIG_SOC_CLK_LP_FAST_SUPPORT_LP_PLL=y
CONFIG_SOC_CLK_LP_FAST_SUPPORT_XTAL_D2=y
CONFIG_SOC_MODEM_CLOCK_IS_INDEPENDENT=y CONFIG_SOC_MODEM_CLOCK_IS_INDEPENDENT=y
CONFIG_SOC_RCC_IS_INDEPENDENT=y CONFIG_SOC_RCC_IS_INDEPENDENT=y
CONFIG_SOC_CLK_ANA_I2C_MST_HAS_ROOT_GATE=y
CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC=y CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC=y
CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_XTAL=y CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_XTAL=y
CONFIG_SOC_TEMPERATURE_SENSOR_INTR_SUPPORT=y CONFIG_SOC_TEMPERATURE_SENSOR_INTR_SUPPORT=y
@@ -371,6 +396,7 @@ CONFIG_SOC_BLE_DEVICE_PRIVACY_SUPPORTED=y
CONFIG_SOC_BLE_POWER_CONTROL_SUPPORTED=y CONFIG_SOC_BLE_POWER_CONTROL_SUPPORTED=y
CONFIG_SOC_BLE_MULTI_CONN_OPTIMIZATION=y CONFIG_SOC_BLE_MULTI_CONN_OPTIMIZATION=y
CONFIG_SOC_BLE_PERIODIC_ADV_ENH_SUPPORTED=y CONFIG_SOC_BLE_PERIODIC_ADV_ENH_SUPPORTED=y
CONFIG_SOC_BLE_CTE_SUPPORTED=y
CONFIG_SOC_DEBUG_HAVE_OCD_STUB_BINS=y CONFIG_SOC_DEBUG_HAVE_OCD_STUB_BINS=y
CONFIG_IDF_CMAKE=y CONFIG_IDF_CMAKE=y
CONFIG_IDF_TOOLCHAIN="gcc" CONFIG_IDF_TOOLCHAIN="gcc"
@@ -405,6 +431,17 @@ CONFIG_BOOTLOADER_COMPILE_TIME_DATE=y
CONFIG_BOOTLOADER_PROJECT_VER=1 CONFIG_BOOTLOADER_PROJECT_VER=1
# end of Bootloader manager # end of Bootloader manager
#
# Application Rollback
#
# CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set
# end of Application Rollback
#
# Bootloader Rollback
#
# end of Bootloader Rollback
CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x0 CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x0
CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y
# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set
@@ -413,6 +450,8 @@ CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y
# #
# Log # Log
# #
CONFIG_BOOTLOADER_LOG_VERSION_1=y
CONFIG_BOOTLOADER_LOG_VERSION=1
# CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set # CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set
# CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set # CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set
# CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set # CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set
@@ -427,6 +466,13 @@ CONFIG_BOOTLOADER_LOG_LEVEL=3
# CONFIG_BOOTLOADER_LOG_COLORS is not set # CONFIG_BOOTLOADER_LOG_COLORS is not set
CONFIG_BOOTLOADER_LOG_TIMESTAMP_SOURCE_CPU_TICKS=y CONFIG_BOOTLOADER_LOG_TIMESTAMP_SOURCE_CPU_TICKS=y
# end of Format # end of Format
#
# Settings
#
CONFIG_BOOTLOADER_LOG_MODE_TEXT_EN=y
CONFIG_BOOTLOADER_LOG_MODE_TEXT=y
# end of Settings
# end of Log # end of Log
# #
@@ -442,7 +488,6 @@ CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE=y
CONFIG_BOOTLOADER_WDT_ENABLE=y CONFIG_BOOTLOADER_WDT_ENABLE=y
# CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set # CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set
CONFIG_BOOTLOADER_WDT_TIME_MS=9000 CONFIG_BOOTLOADER_WDT_TIME_MS=9000
# CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set
# CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP is not set # CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP is not set
# CONFIG_BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON is not set # CONFIG_BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON is not set
# CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set # CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set
@@ -485,6 +530,7 @@ CONFIG_ESP_ROM_TLSF_CHECK_PATCH=y
CONFIG_ESP_ROM_MULTI_HEAP_WALK_PATCH=y CONFIG_ESP_ROM_MULTI_HEAP_WALK_PATCH=y
CONFIG_ESP_ROM_HAS_LAYOUT_TABLE=y CONFIG_ESP_ROM_HAS_LAYOUT_TABLE=y
CONFIG_ESP_ROM_HAS_SPI_FLASH=y CONFIG_ESP_ROM_HAS_SPI_FLASH=y
CONFIG_ESP_ROM_HAS_SPI_FLASH_MMAP=y
CONFIG_ESP_ROM_WITHOUT_REGI2C=y CONFIG_ESP_ROM_WITHOUT_REGI2C=y
CONFIG_ESP_ROM_HAS_NEWLIB=y CONFIG_ESP_ROM_HAS_NEWLIB=y
CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y
@@ -497,6 +543,8 @@ CONFIG_ESP_ROM_USB_OTG_NUM=-1
CONFIG_ESP_ROM_HAS_VERSION=y CONFIG_ESP_ROM_HAS_VERSION=y
CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB=y CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB=y
CONFIG_ESP_ROM_HAS_OUTPUT_PUTC_FUNC=y CONFIG_ESP_ROM_HAS_OUTPUT_PUTC_FUNC=y
CONFIG_ESP_ROM_NO_USB_SERIAL_OUTPUT_API=y
CONFIG_ESP_ROM_HAS_SUBOPTIMAL_NEWLIB_ON_MISALIGNED_MEMORY=y
# #
# Boot ROM Behavior # Boot ROM Behavior
@@ -507,6 +555,13 @@ CONFIG_BOOT_ROM_LOG_ALWAYS_ON=y
# CONFIG_BOOT_ROM_LOG_ON_GPIO_LOW is not set # CONFIG_BOOT_ROM_LOG_ON_GPIO_LOW is not set
# end of Boot ROM Behavior # end of Boot ROM Behavior
#
# ESP-TEE (Trusted Execution Environment)
#
# CONFIG_SECURE_ENABLE_TEE is not set
CONFIG_SECURE_TEE_LOG_LEVEL=0
# end of ESP-TEE (Trusted Execution Environment)
# #
# Serial flasher config # Serial flasher config
# #
@@ -637,6 +692,8 @@ CONFIG_BT_NIMBLE_ROLE_CENTRAL=y
CONFIG_BT_NIMBLE_ROLE_PERIPHERAL=y CONFIG_BT_NIMBLE_ROLE_PERIPHERAL=y
CONFIG_BT_NIMBLE_ROLE_BROADCASTER=y CONFIG_BT_NIMBLE_ROLE_BROADCASTER=y
CONFIG_BT_NIMBLE_ROLE_OBSERVER=y CONFIG_BT_NIMBLE_ROLE_OBSERVER=y
CONFIG_BT_NIMBLE_GATT_CLIENT=y
CONFIG_BT_NIMBLE_GATT_SERVER=y
# CONFIG_BT_NIMBLE_NVS_PERSIST is not set # CONFIG_BT_NIMBLE_NVS_PERSIST is not set
# CONFIG_BT_NIMBLE_SMP_ID_RESET is not set # CONFIG_BT_NIMBLE_SMP_ID_RESET is not set
CONFIG_BT_NIMBLE_SECURITY_ENABLE=y CONFIG_BT_NIMBLE_SECURITY_ENABLE=y
@@ -645,11 +702,14 @@ CONFIG_BT_NIMBLE_SM_SC=y
# CONFIG_BT_NIMBLE_SM_SC_DEBUG_KEYS is not set # CONFIG_BT_NIMBLE_SM_SC_DEBUG_KEYS is not set
CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_ENCRYPTION=y CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_ENCRYPTION=y
CONFIG_BT_NIMBLE_SM_LVL=0 CONFIG_BT_NIMBLE_SM_LVL=0
CONFIG_BT_NIMBLE_SM_SC_ONLY=0
CONFIG_BT_NIMBLE_PRINT_ERR_NAME=y
# CONFIG_BT_NIMBLE_DEBUG is not set # CONFIG_BT_NIMBLE_DEBUG is not set
# CONFIG_BT_NIMBLE_DYNAMIC_SERVICE is not set # CONFIG_BT_NIMBLE_DYNAMIC_SERVICE is not set
CONFIG_BT_NIMBLE_SVC_GAP_DEVICE_NAME="nimble" CONFIG_BT_NIMBLE_SVC_GAP_DEVICE_NAME="nimble"
CONFIG_BT_NIMBLE_GAP_DEVICE_NAME_MAX_LEN=31 CONFIG_BT_NIMBLE_GAP_DEVICE_NAME_MAX_LEN=31
CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU=256 CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU=256
CONFIG_BT_NIMBLE_ATT_MAX_PREP_ENTRIES=64
CONFIG_BT_NIMBLE_SVC_GAP_APPEARANCE=0 CONFIG_BT_NIMBLE_SVC_GAP_APPEARANCE=0
# #
@@ -669,13 +729,13 @@ CONFIG_BT_NIMBLE_L2CAP_COC_SDU_BUFF_COUNT=1
# end of Memory Settings # end of Memory Settings
CONFIG_BT_NIMBLE_GATT_MAX_PROCS=4 CONFIG_BT_NIMBLE_GATT_MAX_PROCS=4
# CONFIG_BT_NIMBLE_HS_FLOW_CTRL is not set
CONFIG_BT_NIMBLE_RPA_TIMEOUT=900 CONFIG_BT_NIMBLE_RPA_TIMEOUT=900
# CONFIG_BT_NIMBLE_MESH is not set # CONFIG_BT_NIMBLE_MESH is not set
CONFIG_BT_NIMBLE_CRYPTO_STACK_MBEDTLS=y CONFIG_BT_NIMBLE_CRYPTO_STACK_MBEDTLS=y
CONFIG_BT_NIMBLE_HS_STOP_TIMEOUT_MS=2000 CONFIG_BT_NIMBLE_HS_STOP_TIMEOUT_MS=2000
CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=y CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=y
CONFIG_BT_NIMBLE_MAX_CONN_REATTEMPT=3 CONFIG_BT_NIMBLE_MAX_CONN_REATTEMPT=3
# CONFIG_BT_NIMBLE_HANDLE_REPEAT_PAIRING_DELETION is not set
CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT=y CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT=y
CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_2M_PHY=y CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_2M_PHY=y
CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_CODED_PHY=y CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_CODED_PHY=y
@@ -685,7 +745,9 @@ CONFIG_BT_NIMBLE_ENABLE_PERIODIC_SYNC=y
CONFIG_BT_NIMBLE_MAX_PERIODIC_SYNCS=0 CONFIG_BT_NIMBLE_MAX_PERIODIC_SYNCS=0
CONFIG_BT_NIMBLE_MAX_PERIODIC_ADVERTISER_LIST=5 CONFIG_BT_NIMBLE_MAX_PERIODIC_ADVERTISER_LIST=5
# CONFIG_BT_NIMBLE_BLE_POWER_CONTROL is not set # CONFIG_BT_NIMBLE_BLE_POWER_CONTROL is not set
# CONFIG_BT_NIMBLE_AOA_AOD is not set
# CONFIG_BT_NIMBLE_GATT_CACHING is not set # CONFIG_BT_NIMBLE_GATT_CACHING is not set
# CONFIG_BT_NIMBLE_INCL_SVC_DISCOVERY is not set
CONFIG_BT_NIMBLE_WHITELIST_SIZE=12 CONFIG_BT_NIMBLE_WHITELIST_SIZE=12
# CONFIG_BT_NIMBLE_TEST_THROUGHPUT_TEST is not set # CONFIG_BT_NIMBLE_TEST_THROUGHPUT_TEST is not set
# CONFIG_BT_NIMBLE_BLUFI_ENABLE is not set # CONFIG_BT_NIMBLE_BLUFI_ENABLE is not set
@@ -693,19 +755,42 @@ CONFIG_BT_NIMBLE_USE_ESP_TIMER=y
# CONFIG_BT_NIMBLE_BLE_GATT_BLOB_TRANSFER is not set # CONFIG_BT_NIMBLE_BLE_GATT_BLOB_TRANSFER is not set
# #
# GAP Service # BLE Services
# #
CONFIG_BT_NIMBLE_PROX_SERVICE=y
CONFIG_BT_NIMBLE_ANS_SERVICE=y
CONFIG_BT_NIMBLE_CTS_SERVICE=y
CONFIG_BT_NIMBLE_HTP_SERVICE=y
CONFIG_BT_NIMBLE_IPSS_SERVICE=y
CONFIG_BT_NIMBLE_TPS_SERVICE=y
CONFIG_BT_NIMBLE_IAS_SERVICE=y
CONFIG_BT_NIMBLE_LLS_SERVICE=y
CONFIG_BT_NIMBLE_SPS_SERVICE=y
CONFIG_BT_NIMBLE_HR_SERVICE=y
# CONFIG_BT_NIMBLE_HID_SERVICE is not set
CONFIG_BT_NIMBLE_BAS_SERVICE=y
# CONFIG_BT_NIMBLE_SVC_BAS_BATTERY_LEVEL_NOTIFY is not set
CONFIG_BT_NIMBLE_DIS_SERVICE=y
# CONFIG_BT_NIMBLE_SVC_DIS_MANUFACTURER_NAME is not set
# CONFIG_BT_NIMBLE_SVC_DIS_SERIAL_NUMBER is not set
# CONFIG_BT_NIMBLE_SVC_DIS_HARDWARE_REVISION is not set
# CONFIG_BT_NIMBLE_SVC_DIS_FIRMWARE_REVISION is not set
# CONFIG_BT_NIMBLE_SVC_DIS_SOFTWARE_REVISION is not set
# CONFIG_BT_NIMBLE_SVC_DIS_SYSTEM_ID is not set
# CONFIG_BT_NIMBLE_SVC_DIS_PNP_ID is not set
# CONFIG_BT_NIMBLE_SVC_DIS_INCLUDED is not set
CONFIG_BT_NIMBLE_GAP_SERVICE=y
# #
# GAP Appearance write permissions # GAP Appearance write permissions
# #
# CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE is not set # CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE is not set
# end of GAP Appearance write permissions
CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM=0 CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM=0
CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ENC=0 CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ENC=0
CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ATHN=0 CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ATHN=0
CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ATHR=0 CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ATHR=0
# end of GAP Appearance write permissions
CONFIG_BT_NIMBLE_SVC_GAP_CAR_CHAR_NOT_SUPP=y CONFIG_BT_NIMBLE_SVC_GAP_CAR_CHAR_NOT_SUPP=y
# CONFIG_BT_NIMBLE_SVC_GAP_CAR_NOT_SUPP is not set # CONFIG_BT_NIMBLE_SVC_GAP_CAR_NOT_SUPP is not set
# CONFIG_BT_NIMBLE_SVC_GAP_CAR_SUPP is not set # CONFIG_BT_NIMBLE_SVC_GAP_CAR_SUPP is not set
@@ -717,27 +802,30 @@ CONFIG_BT_NIMBLE_SVC_GAP_CENT_ADDR_RESOLUTION=-1
# CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE is not set # CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE is not set
# end of GAP device name write permissions # end of GAP device name write permissions
CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM=0 #
CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_ENC=0 # PPCP settings
CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_AUTHEN=0 #
CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_AUTHOR=0
CONFIG_BT_NIMBLE_SVC_GAP_PPCP_MAX_CONN_INTERVAL=0 CONFIG_BT_NIMBLE_SVC_GAP_PPCP_MAX_CONN_INTERVAL=0
CONFIG_BT_NIMBLE_SVC_GAP_PPCP_MIN_CONN_INTERVAL=0 CONFIG_BT_NIMBLE_SVC_GAP_PPCP_MIN_CONN_INTERVAL=0
CONFIG_BT_NIMBLE_SVC_GAP_PPCP_SLAVE_LATENCY=0 CONFIG_BT_NIMBLE_SVC_GAP_PPCP_SLAVE_LATENCY=0
CONFIG_BT_NIMBLE_SVC_GAP_PPCP_SUPERVISION_TMO=0 CONFIG_BT_NIMBLE_SVC_GAP_PPCP_SUPERVISION_TMO=0
# end of GAP Service # end of PPCP settings
# CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM=0
# BLE Services CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_ENC=0
# CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_AUTHEN=0
# CONFIG_BT_NIMBLE_HID_SERVICE is not set CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_AUTHOR=0
# CONFIG_BT_NIMBLE_SVC_GAP_GATT_SECURITY_LEVEL is not set
# CONFIG_BT_NIMBLE_SVC_GAP_RPA_ONLY is not set
# end of BLE Services # end of BLE Services
# CONFIG_BT_NIMBLE_VS_SUPPORT is not set # CONFIG_BT_NIMBLE_VS_SUPPORT is not set
# CONFIG_BT_NIMBLE_OPTIMIZE_MULTI_CONN is not set # CONFIG_BT_NIMBLE_OPTIMIZE_MULTI_CONN is not set
# CONFIG_BT_NIMBLE_ENC_ADV_DATA is not set # CONFIG_BT_NIMBLE_ENC_ADV_DATA is not set
# CONFIG_BT_NIMBLE_HIGH_DUTY_ADV_ITVL is not set # CONFIG_BT_NIMBLE_HIGH_DUTY_ADV_ITVL is not set
# CONFIG_BT_NIMBLE_HOST_ALLOW_CONNECT_WITH_SCAN is not set
# CONFIG_BT_NIMBLE_HOST_QUEUE_CONG_CHECK is not set # CONFIG_BT_NIMBLE_HOST_QUEUE_CONG_CHECK is not set
# CONFIG_BT_NIMBLE_GATTC_PROC_PREEMPTION_PROTECT is not set
# #
# Host-controller Transport # Host-controller Transport
@@ -748,6 +836,9 @@ CONFIG_BT_NIMBLE_HCI_UART_FLOW_CTRL=0
CONFIG_BT_NIMBLE_HCI_UART_RTS_PIN=19 CONFIG_BT_NIMBLE_HCI_UART_RTS_PIN=19
CONFIG_BT_NIMBLE_HCI_UART_CTS_PIN=23 CONFIG_BT_NIMBLE_HCI_UART_CTS_PIN=23
# end of Host-controller Transport # end of Host-controller Transport
CONFIG_BT_NIMBLE_EATT_CHAN_NUM=0
# CONFIG_BT_NIMBLE_SUBRATE is not set
# end of NimBLE Options # end of NimBLE Options
# #
@@ -763,10 +854,21 @@ CONFIG_BT_LE_HCI_INTERFACE_USE_RAM=y
CONFIG_BT_LE_CONTROLLER_NPL_OS_PORTING_SUPPORT=y CONFIG_BT_LE_CONTROLLER_NPL_OS_PORTING_SUPPORT=y
CONFIG_BT_LE_CONTROLLER_TASK_STACK_SIZE=4096 CONFIG_BT_LE_CONTROLLER_TASK_STACK_SIZE=4096
#
# Controller debug features
#
# CONFIG_BT_LE_CONTROLLER_LOG_ENABLED is not set # CONFIG_BT_LE_CONTROLLER_LOG_ENABLED is not set
# CONFIG_BT_LE_ERROR_SIM_ENABLED is not set
# CONFIG_BT_LE_ASSERT_WHEN_ABNORMAL_DISCONN_ENABLED is not set
# CONFIG_BT_LE_DEBUG_REMAIN_SCENE_ENABLED is not set
# CONFIG_BT_LE_PTR_CHECK_ENABLED is not set
# end of Controller debug features
CONFIG_BT_LE_LL_RESOLV_LIST_SIZE=4 CONFIG_BT_LE_LL_RESOLV_LIST_SIZE=4
CONFIG_BT_LE_LL_DUP_SCAN_LIST_COUNT=20 CONFIG_BT_LE_LL_DUP_SCAN_LIST_COUNT=20
CONFIG_BT_LE_LL_SCA=60 CONFIG_BT_LE_LL_SCA=60
# CONFIG_BT_LE_LL_PEER_SCA_SET_ENABLE is not set
# CONFIG_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EN is not set # CONFIG_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EN is not set
CONFIG_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_DIS=y CONFIG_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_DIS=y
CONFIG_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EFF=0 CONFIG_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EFF=0
@@ -802,12 +904,28 @@ CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P9=y
# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P20 is not set # CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P20 is not set
CONFIG_BT_LE_DFT_TX_POWER_LEVEL_DBM_EFF=9 CONFIG_BT_LE_DFT_TX_POWER_LEVEL_DBM_EFF=9
# CONFIG_BT_LE_CTRL_CHECK_CONNECT_IND_ACCESS_ADDRESS is not set # CONFIG_BT_LE_CTRL_CHECK_CONNECT_IND_ACCESS_ADDRESS is not set
# CONFIG_BT_CTRL_RUN_IN_FLASH_ONLY is not set
#
# BLE disconnects when Instant Passed (0x28) occurs
#
# CONFIG_BT_LE_CTRL_LLCP_CONN_UPDATE is not set
# CONFIG_BT_LE_CTRL_LLCP_CHAN_MAP_UPDATE is not set
# CONFIG_BT_LE_CTRL_LLCP_PHY_UPDATE is not set
# end of BLE disconnects when Instant Passed (0x28) occurs
CONFIG_BT_CTRL_SCAN_BACKOFF_UPPERLIMITMAX=32
# CONFIG_BT_LE_CTRL_CHAN_ASS_EN is not set
CONFIG_BT_LE_CTRL_ADV_DATA_LENGTH_ZERO_AUX=y
CONFIG_BT_LE_RXBUF_OPT_ENABLED=y
CONFIG_BT_LE_CTRL_FAST_CONN_DATA_TX_EN=y
# end of Controller Options # end of Controller Options
# #
# Common Options # Common Options
# #
CONFIG_BT_ALARM_MAX_NUM=50 CONFIG_BT_ALARM_MAX_NUM=50
# CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED is not set
# end of Common Options # end of Common Options
# CONFIG_BT_HCI_LOG_DEBUG_EN is not set # CONFIG_BT_HCI_LOG_DEBUG_EN is not set
@@ -826,15 +944,16 @@ CONFIG_BT_ALARM_MAX_NUM=50
# #
# #
# TWAI Configuration # Legacy TWAI Driver Configurations
# #
# CONFIG_TWAI_ISR_IN_IRAM is not set # CONFIG_TWAI_SKIP_LEGACY_CONFLICT_CHECK is not set
# end of TWAI Configuration # end of Legacy TWAI Driver Configurations
# #
# Legacy ADC Driver Configuration # Legacy ADC Driver Configuration
# #
# CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set # CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set
# CONFIG_ADC_SKIP_LEGACY_CONFLICT_CHECK is not set
# #
# Legacy ADC Calibration Configuration # Legacy ADC Calibration Configuration
@@ -847,42 +966,55 @@ CONFIG_BT_ALARM_MAX_NUM=50
# Legacy MCPWM Driver Configurations # Legacy MCPWM Driver Configurations
# #
# CONFIG_MCPWM_SUPPRESS_DEPRECATE_WARN is not set # CONFIG_MCPWM_SUPPRESS_DEPRECATE_WARN is not set
# CONFIG_MCPWM_SKIP_LEGACY_CONFLICT_CHECK is not set
# end of Legacy MCPWM Driver Configurations # end of Legacy MCPWM Driver Configurations
# #
# Legacy Timer Group Driver Configurations # Legacy Timer Group Driver Configurations
# #
# CONFIG_GPTIMER_SUPPRESS_DEPRECATE_WARN is not set # CONFIG_GPTIMER_SUPPRESS_DEPRECATE_WARN is not set
# CONFIG_GPTIMER_SKIP_LEGACY_CONFLICT_CHECK is not set
# end of Legacy Timer Group Driver Configurations # end of Legacy Timer Group Driver Configurations
# #
# Legacy RMT Driver Configurations # Legacy RMT Driver Configurations
# #
# CONFIG_RMT_SUPPRESS_DEPRECATE_WARN is not set # CONFIG_RMT_SUPPRESS_DEPRECATE_WARN is not set
# CONFIG_RMT_SKIP_LEGACY_CONFLICT_CHECK is not set
# end of Legacy RMT Driver Configurations # end of Legacy RMT Driver Configurations
# #
# Legacy I2S Driver Configurations # Legacy I2S Driver Configurations
# #
# CONFIG_I2S_SUPPRESS_DEPRECATE_WARN is not set # CONFIG_I2S_SUPPRESS_DEPRECATE_WARN is not set
# CONFIG_I2S_SKIP_LEGACY_CONFLICT_CHECK is not set
# end of Legacy I2S Driver Configurations # end of Legacy I2S Driver Configurations
#
# Legacy I2C Driver Configurations
#
# CONFIG_I2C_SKIP_LEGACY_CONFLICT_CHECK is not set
# end of Legacy I2C Driver Configurations
# #
# Legacy PCNT Driver Configurations # Legacy PCNT Driver Configurations
# #
# CONFIG_PCNT_SUPPRESS_DEPRECATE_WARN is not set # CONFIG_PCNT_SUPPRESS_DEPRECATE_WARN is not set
# CONFIG_PCNT_SKIP_LEGACY_CONFLICT_CHECK is not set
# end of Legacy PCNT Driver Configurations # end of Legacy PCNT Driver Configurations
# #
# Legacy SDM Driver Configurations # Legacy SDM Driver Configurations
# #
# CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set # CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set
# CONFIG_SDM_SKIP_LEGACY_CONFLICT_CHECK is not set
# end of Legacy SDM Driver Configurations # end of Legacy SDM Driver Configurations
# #
# Legacy Temperature Sensor Driver Configurations # Legacy Temperature Sensor Driver Configurations
# #
# CONFIG_TEMP_SENSOR_SUPPRESS_DEPRECATE_WARN is not set # CONFIG_TEMP_SENSOR_SUPPRESS_DEPRECATE_WARN is not set
# CONFIG_TEMP_SENSOR_SKIP_LEGACY_CONFLICT_CHECK is not set
# end of Legacy Temperature Sensor Driver Configurations # end of Legacy Temperature Sensor Driver Configurations
# end of Driver Configurations # end of Driver Configurations
@@ -898,6 +1030,7 @@ CONFIG_EFUSE_MAX_BLK_LEN=256
# ESP-TLS # ESP-TLS
# #
CONFIG_ESP_TLS_USING_MBEDTLS=y CONFIG_ESP_TLS_USING_MBEDTLS=y
# CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set
CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y
# CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set # CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set
# CONFIG_ESP_TLS_SERVER_SESSION_TICKETS is not set # CONFIG_ESP_TLS_SERVER_SESSION_TICKETS is not set
@@ -932,8 +1065,10 @@ CONFIG_ESP_ERR_TO_NAME_LOOKUP=y
# #
# ESP-Driver:Analog Comparator Configurations # ESP-Driver:Analog Comparator Configurations
# #
# CONFIG_ANA_CMPR_ISR_IRAM_SAFE is not set CONFIG_ANA_CMPR_ISR_HANDLER_IN_IRAM=y
# CONFIG_ANA_CMPR_CTRL_FUNC_IN_IRAM is not set # CONFIG_ANA_CMPR_CTRL_FUNC_IN_IRAM is not set
# CONFIG_ANA_CMPR_ISR_CACHE_SAFE is not set
CONFIG_ANA_CMPR_OBJ_CACHE_SAFE=y
# CONFIG_ANA_CMPR_ENABLE_DEBUG_LOG is not set # CONFIG_ANA_CMPR_ENABLE_DEBUG_LOG is not set
# end of ESP-Driver:Analog Comparator Configurations # end of ESP-Driver:Analog Comparator Configurations
@@ -948,7 +1083,8 @@ CONFIG_ESP_ERR_TO_NAME_LOOKUP=y
# #
CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y
# CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM is not set # CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM is not set
# CONFIG_GPTIMER_ISR_IRAM_SAFE is not set # CONFIG_GPTIMER_ISR_CACHE_SAFE is not set
CONFIG_GPTIMER_OBJ_CACHE_SAFE=y
# CONFIG_GPTIMER_ENABLE_DEBUG_LOG is not set # CONFIG_GPTIMER_ENABLE_DEBUG_LOG is not set
# end of ESP-Driver:GPTimer Configurations # end of ESP-Driver:GPTimer Configurations
@@ -958,6 +1094,7 @@ CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y
# CONFIG_I2C_ISR_IRAM_SAFE is not set # CONFIG_I2C_ISR_IRAM_SAFE is not set
# CONFIG_I2C_ENABLE_DEBUG_LOG is not set # CONFIG_I2C_ENABLE_DEBUG_LOG is not set
# CONFIG_I2C_ENABLE_SLAVE_DRIVER_VERSION_2 is not set # CONFIG_I2C_ENABLE_SLAVE_DRIVER_VERSION_2 is not set
CONFIG_I2C_MASTER_ISR_HANDLER_IN_IRAM=y
# end of ESP-Driver:I2C Configurations # end of ESP-Driver:I2C Configurations
# #
@@ -976,14 +1113,21 @@ CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y
# #
# ESP-Driver:MCPWM Configurations # ESP-Driver:MCPWM Configurations
# #
# CONFIG_MCPWM_ISR_IRAM_SAFE is not set CONFIG_MCPWM_ISR_HANDLER_IN_IRAM=y
# CONFIG_MCPWM_ISR_CACHE_SAFE is not set
# CONFIG_MCPWM_CTRL_FUNC_IN_IRAM is not set # CONFIG_MCPWM_CTRL_FUNC_IN_IRAM is not set
CONFIG_MCPWM_OBJ_CACHE_SAFE=y
# CONFIG_MCPWM_ENABLE_DEBUG_LOG is not set # CONFIG_MCPWM_ENABLE_DEBUG_LOG is not set
# end of ESP-Driver:MCPWM Configurations # end of ESP-Driver:MCPWM Configurations
# #
# ESP-Driver:Parallel IO Configurations # ESP-Driver:Parallel IO Configurations
# #
CONFIG_PARLIO_TX_ISR_HANDLER_IN_IRAM=y
CONFIG_PARLIO_RX_ISR_HANDLER_IN_IRAM=y
# CONFIG_PARLIO_TX_ISR_CACHE_SAFE is not set
# CONFIG_PARLIO_RX_ISR_CACHE_SAFE is not set
CONFIG_PARLIO_OBJ_CACHE_SAFE=y
# CONFIG_PARLIO_ENABLE_DEBUG_LOG is not set # CONFIG_PARLIO_ENABLE_DEBUG_LOG is not set
# CONFIG_PARLIO_ISR_IRAM_SAFE is not set # CONFIG_PARLIO_ISR_IRAM_SAFE is not set
# end of ESP-Driver:Parallel IO Configurations # end of ESP-Driver:Parallel IO Configurations
@@ -999,9 +1143,15 @@ CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y
# #
# ESP-Driver:RMT Configurations # ESP-Driver:RMT Configurations
# #
# CONFIG_RMT_ISR_IRAM_SAFE is not set CONFIG_RMT_ENCODER_FUNC_IN_IRAM=y
CONFIG_RMT_TX_ISR_HANDLER_IN_IRAM=y
CONFIG_RMT_RX_ISR_HANDLER_IN_IRAM=y
# CONFIG_RMT_RECV_FUNC_IN_IRAM is not set # CONFIG_RMT_RECV_FUNC_IN_IRAM is not set
# CONFIG_RMT_TX_ISR_CACHE_SAFE is not set
# CONFIG_RMT_RX_ISR_CACHE_SAFE is not set
CONFIG_RMT_OBJ_CACHE_SAFE=y
# CONFIG_RMT_ENABLE_DEBUG_LOG is not set # CONFIG_RMT_ENABLE_DEBUG_LOG is not set
# CONFIG_RMT_ISR_IRAM_SAFE is not set
# end of ESP-Driver:RMT Configurations # end of ESP-Driver:RMT Configurations
# #
@@ -1027,12 +1177,28 @@ CONFIG_SPI_SLAVE_ISR_IN_IRAM=y
# CONFIG_TEMP_SENSOR_ISR_IRAM_SAFE is not set # CONFIG_TEMP_SENSOR_ISR_IRAM_SAFE is not set
# end of ESP-Driver:Temperature Sensor Configurations # end of ESP-Driver:Temperature Sensor Configurations
#
# ESP-Driver:TWAI Configurations
#
# CONFIG_TWAI_ISR_IN_IRAM is not set
# CONFIG_TWAI_ISR_CACHE_SAFE is not set
# CONFIG_TWAI_ENABLE_DEBUG_LOG is not set
# end of ESP-Driver:TWAI Configurations
# #
# ESP-Driver:UART Configurations # ESP-Driver:UART Configurations
# #
# CONFIG_UART_ISR_IN_IRAM is not set # CONFIG_UART_ISR_IN_IRAM is not set
# end of ESP-Driver:UART Configurations # end of ESP-Driver:UART Configurations
#
# ESP-Driver:UHCI Configurations
#
# CONFIG_UHCI_ISR_HANDLER_IN_IRAM is not set
# CONFIG_UHCI_ISR_CACHE_SAFE is not set
# CONFIG_UHCI_ENABLE_DEBUG_LOG is not set
# end of ESP-Driver:UHCI Configurations
# #
# ESP-Driver:USB Serial/JTAG Configuration # ESP-Driver:USB Serial/JTAG Configuration
# #
@@ -1069,6 +1235,13 @@ CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=y
CONFIG_ESP_GDBSTUB_MAX_TASKS=32 CONFIG_ESP_GDBSTUB_MAX_TASKS=32
# end of GDB Stub # end of GDB Stub
#
# ESP HID
#
CONFIG_ESPHID_TASK_SIZE_BT=2048
CONFIG_ESPHID_TASK_SIZE_BLE=4096
# end of ESP HID
# #
# ESP HTTP client # ESP HTTP client
# #
@@ -1105,6 +1278,7 @@ CONFIG_ESP_HTTPS_OTA_EVENT_POST_TIMEOUT=2000
# #
# CONFIG_ESP_HTTPS_SERVER_ENABLE is not set # CONFIG_ESP_HTTPS_SERVER_ENABLE is not set
CONFIG_ESP_HTTPS_SERVER_EVENT_POST_TIMEOUT=2000 CONFIG_ESP_HTTPS_SERVER_EVENT_POST_TIMEOUT=2000
# CONFIG_ESP_HTTPS_SERVER_CERT_SELECT_HOOK is not set
# end of ESP HTTPS server # end of ESP HTTPS server
# #
@@ -1117,15 +1291,15 @@ CONFIG_ESP_HTTPS_SERVER_EVENT_POST_TIMEOUT=2000
CONFIG_ESP32H2_REV_MIN_0=y CONFIG_ESP32H2_REV_MIN_0=y
# CONFIG_ESP32H2_REV_MIN_1 is not set # CONFIG_ESP32H2_REV_MIN_1 is not set
# CONFIG_ESP32H2_REV_MIN_2 is not set # CONFIG_ESP32H2_REV_MIN_2 is not set
# CONFIG_ESP32H2_REV_MIN_102 is not set
CONFIG_ESP32H2_REV_MIN_FULL=0 CONFIG_ESP32H2_REV_MIN_FULL=0
CONFIG_ESP_REV_MIN_FULL=0 CONFIG_ESP_REV_MIN_FULL=0
# #
# Maximum Supported ESP32-H2 Revision (Rev v0.99) # Maximum Supported ESP32-H2 Revision (Rev v1.99)
# #
CONFIG_ESP32H2_REV_MAX_FULL=99 CONFIG_ESP32H2_REV_MAX_FULL=199
CONFIG_ESP_REV_MAX_FULL=99 CONFIG_ESP_REV_MAX_FULL=199
# CONFIG_ESP32H2_REV100_DEVELOPMENT is not set
CONFIG_ESP_EFUSE_BLOCK_REV_MIN_FULL=0 CONFIG_ESP_EFUSE_BLOCK_REV_MIN_FULL=0
CONFIG_ESP_EFUSE_BLOCK_REV_MAX_FULL=99 CONFIG_ESP_EFUSE_BLOCK_REV_MAX_FULL=99
@@ -1150,6 +1324,8 @@ CONFIG_ESP32H2_UNIVERSAL_MAC_ADDRESSES=2
# Sleep Config # Sleep Config
# #
CONFIG_ESP_SLEEP_POWER_DOWN_FLASH=y CONFIG_ESP_SLEEP_POWER_DOWN_FLASH=y
CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y
# CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set
CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND=y CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND=y
CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=0 CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=0
# CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION is not set # CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION is not set
@@ -1170,7 +1346,8 @@ CONFIG_RTC_CLK_CAL_CYCLES=1024
# #
# Peripheral Control # Peripheral Control
# #
CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y CONFIG_ESP_PERIPH_CTRL_FUNC_IN_IRAM=y
CONFIG_ESP_REGI2C_CTRL_FUNC_IN_IRAM=y
# end of Peripheral Control # end of Peripheral Control
# #
@@ -1183,8 +1360,10 @@ CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y
# GDMA Configurations # GDMA Configurations
# #
CONFIG_GDMA_CTRL_FUNC_IN_IRAM=y CONFIG_GDMA_CTRL_FUNC_IN_IRAM=y
# CONFIG_GDMA_ISR_IRAM_SAFE is not set CONFIG_GDMA_ISR_HANDLER_IN_IRAM=y
CONFIG_GDMA_OBJ_DRAM_SAFE=y
# CONFIG_GDMA_ENABLE_DEBUG_LOG is not set # CONFIG_GDMA_ENABLE_DEBUG_LOG is not set
# CONFIG_GDMA_ISR_IRAM_SAFE is not set
# end of GDMA Configurations # end of GDMA Configurations
# #
@@ -1194,8 +1373,37 @@ CONFIG_XTAL_FREQ_32=y
CONFIG_XTAL_FREQ=32 CONFIG_XTAL_FREQ=32
# end of Main XTAL Config # end of Main XTAL Config
#
# Power Supplier
#
#
# Brownout Detector
#
CONFIG_ESP_BROWNOUT_DET=y
# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7 is not set
# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set
# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set
# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set
CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3=y
# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set
# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set
# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_0 is not set
CONFIG_ESP_BROWNOUT_DET_LVL=3
CONFIG_ESP_BROWNOUT_USE_INTR=y
# end of Brownout Detector
#
# RTC Backup Battery
#
# CONFIG_ESP_VBAT_INIT_AUTO is not set
# CONFIG_ESP_VBAT_WAKEUP_CHIP_ON_VBAT_BROWNOUT is not set
# end of RTC Backup Battery
# end of Power Supplier
CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y
CONFIG_ESP_SPI_BUS_LOCK_FUNCS_IN_IRAM=y CONFIG_ESP_SPI_BUS_LOCK_FUNCS_IN_IRAM=y
CONFIG_ESP_INTR_IN_IRAM=y
# end of Hardware Settings # end of Hardware Settings
# #
@@ -1244,11 +1452,13 @@ CONFIG_ESP_PHY_RF_CAL_PARTIAL=y
CONFIG_ESP_PHY_CALIBRATION_MODE=0 CONFIG_ESP_PHY_CALIBRATION_MODE=0
# CONFIG_ESP_PHY_PLL_TRACK_DEBUG is not set # CONFIG_ESP_PHY_PLL_TRACK_DEBUG is not set
# CONFIG_ESP_PHY_RECORD_USED_TIME is not set # CONFIG_ESP_PHY_RECORD_USED_TIME is not set
CONFIG_ESP_PHY_IRAM_OPT=y
# end of PHY # end of PHY
# #
# Power Management # Power Management
# #
CONFIG_PM_SLEEP_FUNC_IN_IRAM=y
CONFIG_PM_ENABLE=y CONFIG_PM_ENABLE=y
CONFIG_PM_DFS_INIT_AUTO=y CONFIG_PM_DFS_INIT_AUTO=y
# CONFIG_PM_PROFILING is not set # CONFIG_PM_PROFILING is not set
@@ -1272,6 +1482,12 @@ CONFIG_PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP=y
# CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH is not set # CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH is not set
# end of ESP Ringbuf # end of ESP Ringbuf
#
# ESP-ROM
#
CONFIG_ESP_ROM_PRINT_IN_IRAM=y
# end of ESP-ROM
# #
# ESP Security Specific # ESP Security Specific
# #
@@ -1285,6 +1501,9 @@ CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_LOW=y
# CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_HIGH is not set # CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_HIGH is not set
CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL=1 CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL=1
# end of Crypto DPA Protection # end of Crypto DPA Protection
# CONFIG_ESP_CRYPTO_FORCE_ECC_CONSTANT_TIME_POINT_MUL is not set
# CONFIG_ESP_ECDSA_ENABLE_P192_CURVE is not set
# end of ESP Security Specific # end of ESP Security Specific
# #
@@ -1304,7 +1523,9 @@ CONFIG_ESP_SYSTEM_RTC_EXT_XTAL=y
CONFIG_ESP_SYSTEM_RTC_EXT_XTAL_BOOTSTRAP_CYCLES=0 CONFIG_ESP_SYSTEM_RTC_EXT_XTAL_BOOTSTRAP_CYCLES=0
CONFIG_ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK=y CONFIG_ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK=y
CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y
CONFIG_ESP_SYSTEM_NO_BACKTRACE=y
# CONFIG_ESP_SYSTEM_USE_EH_FRAME is not set # CONFIG_ESP_SYSTEM_USE_EH_FRAME is not set
# CONFIG_ESP_SYSTEM_USE_FRAME_POINTER is not set
# #
# Memory protection # Memory protection
@@ -1342,23 +1563,6 @@ CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y
# CONFIG_ESP_DEBUG_INCLUDE_OCD_STUB_BINS is not set # CONFIG_ESP_DEBUG_INCLUDE_OCD_STUB_BINS is not set
CONFIG_ESP_DEBUG_OCDAWARE=y CONFIG_ESP_DEBUG_OCDAWARE=y
CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y
#
# Brownout Detector
#
CONFIG_ESP_BROWNOUT_DET=y
# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7 is not set
# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set
# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set
# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set
CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3=y
# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set
# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set
# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_0 is not set
CONFIG_ESP_BROWNOUT_DET_LVL=3
# end of Brownout Detector
CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y
CONFIG_ESP_SYSTEM_HW_STACK_GUARD=y CONFIG_ESP_SYSTEM_HW_STACK_GUARD=y
CONFIG_ESP_SYSTEM_BBPLL_RECALIB=y CONFIG_ESP_SYSTEM_BBPLL_RECALIB=y
CONFIG_ESP_SYSTEM_HW_PC_RECORD=y CONFIG_ESP_SYSTEM_HW_PC_RECORD=y
@@ -1373,6 +1577,7 @@ CONFIG_ESP_IPC_TASK_STACK_SIZE=1024
# #
# ESP Timer (High Resolution Timer) # ESP Timer (High Resolution Timer)
# #
CONFIG_ESP_TIMER_IN_IRAM=y
# CONFIG_ESP_TIMER_PROFILING is not set # CONFIG_ESP_TIMER_PROFILING is not set
CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y
CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER=y CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER=y
@@ -1437,6 +1642,14 @@ CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0
# CONFIG_FATFS_IMMEDIATE_FSYNC is not set # CONFIG_FATFS_IMMEDIATE_FSYNC is not set
# CONFIG_FATFS_USE_LABEL is not set # CONFIG_FATFS_USE_LABEL is not set
CONFIG_FATFS_LINK_LOCK=y CONFIG_FATFS_LINK_LOCK=y
# CONFIG_FATFS_USE_DYN_BUFFERS is not set
#
# File system free space calculation behavior
#
CONFIG_FATFS_DONT_TRUST_FREE_CLUSTER_CNT=0
CONFIG_FATFS_DONT_TRUST_LAST_ALLOC=0
# end of File system free space calculation behavior
# end of FAT Filesystem support # end of FAT Filesystem support
# #
@@ -1508,6 +1721,7 @@ CONFIG_FREERTOS_DEBUG_OCDAWARE=y
CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y
CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH=y CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH=y
CONFIG_FREERTOS_NUMBER_OF_CORES=1 CONFIG_FREERTOS_NUMBER_OF_CORES=1
CONFIG_FREERTOS_IN_IRAM=y
# end of FreeRTOS # end of FreeRTOS
# #
@@ -1520,8 +1734,6 @@ CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y
CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2
CONFIG_HAL_SYSTIMER_USE_ROM_IMPL=y CONFIG_HAL_SYSTIMER_USE_ROM_IMPL=y
CONFIG_HAL_WDT_USE_ROM_IMPL=y CONFIG_HAL_WDT_USE_ROM_IMPL=y
CONFIG_HAL_SPI_MASTER_FUNC_IN_IRAM=y
CONFIG_HAL_SPI_SLAVE_FUNC_IN_IRAM=y
# CONFIG_HAL_ECDSA_GEN_SIG_CM is not set # CONFIG_HAL_ECDSA_GEN_SIG_CM is not set
# end of Hardware Abstraction Layer (HAL) and Low Level (LL) # end of Hardware Abstraction Layer (HAL) and Low Level (LL)
@@ -1538,6 +1750,7 @@ CONFIG_HEAP_TRACING_OFF=y
# CONFIG_HEAP_TASK_TRACKING is not set # CONFIG_HEAP_TASK_TRACKING is not set
# CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set # CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set
CONFIG_HEAP_TLSF_USE_ROM_IMPL=y CONFIG_HEAP_TLSF_USE_ROM_IMPL=y
# CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH is not set
# end of Heap memory debugging # end of Heap memory debugging
# #
@@ -1556,11 +1769,15 @@ CONFIG_IEEE802154_PENDING_TABLE_SIZE=20
# CONFIG_IEEE802154_TIMING_OPTIMIZATION is not set # CONFIG_IEEE802154_TIMING_OPTIMIZATION is not set
# CONFIG_IEEE802154_SLEEP_ENABLE is not set # CONFIG_IEEE802154_SLEEP_ENABLE is not set
# CONFIG_IEEE802154_DEBUG is not set # CONFIG_IEEE802154_DEBUG is not set
# CONFIG_IEEE802154_DEBUG_ASSERT_MONITOR is not set
# end of IEEE 802.15.4 # end of IEEE 802.15.4
# #
# Log # Log
# #
CONFIG_LOG_VERSION_1=y
# CONFIG_LOG_VERSION_2 is not set
CONFIG_LOG_VERSION=1
# #
# Log Level # Log Level
@@ -1598,6 +1815,15 @@ CONFIG_LOG_TAG_LEVEL_IMPL_CACHE_SIZE=31
CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y
# CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set # CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set
# end of Format # end of Format
#
# Settings
#
CONFIG_LOG_MODE_TEXT_EN=y
CONFIG_LOG_MODE_TEXT=y
# end of Settings
CONFIG_LOG_IN_IRAM=y
# end of Log # end of Log
# #
@@ -1605,7 +1831,6 @@ CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y
# #
CONFIG_LWIP_ENABLE=y CONFIG_LWIP_ENABLE=y
CONFIG_LWIP_LOCAL_HOSTNAME="espressif" CONFIG_LWIP_LOCAL_HOSTNAME="espressif"
# CONFIG_LWIP_NETIF_API is not set
CONFIG_LWIP_TCPIP_TASK_PRIO=18 CONFIG_LWIP_TCPIP_TASK_PRIO=18
# CONFIG_LWIP_TCPIP_CORE_LOCKING is not set # CONFIG_LWIP_TCPIP_CORE_LOCKING is not set
# CONFIG_LWIP_CHECK_THREAD_SAFETY is not set # CONFIG_LWIP_CHECK_THREAD_SAFETY is not set
@@ -1750,6 +1975,7 @@ CONFIG_LWIP_DNS_MAX_HOST_IP=1
CONFIG_LWIP_DNS_MAX_SERVERS=3 CONFIG_LWIP_DNS_MAX_SERVERS=3
# CONFIG_LWIP_FALLBACK_DNS_SERVER_SUPPORT is not set # CONFIG_LWIP_FALLBACK_DNS_SERVER_SUPPORT is not set
# CONFIG_LWIP_DNS_SETSERVER_WITH_NETIF is not set # CONFIG_LWIP_DNS_SETSERVER_WITH_NETIF is not set
# CONFIG_LWIP_USE_ESP_GETADDRINFO is not set
# end of DNS # end of DNS
CONFIG_LWIP_BRIDGEIF_MAX_PORTS=7 CONFIG_LWIP_BRIDGEIF_MAX_PORTS=7
@@ -1770,6 +1996,9 @@ CONFIG_LWIP_HOOK_ND6_GET_GW_NONE=y
CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE=y CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE=y
# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT is not set # CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT is not set
# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_CUSTOM is not set # CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_CUSTOM is not set
CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_NONE=y
# CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_DEFAULT is not set
# CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_CUSTOM is not set
CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE=y CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE=y
# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT is not set # CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT is not set
# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM is not set # CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM is not set
@@ -1823,6 +2052,7 @@ CONFIG_MBEDTLS_CMAC_C=y
CONFIG_MBEDTLS_HARDWARE_AES=y CONFIG_MBEDTLS_HARDWARE_AES=y
CONFIG_MBEDTLS_AES_USE_INTERRUPT=y CONFIG_MBEDTLS_AES_USE_INTERRUPT=y
CONFIG_MBEDTLS_AES_INTERRUPT_LEVEL=0 CONFIG_MBEDTLS_AES_INTERRUPT_LEVEL=0
# CONFIG_MBEDTLS_AES_USE_PSEUDO_ROUND_FUNC is not set
CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER=y CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER=y
CONFIG_MBEDTLS_HARDWARE_MPI=y CONFIG_MBEDTLS_HARDWARE_MPI=y
CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI=y CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI=y
@@ -1840,6 +2070,7 @@ CONFIG_MBEDTLS_HAVE_TIME=y
# CONFIG_MBEDTLS_PLATFORM_TIME_ALT is not set # CONFIG_MBEDTLS_PLATFORM_TIME_ALT is not set
# CONFIG_MBEDTLS_HAVE_TIME_DATE is not set # CONFIG_MBEDTLS_HAVE_TIME_DATE is not set
CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y
CONFIG_MBEDTLS_SHA1_C=y
CONFIG_MBEDTLS_SHA512_C=y CONFIG_MBEDTLS_SHA512_C=y
# CONFIG_MBEDTLS_SHA3_C is not set # CONFIG_MBEDTLS_SHA3_C is not set
CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y
@@ -1921,6 +2152,7 @@ CONFIG_MBEDTLS_ECP_NIST_OPTIM=y
# CONFIG_MBEDTLS_THREADING_C is not set # CONFIG_MBEDTLS_THREADING_C is not set
CONFIG_MBEDTLS_ERROR_STRINGS=y CONFIG_MBEDTLS_ERROR_STRINGS=y
CONFIG_MBEDTLS_FS_IO=y CONFIG_MBEDTLS_FS_IO=y
# CONFIG_MBEDTLS_ALLOW_WEAK_CERTIFICATE_VERIFICATION is not set
# end of mbedTLS # end of mbedTLS
# #
@@ -1940,20 +2172,24 @@ CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y
# end of ESP-MQTT Configurations # end of ESP-MQTT Configurations
# #
# Newlib # LibC
# #
CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y CONFIG_LIBC_NEWLIB=y
# CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF is not set CONFIG_LIBC_MISC_IN_IRAM=y
# CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR is not set CONFIG_LIBC_LOCKS_PLACE_IN_IRAM=y
# CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF is not set CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=y
# CONFIG_NEWLIB_STDIN_LINE_ENDING_LF is not set # CONFIG_LIBC_STDOUT_LINE_ENDING_LF is not set
CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y # CONFIG_LIBC_STDOUT_LINE_ENDING_CR is not set
# CONFIG_NEWLIB_NANO_FORMAT is not set # CONFIG_LIBC_STDIN_LINE_ENDING_CRLF is not set
CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y # CONFIG_LIBC_STDIN_LINE_ENDING_LF is not set
# CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC is not set CONFIG_LIBC_STDIN_LINE_ENDING_CR=y
# CONFIG_NEWLIB_TIME_SYSCALL_USE_HRT is not set # CONFIG_LIBC_NEWLIB_NANO_FORMAT is not set
# CONFIG_NEWLIB_TIME_SYSCALL_USE_NONE is not set CONFIG_LIBC_TIME_SYSCALL_USE_RTC_HRT=y
# end of Newlib # CONFIG_LIBC_TIME_SYSCALL_USE_RTC is not set
# CONFIG_LIBC_TIME_SYSCALL_USE_HRT is not set
# CONFIG_LIBC_TIME_SYSCALL_USE_NONE is not set
# CONFIG_LIBC_OPTIMIZED_MISALIGNED_ACCESS is not set
# end of LibC
# #
# NVS # NVS
@@ -1981,6 +2217,7 @@ CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y
CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0=y CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0=y
CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1=y CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1=y
CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2=y CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2=y
CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_PATCH_VERSION=y
# end of Protocomm # end of Protocomm
# #
@@ -2022,6 +2259,8 @@ CONFIG_SPI_FLASH_BROWNOUT_RESET=y
# CONFIG_SPI_FLASH_AUTO_SUSPEND is not set # CONFIG_SPI_FLASH_AUTO_SUSPEND is not set
CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50
# CONFIG_SPI_FLASH_FORCE_ENABLE_XMC_C_SUSPEND is not set # CONFIG_SPI_FLASH_FORCE_ENABLE_XMC_C_SUSPEND is not set
# CONFIG_SPI_FLASH_FORCE_ENABLE_C6_H2_SUSPEND is not set
CONFIG_SPI_FLASH_PLACE_FUNCTIONS_IN_IRAM=y
# end of Optional and Experimental Features (READ DOCS FIRST) # end of Optional and Experimental Features (READ DOCS FIRST)
# end of Main Flash configuration # end of Main Flash configuration
@@ -2118,6 +2357,7 @@ CONFIG_UNITY_ENABLE_DOUBLE=y
CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y
# CONFIG_UNITY_ENABLE_FIXTURE is not set # CONFIG_UNITY_ENABLE_FIXTURE is not set
# CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set # CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set
# CONFIG_UNITY_TEST_ORDER_BY_FILE_PATH_AND_LINE is not set
# end of Unity unit testing library # end of Unity unit testing library
# #
@@ -2158,6 +2398,7 @@ CONFIG_WIFI_PROV_BLE_SEC_CONN=y
# Deprecated options for backward compatibility # Deprecated options for backward compatibility
# CONFIG_APP_BUILD_TYPE_ELF_RAM is not set # CONFIG_APP_BUILD_TYPE_ELF_RAM is not set
# CONFIG_NO_BLOBS is not set # CONFIG_NO_BLOBS is not set
# CONFIG_APP_ROLLBACK_ENABLE is not set
# CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set # CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set
# CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set # CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set
# CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set # CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set
@@ -2165,7 +2406,6 @@ CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y
# CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set # CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set
# CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set # CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set
CONFIG_LOG_BOOTLOADER_LEVEL=3 CONFIG_LOG_BOOTLOADER_LEVEL=3
# CONFIG_APP_ROLLBACK_ENABLE is not set
# CONFIG_FLASH_ENCRYPTION_ENABLED is not set # CONFIG_FLASH_ENCRYPTION_ENABLED is not set
# CONFIG_FLASHMODE_QIO is not set # CONFIG_FLASHMODE_QIO is not set
# CONFIG_FLASHMODE_QOUT is not set # CONFIG_FLASHMODE_QOUT is not set
@@ -2222,7 +2462,6 @@ CONFIG_BT_NIMBLE_ACL_BUF_SIZE=255
CONFIG_BT_NIMBLE_HCI_EVT_BUF_SIZE=70 CONFIG_BT_NIMBLE_HCI_EVT_BUF_SIZE=70
CONFIG_BT_NIMBLE_HCI_EVT_HI_BUF_COUNT=30 CONFIG_BT_NIMBLE_HCI_EVT_HI_BUF_COUNT=30
CONFIG_BT_NIMBLE_HCI_EVT_LO_BUF_COUNT=8 CONFIG_BT_NIMBLE_HCI_EVT_LO_BUF_COUNT=8
# CONFIG_NIMBLE_HS_FLOW_CTRL is not set
CONFIG_NIMBLE_RPA_TIMEOUT=900 CONFIG_NIMBLE_RPA_TIMEOUT=900
# CONFIG_NIMBLE_MESH is not set # CONFIG_NIMBLE_MESH is not set
CONFIG_NIMBLE_CRYPTO_STACK_MBEDTLS=y CONFIG_NIMBLE_CRYPTO_STACK_MBEDTLS=y
@@ -2231,7 +2470,9 @@ CONFIG_BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM_DIS=y
CONFIG_SW_COEXIST_ENABLE=y CONFIG_SW_COEXIST_ENABLE=y
CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE=y CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE=y
CONFIG_ESP_WIFI_SW_COEXIST_ENABLE=y CONFIG_ESP_WIFI_SW_COEXIST_ENABLE=y
# CONFIG_MCPWM_ISR_IN_IRAM is not set # CONFIG_ANA_CMPR_ISR_IRAM_SAFE is not set
# CONFIG_GPTIMER_ISR_IRAM_SAFE is not set
# CONFIG_MCPWM_ISR_IRAM_SAFE is not set
# CONFIG_EVENT_LOOP_PROFILING is not set # CONFIG_EVENT_LOOP_PROFILING is not set
CONFIG_POST_EVENTS_FROM_ISR=y CONFIG_POST_EVENTS_FROM_ISR=y
CONFIG_POST_EVENTS_FROM_IRAM_ISR=y CONFIG_POST_EVENTS_FROM_IRAM_ISR=y
@@ -2239,6 +2480,18 @@ CONFIG_GDBSTUB_SUPPORT_TASKS=y
CONFIG_GDBSTUB_MAX_TASKS=32 CONFIG_GDBSTUB_MAX_TASKS=32
# CONFIG_OTA_ALLOW_HTTP is not set # CONFIG_OTA_ALLOW_HTTP is not set
CONFIG_ESP_SYSTEM_PD_FLASH=y CONFIG_ESP_SYSTEM_PD_FLASH=y
CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y
CONFIG_BROWNOUT_DET=y
# CONFIG_BROWNOUT_DET_LVL_SEL_7 is not set
# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set
# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set
# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set
CONFIG_BROWNOUT_DET_LVL_SEL_3=y
# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set
# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set
# CONFIG_BROWNOUT_DET_LVL_SEL_0 is not set
CONFIG_BROWNOUT_DET_LVL=3
CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y
CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y
CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20
CONFIG_ESP32_PHY_MAX_TX_POWER=20 CONFIG_ESP32_PHY_MAX_TX_POWER=20
@@ -2264,16 +2517,6 @@ CONFIG_ESP_TASK_WDT=y
CONFIG_TASK_WDT_TIMEOUT_S=5 CONFIG_TASK_WDT_TIMEOUT_S=5
CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y
# CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set # CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set
CONFIG_BROWNOUT_DET=y
# CONFIG_BROWNOUT_DET_LVL_SEL_7 is not set
# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set
# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set
# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set
CONFIG_BROWNOUT_DET_LVL_SEL_3=y
# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set
# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set
# CONFIG_BROWNOUT_DET_LVL_SEL_0 is not set
CONFIG_BROWNOUT_DET_LVL=3
CONFIG_IPC_TASK_STACK_SIZE=1024 CONFIG_IPC_TASK_STACK_SIZE=1024
CONFIG_TIMER_TASK_STACK_SIZE=3584 CONFIG_TIMER_TASK_STACK_SIZE=3584
# CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH is not set # CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH is not set
@@ -2305,6 +2548,17 @@ CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y
# CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set # CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set
CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF
# CONFIG_PPP_SUPPORT is not set # CONFIG_PPP_SUPPORT is not set
CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y
# CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF is not set
# CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR is not set
# CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF is not set
# CONFIG_NEWLIB_STDIN_LINE_ENDING_LF is not set
CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y
# CONFIG_NEWLIB_NANO_FORMAT is not set
CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y
# CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC is not set
# CONFIG_NEWLIB_TIME_SYSCALL_USE_HRT is not set
# CONFIG_NEWLIB_TIME_SYSCALL_USE_NONE is not set
CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5
CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072
CONFIG_ESP32_PTHREAD_STACK_MIN=768 CONFIG_ESP32_PTHREAD_STACK_MIN=768