My V3 was working wonderfully for quite some time.
Then the power wire on the HE280 came loose and I reassembled the connector.
Now on boot my Rostock v3 is resetting after what looks like completing start up. I thought it was a loose wire in the HE280 connector, so I rewired that multiple times, then I disconnected the hot end and it is still resetting after the boot. Is there a good description of the boot sequence? I see the lcd with the report of version, I get temperatures, then I notice LED5 flash red and the rambo board resets. I had the machine configured to home on power on and the machine would be homing on each reset. I disabled that option in the firmware to try make make debugging this issue easier. Now it does not home before resetting, but the yellow LED reset does flash every time it tries to reset.
Any ideas of where to look?
(cross posted to the SeeMeCNC facebook group)
Infinitely Resetting V3
- XpresoAdct
- Printmaster!
- Posts: 36
- Joined: Thu Apr 17, 2014 5:41 pm
- Location: Irvine, CA
Infinitely Resetting V3
Last edited by XpresoAdct on Fri May 26, 2017 2:54 pm, edited 1 time in total.
- XpresoAdct
- Printmaster!
- Posts: 36
- Joined: Thu Apr 17, 2014 5:41 pm
- Location: Irvine, CA
Re: Infinitely Resetting V3
[Communication with the board is no longer an issue. Resetting is still an issue.]
After a suggestion to reinstall the firmware after doing an EPROM_CLEAR, I realize the problem might be the RAMbo itself. I can no longer upload sketches. Even the EPROM_CLEAR results with avrdude: stk500v2_ReceiveMessage(): timeout.
[Update: This was because I attached to a USB hub instead of directly to a workstation USB port. Communication is no longer an issue.]
After a suggestion to reinstall the firmware after doing an EPROM_CLEAR, I realize the problem might be the RAMbo itself. I can no longer upload sketches. Even the EPROM_CLEAR results with avrdude: stk500v2_ReceiveMessage(): timeout.
[Update: This was because I attached to a USB hub instead of directly to a workstation USB port. Communication is no longer an issue.]
Last edited by XpresoAdct on Fri May 26, 2017 2:56 pm, edited 1 time in total.
Re: Infinitely Resetting V3
You should check the reset button isn't partial pressed. both on the board and the lcd panel. It has fooled more than few people as simple stuff often does.
- XpresoAdct
- Printmaster!
- Posts: 36
- Joined: Thu Apr 17, 2014 5:41 pm
- Location: Irvine, CA
Re: Infinitely Resetting V3
Thank you. However it is still resetting with the RAMbo board pulled from the machine. I have tested the reset button on the board with a multimeter and it is working as intended.
At this point I am looking if I can compile the firmware in some kind of debug mode. My theory is somehow I am tripping the watchdog during boot.
At this point I am looking if I can compile the firmware in some kind of debug mode. My theory is somehow I am tripping the watchdog during boot.
- XpresoAdct
- Printmaster!
- Posts: 36
- Joined: Thu Apr 17, 2014 5:41 pm
- Location: Irvine, CA
Re: Infinitely Resetting V3
I can tell that I am tripping the watchdog and entering this case statement:
Now I have to figure out *why* I am triggering the watchdog.
Code: Select all
case 281: // Trigger watchdog
#if FEATURE_WATCHDOG
{
Com::printInfoFLN(PSTR("Triggering watchdog. If activated, the printer will reset."));
Printer::kill(false);
HAL::delayMilliseconds(200); // write output, make sure heaters are off for safety
InterruptProtectedBlock noInts;
while(1) {} // Endless loop
}
Last edited by XpresoAdct on Fri May 26, 2017 2:57 pm, edited 1 time in total.
- XpresoAdct
- Printmaster!
- Posts: 36
- Joined: Thu Apr 17, 2014 5:41 pm
- Location: Irvine, CA
Re: Infinitely Resetting V3
And now I know.
In Commands.cpp Line 35
And now I know what is triggering the restart:
The line if(Wire.endTransmission(false)) results in a restart. Next up, figure out why!
In Commands.cpp Line 35
And now I know what is triggering the restart:
Code: Select all
void accelerometer_send(uint8_t val)
{
Wire.beginTransmission(ACCELEROMETER_I2C_ADDR);
Wire.write(val);
if(Wire.endTransmission(false))
//Myserial.println(F("send i2c error."));
Com::printFLN(PSTR("accelerometer send i2c error."));
}
- XpresoAdct
- Printmaster!
- Posts: 36
- Joined: Thu Apr 17, 2014 5:41 pm
- Location: Irvine, CA
Re: Infinitely Resetting V3
Well my problem was solved by replacing the RAMbo. Thanks to MatterHackers for the rescue.