Azurit and PCB1.4 - console flooded with Failed to readADXL345B

RonPeeters

Member
Hello all.

I bought a used Ardumower with a defective PCB1.4 and a Arduino Mega 2560R3
After repair I uploaded the latest Azurit release and cleared all the user settings.

Now the console is continuously flooded with the error message Failed to readADXL345B and I am unable to configure the bluetooth for example.
That seems like an IMU that is not being read and that is correct, while it is not connected to the system (I ordered a MPU6050 that is not in yet).

It also reports this error when the arduino is disconnected from the PCB (along with other messages of a missing PCB off course)

Any way to stop the console from reporting this error message and flood the system?

Thanks in advance.
 
Hey,
please take a look in mower.cpp and deactivate the IMU
-> imuUse = 0; // use IMU?

After change the setting, you must cleared all user settings too.

I hope its help to stop the flood of messages.
 
Some testing...
The error flooding starts to happen when I enter the main menu on the console (sending d to serial console).

Code:
---Ardumower 1.0a10 Azurit---

-----------MAIN MENU----------
f=delete all USER settings (reset all user settings in EEPROM)
e=delete all ERRORS (reset error counters in EEPROM)
r=delete all STATISTICS (reset statistics in EEPROM)
s=save USER settings (save user settings to EEPROM)
x=print USER settings
p=test EEPROM module
c=test RTC module
i=scan for I2C devices
1=test motors
2=test odometry
3=communications menu (setup Bluetooth & WIFI)
4=ADC calibration (perimeter sender & charger must be off)
5=calibrate IMU acceleration next side
6=calibrate IMU compass start/stop
7=delete IMU calibration
8=show EEPROM data (for backup)
9=enter EEPROM data (for restore)
0=exit

Failed to readADXL345B
WARNING Mega2560: you may have to add 4k7 resistors (pull-ups) between SDA, SCL and IOREF for proper I2C bus
Failed to readADXL345B
WARNING Mega2560: you may have to add 4k7 resistors (pull-ups) between SDA, SCL and IOREF for proper I2C bus
Failed to readADXL345B
WARNING Mega2560: you may have to add 4k7 resistors (pull-ups) between SDA, SCL and IOREF for proper I2C bus
Failed to readADXL345B
Failed to readADXL345B
Failed to readADXL345B
Failed to readADXL345B
Failed to readADXL345B
Failed to readADXL345B
Failed to readADXL345B
Failed to readADXL345B
Failed to readADXL345B
 
Zuletzt bearbeitet:
mmh, ok, i can't test at the moment, my mower is running.

Can you change this and test it?
consoleui.h -> line 275
imu.update(); -> if (imuUse) imu.update();
 
I have added several
C:
if (imuUse)
statements in consoleui.h but they did not seems to have any effect.

When uploading another time I wil retry (VSCode changed the formatting, so everything has changed according to git) the statements.

I ended up commenting out
C:
#define IMU_GY801
and my issue was gone.

If it happens again, I will report here.
Thanks for your reply @netlars
 
Oben