meshtastic / firmware

Meshtastic device firmware
https://meshtastic.org
GNU General Public License v3.0
3.3k stars 800 forks source link

Need power on (and factory) self-test - failed LORA radio #138

Closed geeksville closed 3 years ago

geeksville commented 4 years ago

One of my new TBEAMs (node id 0x1c) has an interesting problem:

After any transmit it gets stuck printing this: Can not send yet, busyTx

The root cause (confirmed with logic analyzer is some sort of hardware failure in the radio chip module) - it never asserts DIO0 to the main CPU. So it seems (unsurprisingly) TTGO has some QA problems ;-).

Eventually it would be nice to notice this failure (i.e. any send should complete within a minute certainly), and if it happens declare hardware failure and show a message on the screen. This would prevent user confusion/complaints.

the fix would be to set a new field called "RadioLibInterface.sendStartMsec" and set it the same place we set sendingPacket. If in the timer "Can not send yet" check we see that the current send has lasted more than a minute, declare a critical failure (per error.h). Also, when we declare a critical failure we should set the display wait X seconds and reboot.

android606 commented 3 years ago

I can probably knock this one out, but I don't really have a way to test it since my board works. :-)