Adafruit M0 hang up during hwInit at eep.begin
-
Hello everybody,
i set up my gateway so far and everything worked fine.
Now i soldered all parts nicely on a board and put it in the final housing. But the gateway make gave no message on the Serial.I followed the code and put after each line an output to the Serial to find the position where it stucks. Finally i found it:
```MY_DEBUGDEVICE.println(F("AFTER Wait for synchronization of registers between the clock domains")); const uint8_t eepInit = eep.begin(MY_EXT_EEPROM_TWI_CLOCK, &Wire); MY_DEBUGDEVICE.println(F("AFTER eep.begin(MY_EXT_EEPROM_TWI_CLOCK, &Wire);"));
The second message does not arrive on my computer. I would assume that the function eep.begin runs infinite..??
Interesting for me is that also the reset-button on the adafruit-board does not bring back the controller. After the reset no message is displayed?
I need to upload the sketch to the board again to re-start the software?I saw that the watchdog is set before. I thought that the watchdog should also make some kind of reset if the software gets stucked during the eeprom init.
I found in the troubleshooting a section that "on rare occasions you might need to clear this memory back to the factory default."
But the sketch is hanging up at the same position.i do not know what to try next... Is it possible that the EEPROM section on the controller got damaged?
Could somebody please give me a hint?..Maybe it would also be a nice idea in general to give some debug-message during the init of the hardware to at least show that the library started to doo something?```
Thank you very much!
best regards
Jens
-
Hello everybody,
i found the reason for the issue... I connected already a BMP280 to the I2C pins of the Feather M0 board. To check one thing after another i did not yet connect the power supply to the BMP280. It works if i solder disconnect the BMP280 from SDA&SCL and also if i connect the 3,3V of the BMP280.
It seems that the not powered BMP280 is confusing the I2C-bus so badly that the EEPROM library can not handle it. In my opinion should this kind of "mistake" in the wiring not lead to a complete black-out.
Is the external EEPROM usage in general for SAMD hardware okay? In my case i use the Feather M0 which has no external EEPROM connected. Somehow i think that it was done for the Sensebender board?
I would suggest to
- add a debug message at the beginning of the hwInit in the mysensor library that everybody can see that the library starts to works
- put the external EEPROM functionality in a #define switch or better use some internal EEPROM function
By the way is something with the clock also wrong.
My Serial is running at 9600 - but the Software says #define MY_BAUD_RATE (115200ul)..i am not very familiar with github and how to use it. If it is welcome that a mechanical guy tries to implement something like above in the library, contact me for a try
best regards
Jens