uSD-Deck Problems
-
- Member
- Posts: 40
- Joined: Wed Jan 20, 2021 4:03 pm
uSD-Deck Problems
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.
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
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.
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
Re: uSD-Deck Problems
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.
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 105 times
-
- Member
- Posts: 40
- Joined: Wed Jan 20, 2021 4:03 pm
Re: uSD-Deck Problems
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.
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.
-
- Member
- Posts: 40
- Joined: Wed Jan 20, 2021 4:03 pm
Re: uSD-Deck Problems
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
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
Re: uSD-Deck Problems
Can you try it with the latest release FW on the CF2.1? Can you also post the output from the script here?
-
- Member
- Posts: 40
- Joined: Wed Jan 20, 2021 4:03 pm
Re: uSD-Deck Problems
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
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
Re: uSD-Deck Problems
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:
Then build and flash it and the ow write should work. I have attached the ow script for the flow deck as well.
Code: Select all
static bool exptestRun(void)
{
int i;
volatile int delay;
....
// Change to return true
return true;
}
- Attachments
-
- write-ow-flow2.py
- (5.89 KiB) Downloaded 102 times
-
- Member
- Posts: 40
- Joined: Wed Jan 20, 2021 4:03 pm
Re: uSD-Deck Problems
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!
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!