Issue with Crazyflie with BigQuad, Loco and Z-Ranger v2 decks

Post here to get support
Post Reply
zetazee85
Beginner
Posts: 3
Joined: Thu Apr 11, 2019 10:40 am

Issue with Crazyflie with BigQuad, Loco and Z-Ranger v2 decks

Post by zetazee85 » Fri Apr 26, 2019 6:42 am

Hi,

I have managed to build a custom drone using Crazyflie mounted with the BigQuad Deck, Loco Positioning Deck, and Z-Ranger v2 Deck.
Using the instructions in
https://wiki.bitcraze.io/projects:crazy ... ow_v2_deck
and
https://wiki.bitcraze.io/projects:crazy ... g_firmware,

My config.mk

Code: Select all

## Enable biq quad deck features
CFLAGS += -DENABLE_BQ_DECK
CFLAGS += -DBQ_DECK_ENABLE_OSD
I have also managed to build the modified firmware, and no issue powering up my custom BigQuad drone.

Console Message OK

Code: Select all

SYS: ----------------------------
SYS: Crazyflie 2.0 is up and running!
SYS: Build 48:ebf447ee94f5 (2019.02 +48) MODIFIED
SYS: I am 0x30343631303747130023002F and I have 1024KB of flash!
CFGBLK: v1, verification [OK]
DECK_CORE: 2 deck(s) found
DECK_CORE: Calling INIT on driver bcBigQuad for deck 0
BIGQUAD: Switching to brushless.
DECK_CORE: Calling INIT on driver bcDWM1000 for deck 1
MPU9250 I2C connection [OK].
AK8963 I2C connection [OK].
LPS25H I2C connection [OK].
ESTIMATOR: Using Kalman (2) estimator
CONTROLLER: Using PID (1) controller
PLATFORM: Low interference mode. NRF51 TX power offset by -12db.
EEPROM: I2C connection [OK].
AK8963: Self test [OK].
DECK_CORE: Deck 0 test [OK].
DECK_CORE: Deck 1 test [OK].
STAB: Wait for sensor calibration...
SYS: Free heap: 10560 bytes
STAB: Ready to fly.
DWM: Automatic mode: detected TDoA3
With this setup without the Z-Ranger v2 Deck, using 4 Loco Positioning Anchors in TDOA v3 mode., I was able to fly my custom BigQuad drone reasonbly well in the X-Y plane, but the height was relatively unstable using the Crazyflie barometer.


When I tried to mount the Z-Ranger v2 Deck on, my custom BigQuad drone is not able to run as no decks are enumerated, due to the GPIO errors as shown in the Console.

Console Messages with Errors.

Code: Select all

SYS: ----------------------------
SYS: Crazyflie 2.0 is up and running!
SYS: Build 48:ebf447ee94f5 (2019.02 +48) MODIFIED
SYS: I am 0x30343631303747130023002F and I have 1024KB of flash!
CFGBLK: v1, verification [OK]
DECK_INFO: ERROR: Driver Gpio usage conflicts with a previously enumerated deck driver. No decks will be initialized!
DECK_INFO: ERROR: Driver Periph usage conflicts with a previously enumerated deck driver. No decks will be initialized!
DECK_INFO: ERROR: Driver Gpio usage conflicts with a previously enumerated deck driver. No decks will be initialized!
DECK_CORE: 0 deck(s) found
MPU9250 I2C connection [OK].
AK8963 I2C connection [OK].
LPS25H I2C connection [OK].
ESTIMATOR: Using Complementary (1) estimator
CONTROLLER: Using PID (1) controller
PLATFORM: Low interference mode. NRF51 TX power offset by -12db.
EEPROM: I2C connection [OK].
AK8963: Self test [OK].
STAB: Wait for sensor calibration...
SYS: Free heap: 16056 bytes
STAB: Ready to fly.

I would like to check what do I have to do, in order to make my custom BigQuad drone run with BigQuad Deck, Loco Deck and Z-Ranger v2 Deck?


I also have the Flow Deck v1, and was not able to use it as well, as I understand some HW modifications are required in order for the Flow Deck to work together with the BigQuad deck.



zetazee85
Beginner
Posts: 3
Joined: Thu Apr 11, 2019 10:40 am

Re: Issue with Crazyflie with BigQuad, Loco and Z-Ranger v2 decks

Post by zetazee85 » Fri Apr 26, 2019 7:25 am

Update.

I tested with another BigQuad Deck. This time round I was able to start up properly with no issue. All decks are enumerated.

Code: Select all

SYS: Crazyflie 2.0 is up and running!
SYS: Build 48:ebf447ee94f5 (2019.02 +48) MODIFIED
SYS: I am 0x30343631303747130023002F and I have 1024KB of flash!
CFGBLK: v1, verification [OK]
DECK_CORE: 3 deck(s) found
DECK_CORE: Calling INIT on driver bcZRanger2 for deck 0
ZR2: Z-down sensor [OK]
DECK_CORE: Calling INIT on driver bcDWM1000 for deck 1
DECK_CORE: Calling INIT on driver bcBigQuad for deck 2
BIGQUAD: Switching to brushless.
MPU9250 I2C connection [OK].
AK8963 I2C connection [OK].
LPS25H I2C connection [OK].
ESTIMATOR: Using Kalman (2) estimator
CONTROLLER: Using PID (1) controller
PLATFORM: Low interference mode. NRF51 TX power offset by -12db.
EEPROM: I2C connection [OK].
AK8963: Self test [OK].
DECK_CORE: Deck 0 test [OK].
DECK_CORE: Deck 1 test [OK].
DECK_CORE: Deck 2 test [OK].
STAB: Wait for sensor calibration...
SYS: Free heap: 9056 bytes
STAB: Ready to fly.
May I know what might be the cause of the issue for previous message that No Decks were enumerated? Could it be due to bad desoldering of the C1 capacitor from the BigQuad Deck?

tobias
Bitcraze
Posts: 1890
Joined: Mon Jan 28, 2013 7:17 pm
Location: Sweden

Re: Issue with Crazyflie with BigQuad, Loco and Z-Ranger v2 decks

Post by tobias » Fri Apr 26, 2019 10:02 am

Hmmm, good question which I don't really know the answer to. Why it fails on the first BiqQuad deck is probably because of this:

Code: Select all

DECK_INFO: ERROR: Driver Gpio usage conflicts with a previously enumerated deck driver. No decks will be initialized!
DECK_INFO: ERROR: Driver Periph usage conflicts with a previously enumerated deck driver. No decks will be initialized!
DECK_INFO: ERROR: Driver Gpio usage conflicts with a previously enumerated deck driver. No decks will be initialized!
Why this doesn't come up on the other BigQuad deck I don't really know. The capacitor has nothing to to with the 1-wire bus... One option is to build the DEBUG=1 firmware, then the deck errors will be ignored.

zetazee85
Beginner
Posts: 3
Joined: Thu Apr 11, 2019 10:40 am

Re: Issue with Crazyflie with BigQuad, Loco and Z-Ranger v2 decks

Post by zetazee85 » Mon Apr 29, 2019 2:32 am

hi tobias. thank you for the prompt reply.

I have managed to isolate the issue to the Lock Deck. Swapping with another one, and the error message did not come up.

Post Reply