• Angus Gratton's avatar
    esp32: Fix Python cstack size for bluetooth irq callbacks. · 6565b3cb
    Angus Gratton authored
    This value should have been adjusted when the new cstack API was adopted in
    e3955f42, as otherwise the stack limit is too small especially on
    ESP32-C3 where the stack limit was 6144 - 2048 - 2048.
    
    Some extra margin is needed for bluetooth irq because invoke_irq_handler()
    isn't a top-level task function, NimBLE calls through multiple layers
    first. Measuring this overhead on IDF V5.2.2 (by putting an abort() in
    invoke_irq_handler() and then measuring the stack size) yielded 672 bytes
    on ESP32-S3 and 612 bytes on ESP32-C3, similar to the size reported in
    cd66aa05.
    
    Sticking with 1024 bytes for added safety margin. This means on Xtensa the
    total margin for the BLE task stays the same (2048 bytes) as before
    switching to cstack.
    
    This work was funded through GitHub Sponsors.
    Signed-off-by: default avatarAngus Gratton <angus@redyak.com.au>
    6565b3cb
mpconfigport.h 12.7 KB