Compass 5883 is not support in APM:Plane 3.3.0

179 views
Skip to first unread message

Jin Chengde

unread,
Jun 10, 2015, 8:54:55 PM6/10/15
to drones-...@googlegroups.com
Hi Guys,
 I used APM2 for plane, recently, I update to 3.3 for APM:Plane, and can not connect GCS through MAVLINK
 I check the UART0 print, it shows "No Compass backends available" and system initial failed.
 then I see code, in the function _detect_backends in Compass.cpp, there is no HMC5883 any more.
 So, is that mean APM:Plane 3.3 is not support for APM2?

Tom Coyle

unread,
Jun 10, 2015, 9:28:02 PM6/10/15
to drones-...@googlegroups.com
Hi Jin,

I have been able to communicate with my Pixhawk running ArduPlane 3.3.0 over both USB and 3DR telemetry and have not had an issue with the compass in the GPS/Compass module.

Regards,
Tom C AVD

Jin Chengde

unread,
Jun 10, 2015, 10:12:54 PM6/10/15
to drones-...@googlegroups.com
It happened in APM2 but not in Pix, I used 3.2.0, apm could find the compass, but when i update to 3.3.0. it fail, no compass could find.

Lucas De Marchi

unread,
Jun 10, 2015, 10:55:44 PM6/10/15
to drones-...@googlegroups.com
We are using HMC5883 in a linux board (minnowboard max, still to send
to upstream).
Looking at the code, the code in _detect_backends() still has the code
to use HMC5883:

#if CONFIG_HAL_BOARD == HAL_BOARD_LINUX && CONFIG_HAL_BOARD_SUBTYPE !=
HAL_BOARD_SUBTYPE_LINUX_NONE
...
#elif HAL_COMPASS_DEFAULT == HAL_COMPASS_HMC5843
_add_backend(AP_Compass_HMC5843::detect);
#elif HAL_COMPASS_DEFAULT == HAL_COMPASS_PX4 || HAL_COMPASS_DEFAULT ==
HAL_COMPASS_VRBRAIN
...
#endif


From AP_HAL_Boards.h:

#elif CONFIG_HAL_BOARD == HAL_BOARD_APM2
...
#define HAL_COMPASS_DEFAULT HAL_COMPASS_HMC5843
...
#endif


So I fail to see why you said the code is not there anymore or why it
doesn't work for you :-/.

--
Lucas De Marchi

Jin Chengde

unread,
Jun 10, 2015, 11:04:49 PM6/10/15
to drones-...@googlegroups.com
So does HMC5833 and 5843 is the same driver?

Lucas De Marchi

unread,
Jun 10, 2015, 11:41:04 PM6/10/15
to drones-...@googlegroups.com
On Thu, Jun 11, 2015 at 12:04 AM, Jin Chengde <jinch...@gmail.com> wrote:
> So does HMC5833 and 5843 is the same driver?

Should be. Take a look in AP_Compass_HMC5843::init()

It tries to detect both. We have an HMC5883L in our linux board.

--
Lucas De Marchi

Jin Chengde

unread,
Jun 10, 2015, 11:48:05 PM6/10/15
to drones-...@googlegroups.com
It looks very strange, does anyone have try in APM2? pixhawk use the same compass but everything is OK, but APM2 is failed.

I have confuse in that serverl days but no thread.

Daniel Frenzel

unread,
Jun 11, 2015, 6:04:33 AM6/11/15
to drones-...@googlegroups.com
I habe an apm2 with external compass which used to work, but it doesn't. Was not further testing. Maybe just the board is broken.

Daniel Frenzel

unread,
Jun 11, 2015, 6:04:35 AM6/11/15
to drones-...@googlegroups.com

Andrew Tridgell

unread,
Jun 11, 2015, 7:08:26 AM6/11/15
to Jin Chengde, drones-...@googlegroups.com
Hi Jin,

> It looks very strange, does anyone have try in APM2?

yes, I have an APM2 on my desk with a hmc5883 compass that is working
fine with the current plane 3.3.0 stable release. Grant and I also test
flew an APM2 with a hmc5883 before the release.

I suspect you may have a hardware issue.

Cheers, Tridge

Daniel Frenzel

unread,
Sep 30, 2015, 7:31:08 PM9/30/15
to drones-discuss, jinch...@gmail.com, and...@tridgell.net
It is a little bit late. I just tried out all the branches from 2.9 to 3.2.1 with AVR.
None of them seems to work anymore with 5883L modules.
Neither my APM 2.5 nor 4! external 5883L modules.
Maybe all of them are broken, or something else is wrong :D
Reply all
Reply to author
Forward
0 new messages