-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CF2 freezes randomly when I2C code is not in the highest priority task #69
Comments
Warning! If it freezes during flight, the current thrust of the motors will be maintained and the crazyflie will not be possible to control. |
ataffanel
added a commit
to bitcraze/crazyflie2-nrf-firmware
that referenced
this issue
Sep 28, 2015
The bug is confirmed to come from the I2C implementation. Reverted a commit that affected the tasks priorities and made this bug apparent. We still need to fix the underlying I2C implementation. |
ataffanel
changed the title
CF2 freezes randomly
CF2 freezes randomly when I2C code is not in the highest priority task
Sep 28, 2015
krichardsson
added a commit
that referenced
this issue
Oct 26, 2015
krichardsson
added a commit
that referenced
this issue
Oct 26, 2015
krichardsson
added a commit
that referenced
this issue
Oct 26, 2015
krichardsson
added a commit
that referenced
this issue
Oct 27, 2015
…his will reduce the risk of corrupting code that is normally not built during refactoring.
krichardsson
added a commit
that referenced
this issue
Oct 29, 2015
Moved duplicated code into functions to make it more DRY
krichardsson
added a commit
that referenced
this issue
Oct 29, 2015
The semaphore has previously not been released in the error callback. After an error condition the semaphore could be taken and the next call to ic2 read/write would lock the calling task. Also added a timeout callback, and release the semaphore there as well.
krichardsson
added a commit
that referenced
this issue
Oct 31, 2015
Added possibility to monitor queues in runtime. To use the functionality, define DEBUG_QUEUE_MONITOR. Queues of interest must be added to the queue monitor with the DEBUG_QUEUE_MONITOR_REGISTER macro. The following data is recorded and output to the console every 10 seconds: * nr of items added to the queue * the peak number of items waiting in the queue * nr of times that items could not be added to the queue
krichardsson
added a commit
that referenced
this issue
Oct 31, 2015
Corrected bug in make file that ignored options in config.mk file.
krichardsson
added a commit
that referenced
this issue
Oct 31, 2015
Added config to reset counters after display and only display queues over flow queues.
krichardsson
added a commit
that referenced
this issue
Oct 31, 2015
ataffanel
added a commit
that referenced
this issue
Nov 10, 2015
Also added a mode in which the ITM trace does not overflow at the cost of slowing down the program. Related to #69
ataffanel
added a commit
that referenced
this issue
Nov 12, 2015
Related to #69 This show threads when debugging with gdb. To test: $ make openocd In a new terminal: $ arm-none-eabi-gdb cf2.elf (gdb) target remote localhost:3333 Remote debugging using localhost:3333 0x00000000 in ?? () (gdb) c Continuing. WARNING! The target is already running. All changes GDB did to registers will be discarded! Waiting for target to halt. ^C Program received signal SIGINT, Interrupt. [Switching to Thread 536875088] 0x080072de in vPortEnterCritical () at lib/FreeRTOS/portable/GCC/ARM_CM4F/port.c:290 290 { (gdb) info threads [New Thread 536884680] [New Thread 536876168] [New Thread 536881784] [New Thread 536879304] [New Thread 536880024] [New Thread 536887600] Id Target Id Frame 7 Thread 536887600 (STABILIZE) 0x00000000 in ?? () 6 Thread 536880024 (CRTP-RX) 0x080065f8 in xQueueGenericReceive (xQueue=0x20002628 <ucHeap+6936>, pvBuffer=0x64, xTicksToWait=0, xJustPeeking=536880608) at lib/FreeRTOS/queue.c:1146 5 Thread 536879304 (CRTP-TX) 0x0800634c in xQueueGenericSend (xQueue=0x20006bc8 <slp>, pvItemToQueue=0x64, xTicksToWait=0, xCopyPosition=536879896) at lib/FreeRTOS/queue.c:683 4 Thread 536881784 (PWRMGNT) 0x00000000 in ?? () 3 Thread 536876168 (Tmr Svc) 0x08006bec in prvProcessTimerOrBlockTask (xNextExpireTime=0, xListWasEmpty=536876816) at lib/FreeRTOS/timers.c:412 2 Thread 536884680 (SYSLINK) 0x00000000 in ?? () * 1 Thread 536875088 (IDLE : : Running) 0x080072de in vPortEnterCritical () at lib/FreeRTOS/portable/GCC/ARM_CM4F/port.c:290
ataffanel
added a commit
that referenced
this issue
Nov 17, 2015
This has caused random crash before, see #69. Now that we have added watchdog and debug code it is time to try to trigger the bug again.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
As of the 2015.08 release the Crazyflie 2.0 sometimes freezes randomly.
The text was updated successfully, but these errors were encountered: