phord/Jarvis

The micro controller does not start correctly if wired to the handset

Closed this issue · 4 comments

Hello,

Probably this is not an issue of the software in this repo, I just need help with this. Move to discussions if you think that suits more.

HandSet: JCHT35M
Controller: JCB36N2CA
Microcontroller: ESP8266 mod 12F

When I have all set up everything works correctly, but if I shut down the table, when I turn it on the micro-controller does not boot correctly. The led does not blink at all and the throws an exception throw the serial port. In order to work again I need to unplug both RJ45 wire and plug first the one from the controller, once the board is booted I can plug the handset RJ45.

Any idea why this happens?

phord commented

Sounds like something on the handset connection is interfering with the boot sequence. Or it could be that some bug in my code is reacting badly to the handset's presence on startup. I don't see the same trouble here on my device, though.

The exception sounds troubling. Can you copy-paste it here?

If you hooked anything up to GPIO0 or GPIO2 you might be waking up the bootloader. I don't know why it would raise an exception, but I haven't explored the bootloader protocol at all.

My pin config:

name RJ45 pin micro pin GPIO Arduino number
HS3 1 D1 GPIO5 5
TX 2 D5 GPIO14 14
GND 3 GND
RX 4 D8 GPIO15 15
VCC 5 VCC
HS2 6 D6 GPIO12 12
HS1 7 D7 GPIO13 13
HS0 8 D2 GPIO4 4

And I was wrong no exception is thrown, just it does not load.

Thanks for anwering

phord commented

I suspect it's gpio15. This point needs to be pulled low during boot. You might be able to use it still if you put a capacitor to ground there, but that may also prevent you from using it for serial comms.

Try moving RX to a different gpio.

https://www.esp8266.com/viewtopic.php?p=41723

Thanks that worked perefctly!