Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Firmware won't enter DFU bootloader mode if volume dial and +12V barrel jack are connected #27

Open
bschwind opened this issue Jul 19, 2021 · 3 comments

Comments

@bschwind
Copy link
Member

This is a pretty strange issue. I noticed that the firmware will never enter DFU bootloader mode if both the volume dial and +12V barrel jack are connected.

If it's just the volume dial or just the +12V barrel jack, it will enter bootloader mode.

The overhead lighting connectors also don't seem to have any influence on this behavior.

@efyang
Copy link
Contributor

efyang commented Jul 19, 2021

Have you tested this with the volume dial and 12V jack connected, but neither of the overhead lighting connectors connected? This is a wild guess but the datasheet says:
"The bootloader is located in system memory. It is used to reprogram the Flash memory by
using USART1(PA9/10), USART2(PD5/6), USB OTG FS in device mode (PA11/12) through
DFU (device firmware upgrade), I2C1(PB6/7), I2C2(PB10/3), I2C3(PA8/PB4),
SPI1(PA4/5/6/7), SPI2(PB12/13/14/15) or SPI3(PA15, PC10/11/12)."
I think possibly a combination of an encoder high signal + leakage current from the 12V jack through the transistor to the gate (since the gate doesn't have a pulldown resistor) might be making the microcontroller think it should boot into some other mode. Again, total shot in the dark. It might be useful to get some voltages on all the pins when DFU is working and when it isn't as well.

@efyang
Copy link
Contributor

efyang commented Jul 19, 2021

See: this example circuit (courtesy falstad circuit simulator) with pulldown on gate:
image
and without pulldown on gate:
image

@bschwind
Copy link
Member Author

The transistor leakage current theory sounds pretty likely!

The weird thing is, I was able to remotely update one of the panels remotely in our staging environment, so it's at least somewhat functional.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants