mirror of
https://github.com/usatiuk/cardboy.git
synced 2025-10-28 15:17:48 +01:00
Compare commits
3 Commits
e389a776be
...
9420887392
| Author | SHA1 | Date | |
|---|---|---|---|
| 9420887392 | |||
| 7df84f1e81 | |||
| 4861d26d8a |
@@ -1,5 +1,5 @@
|
||||
idf_component_register(SRCS
|
||||
src/hello_world_main.cpp
|
||||
src/app_main.cpp
|
||||
src/display.cpp
|
||||
src/bat_mon.cpp
|
||||
src/spi_global.cpp
|
||||
@@ -9,5 +9,5 @@ idf_component_register(SRCS
|
||||
src/shutdowner.cpp
|
||||
src/buttons.cpp
|
||||
src/power_helper.cpp
|
||||
PRIV_REQUIRES spi_flash esp_driver_i2c driver sdk-esp
|
||||
PRIV_REQUIRES spi_flash esp_driver_i2c driver sdk-esp esp_timer
|
||||
INCLUDE_DIRS "include")
|
||||
|
||||
@@ -20,9 +20,10 @@ public:
|
||||
void pooler(); // FIXME:
|
||||
private:
|
||||
static inline i2c_device_config_t _dev_cfg = {
|
||||
.dev_addr_length = I2C_ADDR_BIT_LEN_7,
|
||||
.device_address = 0x36,
|
||||
.scl_speed_hz = 100000,
|
||||
.dev_addr_length = I2C_ADDR_BIT_LEN_7,
|
||||
.device_address = 0x36,
|
||||
.scl_speed_hz = 100000,
|
||||
.flags = 0,
|
||||
};
|
||||
|
||||
BatMon();
|
||||
|
||||
@@ -7,43 +7,43 @@
|
||||
|
||||
#include <display.hpp>
|
||||
|
||||
class DispTools {
|
||||
public:
|
||||
static DispTools& get();
|
||||
|
||||
void clear() {
|
||||
namespace DispTools {
|
||||
static void clear() {
|
||||
for (int y = 0; y < DISP_HEIGHT; y++) {
|
||||
for (int x = 0; x < DISP_WIDTH; x++) {
|
||||
SMD::get().set_pixel(x, y, true);
|
||||
SMD::set_pixel(x, y, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
bool get_pixel(int x, int y) {
|
||||
static bool get_pixel(int x, int y) {
|
||||
if (x < 0 || x >= DISP_WIDTH || y < 0 || y >= DISP_HEIGHT)
|
||||
assert(false);
|
||||
assert(false); // Not implemented
|
||||
return true;
|
||||
// return disp_frame[y][x];
|
||||
}
|
||||
void reset_pixel(int x, int y) {
|
||||
static void reset_pixel(int x, int y) {
|
||||
if (x < 0 || x >= DISP_WIDTH || y < 0 || y >= DISP_HEIGHT)
|
||||
assert(false);
|
||||
SMD::get().set_pixel(x, y, false);
|
||||
SMD::set_pixel(x, y, false);
|
||||
}
|
||||
void set_pixel(int x, int y) {
|
||||
static void set_pixel(int x, int y) {
|
||||
if (x < 0 || x >= DISP_WIDTH || y < 0 || y >= DISP_HEIGHT)
|
||||
assert(false);
|
||||
|
||||
SMD::get().set_pixel(x, y, true);
|
||||
SMD::set_pixel(x, y, true);
|
||||
}
|
||||
void set_pixel(int x, int y, bool on) {
|
||||
static void set_pixel(int x, int y, bool on) {
|
||||
if (on) {
|
||||
set_pixel(x, y);
|
||||
} else {
|
||||
reset_pixel(x, y);
|
||||
}
|
||||
}
|
||||
void draw_to_display();
|
||||
static void draw_to_display() { SMD::draw(); }
|
||||
static void draw_to_display_async_start() { SMD::draw_async_start(); }
|
||||
static void draw_to_display_async_wait() { SMD::draw_async_wait(); }
|
||||
static bool draw_to_display_async_busy() { return SMD::draw_async_busy(); }
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -15,44 +15,47 @@
|
||||
#include "Surface.hpp"
|
||||
#include "Window.hpp"
|
||||
|
||||
class SMD {
|
||||
public:
|
||||
static constexpr size_t kLineBytes = DISP_WIDTH / 8;
|
||||
static constexpr size_t kLineMultiSingle = (kLineBytes + 2);
|
||||
static constexpr size_t kLineDataBytes = kLineMultiSingle * DISP_HEIGHT + 2;
|
||||
namespace SMD {
|
||||
static constexpr size_t kLineBytes = DISP_WIDTH / 8;
|
||||
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];
|
||||
DMA_ATTR extern uint8_t dma_buf[SMD::kLineDataBytes];
|
||||
|
||||
static SMD& get();
|
||||
void clear();
|
||||
void draw();
|
||||
void init();
|
||||
void clear();
|
||||
void draw();
|
||||
// Asynchronous (DMA queued) draw API
|
||||
void draw_async_start(); // queue frame transfer if none in flight
|
||||
void draw_async_wait(); // wait for any in-flight transfer to finish
|
||||
bool draw_async_busy(); // true if a transfer is in-flight
|
||||
|
||||
void set_pixel(int x, int y, bool value) {
|
||||
assert(x >= 0 && x < DISP_WIDTH && y >= 0 && y < DISP_HEIGHT);
|
||||
static 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;
|
||||
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;
|
||||
}
|
||||
if (value) {
|
||||
dma_buf[lineIdx] &= ~bitIdx;
|
||||
} else {
|
||||
dma_buf[lineIdx] |= bitIdx;
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
SMD();
|
||||
static inline spi_device_interface_config_t _devcfg = {
|
||||
.mode = 0, // SPI mode 0
|
||||
.clock_speed_hz = 2 * 1000 * 1000, // Clock out at 10 MHz
|
||||
.spics_io_num = SPI_DISP_CS, // CS pin
|
||||
.flags = SPI_DEVICE_POSITIVE_CS,
|
||||
.queue_size = 3,
|
||||
// .pre_cb = lcd_spi_pre_transfer_callback, //Specify pre-transfer callback to handle D/C line
|
||||
};
|
||||
spi_device_handle_t _spi;
|
||||
bool _vcom = false;
|
||||
static inline spi_device_interface_config_t _devcfg = {
|
||||
.mode = 0, // SPI mode 0
|
||||
.clock_speed_hz = 2 * 1000 * 1000, // Clock out at 10 MHz
|
||||
.spics_io_num = SPI_DISP_CS, // CS pin
|
||||
.flags = SPI_DEVICE_POSITIVE_CS,
|
||||
.queue_size = 3,
|
||||
// .pre_cb = lcd_spi_pre_transfer_callback, //Specify pre-transfer callback to handle D/C line
|
||||
};
|
||||
extern spi_device_handle_t _spi;
|
||||
extern bool _vcom;
|
||||
extern bool _inFlight;
|
||||
extern spi_transaction_t _tx; // persistent transaction struct for async API
|
||||
}; // namespace SMD
|
||||
|
||||
class SMDSurface : public Surface<SMDSurface, BwPixel>, public StandardEventQueue<SMDSurface> {
|
||||
public:
|
||||
|
||||
@@ -17,7 +17,10 @@
|
||||
#include "esp_chip_info.h"
|
||||
#include "esp_flash.h"
|
||||
#include "esp_pm.h" // power management (guard usage by CONFIG_PM_ENABLE)
|
||||
#include "esp_private/esp_clk.h"
|
||||
#include "esp_random.h"
|
||||
#include "esp_system.h"
|
||||
#include "esp_timer.h"
|
||||
|
||||
#include <algorithm>
|
||||
#include <array>
|
||||
@@ -46,9 +49,10 @@ constexpr int FrameW = 400;
|
||||
constexpr int FrameH = 240;
|
||||
|
||||
// game feel
|
||||
constexpr int DropMsStart = 650;
|
||||
constexpr int DropMsMin = 90;
|
||||
constexpr int DropFastMs = 20;
|
||||
// Faster gravity & soft drop
|
||||
constexpr int DropMsStart = 520; // was 650
|
||||
constexpr int DropMsMin = 60; // was 90
|
||||
constexpr int DropFastMs = 1; // soft drop interval (was 5)
|
||||
constexpr int LevelStepClr = 10;
|
||||
constexpr int LockDelayMs = 380;
|
||||
|
||||
@@ -94,14 +98,14 @@ struct PlatformFramebuffer final : IFramebuffer {
|
||||
if (x < 0 || y < 0 || x >= width() || y >= height())
|
||||
return;
|
||||
// Logical ON must be BLACK on panel:
|
||||
DispTools::get().set_pixel(x, y, on); // on=true -> black; on=false -> white
|
||||
DispTools::set_pixel(x, y, on); // on=true -> black; on=false -> white
|
||||
}
|
||||
|
||||
void clear(bool on) override {
|
||||
// Explicit fill to guarantee polarity: no DispTools::clear() shortcuts.
|
||||
for (int y = 0; y < height(); ++y)
|
||||
for (int x = 0; x < width(); ++x)
|
||||
DispTools::get().set_pixel(x, y, on);
|
||||
DispTools::set_pixel(x, y, on);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -129,15 +133,58 @@ struct PlatformClock final : IClock {
|
||||
return (uint32_t) ((uint64_t) t * 1000ULL / configTICK_RATE_HZ);
|
||||
}
|
||||
void sleep_ms(uint32_t ms) override {
|
||||
// Pass a longer delay when slow mode is active, cap normal delay for responsiveness
|
||||
int slow_ms = (int) ms; // allow full requested sleep when slow
|
||||
int normal_ms = (int) std::min<uint32_t>(ms, 30); // cap active-mode sleep to 30ms
|
||||
// Unified: request same duration for slow and active. In slow mode a button press wakes early.
|
||||
// In active mode we accept the full requested sleep (responsiveness governed by recommendedSleepMs cap).
|
||||
int slow_ms = (int) ms;
|
||||
int normal_ms = (int) ms; // no artificial cap
|
||||
PowerHelper::get().delay(slow_ms, normal_ms);
|
||||
}
|
||||
};
|
||||
|
||||
static inline uint32_t elapsed_ms(uint32_t a, uint32_t b) { return b - a; }
|
||||
|
||||
// High precision performance stats (microsecond accumulation via esp_timer)
|
||||
struct PerfStats {
|
||||
// Accumulators (microseconds)
|
||||
uint64_t overlayUs = 0, inputUs = 0, logicUs = 0, renderUs = 0, stepUs = 0;
|
||||
uint64_t rClearUs = 0, rBoardUs = 0, rPiecesUs = 0, rHUDUs = 0, rOverlayUs = 0, rBlitQueueUs = 0, rBlitWaitUs = 0;
|
||||
// Counters
|
||||
uint32_t steps = 0; // number of step() iterations during interval
|
||||
uint32_t renders = 0; // number of actual renders (paintHUD calls) during interval
|
||||
uint64_t lastPrintUs = 0;
|
||||
// Last-step / last-render snapshots
|
||||
uint64_t lastOverlayUs = 0, lastInputUs = 0, lastLogicUs = 0, lastRenderUs = 0, lastStepUs = 0;
|
||||
uint64_t lastRClearUs = 0, lastRBoardUs = 0, lastRPiecesUs = 0, lastRHUDUs = 0, lastROverlayUs = 0;
|
||||
uint64_t lastRBlitQueueUs = 0, lastRBlitWaitUs = 0;
|
||||
bool lastDidRender = false;
|
||||
void maybePrint(uint64_t nowUs) {
|
||||
if (!lastPrintUs)
|
||||
lastPrintUs = nowUs;
|
||||
uint64_t span = nowUs - lastPrintUs;
|
||||
if (span >= 1000000ULL && (steps || renders)) {
|
||||
double dSteps = steps ? (double) steps : 1.0;
|
||||
double dRenders = renders ? (double) renders : 1.0;
|
||||
auto avS = [&](uint64_t v) { return (double) v / 1000.0 / dSteps; };
|
||||
auto avR = [&](uint64_t v) { return (double) v / 1000.0 / dRenders; };
|
||||
double fps = renders * 1000000.0 / (double) span; // real display frame rate
|
||||
printf("PERF steps=%lu frames=%lu span=%.3fs | stepAvg overlay=%.3fms input=%.3fms logic=%.3fms "
|
||||
"step=%.3fms || renderAvg=%.3fms [clr=%.3f brd=%.3f pcs=%.3f hud=%.3f ovl=%.3f bltQ=%.3f bltW=%.3f] "
|
||||
"fps=%.1f\n",
|
||||
(unsigned long) steps, (unsigned long) renders, (double) span / 1e6, avS(overlayUs), avS(inputUs),
|
||||
avS(logicUs), avS(stepUs), avR(renderUs), avR(rClearUs), avR(rBoardUs), avR(rPiecesUs), avR(rHUDUs),
|
||||
avR(rOverlayUs), avR(rBlitQueueUs), avR(rBlitWaitUs), fps);
|
||||
overlayUs = inputUs = logicUs = renderUs = stepUs = 0;
|
||||
rClearUs = rBoardUs = rPiecesUs = rHUDUs = rOverlayUs = rBlitQueueUs = rBlitWaitUs = 0;
|
||||
steps = renders = 0;
|
||||
lastPrintUs = nowUs;
|
||||
}
|
||||
}
|
||||
static PerfStats& get() {
|
||||
static PerfStats ps;
|
||||
return ps;
|
||||
}
|
||||
};
|
||||
|
||||
// ─────────────────────────────────────────────────────────────────────────────
|
||||
// Pieces
|
||||
using RotGrid = std::array<char, 16>;
|
||||
@@ -358,26 +405,28 @@ public:
|
||||
}
|
||||
|
||||
void render(const Board& b, int px, int py, int prot, int pidx, int score, int level, int lines, int nextIdx,
|
||||
bool ghost, bool paused, bool gameOver) {
|
||||
bool ghost, bool paused, bool gameOver, int fps, int avgFrameMs10) {
|
||||
auto& ps = PerfStats::get();
|
||||
auto tus = []() { return esp_timer_get_time(); };
|
||||
uint64_t t0 = tus();
|
||||
fb.clear(false); // white background
|
||||
uint64_t t1 = tus();
|
||||
ps.rClearUs += (t1 - t0);
|
||||
ps.lastRClearUs = (t1 - t0);
|
||||
drawBatteryOverlay();
|
||||
|
||||
// Outer playfield frame
|
||||
rect(ox - 2, oy - 2, bw + 4, bh + 4, true);
|
||||
|
||||
// Draw settled cells (always full square borders for consistent look)
|
||||
uint64_t t2 = tus();
|
||||
for (int y = 0; y < cfg::BoardH; ++y)
|
||||
for (int x = 0; x < cfg::BoardW; ++x) {
|
||||
int v = b.get(x, y);
|
||||
if (v)
|
||||
drawCellFull(x, y, v, false);
|
||||
}
|
||||
|
||||
// Ghost (classic outline per cell) BEFORE active so active isn't obscured
|
||||
uint64_t t3 = tus();
|
||||
ps.rBoardUs += (t3 - t2);
|
||||
ps.lastRBoardUs = (t3 - t2);
|
||||
if (ghost)
|
||||
drawGhost(b, px, py, prot, pidx);
|
||||
|
||||
// Active piece overlay
|
||||
for (int yy = 0; yy < 4; ++yy)
|
||||
for (int xx = 0; xx < 4; ++xx)
|
||||
if (cell_of(TET[pidx], prot, xx, yy)) {
|
||||
@@ -385,10 +434,11 @@ public:
|
||||
if (gx >= 0 && gx < cfg::BoardW && gy >= 0 && gy < cfg::BoardH)
|
||||
drawCellFull(gx, gy, pidx + 1, true);
|
||||
}
|
||||
|
||||
// HUD
|
||||
int hudX = ox + bw + 16;
|
||||
int yHUD = oy + 9;
|
||||
uint64_t t4 = tus();
|
||||
ps.rPiecesUs += (t4 - t3);
|
||||
ps.lastRPiecesUs = (t4 - t3);
|
||||
int hudX = ox + bw + 16;
|
||||
int yHUD = oy + 9;
|
||||
drawLabel(hudX, yHUD, "SCORE");
|
||||
yHUD += 12;
|
||||
drawNumber(hudX, yHUD, score);
|
||||
@@ -403,7 +453,6 @@ public:
|
||||
yHUD += 19;
|
||||
drawLabel(hudX, yHUD, "NEXT");
|
||||
yHUD += 7;
|
||||
|
||||
const int p = cfg::CellPx;
|
||||
const int nx = hudX, ny = yHUD + 4;
|
||||
rect(nx - 2, ny - 2, 4 * p + 4, 4 * p + 4, true);
|
||||
@@ -411,12 +460,24 @@ public:
|
||||
for (int xx = 0; xx < 4; ++xx)
|
||||
if (cell_of(TET[nextIdx], 0, xx, yy))
|
||||
drawCellFullPreview(nx + xx * p, ny + yy * p, nextIdx + 1);
|
||||
|
||||
// (Removed on request) Previously displayed FPS / frame ms here.
|
||||
uint64_t t5 = tus();
|
||||
ps.rHUDUs += (t5 - t4);
|
||||
ps.lastRHUDUs = (t5 - t4);
|
||||
if (gameOver)
|
||||
drawGameOverOverlay();
|
||||
else if (paused)
|
||||
drawPausedOverlay();
|
||||
DispTools::get().draw_to_display();
|
||||
uint64_t t6 = tus();
|
||||
ps.rOverlayUs += (t6 - t5);
|
||||
ps.lastROverlayUs = (t6 - t5);
|
||||
// Queue async SPI transfer (DMA) and measure only queue overhead here.
|
||||
uint64_t bqStart = tus();
|
||||
DispTools::draw_to_display_async_start();
|
||||
uint64_t t7 = tus();
|
||||
uint64_t qdur = (t7 - bqStart);
|
||||
ps.rBlitQueueUs += qdur; // enqueue overhead
|
||||
ps.lastRBlitQueueUs = qdur;
|
||||
}
|
||||
|
||||
// Consistent full bordered cell drawing (square regardless of neighbors)
|
||||
@@ -513,10 +574,23 @@ private:
|
||||
int offset = ((w - 1) % spacing) / 2; // distributes leftover space equally
|
||||
return ((xx - offset) % spacing) == 0;
|
||||
}
|
||||
case 2:
|
||||
return (yy < h / 2) || (xx == 0); // J
|
||||
case 3:
|
||||
return (yy >= h / 2) || (xx == w - 1); // L
|
||||
case 2: { // J — dense textured (≈75%) top half + solid left spine
|
||||
if (xx == 0)
|
||||
return true; // spine
|
||||
if (yy < h / 2) {
|
||||
// Omit only pixels where both coords are odd -> small isolated holes
|
||||
return !((xx & 1) && (yy & 1));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
case 3: { // L — dense textured (≈75%) bottom half + solid right spine
|
||||
if (xx == w - 1)
|
||||
return true; // spine
|
||||
if (yy >= h / 2) {
|
||||
return !((xx & 1) && (yy & 1));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
case 4:
|
||||
return (((xx + yy) & 1) == 0); // O
|
||||
case 5:
|
||||
@@ -766,7 +840,10 @@ private:
|
||||
// Bag
|
||||
class Bag {
|
||||
public:
|
||||
Bag() : rng(std::random_device{}()) { refill(); }
|
||||
Bag() {
|
||||
reseed();
|
||||
refill();
|
||||
}
|
||||
int next() {
|
||||
if (bag.empty())
|
||||
refill();
|
||||
@@ -774,8 +851,17 @@ public:
|
||||
bag.pop_back();
|
||||
return t;
|
||||
}
|
||||
void reset() { // reseed and refill new 7-bag
|
||||
reseed();
|
||||
refill();
|
||||
}
|
||||
|
||||
private:
|
||||
void reseed() {
|
||||
// Use hardware RNG (non-blocking) instead of std::random_device (may block or be unsupported)
|
||||
uint32_t seed = esp_random();
|
||||
rng.seed(seed);
|
||||
}
|
||||
void refill() {
|
||||
bag = {0, 1, 2, 3, 4, 5, 6};
|
||||
std::shuffle(bag.begin(), bag.end(), rng);
|
||||
@@ -787,7 +873,10 @@ private:
|
||||
// ─────────────────────────────────────────────────────────────────────────────
|
||||
// Game
|
||||
struct ScoreState {
|
||||
int level = 0, score = 0, lines = 0, dropMs = cfg::DropMsStart;
|
||||
int level = 0;
|
||||
int score = 0;
|
||||
int lines = 0;
|
||||
int dropMs = cfg::DropMsStart;
|
||||
};
|
||||
|
||||
class Game {
|
||||
@@ -802,29 +891,118 @@ public:
|
||||
}
|
||||
|
||||
void step() {
|
||||
const uint32_t now = clock.millis();
|
||||
uint64_t stepStartUs = esp_timer_get_time();
|
||||
uint32_t now = clock.millis();
|
||||
PerfStats::get().lastDidRender = false; // reset per-frame render flag
|
||||
// Complete any previous in-flight async display transfer and attribute its duration to blit time
|
||||
if (DispTools::draw_to_display_async_busy()) {
|
||||
uint64_t bwStart = esp_timer_get_time();
|
||||
DispTools::draw_to_display_async_wait();
|
||||
uint64_t bwEnd = esp_timer_get_time();
|
||||
auto& ps = PerfStats::get();
|
||||
uint64_t dur = (bwEnd - bwStart);
|
||||
ps.rBlitWaitUs += dur; // actual DMA completion time
|
||||
ps.lastRBlitWaitUs = dur;
|
||||
}
|
||||
const uint32_t oStart = clock.millis();
|
||||
overlayTick(now);
|
||||
InputState st = input.readState();
|
||||
const uint32_t oEnd = clock.millis();
|
||||
{
|
||||
auto& ps = PerfStats::get();
|
||||
uint64_t dur = (uint64_t) (oEnd - oStart) * 1000ULL;
|
||||
ps.overlayUs += dur;
|
||||
ps.lastOverlayUs = dur;
|
||||
}
|
||||
const uint32_t iStart = clock.millis();
|
||||
InputState st = input.readState();
|
||||
const uint32_t iEnd = clock.millis();
|
||||
{
|
||||
auto& ps = PerfStats::get();
|
||||
uint64_t dur = (uint64_t) (iEnd - iStart) * 1000ULL;
|
||||
ps.inputUs += dur;
|
||||
ps.lastInputUs = dur;
|
||||
}
|
||||
uint64_t logicStartUs = esp_timer_get_time();
|
||||
enforceSlowMode();
|
||||
if (!running) {
|
||||
// Allow restart on any button press (except no input)
|
||||
if (st.left || st.right || st.down || st.rotate || st.back) {
|
||||
restart();
|
||||
return; // restart sets dirty and running
|
||||
bool anyPressed = st.left || st.right || st.down || st.rotate || st.back;
|
||||
uint32_t sinceGameOver = elapsed_ms(gameOverTime, now);
|
||||
if (sinceGameOver >= gameOverRestartDelayMs) {
|
||||
// Arm restart only after buttons are released once past delay
|
||||
if (!anyPressed)
|
||||
gameOverPrevPressed = false; // ready to accept a fresh press
|
||||
else if (anyPressed && !gameOverPrevPressed) {
|
||||
restart();
|
||||
return;
|
||||
}
|
||||
}
|
||||
// Maintain pressed state (prevents holding through the delay from triggering restart)
|
||||
if (anyPressed)
|
||||
gameOverPrevPressed = true;
|
||||
uint64_t logicEndUs = esp_timer_get_time();
|
||||
{
|
||||
auto& ps = PerfStats::get();
|
||||
uint64_t dur = (logicEndUs - logicStartUs);
|
||||
ps.logicUs += dur;
|
||||
ps.lastLogicUs = dur;
|
||||
}
|
||||
if (dirty)
|
||||
paintHUD();
|
||||
uint64_t stepEndUs = esp_timer_get_time();
|
||||
{
|
||||
auto& ps = PerfStats::get();
|
||||
uint64_t dur = (stepEndUs - stepStartUs);
|
||||
ps.stepUs += dur;
|
||||
ps.lastStepUs = dur;
|
||||
// Print per-frame breakdown (no render this frame if not dirty)
|
||||
auto ms = [](uint64_t us) { return (double) us / 1000.0; };
|
||||
double waitMs = ms(ps.lastRBlitWaitUs);
|
||||
if (waitMs > 0.0005) {
|
||||
printf("STEP overlay=%.3fms input=%.3fms logic=%.3fms bltW=%.3fms step=%.3fms\n",
|
||||
ms(ps.lastOverlayUs), ms(ps.lastInputUs), ms(ps.lastLogicUs), waitMs, ms(ps.lastStepUs));
|
||||
} else {
|
||||
printf("STEP overlay=%.3fms input=%.3fms logic=%.3fms step=%.3fms\n", ms(ps.lastOverlayUs),
|
||||
ms(ps.lastInputUs), ms(ps.lastLogicUs), ms(ps.lastStepUs));
|
||||
}
|
||||
ps.steps++;
|
||||
ps.maybePrint(stepEndUs);
|
||||
}
|
||||
return;
|
||||
}
|
||||
// Pause toggle
|
||||
if (st.back && !backPrev) {
|
||||
paused = !paused;
|
||||
PowerHelper::get().set_slow(paused);
|
||||
dirty = true;
|
||||
dirty = true;
|
||||
}
|
||||
backPrev = st.back;
|
||||
if (paused) {
|
||||
uint64_t logicEndUs = esp_timer_get_time();
|
||||
{
|
||||
auto& ps = PerfStats::get();
|
||||
uint64_t dur = (logicEndUs - logicStartUs);
|
||||
ps.logicUs += dur;
|
||||
ps.lastLogicUs = dur;
|
||||
}
|
||||
if (dirty)
|
||||
paintHUD();
|
||||
uint64_t stepEndUs = esp_timer_get_time();
|
||||
{
|
||||
auto& ps = PerfStats::get();
|
||||
uint64_t dur = (stepEndUs - stepStartUs);
|
||||
ps.stepUs += dur;
|
||||
ps.lastStepUs = dur;
|
||||
auto ms = [](uint64_t us) { return (double) us / 1000.0; };
|
||||
double waitMs = ms(ps.lastRBlitWaitUs);
|
||||
if (waitMs > 0.0005) {
|
||||
printf("STEP overlay=%.3fms input=%.3fms logic=%.3fms bltW=%.3fms step=%.3fms\n",
|
||||
ms(ps.lastOverlayUs), ms(ps.lastInputUs), ms(ps.lastLogicUs), waitMs, ms(ps.lastStepUs));
|
||||
} else {
|
||||
printf("STEP overlay=%.3fms input=%.3fms logic=%.3fms step=%.3fms\n", ms(ps.lastOverlayUs),
|
||||
ms(ps.lastInputUs), ms(ps.lastLogicUs), ms(ps.lastStepUs));
|
||||
}
|
||||
ps.steps++;
|
||||
ps.maybePrint(stepEndUs);
|
||||
}
|
||||
return;
|
||||
}
|
||||
// Rotation
|
||||
@@ -849,22 +1027,55 @@ public:
|
||||
} else
|
||||
touchingGround = false;
|
||||
}
|
||||
uint64_t logicEndUs = esp_timer_get_time();
|
||||
{
|
||||
auto& ps = PerfStats::get();
|
||||
uint64_t dur = (logicEndUs - logicStartUs);
|
||||
ps.logicUs += dur;
|
||||
ps.lastLogicUs = dur;
|
||||
}
|
||||
if (dirty)
|
||||
paintHUD();
|
||||
uint64_t stepEndUs = esp_timer_get_time();
|
||||
{
|
||||
auto& ps = PerfStats::get();
|
||||
uint64_t dur = (stepEndUs - stepStartUs);
|
||||
ps.stepUs += dur;
|
||||
ps.lastStepUs = dur;
|
||||
auto ms = [](uint64_t us) { return (double) us / 1000.0; };
|
||||
double waitMs = ms(ps.lastRBlitWaitUs);
|
||||
if (waitMs > 0.0005) {
|
||||
printf("STEP overlay=%.3fms input=%.3fms logic=%.3fms bltW=%.3fms step=%.3fms\n", ms(ps.lastOverlayUs),
|
||||
ms(ps.lastInputUs), ms(ps.lastLogicUs), waitMs, ms(ps.lastStepUs));
|
||||
} else {
|
||||
printf("STEP overlay=%.3fms input=%.3fms logic=%.3fms step=%.3fms\n", ms(ps.lastOverlayUs),
|
||||
ms(ps.lastInputUs), ms(ps.lastLogicUs), ms(ps.lastStepUs));
|
||||
}
|
||||
ps.steps++;
|
||||
ps.maybePrint(stepEndUs);
|
||||
}
|
||||
}
|
||||
|
||||
uint32_t recommendedSleepMs(uint32_t now) const {
|
||||
struct SleepPlan {
|
||||
uint32_t slow_ms; // long sleep allowing battery/UI periodic refresh
|
||||
uint32_t normal_ms; // short sleep for responsiveness on input wake
|
||||
};
|
||||
SleepPlan recommendedSleepMs(uint32_t now) const {
|
||||
SleepPlan plan{0, 0};
|
||||
if (dirty)
|
||||
return 0;
|
||||
if (paused || !running) {
|
||||
uint32_t untilOverlay =
|
||||
(lastOverlayUpd + overlayIntervalMs > now) ? (lastOverlayUpd + overlayIntervalMs - now) : 0;
|
||||
uint32_t cap = (paused || !running) ? 2000u : 500u;
|
||||
if (untilOverlay > cap)
|
||||
untilOverlay = cap;
|
||||
return untilOverlay;
|
||||
return plan; // both zero => no sleep
|
||||
bool idleState = paused || !running;
|
||||
if (idleState) {
|
||||
uint32_t interval = overlayIntervalMs * 8; // extended overlay refresh gap
|
||||
uint32_t since = elapsed_ms(lastOverlayUpd, now);
|
||||
uint32_t untilOverlay = (since >= interval) ? 0 : (interval - since);
|
||||
if (untilOverlay > idleLongCapMs)
|
||||
untilOverlay = idleLongCapMs;
|
||||
plan.slow_ms = untilOverlay ? untilOverlay : idleShortPollMs;
|
||||
plan.normal_ms = idleActivePollMs;
|
||||
return plan;
|
||||
}
|
||||
// Estimate next gravity event
|
||||
// Active gameplay
|
||||
uint32_t g = score.dropMs;
|
||||
uint32_t sinceFall = elapsed_ms(lastFall, now);
|
||||
uint32_t untilDrop = (sinceFall >= g) ? 0 : (g - sinceFall);
|
||||
@@ -873,18 +1084,27 @@ public:
|
||||
uint32_t untilLock = (sinceTouch >= (uint32_t) cfg::LockDelayMs) ? 0 : (cfg::LockDelayMs - sinceTouch);
|
||||
untilDrop = std::min(untilDrop, untilLock);
|
||||
}
|
||||
uint32_t untilOverlay =
|
||||
(lastOverlayUpd + overlayIntervalMs > now) ? (lastOverlayUpd + overlayIntervalMs - now) : 0;
|
||||
uint32_t sleep = std::min(untilDrop, untilOverlay);
|
||||
uint32_t interval = overlayIntervalMs;
|
||||
uint32_t sinceOverlay = elapsed_ms(lastOverlayUpd, now);
|
||||
uint32_t untilOverlay = (sinceOverlay >= interval) ? 0 : (interval - sinceOverlay);
|
||||
uint32_t sleep = std::min(untilDrop, untilOverlay);
|
||||
if (sleep > maxIdleSleepMs)
|
||||
sleep = maxIdleSleepMs;
|
||||
return sleep;
|
||||
plan.slow_ms = sleep;
|
||||
plan.normal_ms = std::min<uint32_t>(sleep, activeNormalCapMs);
|
||||
return plan;
|
||||
}
|
||||
|
||||
private:
|
||||
// Power-aware overlay throttling
|
||||
static constexpr uint32_t overlayIntervalMs = 500; // base interval (paused uses multiplier)
|
||||
static constexpr uint32_t maxIdleSleepMs = 120; // cap to keep input responsive
|
||||
static constexpr uint32_t overlayIntervalMs = 500; // base interval (paused uses multiplier)
|
||||
static constexpr uint32_t maxIdleSleepMs = 120; // active state cap to keep input responsive
|
||||
static constexpr uint32_t gameOverRestartDelayMs = 2000; // ms grace period before restart allowed
|
||||
// Idle (paused/game over) timing tunables
|
||||
static constexpr uint32_t idleLongCapMs = 2500; // longest deep sleep slice while idle (<= overlay 4s)
|
||||
static constexpr uint32_t idleShortPollMs = 50; // minimal periodic wake to check overlay refresh/input
|
||||
static constexpr uint32_t idleActivePollMs = 40; // normal_ms provided to PowerHelper for responsiveness
|
||||
static constexpr uint32_t activeNormalCapMs = 40; // cap for normal_ms during active play
|
||||
|
||||
IFramebuffer& fb;
|
||||
IInput& input;
|
||||
@@ -897,11 +1117,18 @@ private:
|
||||
bool rotPrev = false, lHeld = false, rHeld = false, backPrev = false;
|
||||
uint32_t lHoldStart = 0, rHoldStart = 0, lLastRep = 0, rLastRep = 0, lastFall = 0, touchTime = 0;
|
||||
int current = 0, nextPiece = 0, px = 3, py = -2, rot = 0;
|
||||
// Game over restart gating
|
||||
uint32_t gameOverTime = 0; // time when game over occurred
|
||||
bool gameOverPrevPressed = false; // tracks button hold through delay
|
||||
|
||||
// Dirty rendering & overlay
|
||||
bool dirty = false;
|
||||
uint32_t lastOverlayUpd = 0;
|
||||
|
||||
// Performance stats
|
||||
uint32_t frameCount = 0, frameAccumMs = 0, lastFrameTime = 0, lastStatTime = 0;
|
||||
int statFps = 0, statAvgFrameMs10 = 0;
|
||||
|
||||
void overlayTick(uint32_t now) {
|
||||
uint32_t interval = (paused || !running) ? overlayIntervalMs * 8 : overlayIntervalMs; // 4s paused or game over
|
||||
if (elapsed_ms(lastOverlayUpd, now) >= interval) {
|
||||
@@ -909,21 +1136,61 @@ private:
|
||||
dirty = true;
|
||||
}
|
||||
}
|
||||
void enforceSlowMode() {
|
||||
auto& ph = PowerHelper::get();
|
||||
bool wantSlow = paused || !running;
|
||||
if (wantSlow && !ph.is_slow())
|
||||
ph.set_slow(true);
|
||||
else if (!wantSlow && ph.is_slow())
|
||||
ph.set_slow(false);
|
||||
}
|
||||
void paintHUD() {
|
||||
uint64_t rStartUs = esp_timer_get_time();
|
||||
uint32_t rStart = clock.millis();
|
||||
// Frame boundary at render start
|
||||
if (lastFrameTime != 0) {
|
||||
uint32_t dt = elapsed_ms(lastFrameTime, rStart);
|
||||
frameAccumMs += dt;
|
||||
}
|
||||
frameCount++;
|
||||
lastFrameTime = rStart;
|
||||
if (elapsed_ms(lastStatTime, rStart) >= 1000) {
|
||||
statFps = frameCount;
|
||||
statAvgFrameMs10 = frameCount ? (int) ((frameAccumMs * 10) / frameCount) : 0;
|
||||
frameCount = 0;
|
||||
frameAccumMs = 0;
|
||||
lastStatTime = rStart;
|
||||
}
|
||||
renderer.render(board, px, py, rot, current, score.score, score.level, score.lines, nextPiece, true, paused,
|
||||
!running);
|
||||
!running, statFps, statAvgFrameMs10);
|
||||
uint64_t rEndUs = esp_timer_get_time();
|
||||
{
|
||||
auto& ps = PerfStats::get();
|
||||
uint64_t dur = (rEndUs - rStartUs);
|
||||
ps.renderUs += dur;
|
||||
ps.lastRenderUs = dur;
|
||||
ps.lastDidRender = true;
|
||||
ps.renders++;
|
||||
// Pure per-frame render metrics (does not include asynchronous blit wait from previous frame)
|
||||
auto ms = [](uint64_t us) { return (double) us / 1000.0; };
|
||||
printf("FRAME render=%.3fms [clr=%.3f brd=%.3f pcs=%.3f hud=%.3f ovl=%.3f bltQ=%.3f]\n",
|
||||
ms(ps.lastRenderUs), ms(ps.lastRClearUs), ms(ps.lastRBoardUs), ms(ps.lastRPiecesUs),
|
||||
ms(ps.lastRHUDUs), ms(ps.lastROverlayUs), ms(ps.lastRBlitQueueUs));
|
||||
}
|
||||
dirty = false;
|
||||
}
|
||||
void restart() {
|
||||
board.clear();
|
||||
score = ScoreState{};
|
||||
bag = Bag{}; // new sequence
|
||||
score = ScoreState{};
|
||||
bag.reset(); // new randomized sequence without reconstructing (avoids potential random_device issues)
|
||||
nextPiece = bag.next();
|
||||
running = true;
|
||||
paused = false;
|
||||
touchingGround = false;
|
||||
rotPrev = lHeld = rHeld = backPrev = false;
|
||||
PowerHelper::get().set_slow(false);
|
||||
// slow mode will be re-evaluated centrally on next step
|
||||
gameOverTime = 0;
|
||||
gameOverPrevPressed = false;
|
||||
spawn();
|
||||
dirty = true;
|
||||
}
|
||||
@@ -937,7 +1204,10 @@ private:
|
||||
dirty = true;
|
||||
// Game over if immediate collision at spawn position OR unable to move one row down
|
||||
if (board.collides(px, py, rot, current) || board.collides(px, py + 1, rot, current)) {
|
||||
running = false;
|
||||
running = false;
|
||||
gameOverTime = clock.millis();
|
||||
gameOverPrevPressed = true; // require a release after delay
|
||||
// slow mode applied centrally next step
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1015,7 +1285,10 @@ private:
|
||||
board.lock(px, py, rot, current);
|
||||
dirty = true;
|
||||
if (above) { // immediate game over (do not spawn new piece)
|
||||
running = false;
|
||||
running = false;
|
||||
gameOverTime = clock.millis();
|
||||
gameOverPrevPressed = true;
|
||||
// slow mode applied centrally next step
|
||||
return;
|
||||
}
|
||||
int c = board.clearLines();
|
||||
@@ -1043,11 +1316,16 @@ public:
|
||||
~App() { delete game; }
|
||||
void runForever() {
|
||||
while (true) {
|
||||
uint32_t now = clock.millis();
|
||||
game->step();
|
||||
uint32_t sleepMs = game->recommendedSleepMs(now);
|
||||
if (sleepMs) {
|
||||
clock.sleep_ms(sleepMs);
|
||||
// Use time AFTER step for more accurate sleep scheduling (prevents fast loops when paused)
|
||||
uint32_t now = clock.millis();
|
||||
auto plan = game->recommendedSleepMs(now);
|
||||
uint32_t sm = plan.slow_ms;
|
||||
uint32_t nm = plan.normal_ms;
|
||||
if (sm || nm) {
|
||||
printf("Sleep slow=%lu normal=%lu %s\n", (unsigned long) sm, (unsigned long) nm,
|
||||
PowerHelper::get().is_slow() ? "(slow)" : "");
|
||||
PowerHelper::get().delay((int) sm, (int) nm);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1080,7 +1358,8 @@ extern "C" void app_main() {
|
||||
I2cGlobal::get();
|
||||
BatMon::get();
|
||||
SpiGlobal::get();
|
||||
DispTools::get().clear();
|
||||
SMD::init();
|
||||
DispTools::clear();
|
||||
|
||||
static PlatformFramebuffer fb;
|
||||
static PlatformInput input;
|
||||
@@ -8,9 +8,3 @@
|
||||
|
||||
#include <display.hpp>
|
||||
|
||||
DispTools& DispTools::get() {
|
||||
static DispTools disp_tools;
|
||||
return disp_tools;
|
||||
}
|
||||
|
||||
void DispTools::draw_to_display() { SMD::get().draw(); }
|
||||
|
||||
@@ -13,9 +13,9 @@ void FbTty::draw_char(int col, int row) {
|
||||
for (int y = 0; y < 16; y++) {
|
||||
bool color = fonts_Terminess_Powerline[_buf[col][row]][y] & (1 << (8 - x));
|
||||
if (color)
|
||||
DispTools::get().set_pixel(col * 8 + x, row * 16 + y);
|
||||
DispTools::set_pixel(col * 8 + x, row * 16 + y);
|
||||
else
|
||||
DispTools::get().reset_pixel(col * 8 + x, row * 16 + y);
|
||||
DispTools::reset_pixel(col * 8 + x, row * 16 + y);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,18 +11,18 @@
|
||||
|
||||
#include "disp_tools.hpp"
|
||||
|
||||
DMA_ATTR uint8_t SMD::dma_buf[SMD::kLineDataBytes]{};
|
||||
DMA_ATTR uint8_t SMD::dma_buf[SMD::kLineDataBytes]{};
|
||||
spi_device_handle_t SMD::_spi;
|
||||
bool SMD::_vcom = false;
|
||||
bool SMD::_inFlight = false;
|
||||
spi_transaction_t SMD::_tx{};
|
||||
|
||||
// This solution is attributed to Rich Schroeppel in the Programming Hacks section
|
||||
// TODO: Why does the device flag not work?
|
||||
unsigned char reverse_bits3(unsigned char b) { return (b * 0x0202020202ULL & 0x010884422010ULL) % 0x3ff; }
|
||||
|
||||
SMD& SMD::get() {
|
||||
static SMD smd;
|
||||
return smd;
|
||||
}
|
||||
|
||||
SMD::SMD() {
|
||||
void SMD::init() {
|
||||
spi_bus_add_device(SPI_BUS, &_devcfg, &_spi);
|
||||
ESP_ERROR_CHECK(gpio_reset_pin(SPI_DISP_DISP));
|
||||
|
||||
@@ -48,24 +48,51 @@ void SMD::clear() {
|
||||
}
|
||||
|
||||
void SMD::draw() {
|
||||
_vcom = !_vcom;
|
||||
spi_transaction_t t{};
|
||||
// Synchronous (blocking) version retained for compatibility
|
||||
_vcom = !_vcom;
|
||||
_tx = {};
|
||||
_tx.tx_buffer = dma_buf;
|
||||
_tx.length = SMD::kLineDataBytes * 8;
|
||||
dma_buf[0] = 0b10000000 | (_vcom << 6);
|
||||
ESP_ERROR_CHECK(spi_device_transmit(_spi, &_tx));
|
||||
}
|
||||
|
||||
t.tx_buffer = dma_buf;
|
||||
t.length = SMD::kLineDataBytes * 8;
|
||||
dma_buf[0] = 0b10000000 | (_vcom << 6);
|
||||
bool SMD::draw_async_busy() { return _inFlight; }
|
||||
|
||||
ESP_ERROR_CHECK(spi_device_transmit(_spi, &t));
|
||||
void SMD::draw_async_start() {
|
||||
if (_inFlight)
|
||||
return; // already in flight
|
||||
_vcom = !_vcom;
|
||||
_tx = {};
|
||||
_tx.tx_buffer = dma_buf;
|
||||
_tx.length = SMD::kLineDataBytes * 8;
|
||||
dma_buf[0] = 0b10000000 | (_vcom << 6);
|
||||
esp_err_t err = spi_device_queue_trans(_spi, &_tx, 0);
|
||||
if (err == ESP_OK)
|
||||
_inFlight = true;
|
||||
else
|
||||
ESP_ERROR_CHECK(err);
|
||||
}
|
||||
|
||||
void SMD::draw_async_wait() {
|
||||
if (!_inFlight)
|
||||
return;
|
||||
spi_transaction_t* r = nullptr;
|
||||
esp_err_t err;
|
||||
// Wait indefinitely; could add timeout handling if desired
|
||||
err = spi_device_get_trans_result(_spi, &r, portMAX_DELAY);
|
||||
ESP_ERROR_CHECK(err);
|
||||
_inFlight = false;
|
||||
}
|
||||
|
||||
void SMDSurface::draw_pixel_impl(unsigned x, unsigned y, const BwPixel& pixel) {
|
||||
if (pixel.on)
|
||||
DispTools::get().set_pixel(x, y);
|
||||
DispTools::set_pixel(x, y);
|
||||
else
|
||||
DispTools::get().reset_pixel(x, y);
|
||||
DispTools::reset_pixel(x, y);
|
||||
}
|
||||
|
||||
void SMDSurface::clear_impl() { DispTools::get().clear(); }
|
||||
void SMDSurface::clear_impl() { DispTools::clear(); }
|
||||
|
||||
int SMDSurface::get_width_impl() const { return DISP_WIDTH; }
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file. DO NOT EDIT.
|
||||
# Espressif IoT Development Framework (ESP-IDF) 5.5.0 Project Configuration
|
||||
# Espressif IoT Development Framework (ESP-IDF) 5.5.1 Project Configuration
|
||||
#
|
||||
CONFIG_SOC_CAPS_ECO_VER_MAX=102
|
||||
CONFIG_SOC_ADC_SUPPORTED=y
|
||||
@@ -438,9 +438,9 @@ CONFIG_BOOTLOADER_PROJECT_VER=1
|
||||
# end of Application Rollback
|
||||
|
||||
#
|
||||
# Bootloader Rollback
|
||||
# Recovery Bootloader and Rollback
|
||||
#
|
||||
# end of Bootloader Rollback
|
||||
# end of Recovery Bootloader and Rollback
|
||||
|
||||
CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x0
|
||||
CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y
|
||||
@@ -525,6 +525,7 @@ CONFIG_ESP_ROM_HAS_RETARGETABLE_LOCKING=y
|
||||
CONFIG_ESP_ROM_GET_CLK_FREQ=y
|
||||
CONFIG_ESP_ROM_HAS_HAL_WDT=y
|
||||
CONFIG_ESP_ROM_HAS_HAL_SYSTIMER=y
|
||||
CONFIG_ESP_ROM_SYSTIMER_INIT_PATCH=y
|
||||
CONFIG_ESP_ROM_HAS_HEAP_TLSF=y
|
||||
CONFIG_ESP_ROM_TLSF_CHECK_PATCH=y
|
||||
CONFIG_ESP_ROM_MULTI_HEAP_WALK_PATCH=y
|
||||
@@ -612,9 +613,9 @@ CONFIG_PARTITION_TABLE_MD5=y
|
||||
#
|
||||
# Compiler options
|
||||
#
|
||||
CONFIG_COMPILER_OPTIMIZATION_DEBUG=y
|
||||
# CONFIG_COMPILER_OPTIMIZATION_DEBUG is not set
|
||||
# CONFIG_COMPILER_OPTIMIZATION_SIZE is not set
|
||||
# CONFIG_COMPILER_OPTIMIZATION_PERF is not set
|
||||
CONFIG_COMPILER_OPTIMIZATION_PERF=y
|
||||
# CONFIG_COMPILER_OPTIMIZATION_NONE is not set
|
||||
CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y
|
||||
# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set
|
||||
@@ -803,13 +804,13 @@ CONFIG_BT_NIMBLE_SVC_GAP_CENT_ADDR_RESOLUTION=-1
|
||||
# end of GAP device name write permissions
|
||||
|
||||
#
|
||||
# PPCP settings
|
||||
# Peripheral Preferred Connection Parameters (PPCP) settings
|
||||
#
|
||||
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_SLAVE_LATENCY=0
|
||||
CONFIG_BT_NIMBLE_SVC_GAP_PPCP_SUPERVISION_TMO=0
|
||||
# end of PPCP settings
|
||||
# end of Peripheral Preferred Connection Parameters (PPCP) settings
|
||||
|
||||
CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM=0
|
||||
CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_ENC=0
|
||||
@@ -826,6 +827,7 @@ CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_AUTHOR=0
|
||||
# CONFIG_BT_NIMBLE_HOST_ALLOW_CONNECT_WITH_SCAN is not set
|
||||
# CONFIG_BT_NIMBLE_HOST_QUEUE_CONG_CHECK is not set
|
||||
# CONFIG_BT_NIMBLE_GATTC_PROC_PREEMPTION_PROTECT is not set
|
||||
# CONFIG_BT_NIMBLE_GATTC_AUTO_PAIR is not set
|
||||
|
||||
#
|
||||
# Host-controller Transport
|
||||
@@ -863,6 +865,7 @@ CONFIG_BT_LE_CONTROLLER_TASK_STACK_SIZE=4096
|
||||
# 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
|
||||
# CONFIG_BT_LE_MEM_CHECK_ENABLED is not set
|
||||
# end of Controller debug features
|
||||
|
||||
CONFIG_BT_LE_LL_RESOLV_LIST_SIZE=4
|
||||
@@ -919,6 +922,15 @@ CONFIG_BT_CTRL_SCAN_BACKOFF_UPPERLIMITMAX=32
|
||||
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
|
||||
|
||||
#
|
||||
# Reserved Memory Config
|
||||
#
|
||||
CONFIG_BT_LE_EXT_ADV_RESERVED_MEMORY_COUNT=2
|
||||
CONFIG_BT_LE_CONN_RESERVED_MEMORY_COUNT=2
|
||||
# end of Reserved Memory Config
|
||||
|
||||
# CONFIG_BT_LE_DTM_ENABLED is not set
|
||||
# end of Controller Options
|
||||
|
||||
#
|
||||
@@ -926,6 +938,7 @@ CONFIG_BT_LE_CTRL_FAST_CONN_DATA_TX_EN=y
|
||||
#
|
||||
CONFIG_BT_ALARM_MAX_NUM=50
|
||||
# CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED is not set
|
||||
# CONFIG_BT_BLE_LOG_UHCI_OUT_ENABLED is not set
|
||||
# end of Common Options
|
||||
|
||||
# CONFIG_BT_HCI_LOG_DEBUG_EN is not set
|
||||
@@ -1038,6 +1051,7 @@ CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y
|
||||
# CONFIG_ESP_TLS_SERVER_MIN_AUTH_MODE_OPTIONAL is not set
|
||||
# CONFIG_ESP_TLS_PSK_VERIFICATION is not set
|
||||
# CONFIG_ESP_TLS_INSECURE is not set
|
||||
CONFIG_ESP_TLS_DYN_BUF_STRATEGY_SUPPORTED=y
|
||||
# end of ESP-TLS
|
||||
|
||||
#
|
||||
@@ -1450,9 +1464,11 @@ CONFIG_ESP_PHY_RF_CAL_PARTIAL=y
|
||||
# CONFIG_ESP_PHY_RF_CAL_NONE is not set
|
||||
# CONFIG_ESP_PHY_RF_CAL_FULL is not set
|
||||
CONFIG_ESP_PHY_CALIBRATION_MODE=0
|
||||
CONFIG_ESP_PHY_PLL_TRACK_PERIOD_MS=1000
|
||||
# CONFIG_ESP_PHY_PLL_TRACK_DEBUG is not set
|
||||
# CONFIG_ESP_PHY_RECORD_USED_TIME is not set
|
||||
CONFIG_ESP_PHY_IRAM_OPT=y
|
||||
# CONFIG_ESP_PHY_DEBUG is not set
|
||||
# end of PHY
|
||||
|
||||
#
|
||||
@@ -1513,6 +1529,7 @@ CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL=1
|
||||
# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_64 is not set
|
||||
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_96=y
|
||||
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=96
|
||||
CONFIG_ESP_SYSTEM_IN_IRAM=y
|
||||
# CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set
|
||||
CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y
|
||||
# CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set
|
||||
@@ -1693,7 +1710,6 @@ CONFIG_FREERTOS_IDLE_TIME_BEFORE_SLEEP=3
|
||||
#
|
||||
# Port
|
||||
#
|
||||
CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y
|
||||
# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set
|
||||
CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y
|
||||
# CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK is not set
|
||||
@@ -1867,7 +1883,7 @@ CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y
|
||||
# CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set
|
||||
CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y
|
||||
# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set
|
||||
CONFIG_LWIP_DHCP_OPTIONS_LEN=68
|
||||
CONFIG_LWIP_DHCP_OPTIONS_LEN=69
|
||||
CONFIG_LWIP_NUM_NETIF_CLIENT_DATA=0
|
||||
CONFIG_LWIP_DHCP_COARSE_TIMER_SECS=1
|
||||
|
||||
@@ -2032,6 +2048,7 @@ CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096
|
||||
# CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set
|
||||
# CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set
|
||||
CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=y
|
||||
# CONFIG_MBEDTLS_SSL_KEYING_MATERIAL_EXPORT is not set
|
||||
CONFIG_MBEDTLS_PKCS7_C=y
|
||||
# end of mbedTLS v3.x related
|
||||
|
||||
@@ -2286,7 +2303,8 @@ CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192
|
||||
#
|
||||
# Auto-detect flash chips
|
||||
#
|
||||
CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORTED=y
|
||||
CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORT_ENABLED=y
|
||||
CONFIG_SPI_FLASH_VENDOR_GD_SUPPORT_ENABLED=y
|
||||
# CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP is not set
|
||||
# CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP is not set
|
||||
# CONFIG_SPI_FLASH_SUPPORT_GD_CHIP is not set
|
||||
@@ -2412,9 +2430,9 @@ CONFIG_LOG_BOOTLOADER_LEVEL=3
|
||||
CONFIG_FLASHMODE_DIO=y
|
||||
# CONFIG_FLASHMODE_DOUT is not set
|
||||
CONFIG_MONITOR_BAUD=115200
|
||||
CONFIG_OPTIMIZATION_LEVEL_DEBUG=y
|
||||
CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG=y
|
||||
CONFIG_COMPILER_OPTIMIZATION_DEFAULT=y
|
||||
# CONFIG_OPTIMIZATION_LEVEL_DEBUG is not set
|
||||
# CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG is not set
|
||||
# CONFIG_COMPILER_OPTIMIZATION_DEFAULT is not set
|
||||
# CONFIG_OPTIMIZATION_LEVEL_RELEASE is not set
|
||||
# CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE is not set
|
||||
CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
#
|
||||
# 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.1 Project Configuration
|
||||
#
|
||||
CONFIG_SOC_CAPS_ECO_VER_MAX=102
|
||||
CONFIG_SOC_ADC_SUPPORTED=y
|
||||
CONFIG_SOC_ANA_CMPR_SUPPORTED=y
|
||||
CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y
|
||||
CONFIG_SOC_UART_SUPPORTED=y
|
||||
CONFIG_SOC_UHCI_SUPPORTED=y
|
||||
CONFIG_SOC_GDMA_SUPPORTED=y
|
||||
CONFIG_SOC_AHB_GDMA_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_SECURE_BOOT_SUPPORTED=y
|
||||
CONFIG_SOC_BOD_SUPPORTED=y
|
||||
CONFIG_SOC_VBAT_SUPPORTED=y
|
||||
CONFIG_SOC_APM_SUPPORTED=y
|
||||
CONFIG_SOC_PMU_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_PM_SUPPORTED=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_GDMA=y
|
||||
CONFIG_SOC_AES_SUPPORT_AES_128=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_IIR_FILTER_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_PDM=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_RX_LINES=1
|
||||
CONFIG_SOC_I2S_SUPPORTS_TDM=y
|
||||
CONFIG_SOC_I2S_TDM_FULL_DATA_WIDTH=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_THRES_POINT_PER_UNIT=2
|
||||
CONFIG_SOC_PCNT_SUPPORT_RUNTIME_THRES_UPDATE=y
|
||||
CONFIG_SOC_PCNT_SUPPORT_STEP_NOTIFY=y
|
||||
CONFIG_SOC_PCNT_SUPPORT_SLEEP_RETENTION=y
|
||||
CONFIG_SOC_RMT_GROUPS=1
|
||||
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_OUTPUT=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_SPI_LCD=y
|
||||
CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4
|
||||
CONFIG_SOC_MPI_OPERATIONS_NUM=3
|
||||
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_32M_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_ALARM_NUM=3
|
||||
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_SLEEP_RETENTION=y
|
||||
CONFIG_SOC_TWAI_CONTROLLER_NUM=1
|
||||
CONFIG_SOC_TWAI_MASK_FILTER_NUM=1
|
||||
CONFIG_SOC_TWAI_CLK_SUPPORT_XTAL=y
|
||||
CONFIG_SOC_TWAI_BRP_MIN=2
|
||||
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_ENCRYPTION_XTS_AES=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_CRYPTO_DPA_PROTECTION_SUPPORTED=y
|
||||
CONFIG_SOC_ECC_CONSTANT_TIME_POINT_MUL=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_HP_NUM=2
|
||||
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_FSM_TX_WAIT_SEND=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_EXTERNAL_COEX_ADVANCE=y
|
||||
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_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY=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_XTAL32K_SUPPORTED=y
|
||||
CONFIG_SOC_CLK_OSC_SLOW_SUPPORTED=y
|
||||
CONFIG_SOC_CLK_RC32K_SUPPORTED=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_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_XTAL=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_MULTI_CONN_OPTIMIZATION=y
|
||||
CONFIG_SOC_BLE_PERIODIC_ADV_ENH_SUPPORTED=y
|
||||
CONFIG_SOC_BLE_CTE_SUPPORTED=y
|
||||
CONFIG_SOC_DEBUG_HAVE_OCD_STUB_BINS=y
|
||||
CONFIG_IDF_CMAKE=y
|
||||
CONFIG_IDF_TOOLCHAIN="gcc"
|
||||
@@ -405,6 +431,17 @@ CONFIG_BOOTLOADER_COMPILE_TIME_DATE=y
|
||||
CONFIG_BOOTLOADER_PROJECT_VER=1
|
||||
# end of Bootloader manager
|
||||
|
||||
#
|
||||
# Application Rollback
|
||||
#
|
||||
# CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set
|
||||
# end of Application Rollback
|
||||
|
||||
#
|
||||
# Recovery Bootloader and Rollback
|
||||
#
|
||||
# end of Recovery Bootloader and Rollback
|
||||
|
||||
CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x0
|
||||
CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y
|
||||
# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set
|
||||
@@ -413,6 +450,8 @@ CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y
|
||||
#
|
||||
# Log
|
||||
#
|
||||
CONFIG_BOOTLOADER_LOG_VERSION_1=y
|
||||
CONFIG_BOOTLOADER_LOG_VERSION=1
|
||||
# CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set
|
||||
# CONFIG_BOOTLOADER_LOG_LEVEL_ERROR 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_TIMESTAMP_SOURCE_CPU_TICKS=y
|
||||
# end of Format
|
||||
|
||||
#
|
||||
# Settings
|
||||
#
|
||||
CONFIG_BOOTLOADER_LOG_MODE_TEXT_EN=y
|
||||
CONFIG_BOOTLOADER_LOG_MODE_TEXT=y
|
||||
# end of Settings
|
||||
# end of Log
|
||||
|
||||
#
|
||||
@@ -442,7 +488,6 @@ CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE=y
|
||||
CONFIG_BOOTLOADER_WDT_ENABLE=y
|
||||
# CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set
|
||||
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_ON_POWER_ON is not set
|
||||
# CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set
|
||||
@@ -480,11 +525,13 @@ CONFIG_ESP_ROM_HAS_RETARGETABLE_LOCKING=y
|
||||
CONFIG_ESP_ROM_GET_CLK_FREQ=y
|
||||
CONFIG_ESP_ROM_HAS_HAL_WDT=y
|
||||
CONFIG_ESP_ROM_HAS_HAL_SYSTIMER=y
|
||||
CONFIG_ESP_ROM_SYSTIMER_INIT_PATCH=y
|
||||
CONFIG_ESP_ROM_HAS_HEAP_TLSF=y
|
||||
CONFIG_ESP_ROM_TLSF_CHECK_PATCH=y
|
||||
CONFIG_ESP_ROM_MULTI_HEAP_WALK_PATCH=y
|
||||
CONFIG_ESP_ROM_HAS_LAYOUT_TABLE=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_HAS_NEWLIB=y
|
||||
CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y
|
||||
@@ -497,6 +544,8 @@ CONFIG_ESP_ROM_USB_OTG_NUM=-1
|
||||
CONFIG_ESP_ROM_HAS_VERSION=y
|
||||
CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB=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
|
||||
@@ -507,6 +556,13 @@ CONFIG_BOOT_ROM_LOG_ALWAYS_ON=y
|
||||
# CONFIG_BOOT_ROM_LOG_ON_GPIO_LOW is not set
|
||||
# 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
|
||||
#
|
||||
@@ -557,9 +613,9 @@ CONFIG_PARTITION_TABLE_MD5=y
|
||||
#
|
||||
# Compiler options
|
||||
#
|
||||
# CONFIG_COMPILER_OPTIMIZATION_DEBUG is not set
|
||||
CONFIG_COMPILER_OPTIMIZATION_DEBUG=y
|
||||
# CONFIG_COMPILER_OPTIMIZATION_SIZE is not set
|
||||
CONFIG_COMPILER_OPTIMIZATION_PERF=y
|
||||
# CONFIG_COMPILER_OPTIMIZATION_PERF is not set
|
||||
# CONFIG_COMPILER_OPTIMIZATION_NONE is not set
|
||||
CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y
|
||||
# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set
|
||||
@@ -637,6 +693,8 @@ CONFIG_BT_NIMBLE_ROLE_CENTRAL=y
|
||||
CONFIG_BT_NIMBLE_ROLE_PERIPHERAL=y
|
||||
CONFIG_BT_NIMBLE_ROLE_BROADCASTER=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_SMP_ID_RESET is not set
|
||||
CONFIG_BT_NIMBLE_SECURITY_ENABLE=y
|
||||
@@ -645,11 +703,14 @@ CONFIG_BT_NIMBLE_SM_SC=y
|
||||
# CONFIG_BT_NIMBLE_SM_SC_DEBUG_KEYS is not set
|
||||
CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_ENCRYPTION=y
|
||||
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_DYNAMIC_SERVICE is not set
|
||||
CONFIG_BT_NIMBLE_SVC_GAP_DEVICE_NAME="nimble"
|
||||
CONFIG_BT_NIMBLE_GAP_DEVICE_NAME_MAX_LEN=31
|
||||
CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU=256
|
||||
CONFIG_BT_NIMBLE_ATT_MAX_PREP_ENTRIES=64
|
||||
CONFIG_BT_NIMBLE_SVC_GAP_APPEARANCE=0
|
||||
|
||||
#
|
||||
@@ -669,13 +730,13 @@ CONFIG_BT_NIMBLE_L2CAP_COC_SDU_BUFF_COUNT=1
|
||||
# end of Memory Settings
|
||||
|
||||
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_MESH is not set
|
||||
CONFIG_BT_NIMBLE_CRYPTO_STACK_MBEDTLS=y
|
||||
CONFIG_BT_NIMBLE_HS_STOP_TIMEOUT_MS=2000
|
||||
CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=y
|
||||
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_LL_CFG_FEAT_LE_2M_PHY=y
|
||||
CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_CODED_PHY=y
|
||||
@@ -685,7 +746,9 @@ CONFIG_BT_NIMBLE_ENABLE_PERIODIC_SYNC=y
|
||||
CONFIG_BT_NIMBLE_MAX_PERIODIC_SYNCS=0
|
||||
CONFIG_BT_NIMBLE_MAX_PERIODIC_ADVERTISER_LIST=5
|
||||
# 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_INCL_SVC_DISCOVERY is not set
|
||||
CONFIG_BT_NIMBLE_WHITELIST_SIZE=12
|
||||
# CONFIG_BT_NIMBLE_TEST_THROUGHPUT_TEST is not set
|
||||
# CONFIG_BT_NIMBLE_BLUFI_ENABLE is not set
|
||||
@@ -693,19 +756,42 @@ CONFIG_BT_NIMBLE_USE_ESP_TIMER=y
|
||||
# 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
|
||||
#
|
||||
# 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_ENC=0
|
||||
CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ATHN=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_NOT_SUPP is not set
|
||||
# CONFIG_BT_NIMBLE_SVC_GAP_CAR_SUPP is not set
|
||||
@@ -717,27 +803,31 @@ CONFIG_BT_NIMBLE_SVC_GAP_CENT_ADDR_RESOLUTION=-1
|
||||
# CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE is not set
|
||||
# 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
|
||||
CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_AUTHEN=0
|
||||
CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_AUTHOR=0
|
||||
#
|
||||
# Peripheral Preferred Connection Parameters (PPCP) settings
|
||||
#
|
||||
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_SLAVE_LATENCY=0
|
||||
CONFIG_BT_NIMBLE_SVC_GAP_PPCP_SUPERVISION_TMO=0
|
||||
# end of GAP Service
|
||||
# end of Peripheral Preferred Connection Parameters (PPCP) settings
|
||||
|
||||
#
|
||||
# BLE Services
|
||||
#
|
||||
# CONFIG_BT_NIMBLE_HID_SERVICE is not set
|
||||
CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM=0
|
||||
CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_ENC=0
|
||||
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_GATT_SECURITY_LEVEL is not set
|
||||
# CONFIG_BT_NIMBLE_SVC_GAP_RPA_ONLY is not set
|
||||
# end of BLE Services
|
||||
|
||||
# CONFIG_BT_NIMBLE_VS_SUPPORT is not set
|
||||
# CONFIG_BT_NIMBLE_OPTIMIZE_MULTI_CONN 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_HOST_ALLOW_CONNECT_WITH_SCAN is not set
|
||||
# CONFIG_BT_NIMBLE_HOST_QUEUE_CONG_CHECK is not set
|
||||
# CONFIG_BT_NIMBLE_GATTC_PROC_PREEMPTION_PROTECT is not set
|
||||
# CONFIG_BT_NIMBLE_GATTC_AUTO_PAIR is not set
|
||||
|
||||
#
|
||||
# Host-controller Transport
|
||||
@@ -748,6 +838,9 @@ CONFIG_BT_NIMBLE_HCI_UART_FLOW_CTRL=0
|
||||
CONFIG_BT_NIMBLE_HCI_UART_RTS_PIN=19
|
||||
CONFIG_BT_NIMBLE_HCI_UART_CTS_PIN=23
|
||||
# end of Host-controller Transport
|
||||
|
||||
CONFIG_BT_NIMBLE_EATT_CHAN_NUM=0
|
||||
# CONFIG_BT_NIMBLE_SUBRATE is not set
|
||||
# end of NimBLE Options
|
||||
|
||||
#
|
||||
@@ -763,10 +856,22 @@ CONFIG_BT_LE_HCI_INTERFACE_USE_RAM=y
|
||||
|
||||
CONFIG_BT_LE_CONTROLLER_NPL_OS_PORTING_SUPPORT=y
|
||||
CONFIG_BT_LE_CONTROLLER_TASK_STACK_SIZE=4096
|
||||
|
||||
#
|
||||
# Controller debug features
|
||||
#
|
||||
# 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
|
||||
# CONFIG_BT_LE_MEM_CHECK_ENABLED is not set
|
||||
# end of Controller debug features
|
||||
|
||||
CONFIG_BT_LE_LL_RESOLV_LIST_SIZE=4
|
||||
CONFIG_BT_LE_LL_DUP_SCAN_LIST_COUNT=20
|
||||
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_DIS=y
|
||||
CONFIG_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EFF=0
|
||||
@@ -802,12 +907,38 @@ 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_DBM_EFF=9
|
||||
# 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
|
||||
|
||||
#
|
||||
# Reserved Memory Config
|
||||
#
|
||||
CONFIG_BT_LE_EXT_ADV_RESERVED_MEMORY_COUNT=2
|
||||
CONFIG_BT_LE_CONN_RESERVED_MEMORY_COUNT=2
|
||||
# end of Reserved Memory Config
|
||||
|
||||
# CONFIG_BT_LE_DTM_ENABLED is not set
|
||||
# end of Controller Options
|
||||
|
||||
#
|
||||
# Common Options
|
||||
#
|
||||
CONFIG_BT_ALARM_MAX_NUM=50
|
||||
# CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED is not set
|
||||
# CONFIG_BT_BLE_LOG_UHCI_OUT_ENABLED is not set
|
||||
# end of Common Options
|
||||
|
||||
# CONFIG_BT_HCI_LOG_DEBUG_EN is not set
|
||||
@@ -826,15 +957,16 @@ CONFIG_BT_ALARM_MAX_NUM=50
|
||||
#
|
||||
|
||||
#
|
||||
# TWAI Configuration
|
||||
# Legacy TWAI Driver Configurations
|
||||
#
|
||||
# CONFIG_TWAI_ISR_IN_IRAM is not set
|
||||
# end of TWAI Configuration
|
||||
# CONFIG_TWAI_SKIP_LEGACY_CONFLICT_CHECK is not set
|
||||
# end of Legacy TWAI Driver Configurations
|
||||
|
||||
#
|
||||
# Legacy ADC Driver Configuration
|
||||
#
|
||||
# CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set
|
||||
# CONFIG_ADC_SKIP_LEGACY_CONFLICT_CHECK is not set
|
||||
|
||||
#
|
||||
# Legacy ADC Calibration Configuration
|
||||
@@ -847,42 +979,55 @@ CONFIG_BT_ALARM_MAX_NUM=50
|
||||
# Legacy MCPWM Driver Configurations
|
||||
#
|
||||
# CONFIG_MCPWM_SUPPRESS_DEPRECATE_WARN is not set
|
||||
# CONFIG_MCPWM_SKIP_LEGACY_CONFLICT_CHECK is not set
|
||||
# end of Legacy MCPWM Driver Configurations
|
||||
|
||||
#
|
||||
# Legacy Timer Group Driver Configurations
|
||||
#
|
||||
# CONFIG_GPTIMER_SUPPRESS_DEPRECATE_WARN is not set
|
||||
# CONFIG_GPTIMER_SKIP_LEGACY_CONFLICT_CHECK is not set
|
||||
# end of Legacy Timer Group Driver Configurations
|
||||
|
||||
#
|
||||
# Legacy RMT Driver Configurations
|
||||
#
|
||||
# CONFIG_RMT_SUPPRESS_DEPRECATE_WARN is not set
|
||||
# CONFIG_RMT_SKIP_LEGACY_CONFLICT_CHECK is not set
|
||||
# end of Legacy RMT Driver Configurations
|
||||
|
||||
#
|
||||
# Legacy I2S Driver Configurations
|
||||
#
|
||||
# CONFIG_I2S_SUPPRESS_DEPRECATE_WARN is not set
|
||||
# CONFIG_I2S_SKIP_LEGACY_CONFLICT_CHECK is not set
|
||||
# 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
|
||||
#
|
||||
# CONFIG_PCNT_SUPPRESS_DEPRECATE_WARN is not set
|
||||
# CONFIG_PCNT_SKIP_LEGACY_CONFLICT_CHECK is not set
|
||||
# end of Legacy PCNT Driver Configurations
|
||||
|
||||
#
|
||||
# Legacy SDM Driver Configurations
|
||||
#
|
||||
# CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set
|
||||
# CONFIG_SDM_SKIP_LEGACY_CONFLICT_CHECK is not set
|
||||
# end of Legacy SDM Driver Configurations
|
||||
|
||||
#
|
||||
# Legacy Temperature Sensor Driver Configurations
|
||||
#
|
||||
# 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 Driver Configurations
|
||||
|
||||
@@ -898,6 +1043,7 @@ CONFIG_EFUSE_MAX_BLK_LEN=256
|
||||
# ESP-TLS
|
||||
#
|
||||
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_CLIENT_SESSION_TICKETS is not set
|
||||
# CONFIG_ESP_TLS_SERVER_SESSION_TICKETS is not set
|
||||
@@ -905,6 +1051,7 @@ CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y
|
||||
# CONFIG_ESP_TLS_SERVER_MIN_AUTH_MODE_OPTIONAL is not set
|
||||
# CONFIG_ESP_TLS_PSK_VERIFICATION is not set
|
||||
# CONFIG_ESP_TLS_INSECURE is not set
|
||||
CONFIG_ESP_TLS_DYN_BUF_STRATEGY_SUPPORTED=y
|
||||
# end of ESP-TLS
|
||||
|
||||
#
|
||||
@@ -932,8 +1079,10 @@ CONFIG_ESP_ERR_TO_NAME_LOOKUP=y
|
||||
#
|
||||
# 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_ISR_CACHE_SAFE is not set
|
||||
CONFIG_ANA_CMPR_OBJ_CACHE_SAFE=y
|
||||
# CONFIG_ANA_CMPR_ENABLE_DEBUG_LOG is not set
|
||||
# end of ESP-Driver:Analog Comparator Configurations
|
||||
|
||||
@@ -948,7 +1097,8 @@ CONFIG_ESP_ERR_TO_NAME_LOOKUP=y
|
||||
#
|
||||
CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y
|
||||
# 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
|
||||
# end of ESP-Driver:GPTimer Configurations
|
||||
|
||||
@@ -958,6 +1108,7 @@ CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y
|
||||
# CONFIG_I2C_ISR_IRAM_SAFE is not set
|
||||
# CONFIG_I2C_ENABLE_DEBUG_LOG 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
|
||||
|
||||
#
|
||||
@@ -976,14 +1127,21 @@ CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y
|
||||
#
|
||||
# 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_OBJ_CACHE_SAFE=y
|
||||
# CONFIG_MCPWM_ENABLE_DEBUG_LOG is not set
|
||||
# end of ESP-Driver:MCPWM 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_ISR_IRAM_SAFE is not set
|
||||
# end of ESP-Driver:Parallel IO Configurations
|
||||
@@ -999,9 +1157,15 @@ CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y
|
||||
#
|
||||
# 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_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_ISR_IRAM_SAFE is not set
|
||||
# end of ESP-Driver:RMT Configurations
|
||||
|
||||
#
|
||||
@@ -1027,12 +1191,28 @@ CONFIG_SPI_SLAVE_ISR_IN_IRAM=y
|
||||
# CONFIG_TEMP_SENSOR_ISR_IRAM_SAFE is not set
|
||||
# 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
|
||||
#
|
||||
# CONFIG_UART_ISR_IN_IRAM is not set
|
||||
# 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
|
||||
#
|
||||
@@ -1069,6 +1249,13 @@ CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=y
|
||||
CONFIG_ESP_GDBSTUB_MAX_TASKS=32
|
||||
# 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
|
||||
#
|
||||
@@ -1105,6 +1292,7 @@ CONFIG_ESP_HTTPS_OTA_EVENT_POST_TIMEOUT=2000
|
||||
#
|
||||
# CONFIG_ESP_HTTPS_SERVER_ENABLE is not set
|
||||
CONFIG_ESP_HTTPS_SERVER_EVENT_POST_TIMEOUT=2000
|
||||
# CONFIG_ESP_HTTPS_SERVER_CERT_SELECT_HOOK is not set
|
||||
# end of ESP HTTPS server
|
||||
|
||||
#
|
||||
@@ -1117,15 +1305,15 @@ CONFIG_ESP_HTTPS_SERVER_EVENT_POST_TIMEOUT=2000
|
||||
CONFIG_ESP32H2_REV_MIN_0=y
|
||||
# CONFIG_ESP32H2_REV_MIN_1 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_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_ESP_REV_MAX_FULL=99
|
||||
# CONFIG_ESP32H2_REV100_DEVELOPMENT is not set
|
||||
CONFIG_ESP32H2_REV_MAX_FULL=199
|
||||
CONFIG_ESP_REV_MAX_FULL=199
|
||||
CONFIG_ESP_EFUSE_BLOCK_REV_MIN_FULL=0
|
||||
CONFIG_ESP_EFUSE_BLOCK_REV_MAX_FULL=99
|
||||
|
||||
@@ -1150,6 +1338,8 @@ CONFIG_ESP32H2_UNIVERSAL_MAC_ADDRESSES=2
|
||||
# Sleep Config
|
||||
#
|
||||
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_WAIT_FLASH_READY_EXTRA_DELAY=0
|
||||
# CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION is not set
|
||||
@@ -1170,7 +1360,8 @@ CONFIG_RTC_CLK_CAL_CYCLES=1024
|
||||
#
|
||||
# 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
|
||||
|
||||
#
|
||||
@@ -1183,8 +1374,10 @@ CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y
|
||||
# GDMA Configurations
|
||||
#
|
||||
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_ISR_IRAM_SAFE is not set
|
||||
# end of GDMA Configurations
|
||||
|
||||
#
|
||||
@@ -1194,8 +1387,37 @@ CONFIG_XTAL_FREQ_32=y
|
||||
CONFIG_XTAL_FREQ=32
|
||||
# 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_FUNCS_IN_IRAM=y
|
||||
CONFIG_ESP_INTR_IN_IRAM=y
|
||||
# end of Hardware Settings
|
||||
|
||||
#
|
||||
@@ -1242,13 +1464,17 @@ CONFIG_ESP_PHY_RF_CAL_PARTIAL=y
|
||||
# CONFIG_ESP_PHY_RF_CAL_NONE is not set
|
||||
# CONFIG_ESP_PHY_RF_CAL_FULL is not set
|
||||
CONFIG_ESP_PHY_CALIBRATION_MODE=0
|
||||
CONFIG_ESP_PHY_PLL_TRACK_PERIOD_MS=1000
|
||||
# CONFIG_ESP_PHY_PLL_TRACK_DEBUG is not set
|
||||
# CONFIG_ESP_PHY_RECORD_USED_TIME is not set
|
||||
CONFIG_ESP_PHY_IRAM_OPT=y
|
||||
# CONFIG_ESP_PHY_DEBUG is not set
|
||||
# end of PHY
|
||||
|
||||
#
|
||||
# Power Management
|
||||
#
|
||||
CONFIG_PM_SLEEP_FUNC_IN_IRAM=y
|
||||
CONFIG_PM_ENABLE=y
|
||||
CONFIG_PM_DFS_INIT_AUTO=y
|
||||
# CONFIG_PM_PROFILING is not set
|
||||
@@ -1272,6 +1498,12 @@ CONFIG_PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP=y
|
||||
# CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH is not set
|
||||
# end of ESP Ringbuf
|
||||
|
||||
#
|
||||
# ESP-ROM
|
||||
#
|
||||
CONFIG_ESP_ROM_PRINT_IN_IRAM=y
|
||||
# end of ESP-ROM
|
||||
|
||||
#
|
||||
# ESP Security Specific
|
||||
#
|
||||
@@ -1285,6 +1517,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=1
|
||||
# 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
|
||||
|
||||
#
|
||||
@@ -1294,6 +1529,7 @@ CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL=1
|
||||
# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_64 is not set
|
||||
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_96=y
|
||||
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=96
|
||||
CONFIG_ESP_SYSTEM_IN_IRAM=y
|
||||
# CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set
|
||||
CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y
|
||||
# CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set
|
||||
@@ -1304,7 +1540,9 @@ CONFIG_ESP_SYSTEM_RTC_EXT_XTAL=y
|
||||
CONFIG_ESP_SYSTEM_RTC_EXT_XTAL_BOOTSTRAP_CYCLES=0
|
||||
CONFIG_ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK=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_FRAME_POINTER is not set
|
||||
|
||||
#
|
||||
# Memory protection
|
||||
@@ -1342,23 +1580,6 @@ CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y
|
||||
# CONFIG_ESP_DEBUG_INCLUDE_OCD_STUB_BINS is not set
|
||||
CONFIG_ESP_DEBUG_OCDAWARE=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_BBPLL_RECALIB=y
|
||||
CONFIG_ESP_SYSTEM_HW_PC_RECORD=y
|
||||
@@ -1373,6 +1594,7 @@ CONFIG_ESP_IPC_TASK_STACK_SIZE=1024
|
||||
#
|
||||
# ESP Timer (High Resolution Timer)
|
||||
#
|
||||
CONFIG_ESP_TIMER_IN_IRAM=y
|
||||
# CONFIG_ESP_TIMER_PROFILING is not set
|
||||
CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y
|
||||
CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER=y
|
||||
@@ -1437,6 +1659,14 @@ CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0
|
||||
# CONFIG_FATFS_IMMEDIATE_FSYNC is not set
|
||||
# CONFIG_FATFS_USE_LABEL is not set
|
||||
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
|
||||
|
||||
#
|
||||
@@ -1480,6 +1710,7 @@ CONFIG_FREERTOS_IDLE_TIME_BEFORE_SLEEP=3
|
||||
#
|
||||
# Port
|
||||
#
|
||||
CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y
|
||||
# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set
|
||||
CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y
|
||||
# CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK is not set
|
||||
@@ -1507,6 +1738,7 @@ CONFIG_FREERTOS_DEBUG_OCDAWARE=y
|
||||
CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y
|
||||
CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH=y
|
||||
CONFIG_FREERTOS_NUMBER_OF_CORES=1
|
||||
CONFIG_FREERTOS_IN_IRAM=y
|
||||
# end of FreeRTOS
|
||||
|
||||
#
|
||||
@@ -1519,8 +1751,6 @@ CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y
|
||||
CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2
|
||||
CONFIG_HAL_SYSTIMER_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
|
||||
# end of Hardware Abstraction Layer (HAL) and Low Level (LL)
|
||||
|
||||
@@ -1537,6 +1767,7 @@ CONFIG_HEAP_TRACING_OFF=y
|
||||
# CONFIG_HEAP_TASK_TRACKING is not set
|
||||
# CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set
|
||||
CONFIG_HEAP_TLSF_USE_ROM_IMPL=y
|
||||
# CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH is not set
|
||||
# end of Heap memory debugging
|
||||
|
||||
#
|
||||
@@ -1555,11 +1786,15 @@ CONFIG_IEEE802154_PENDING_TABLE_SIZE=20
|
||||
# CONFIG_IEEE802154_TIMING_OPTIMIZATION is not set
|
||||
# CONFIG_IEEE802154_SLEEP_ENABLE is not set
|
||||
# CONFIG_IEEE802154_DEBUG is not set
|
||||
# CONFIG_IEEE802154_DEBUG_ASSERT_MONITOR is not set
|
||||
# end of IEEE 802.15.4
|
||||
|
||||
#
|
||||
# Log
|
||||
#
|
||||
CONFIG_LOG_VERSION_1=y
|
||||
# CONFIG_LOG_VERSION_2 is not set
|
||||
CONFIG_LOG_VERSION=1
|
||||
|
||||
#
|
||||
# Log Level
|
||||
@@ -1597,6 +1832,15 @@ CONFIG_LOG_TAG_LEVEL_IMPL_CACHE_SIZE=31
|
||||
CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y
|
||||
# CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set
|
||||
# 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
|
||||
|
||||
#
|
||||
@@ -1604,7 +1848,6 @@ CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y
|
||||
#
|
||||
CONFIG_LWIP_ENABLE=y
|
||||
CONFIG_LWIP_LOCAL_HOSTNAME="espressif"
|
||||
# CONFIG_LWIP_NETIF_API is not set
|
||||
CONFIG_LWIP_TCPIP_TASK_PRIO=18
|
||||
# CONFIG_LWIP_TCPIP_CORE_LOCKING is not set
|
||||
# CONFIG_LWIP_CHECK_THREAD_SAFETY is not set
|
||||
@@ -1641,7 +1884,7 @@ CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y
|
||||
# CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set
|
||||
CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y
|
||||
# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set
|
||||
CONFIG_LWIP_DHCP_OPTIONS_LEN=68
|
||||
CONFIG_LWIP_DHCP_OPTIONS_LEN=69
|
||||
CONFIG_LWIP_NUM_NETIF_CLIENT_DATA=0
|
||||
CONFIG_LWIP_DHCP_COARSE_TIMER_SECS=1
|
||||
|
||||
@@ -1749,6 +1992,7 @@ CONFIG_LWIP_DNS_MAX_HOST_IP=1
|
||||
CONFIG_LWIP_DNS_MAX_SERVERS=3
|
||||
# CONFIG_LWIP_FALLBACK_DNS_SERVER_SUPPORT is not set
|
||||
# CONFIG_LWIP_DNS_SETSERVER_WITH_NETIF is not set
|
||||
# CONFIG_LWIP_USE_ESP_GETADDRINFO is not set
|
||||
# end of DNS
|
||||
|
||||
CONFIG_LWIP_BRIDGEIF_MAX_PORTS=7
|
||||
@@ -1769,6 +2013,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_DEFAULT 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_DEFAULT is not set
|
||||
# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM is not set
|
||||
@@ -1802,6 +2049,7 @@ CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096
|
||||
# CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set
|
||||
# CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set
|
||||
CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=y
|
||||
# CONFIG_MBEDTLS_SSL_KEYING_MATERIAL_EXPORT is not set
|
||||
CONFIG_MBEDTLS_PKCS7_C=y
|
||||
# end of mbedTLS v3.x related
|
||||
|
||||
@@ -1822,6 +2070,7 @@ CONFIG_MBEDTLS_CMAC_C=y
|
||||
CONFIG_MBEDTLS_HARDWARE_AES=y
|
||||
CONFIG_MBEDTLS_AES_USE_INTERRUPT=y
|
||||
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_HARDWARE_MPI=y
|
||||
CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI=y
|
||||
@@ -1839,6 +2088,7 @@ CONFIG_MBEDTLS_HAVE_TIME=y
|
||||
# CONFIG_MBEDTLS_PLATFORM_TIME_ALT is not set
|
||||
# CONFIG_MBEDTLS_HAVE_TIME_DATE is not set
|
||||
CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y
|
||||
CONFIG_MBEDTLS_SHA1_C=y
|
||||
CONFIG_MBEDTLS_SHA512_C=y
|
||||
# CONFIG_MBEDTLS_SHA3_C is not set
|
||||
CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y
|
||||
@@ -1920,6 +2170,7 @@ CONFIG_MBEDTLS_ECP_NIST_OPTIM=y
|
||||
# CONFIG_MBEDTLS_THREADING_C is not set
|
||||
CONFIG_MBEDTLS_ERROR_STRINGS=y
|
||||
CONFIG_MBEDTLS_FS_IO=y
|
||||
# CONFIG_MBEDTLS_ALLOW_WEAK_CERTIFICATE_VERIFICATION is not set
|
||||
# end of mbedTLS
|
||||
|
||||
#
|
||||
@@ -1939,20 +2190,24 @@ CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y
|
||||
# end of ESP-MQTT Configurations
|
||||
|
||||
#
|
||||
# Newlib
|
||||
# LibC
|
||||
#
|
||||
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
|
||||
# end of Newlib
|
||||
CONFIG_LIBC_NEWLIB=y
|
||||
CONFIG_LIBC_MISC_IN_IRAM=y
|
||||
CONFIG_LIBC_LOCKS_PLACE_IN_IRAM=y
|
||||
CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=y
|
||||
# CONFIG_LIBC_STDOUT_LINE_ENDING_LF is not set
|
||||
# CONFIG_LIBC_STDOUT_LINE_ENDING_CR is not set
|
||||
# CONFIG_LIBC_STDIN_LINE_ENDING_CRLF is not set
|
||||
# CONFIG_LIBC_STDIN_LINE_ENDING_LF is not set
|
||||
CONFIG_LIBC_STDIN_LINE_ENDING_CR=y
|
||||
# CONFIG_LIBC_NEWLIB_NANO_FORMAT is not set
|
||||
CONFIG_LIBC_TIME_SYSCALL_USE_RTC_HRT=y
|
||||
# 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
|
||||
@@ -1980,6 +2235,7 @@ CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y
|
||||
CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0=y
|
||||
CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1=y
|
||||
CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2=y
|
||||
CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_PATCH_VERSION=y
|
||||
# end of Protocomm
|
||||
|
||||
#
|
||||
@@ -2021,6 +2277,8 @@ CONFIG_SPI_FLASH_BROWNOUT_RESET=y
|
||||
# CONFIG_SPI_FLASH_AUTO_SUSPEND is not set
|
||||
CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50
|
||||
# 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 Main Flash configuration
|
||||
|
||||
@@ -2046,7 +2304,8 @@ CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192
|
||||
#
|
||||
# Auto-detect flash chips
|
||||
#
|
||||
CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORTED=y
|
||||
CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORT_ENABLED=y
|
||||
CONFIG_SPI_FLASH_VENDOR_GD_SUPPORT_ENABLED=y
|
||||
# CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP is not set
|
||||
# CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP is not set
|
||||
# CONFIG_SPI_FLASH_SUPPORT_GD_CHIP is not set
|
||||
@@ -2117,6 +2376,7 @@ CONFIG_UNITY_ENABLE_DOUBLE=y
|
||||
CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y
|
||||
# CONFIG_UNITY_ENABLE_FIXTURE 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
|
||||
|
||||
#
|
||||
|
||||
Reference in New Issue
Block a user