Problem that using big quad with loco positioning

Post here to get support
Post Reply
cha8138
Beginner
Posts: 12
Joined: Wed Jul 05, 2017 7:46 am

Problem that using big quad with loco positioning

Post by cha8138 »

Hi~
As the title suggests, I am having a problem.
After the four LED of Loco deck blink once, the RX LED blinks once.
And loco deck is not responding.
but big quad was working by smartphone application controller

Below is what I have done.
---------------------------------------------------------
First,
Refer to the link below,
I removed the capacitor and commented out extRxInit() in bigquad.c
Also, I wrote down as below in config.mk

Code: Select all

CFLAGS += -DDECK_FORCE=bcDWM1000

## Enable biq quad deck features
CFLAGS += -DENABLE_BQ_DECK
#CFLAGS += -DBQ_DECK_ENABLE_PM
CFLAGS += -DBQ_DECK_ENABLE_OSD

## Set number of anchor in LocoPositioningSystem
#CFLAGS += -DLOCODECK_NR_OF_ANCHORS=4

## Set alternative pins for LOCO deck (IRQ=IO_2, RESET=IO_3, default are RX1 and TX1)
CFLAGS += -DLOCODECK_USE_ALT_PINS

## Compile positioning system for TDoA mode
LPS_TDOA_ENABLE=1
Maybe... CF2.0 Firmware version was 2018.10 release.
The console message is also attached.

Code: Select all

SYS: ----------------------------
SYS: Crazyflie 2.0 is up and running!
SYS: Build 9:97cd28a32816 (2017.05-9) MODIFIED
SYS: I am 0x3730363834355118003D0037 and I have 1024KB of flash!
CFGBLK: v1, verification [OK]
DECK_DRIVERS: Found 17 drivers
DECK_INFO: Found 2 deck memories.
DECK_INFO: compile-time forced driver bcDWM1000 added
DECK_CORE: 3 deck enumerated
BIGQUAD: Switching to brushless.
MPU9250 I2C connection [OK].
AK8963 I2C connection [OK].
LPS25H I2C connection [OK].
ESTIMATOR: Using estimator 2
CONTROLLER: Using controller 1
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].
DWM: Switching mode to TDoA2
SYS: Free heap: 7752 bytes
Also I tried to upload latest CF2.0 firmware(2019.01 release) by client.
it doesn't work the same way as above.

And when I uploaded latest firmware with an eclipse, the following error occurs:
viewtopic.php?f=2&t=3092&p=15192&hilit=core_cm4#p15192

-----------------------------------------------------------
I don't know how to fix it.

Thank you for your support. :)
tobias
Bitcraze
Posts: 2339
Joined: Mon Jan 28, 2013 7:17 pm
Location: Sweden

Re: Problem that using big quad with loco positioning

Post by tobias »

It could be related to this bug but since you are running TDoA it is less likely. Have you tied not enabling the OSD?

Code: Select all

CFLAGS += -DBQ_DECK_ENABLE_OSD
Could be UART driver that is not playing well with the loco deck.
cha8138
Beginner
Posts: 12
Joined: Wed Jul 05, 2017 7:46 am

Re: Problem that using big quad with loco positioning

Post by cha8138 »

Well... What does that mean?

write down it in config.mk? like this.
Ex First)

Code: Select all

CFLAGS += -DBQ_DECK_ENABLE_OSD
or comment out it in config.mk? like this.
Ex Second)

Code: Select all

#CFLAGS += -DBQ_DECK_ENABLE_OSD

---------------------------------
and I solved "core_cm4.h" error by installing new VM image.
cha8138
Beginner
Posts: 12
Joined: Wed Jul 05, 2017 7:46 am

Re: Problem that using big quad with loco positioning

Post by cha8138 »

tobias wrote: Mon Jan 21, 2019 2:01 pm It could be related to this bug but since you are running TDoA it is less likely. Have you tied not enabling the OSD?

Code: Select all

CFLAGS += -DBQ_DECK_ENABLE_OSD
Could be UART driver that is not playing well with the loco deck.
Thank you for your help
I edited config.mk like this.

Code: Select all

## Redirect the console output to the UART
# CFLAGS += -DDEBUG_PRINT_ON_UART
## Enable biq quad deck features
CFLAGS += -DENABLE_BQ_DECK
CFLAGS += -DBQ_DECK_ENABLE_OSD
## Set number of anchor in LocoPositioningSystem
CFLAGS += -DLOCODECK_NR_OF_ANCHORS=6
## Set alternative pins for LOCO deck (IRQ=IO_2, RESET=IO_3, default are RX1 and TX1)
CFLAGS += -DLOCODECK_USE_ALT_PINS
## Compile positioning system for TDoA mode
#LPS_TDOA_ENABLE=1
------------------------------------------------------------------
I solved this problem and now it could recognize anchors.
But it has a little problem. I can't fully write position of anchor. Only a few anchors succeeded.
The position of the anchor lights up red.
tobias
Bitcraze
Posts: 2339
Joined: Mon Jan 28, 2013 7:17 pm
Location: Sweden

Re: Problem that using big quad with loco positioning

Post by tobias »

Good, you figured it out, was maybe not clear enough, easy to get used to stuff :oops:

Do you have the CF2 in the middle of the positioning space? You can try walking around with the CF2 and write the positions many times. The default output power for the loco deck might be a bit low.
cha8138
Beginner
Posts: 12
Joined: Wed Jul 05, 2017 7:46 am

Re: Problem that using big quad with loco positioning

Post by cha8138 »

tobias wrote: Wed Jan 23, 2019 2:49 pm Good, you figured it out, was maybe not clear enough, easy to get used to stuff :oops:

Do you have the CF2 in the middle of the positioning space? You can try walking around with the CF2 and write the positions many times. The default output power for the loco deck might be a bit low.
Yeah. I located the CF in the center of the lps anchors.

I looked up some tests to find out why writing the position is not working.(And doesn't blink LED of loco deck)
I think it couldn't write data(positions) to loco deck when use bigquad deck with locodeck.
So I tested to write positions with only loco deck. it worked very well. (It blink 3~4 LED of loco deck when lps anchors is work)

After registering the position, I tried to use the BigQuad and Loco deck, which makes the position appear to be accurate in the client.
Perhaps data can be received from lps anchors, but it seems impossible to transmit data to lps anchors.

I haven't flown with Lps system yet, but I will tell you the result after I do.
First of all, I think it need to modify the pin settings.

I think there is a problem when changing the pin settings as shown below.

Code: Select all

## Enable biq quad deck features
CFLAGS += -DENABLE_BQ_DECK
CFLAGS += -DBQ_DECK_ENABLE_OSD
## Set alternative pins for LOCO deck (IRQ=IO_2, RESET=IO_3, default are RX1 and TX1)
CFLAGS += -DLOCODECK_USE_ALT_PINS
---------------------------------------------------------
#Position registration procedure for using the Big Quads and lps simultaneously attempted

1. upload the firmware for using only loco deck. (And you assembly only locodeck. you can )
You just edit firmware in config.mk like this.

Code: Select all

## Set number of anchor in LocoPositioningSystem
CFLAGS += -DLOCODECK_NR_OF_ANCHORS=8
2. open CF client and write position to CF by Cf client.
3. If position estimation is successful, move to next.
4. upload the firmware for using bigquad & loco deck.
You just edit firmware in config.mk like this.

Code: Select all

## Enable biq quad deck features
CFLAGS += -DENABLE_BQ_DECK
CFLAGS += -DBQ_DECK_ENABLE_OSD
## Set number of anchor in LocoPositioningSystem
CFLAGS += -DLOCODECK_NR_OF_ANCHORS=8
## Set alternative pins for LOCO deck (IRQ=IO_2, RESET=IO_3, default are RX1 and TX1)
CFLAGS += -DLOCODECK_USE_ALT_PINS
## Compile positioning system for TDoA mode
#LPS_TDOA_ENABLE=1
5. open CF client, It seems to be a positional estimate.
tobias
Bitcraze
Posts: 2339
Joined: Mon Jan 28, 2013 7:17 pm
Location: Sweden

Re: Problem that using big quad with loco positioning

Post by tobias »

First of all, I think it need to modify the pin settings.
Have you done the HW modifications on the loco deck? I suspect it would not work at all if you hadn't.
Post Reply