Crazyflie Firmware UART1 Receive Data Problems

Firmware/software/electronics/mechanics
Post Reply
jackemoore
Member
Posts: 75
Joined: Mon Apr 06, 2015 6:47 pm

Crazyflie Firmware UART1 Receive Data Problems

Post by jackemoore »

Hi,

The latest Github crazyflie-firmware-master commit 2016.06.14 (as well as that of the prior commit 2016.05.28) contains changes that are causing problems when using the uart1Getchar() function in module uart1.c. Using the uart1Putchar() function appears to remain successfully working.

The symptoms when attempting to receive asynchronous serial data communication using UART1 appear to be timing related, but there may be problems associated with the uart1 interrupt service handling links. With all the restructuring of code, it is unclear which segments are primarily responsible. Watchdog timeouts occur causing a crazyflie reset, but the origin of the problem remains unknown. Unfortunately, I'm not familiar with using either the debug build or debug module.

I've done a little tracking of the recent captured firmware:
..crazyflie-firmware 2016.02.12 (release date Feb 17th) works fine
..crazyflie-firmware-master 2016.02.24 (github) works fine
..crazyflie-firmware-master 2016.05.12 (github) works fine
..crazyflie-firmware-master 2016.05.19 (github) works fine
..crazyflie-firmware-master 2016.05.28 (github) has uart1 problems
..crazyflie-firmware-master 2016.06.14 (github) has uart1 problems

Currently, integration of the globaltop or ublox gps receivers into the latest development commits is not possible.

Best regards,
Jack
jackemoore
Member
Posts: 75
Joined: Mon Apr 06, 2015 6:47 pm

Re: Crazyflie Firmware UART1 Receive Data Problems

Post by jackemoore »

Hi,

I tested the Github crazyflie-firmware update 2016.06.17 to see if it was compatible with gtgps.c (binary mode) and encountered the same failure symptoms. The updated firmware fixed syslink unhandled overrun interrupt which sounded close to being synonymous with the uart1 problem with gtgps.c.

..crazyflie-firmware-master 2016.06.17 (github) has uart1 problems

Would someone tell me if this is a possible explanation for the uart1 problem?

Best regards,
Jack
tobias
Bitcraze
Posts: 2339
Joined: Mon Jan 28, 2013 7:17 pm
Location: Sweden

Re: Crazyflie Firmware UART1 Receive Data Problems

Post by tobias »

This sounds strange indeed as the uart1 code hasn't been altered. Might be memory problem or stack problem. I will try and debug it tomorrow when I'm back in the office.
jackemoore
Member
Posts: 75
Joined: Mon Apr 06, 2015 6:47 pm

Re: Crazyflie Firmware UART1 Receive Data Problems

Post by jackemoore »

Hi,
Turns out there is not a uart1 problem per se, but a possible timing/stack overflow problem identified elsewhere that was overshadowing uart1 activity. Please see additional comments on my findings in the Crazyflie 2 with GPS thread.
Best regards,
Jack
Post Reply