ClearEprom does not work for Sensebender GW
-
I just tried to delete the EEPROM of my Sensebender GW with the sample sketch coming with the MySensor library (ClearEepromConfig) It does not seem to work. At least as far I can deduce from the debug statements I inserted. I put a print just before the for loop in the setup function and one after hwWriteConfig. The code does not reach the hwWriteConfig.
I am using MySensors 2.1.1
-
Hello @tomkxy it seems your post was missed by the "specialists" of the Sensebender boards.
On Sensebender GW the chip doesn't have EEPROM so it's using an external EEPROM, maybe it's related.
What is it printing if you put the following lines at the beginning of the script ?Serial.print("EEPROM_LOCAL_CONFIG_ADDRESS: "); Serial.println(EEPROM_LOCAL_CONFIG_ADDRESS); -
the ClearEEPROM sketch does use the hw abstraction layer, so it should work with the sensebender gateway. We did have some timing issues at one point in time, if I remember right. But I think we solved it.
Which version of arduino are you using? And which version of the Arduino SAMD and MySensors SAMD board packages are you using?
-
The changed the sketch as follows:
#define MY_CORE_ONLY #include <MySensors.h> void setup() { unsigned long enter = hwMillis(); while (hwMillis() - enter < (unsigned long)15000); Serial.begin(MY_BAUD_RATE); Serial.print("EEPROM_LOCAL_CONFIG_ADDRESS: "); Serial.println(EEPROM_LOCAL_CONFIG_ADDRESS); Serial.println("Started clearing. Please wait..."); for (int i=0; i<EEPROM_LOCAL_CONFIG_ADDRESS; i++) { hwWriteConfig(i,0xFF); } Serial.println("Clearing done. You're ready to go!"); } void loop() { // Nothing to do here... }The output is:
EEPROM_LOCAL_CONFIG_ADDRESS: 413
Started clearing. Please wait...I use the following versions:
My Arduino version is: 1.8.5
MySensors Board Version: 1.0.5
Arduino SAMD Board Version: 1.6.11 (M3), 1.6.17 (M0+)Interesting observation which might be hinting at a fundamental problem:
I need to double the baud rate in the serial monitor. So in order to get any output I need to set the baud rate to 230400 -
I have the same problem:
void setup() Serial.begin(MY_BAUD_RATE); while(!Serial); Serial.print("EEPROM_LOCAL_CONFIG_ADDRESS: "); Serial.println(EEPROM_LOCAL_CONFIG_ADDRESS); Serial.println("Started clearing. Please wait..."); for (uint16_t i=0; i<EEPROM_LOCAL_CONFIG_ADDRESS; i++) { Serial.println("Clearing"); hwWriteConfig(i,0xFF); } Serial.println("Clearing done."); }Output:
EEPROM_LOCAL_CONFIG_ADDRESS: 413 Started clearing. Please wait... ClearingEdit:
Changed to//#define MY_CORE_ONLY #define MY_RADIO_NRF24and added the code to before() and it works?
-
-
I thought that we had it solved, during our last collaboration code-sprint-evening a couple of months ago. But now I see that the bug was re-opened..
I'll see if I can have a look later this week, when I'm in the lab.. (But I am terrible at remembering stuff at the moment... :( )
-
I thought that we had it solved, during our last collaboration code-sprint-evening a couple of months ago. But now I see that the bug was re-opened..
I'll see if I can have a look later this week, when I'm in the lab.. (But I am terrible at remembering stuff at the moment... :( )
-
I thought that we had it solved, during our last collaboration code-sprint-evening a couple of months ago. But now I see that the bug was re-opened..
I'll see if I can have a look later this week, when I'm in the lab.. (But I am terrible at remembering stuff at the moment... :( )
-