[Ovmsdev] OVMS v3.3 hardware
Craig Leres
leres at xse.com
Sun Jan 2 05:55:49 HKT 2022
I've seen my dev modem go into "user interrupt" several times without
accompanying uart fifo overflows. So now I doubt there is any connection
between these two issues.
I've been thinking that a strategy for debugging the "User Interrupt"
issue would be to wait for the modem to get stuck and then send
commands. But I guess ppp is implemented in esp-idf? (Maybe I should
compare with a recent esp-idf to see if there are any interesting
changes?) Still, I wanted to be able to send commands to the modem
without fighting with the modem driver. When I looked I found there was
already a Development modem state but it isn't registered as a command
and I didn't see how it could be enabled. Is this a reasonable thing for
me to create a PR to add it?
@@ -1679,7 +1693,7 @@ CellularModemInit::CellularModemInit()
cmd_status->RegisterCommand("debug","Show extended CELLULAR
MODEM status",cellular_status, "", 0, 0, false);
OvmsCommand* cmd_setstate =
cmd_cellular->RegisterCommand("setstate","CELLULAR MODEM state change
framework");
- for (int x = modem::CheckPowerOff; x<=modem::PowerOffOn; x++)
+ for (int x = modem::CheckPowerOff; x<=modem::Development; x++)
{
cmd_setstate->RegisterCommand(ModemState1Name((modem::modem_state1_t)x),"Force
CELLULAR MODEM state change",modem_setstate);
}
I tried that but then it's very difficult to do anything interactive
with the modem when in Development state due to the many printouts that
get enabled, e.g:
void modem::tx(uint8_t* data, size_t size)
{
if (!m_task) return; // Quick exit if not task (we are stopped)
if (m_state1 == Development)
{ DevelopmentHexDump("tx", (const char*)data, size); }
uart_write_bytes(m_uartnum, (const char*)data, size);
}
(I get flooded with the gnss/nmea messages.) What's a good way to add
the ability to disable these? A new "Development2" state? Maybe tie
these messages to a new "cellular-trace" tag?
Craig
More information about the OvmsDev
mailing list