Introduce isInBullshitState() to restart the modem stack quicker when it breaks

This commit is contained in:
2025-05-28 15:44:14 +02:00
parent 5187d3f94e
commit bd6bf6df26
4 changed files with 15 additions and 0 deletions
@@ -202,6 +202,7 @@ bool CMux::on_recovery(CMuxFrame &frame)
frame.ptr = recover_ptr;
state = cmux_state::INIT;
ESP_LOGI("CMUX", "Protocol recovered");
m_isInBullshitState = true;
if (frame.len > 1 && frame.ptr[1] == SOF_MARKER) {
// empty frame
frame.advance();
@@ -394,6 +394,13 @@ bool DTE::recover()
return false;
}
bool DTE::isInBullshitState()
{
if (!cmux_term)
return false;
return cmux_term->isInBullshitState();
}
void DTE::handle_error(terminal_error err)
{
if (err == terminal_error::BUFFER_OVERFLOW ||