The firmware uses a few infinite loops to wait for specific communication from the host. If communication with the host is interrupted, this may leave the microcontroller in an undefined state where it won't respond to the host anymore.
Solution: add a timeout to make the uC reset itself (or recover more elegantly where possible).
The firmware uses a few infinite loops to wait for specific communication from the host. If communication with the host is interrupted, this may leave the microcontroller in an undefined state where it won't respond to the host anymore.
Solution: add a timeout to make the uC reset itself (or recover more elegantly where possible).