uSD-Deck Problems

Firmware/software/electronics/mechanics
Post Reply
Max_Kemmeren
Member
Posts: 40
Joined: Wed Jan 20, 2021 4:03 pm

uSD-Deck Problems

Post by Max_Kemmeren »

Dear All,

I have received a SD card deck and found some problems while installing. When all pins are connected the crazyflie will not connect to the cfclient or any running program anymore. This seems to be caused by an ID error in the memory chip with some other system in the crazyflie, making the system test fail and thus not starting the software. To avoid this I disconnected the memory chip pin which makes this problem solved.

See the picture for my installation, third pin on the left.
IMG_7809.jpg
The console prints the following if the pin is connected

SYS: ----------------------------
SYS: Crazyflie 2.1 is up and running!
SYS: Build 75:1e42d9ca8deb (2021.03 +75) MODIFIED
SYS: I am 0x20383347344D500700290049 and I have 1024KB of flash!
CFGBLK: v1, verification [OK]
DECK_INFO: DECK_FORCE=bcUSD found
DECK_INFO: compile-time forced driver bcUSD added
DECK_CORE: 2 deck(s) found
DECK_CORE: Calling INIT on driver bcUSD for deck 1
uSD: mount SD-Card [FAIL].
IMU: BMI088: Using I2C interface.
IMU: BMI088 Gyro connection [OK].
IMU: BMI088 Accel connection [OK]
IMU: BMP388 I2C connection [OK]
ESTIMATOR: Using Complementary (1) estimator
CONTROLLER: Using INDI (3) controller
MTR-DRV: Using brushed motor driver
SYS: About to run tests in system.c.
EEPROM: I2C connection [OK].
STORAGE: Storage check [OK].
IMU: BMI088 gyro self-test [OK]
ET: Pin:TX2 != 1 [FAIL]
ET: Pin:RX2 != 1 [FAIL]
ET: Pin:SCK != 1 [FAIL]
ET: Pin:MOSI != 1 [FAIL]
ET: Pin:MISO != 1 [FAIL]
ET: Pin:RX1 != 0 [FAIL]
ET: Pin:IO1 != 0 [FAIL]
ET: Pin:IO2 != 0 [FAIL]
ET: Pin:IO3 != 0 [FAIL]
ET: Pin:IO4 != 0 [FAIL]
DECK_CORE: Deck 0 test [FAIL].
DECK_CORE: Deck 1 test [OK].
SYS: deck [FAIL]

Furthermore (when the pin is disconnected) the sd deck is only creating empty logging files without any data. This may be due to my setup or some underlying problem. I use the following config file on the sd card.

1 # version
512 # buffer size in bytes
log # file name
1 # enable on startup (0/1)
on:fixedFrequency
500 # frequency
1 # mode (0: disabled, 1: synchronous stabilizer, 2: asynchronous)
gyro.x
gyro.y
gyro.z
ctrlINDI.cmd_roll
ctrlINDI.cmd_pitch
ctrlINDI.cmd_yaw
ctrlINDI.cmd_thrust
acc.z

I hope someone can help.

If something is not clear please respond as we can also lay contact via some other platform like discord, such that a conversation/call can clear some stuff up.

Regards
Max
tobias
Bitcraze
Posts: 2339
Joined: Mon Jan 28, 2013 7:17 pm
Location: Sweden

Re: uSD-Deck Problems

Post by tobias »

The problem is very strange. It looks like the Crazyflie thinks the SD card deck is a test deck. To me that sounds like the 1-wire memory is configured wrong but how that has happened I have no idea.

You can restore the 1-wire memory by running the attached script with the SD-card connected to a Crazyflie. It will run on the first Crazyflie found so only have one powered if you have many.

If it is successful then remove the forcing of the SD-card and hopefully everything works again.
Attachments
write-ow-sdcard.py
(5.89 KiB) Downloaded 104 times
Max_Kemmeren
Member
Posts: 40
Joined: Wed Jan 20, 2021 4:03 pm

Re: uSD-Deck Problems

Post by Max_Kemmeren »

Dear Tobias,

Nope the python file does not run with all pins connected, as the connection cannot be established due to not fully starting up. I tried it with the flow deck attached as well and then it worked when 1 pin was not connected to the sd deck, but it then probably found the 1 wire memory of the flow deck.

Still the same error is produced as i cannot run the program with all pins connected.

SYS: Build 75:1e42d9ca8deb (2021.03 +75) MODIFIED
SYS: I am 0x20383347344D500700290049 and I have 1024KB of flash!
CFGBLK: v1, verification [OK]
DECK_INFO: DECK_FORCE=bcUSD found
DECK_INFO: compile-time forced driver bcUSD added
DECK_CORE: 2 deck(s) found
DECK_CORE: Calling INIT on driver bcUSD for deck 1
uSD: mount SD-Card [FAIL].
IMU: BMI088: Using I2C interface.
IMU: BMI088 Gyro connection [OK].
IMU: BMI088 Accel connection [OK]
IMU: BMP388 I2C connection [OK]
ESTIMATOR: Using Complementary (1) estimator
CONTROLLER: Using INDI (3) controller
MTR-DRV: Using brushed motor driver
SYS: About to run tests in system.c.
EEPROM: I2C connection [OK].
STORAGE: Storage check [OK].
IMU: BMI088 gyro self-test [OK]
ET: Pin:TX2 != 1 [FAIL]
ET: Pin:RX2 != 1 [FAIL]
ET: Pin:SCK != 1 [FAIL]
ET: Pin:MOSI != 1 [FAIL]
ET: Pin:MISO != 1 [FAIL]
ET: Pin:RX1 != 0 [FAIL]
ET: Pin:IO1 != 0 [FAIL]
ET: Pin:IO2 != 0 [FAIL]
ET: Pin:IO3 != 0 [FAIL]
ET: Pin:IO4 != 0 [FAIL]
DECK_CORE: Deck 0 test [FAIL].
DECK_CORE: Deck 1 test [OK].
SYS: deck [FAIL]

Seems that nothing has changed.

What can I do.
Max_Kemmeren
Member
Posts: 40
Joined: Wed Jan 20, 2021 4:03 pm

Re: uSD-Deck Problems

Post by Max_Kemmeren »

Dear Tobias,

I also introduced a new problem accidentely. When the Sd deck was attached (with 1 pin removed) I also had the flowdeck attached. So when the python code seemed to run it was running on the memory chip on the flowdeck, which is now thus messed up.

What are the memorychip settings for the flowdeck such that i can reset that one?

Oops my mistake,

Greetings
Max
tobias
Bitcraze
Posts: 2339
Joined: Mon Jan 28, 2013 7:17 pm
Location: Sweden

Re: uSD-Deck Problems

Post by tobias »

Can you try it with the latest release FW on the CF2.1? Can you also post the output from the script here?
Max_Kemmeren
Member
Posts: 40
Joined: Wed Jan 20, 2021 4:03 pm

Re: uSD-Deck Problems

Post by Max_Kemmeren »

Dear Tobias

This is the cfclient console:

SYS: Crazyflie 2.1 is up and running!
SYS: Production release 2021.03
SYS: I am 0x20383347344D500700290049 and I have 1024KB of flash!
CFGBLK: v1, verification [OK]
DECK_CORE: 1 deck(s) found
IMU: BMI088: Using I2C interface.
IMU: BMI088 Gyro connection [OK].
IMU: BMI088 Accel connection [OK]
IMU: BMP388 I2C connection [OK]
ESTIMATOR: Using Complementary (1) estimator
CONTROLLER: Using PID (1) controller
MTR-DRV: Using brushed motor driver
EEPROM: I2C connection [OK].
STORAGE: Storage check [OK].
IMU: BMI088 gyro self-test [OK]
ET: Pin:RX1 != 1 [FAIL]
ET: Pin:TX2 != 1 [FAIL]
ET: Pin:RX2 != 1 [FAIL]
ET: Pin:IO1 != 1 [FAIL]
ET: Pin:IO2 != 1 [FAIL]
ET: Pin:SCK != 0 [FAIL]
ET: Pin:MOSI != 0 [FAIL]
ET: Pin:MISO != 0 [FAIL]
ET: Pin:IO3 != 0 [FAIL]
ET: Pin:IO4 != 0 [FAIL]
DECK_CORE: Deck 0 test [FAIL].

And this is the code

cd /home/max/Downloads ; /usr/bin/env /usr/bin/python3 /home/max/.vscode/extensions/ms-python.python-2021.5.842923320/pythonFiles/lib/python/debugpy/launcher 41373 -- /home/max/Downloads/write-ow-sdcard.py
This example will not work with the BLE version of the nRF51 firmware (flashed on production units). See https://github.com/bitcraze/crazyflie-c ... issues/166
Scanning interfaces for Crazyflies...
Crazyflies found:
radio://0/80/2M
Connecting to radio://0/80/2M

it will not connect.

I hope you can help me with the settings for the flowdeck as well, as i accidentely ran this code with the flowdeck attached wiping the 1-wire on the flowdeck.

Greetings
Max
tobias
Bitcraze
Posts: 2339
Joined: Mon Jan 28, 2013 7:17 pm
Location: Sweden

Re: uSD-Deck Problems

Post by tobias »

OK, the Deck test fail prevents the system from starting... What you can do is to change in exptest.c so the test function returns true:

Code: Select all

static bool exptestRun(void)
{
  int i;
  volatile int delay;
....
  // Change to return true
  return true;
}
Then build and flash it and the ow write should work. I have attached the ow script for the flow deck as well.
Attachments
write-ow-flow2.py
(5.89 KiB) Downloaded 101 times
Max_Kemmeren
Member
Posts: 40
Joined: Wed Jan 20, 2021 4:03 pm

Re: uSD-Deck Problems

Post by Max_Kemmeren »

Tobias thanks for the help. The flowdeck works again thankfully. I changed the SD deck for another one and that one seems to work fine. So for now we lay the "broken" one aside and will check on it later when we got time for it. Will keep this post updated if we figured out what it was and if we fixed it.

For now is there some better documentation on how the logging works with the sd deck. Because at this moment the sd deck only creates empty logging files. I am probably doing something wrong with the events.

Thanks!
kimberly
Bitcraze
Posts: 1050
Joined: Fri Jul 06, 2018 11:13 am

Re: uSD-Deck Problems

Post by kimberly »

Hi Max,

You can find documentation about SD card deck on our web if you haven't found this yet
Post Reply