Page 1 of 1

Problem that using big quad with loco positioning

Posted: Wed Jan 16, 2019 2:42 pm
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. :)

Re: Problem that using big quad with loco positioning

Posted: Mon Jan 21, 2019 2:01 pm
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.

Re: Problem that using big quad with loco positioning

Posted: Tue Jan 22, 2019 8:26 am
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.

Re: Problem that using big quad with loco positioning

Posted: Tue Jan 22, 2019 10:49 am
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.

Re: Problem that using big quad with loco positioning

Posted: Wed Jan 23, 2019 2:49 pm
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.

Re: Problem that using big quad with loco positioning

Posted: Fri Jan 25, 2019 7:18 am
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.

Re: Problem that using big quad with loco positioning

Posted: Fri Jan 25, 2019 9:53 am
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.