Giter VIP home page Giter VIP logo

d-ronin / dronin Goto Github PK

View Code? Open in Web Editor NEW
288.0 53.0 166.0 253.97 MB

The dRonin flight controller software.

Home Page: http://dronin.org

License: Other

Makefile 0.99% Java 1.67% C++ 49.77% C 45.22% HTML 0.57% Objective-C 0.03% Assembly 0.27% QMake 0.33% Shell 0.03% QML 0.12% MATLAB 0.19% CMake 0.01% GLSL 0.01% Batchfile 0.01% Python 0.71% M 0.01% NSIS 0.04% Smarty 0.01% DIGITAL Command Language 0.03% JavaScript 0.01%
uav drone quadcopter hexacopter helicopter plane fpv multirotor navigation-functionality openpilot

dronin's People

Contributors

alessiomorale avatar chebuzz avatar corvuscorax avatar dankers avatar droidicus avatar dustin avatar ekaszubski avatar elafargue avatar ernieift avatar glowtape avatar janfietz avatar janhurst avatar jihlein avatar kipk avatar kubark42 avatar lilvinz avatar m-thread avatar mathieur avatar metropt avatar mike928 avatar mluessi avatar mlyle avatar peabody124 avatar ptdreamer avatar sambas avatar solidgoldbomb avatar tracernz avatar trex4git avatar webbbn avatar xdandys avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dronin's Issues

Remove support for AerosimRC?

Doubt this is used anymore, along with HITL in general. Would be nice to get HITL down to a short list of targets but to actually make it work on them.

Structured app for autotune results

Instead of a long free-form forum thread with a bunch of text and hard to link to things that require login to even look at, let's create a simple web app (I like GAE) to which we can post autotune results, then index them by various fields, aggregate them, query, look for anomalies, alert on stuff, etc...

GCS: Default layouts

Reconsider the default layouts. This is one I'd like to change to in particular, the system health bar at the bottom is super useful:
screenshot from 2015-11-28 21 21 22

Review Tau Labs bugs

See what we've inherited and move important ones over.

  • 2096 rfm22b: Allow selection of hardware band.
  • 2095 Remove double precision calls
  • 2093 Package refactoring
  • 2091 Ground: Fix crash reporting on OSX
  • 2090 GCS/Quazip Lib: Updated and moved to separate dir
  • 2088 Gcs autoupdate
  • 2087 BrushedSparky: check in schematic for production version
  • 2081 MSP Alarm support.
  • 2074 Automatically determine timer resolution for PWM outputs
  • 2071 ok_to_arm check in ManualControl unsafe
  • 2070 Failed to Autotune Sparky 1
  • 2069 ADC: Runtime configuration / cleanup
  • 2061 Synchronize SystemSettings.AirframeCategorySpecificConfiguration union between FC and GCS
  • 2059 Arm Settings are Deceptive - and dangerous!
  • 2056 Sparky2: EF size is wrong
  • 2044 Need some indicator of what led to a crash
  • 2039 [WIP] GCS:Config: Map motor channels by labels rather than numbers
  • 2038 Write a Wireshark decoder for USB packets
  • 2037 Rename TrimAngles to SubTrim
  • 2031 Logging Module Improvements V2 (WIP)
  • 2027 [WIP] OpenOCD: Upgrade OpenOCD to 0.9.0 refresh configs
  • 2026 Negative climb rate during rapid ascent from 0
  • 2021 Attitude drifts during fast forward flight
  • 2017 UAVO:FirmwareIAPObj: Description field name is reserved
  • 2013 Autotune on Naze32 produces incorrect values
  • 2012 mavlink needs help
  • 2004 ConfigAutotuneWidget::recomputeStabilization has hard-coded convergence limit
  • 2003 OpenOCD configs are stale
  • 2002 #1759 uninitialized pointers
  • 2001 Modify PIOS_HAL_ConfigurePort to use struct as argument
  • 1998 TauLinkModule license is incorrect needs to attribute C.Moss
  • 1996 Determe where a queue is created
  • 1991 Check coding style guidelines in Jenkins
  • 1988 Setup Wizard: Add selection of default gains by vehicle size
  • 1980 Support for 3D flying
  • 1977 Slight refactoring of the AltitudeHold module
  • 1973 Use mass storage for retrieving logged data
  • 1972 Idea: Remove temperature from high frequency UAVOs (Gyros Accels)
  • 1971 i2c/usart openlog-compatible/blackbox logger
  • 1970 Thoughts on mixer infrastructure
  • 1966 other languages โ€‹โ€‹ text for translators missing
  • 1959 Naze32 not getting past Board Identification in Setup Wizard
  • 1953 Sparky2: FrSKY HPWM RSSI
  • 1951 VtolFollower: Endpoint following saturation and attitude saturation are not guaranteed to control path towards endpoint
  • 1950 Sparky2 images on official distributor (hobbiesfly) and wiki do not agree
  • 1949 Higher level controllers should be implemented by callbacks not tasks.
  • 1942 License.txt file refers to a previous project
  • 1941 Fix PIOS_DELAY_WaitmS jitter
  • 1935 Make: Replace Jenkins Package Scripts with Makefile Target
  • 1934 GCS: Clicking "default" on stabilization basic page does not reset derivative term
  • 1931 Clean up anti-corruption
  • 1929 GCS: Running calibrations on Attitude page doesn't indicate if Attitude system is in error
  • 1926 UAVO: New HwShared parent causes field misalignment
  • 1919 Bad Mag drift than 1 month ago
  • 1918 System-scoped settings should be removed from GCS
  • 1917 Better implementation for overriding buffer sizes
  • 1915 Airframe trimming (fixed wings)
  • 1912 Altitudehold should be considered an autonomous mode for low throttle purposes
  • 1905 debs produced by make package do not work on recent ubuntu
  • 1904 Radiocombridge's reliance on larger buffer sizes should be eliminated if possible
  • 1903 IAP reset on production Sparky2 sometimes causes panic(2)
  • 1902 Purpose of discoveryf4 target?
  • 1895 Make dependencies broken with uavos in GCS
  • 1891 Continued investigation of -ffast-math and other compiler flags needed
  • 1882 Brain FPV GCS Program Crash Windows 10
  • 1881 Common functions should be moved to math header so they can get inlined
  • 1878 Endomorphism postmortem
  • 1877 Need a Yaw mode: HEADFREE
  • 1875 Remove ERASE_FLASH from targets
  • 1861 GCS:Uploader: Add automatic reconnect after reset for serial devices
  • 1860 Flight: Block IAP Requests via Radio
  • 1854 Very long command lines on link can fail (noticed on Windows)
  • 1852 AltitudeHold should be enhanced to work with collective-pitch and other aircraft
  • 1851 Stabilization modules should be able to control both throttle and collective outputs
  • 1827 RevoMini PPM+OUTPUTS/OUTPUTS on receiverport does nothing
  • 1821 Sending IAP reset to Sparky2 with USB and Bat connected causes motors to spin and servos to move
  • 1813 GCS: Make settings erase easier for non-booting boards
  • 1805 HAL Refactor/#1759 remnant: AndroidGCS support for inherited UAVO
  • 1800 Connection Diagram for cPPM Connection on RevoMini
  • 1796 Tau Labs OpenLRS support unreliable
  • 1792 When sanity checks fail we should panic.
  • 1789 Windows development setup on wiki needs update
  • 1785 ExpoM for Acro/Rate
  • 1781 [FOR TESTING/REVIEW] Flight: adding gyro down-sampling & additional filtering functionality
  • 1774 RFC: Failsafe++
  • 1761 RFM22B frequency band should be settable
  • 1734 BUG: Low priority Welcome screen no function for button HILT
  • 1730 [WIP] Flight: adding gyro sub-sampling functionality
  • 1722 UAVTalk over USB HID connection written bytes end in read buffer
  • 1714 Yaw channel isn't read properly in GCS
  • 1695 GPS module initializes GPS UAVOs even if module is disabled
  • 1690 GCS Module: 1wire protocol 4w-if SK/BL ESC flash settings
  • 1689 WS2812 addressable LED support
  • 1687 Rapidflash/OpenLRSng/BF/CF Chrome-style "configurator"
  • 1663 Sparky2 reboots / USB telemetry crashes
  • 1653 CameraStab Save Error
  • 1648 Erase not all setting by "Erase all settings from board"
  • 1644 OPMap: waypoint editor features overlap with PathPlanner gadget
  • 1640 Quanton: fewer outputs than before
  • 1627 Arming with Position Hold mode in flying modes
  • 1607 OPMap: does not load existing waypoints when gadget created after WP load
  • 1596 Ability to zero home location/altitude on arm
  • 1594 gcs crashes upon disconnect if there is no USB write permissions (Linux)
  • 1593 Make the python mag_calibration callable from logview.py
  • 1591 board settings restore after clearing does not restore max channel number beyond 10
  • 1584 Loading path makes telemetry connection interrupt briefly
  • 1583 INS should never go to NAN and should set alarm/reinit if so
  • 1559 limited digits in UAVObjectBrowser
  • 1557 Input wizard should refuse to run if ManualControlSettings does not match
  • 1554 internationalization support for GCS
  • 1545 GCS can sometimes crash when fetching data from Taulink
  • 1530 Sparky2 reset on USB connect with ChibiOS
  • 1529 Sending reset command from uploader blocks a telemetry reconnect
  • 1528 Watchdog handler should drive all outputs low
  • 1522 GCS crashes when trying to save with model type as Helicopter
  • 1509 GCS: Check for enabled modules depending on selected flight modes
  • 1501 Minimal "Config mode" GCS configuration file
  • 1485 Reproducable crash on exit with Netbook configuration
  • 1475 Six point calibration leaves sensors (gyro accel mag) not updating
  • 1474 Six point calibration gives time out error with TauLink
  • 1469 GCS Linux 64Bit wrong tooltip background color
  • 1468 GCS: temperature calibration stack overflow crash after 30 minutes
  • 1453 Autotune MWRate mode
  • 1435 Resting on ground in altitude hold mode results in motor windup
  • 1433 Configuration profiles
  • 1429 HTML/JS log viewer
  • 1418 Unstable Telemetry Link
  • 1410 Failsafe state system
  • 1408 Robot operating system (ROS) interface
  • 1398 Failsafe and disarm timeout with RFM22B strangeness
  • 1388 Enhance 'Share Autotune Window' (Very Low Priority)
  • 1382 Reformalize the representation of altitude
  • 1377 Setup wizard should not apply settings when armed
  • 1370 Fixed wing path end invalid
  • 1365 GCS seems to buffer events while in background
  • 1364 PiOS/BMP085: MS5611 remarks.
  • 1349 Buzzer output
  • 1343 PicoC for navigation and grid search
  • 1331 GCS crashes when pressing stop button of x-plane widget (HITL tab)
  • 1323 androidgcs pollutes source folder
  • 1297 GCS: Support Menu Item
  • 1274 Consolidate shared startup code across targets
  • 1272 PicoC PWMSet hammers telemetry
  • 1268 Settings memory seems to be full early
  • 1258 transmitter_control: bad timer math
  • 1256 eventdispatcher: bad timer math
  • 1242 Provide documentation to the filesystem used by TL
  • 1241 Input wizard should emphasize toggling flight mode switch
  • 1234 Periodic UAVO's update scheduler piles up updates.
  • 1232 ManualRate / MaxRate should not allow negatives
  • 1231 Attitude initialization without mag
  • 1220 State machine to track flight status
  • 1195 Setup Bluetooth (Low Priority)
  • 1184 Android GCS does not work with XBee
  • 1173 Stabilization settings sometimes end up grayed out
  • 1156 Android GCS cosmetic bug
  • 1152 Allow flight controller to send objects before requesting
  • 1146 qt5 Windows 8.1 cosmetic bug
  • 1121 Non connected Telemetry gives warning.
  • 1088 Reduce memory usage of HoTT telemetry
  • 1086 Add 'missing' UARTS to RevoMini
  • 1060 Airspeed UI sensor type dropdown not working
  • 1044 Crash with missed object updates
  • 1033 SystemAlarms: ConfigError: Stabilization is hard to track down
  • 1024 Bad descripition of the arming settings choices
  • 1021 Can't reconnect after 60 seconds armed
  • 1019 Throw out glitchy GPS samples
  • 1015 Single loop VTOL PH controller
  • 974 FlyingF3 - ADC pin mapping documentation
  • 973 Cannot force update of multi-instance object
  • 965 Setupwizard call to new StartPage fails
  • 956 Add sensor rate to the hardware configuration tab for FF3
  • 933 Removes explicit dependency on SystemAlarms UAVObjID value
  • 932 add timeout to spi driver configuration
  • 930 GCS crash writing meta data
  • 927 Tablet mode does not indicate control source when failsafing
  • 923 Uploader firmware information does not update after a flash
  • 922 CC Attitude should initialize attitude
  • 919 Refactor airspeed module
  • 915 Wizard should not float on top
  • 914 Wizard should not continue when board type is not supported
  • 913 Uploader widget does not scroll
  • 908 Initial gyro calibration is bad
  • 904 Vibration Analysis - "Start Test" button
  • 896 Ensure that board outputs are always 0 before continuing to next step in calibration wizard
  • 888 Very complicated concept of "limits" in UAVObject ?
  • 886 Mavlink on all UART
  • 882 Increase threshold for arming
  • 879 Output tab should have button for reloading board data
  • 875 API for GCS control
  • 874 Arming & Airframe specific failsafe behavior
  • 849 Remove board rotation spinboxes
  • 840 PIOS_DELAY_GetuSSince is not overflow safe
  • 833 saveState != AWAITING_ACK in UAVObjectUtilManager::objectPersistenceTransactionCompleted
  • 832 Change default GCS logging behavior to log all telemetry
  • 828 Logfile playback needs some improvement
  • 824 Module Run-Time status should be explicitly indicated by FC
  • 818 Channel Passtrue to PWN Output and more channels
  • 813 Show flight path
  • 812 Dynamically download UAVO jar files
  • 786 Indicate that export to KML support is not compiled
  • 785 Always armed mode does not allow for gyroscope zeroing
  • 784 Add extra field to GPS indicating that not all required messages are being received
  • 778 Create error dialog when attempting to halt an armed board
  • 768 CoordinateFlight gains incompatible with yaw gains
  • 753 OSX GCS crash on locked up USB device
  • 752 Serial port telemetry using 3DR telemetry units requires disconnect/connect before working properly
  • 735 Patch ST library const errors upstream
  • 732 ACK flag in uav objects needs to be less ambiguous
  • 722 Stop using getBoardModel() in the GCS
  • 678 Telemetry schedulers apply current does not work
  • 664 Color code telemetry scheduler UAVOs
  • 655 Update telemetry vu meter calibration
  • 642 Adapt autotest.py to Tau Labs
  • 634 ERASE_FLASH compile flag breaks the compile.
  • 631 Autobaud configuration
  • 630 PIOS_ADC_Init's return value isn't checked
  • 629 GCS not responding during temp compensation calibration
  • 626 Load on simulation doesn't update
  • 624 Remove "Show this message again" checkbox from mismatched firmware-GCS warning
  • 619 STM32F3 I2C system doesn't handle NACK events
  • 614 Allow multiple instance UAVOs in settings objects
  • 603 Disable setting home with GCS when vehicle is armed
  • 601 GCS is not synced to data UAVOs when first connecting
  • 596 Add failsafe as flight mode
  • 587 Add input configuration to SetupWizard for FlyingF3
  • 586 Add input configuration to SetupWizard for Quanton
  • 585 Wizard text is not selectable
  • 584 SetupWizard should refuse to run with mismatched firmware
  • 582 Implement Windows KML support
  • 578 PipX: Support for different module frequencies
  • 539 Sensor configurations should move into board_hw_defs.c
  • 529 Change 6-point calibration layout to be more logical
  • 528 Uniform defines for NED indices
  • 510 Sometimes GCS shows a corrupted firmware string while flashing
  • 504 Waypoint should have atomic sets of changes
  • 500 Plugging in powered board to uploader gadget crashes GCS
  • 493 Satellite thresholds should be in a UAVO
  • 490 GCS should prevent waypoints with zero velocity
  • 485 Possibly abstract details of how to set RTH / PH out of manual control
  • 483 Move LLA2NED conversions into a library function
  • 456 Android tablet info sometimes doesn't update
  • 434 Use board plugin query to determine whether to measure baro variance
  • 419 Refactor airframe configuration module
  • 418 Provide documentation for SystemSettings.GuiConfigData.
  • 415 Cleanup GCS config plugin directory
  • 414 PH can be enabled while GPS has dropped out
  • 413 Make sure HomeLocation cannot change or be updated while armed
  • 406 TXPID - Throttle add Airspeed as option
  • 383 Update X-plane HiTL to X-Plane 10
  • 364 widgetsContentsChanged() is flooding on board connection
  • 362 Arm only when input states are valid
  • 344 Auto-generated system alarm gadget
  • 307 Custom curves use floats
  • 299 Refactor GCS mixer tab
  • 292 PipX link quality on PFD
  • 291 Ability to re-level aircraft
  • 287 Telemetry service should better track connection state
  • 285 I2CVM object keeps getting sent
  • 265 Upgrade QWT to 6.1
  • 253 DMA for SPI on STM32F3
  • 251 Most of GCS program icon is not clickable on OSX
  • 243 Find a proper solution for possible race conditions with UAVO callbacks
  • 239 Update sensor noise graph graphics and behavior
  • 235 Only export valid settings from GCS
  • 208 Fix make package target
  • 196 Lightweight android model for quad / plane
  • 192 UAVO browser should alphabetize irrespective of capital letters
  • 191 UAVO methods get/set should explicitly use the enum data type when possible
  • 180 DMA for serial port on F4
  • 174 Make gcs valgrind proof
  • 168 Provide global sensor dT
  • 137 Support for multiple telemetry protocols
  • 124 Check uart interrupt priorities
  • 97 ST StdPeriph GPIO functions used in PiOS/Common
  • 94 Introduce a .gitattributes file into the repo to cope with line endings
  • 86 Dynamic registration of boards
  • 63 PIOS_I2C Transfer ending checks seem a bit redundant.
  • 46 UAVO struct field

Release Schedule

We should come up with a release schedule, document it, and get on with it.

Setup 'new contributor' labels based issue guidance

See
image
for an example from the InfluxDB project.

It would be great to have category and difficulty labels to provide a way for new contributors to find work they can pick up and do without worrying too much about a far-reaching, multi-target(?) change.

Vehicle setup wizard: Confusing for setups that require port configuration changes.

When using the vehicle setup Wizard on a hex with a brain board I wasn't able to complete the output calibration since motors 5/6 are off the main port and that setting had not been changed yet. I was able to set the values - but obviously the motors never spun up since the port wasn't set to enable those outputs yet.

Maybe a new step in the setup wizard to allow setting board options before doing calibrations?

Video of me doing a setup after not trying the wizard for at least 6 months here:
https://www.youtube.com/watch?v=NTS6S9icEVI&feature=youtu.be&hd=1

Jenkins: complete configuration

  • PR builder integrated to say "OK to commit"
  • Run unit tests -- make all_ut_run
  • Production of artifacts
  • IRC notification, better text?
  • Windows build

SPRacingF3, Dodo, TornadoF3: Modern acro board support

All mentioned boards essentially run the spfr3 cleanflight. @jihlein has a branch in progress with naze32pro/dodo support. I spent a small amount of time adapting it to SPRacingf3. I also have some Tornadof3 here now which I believe runs the spfr3 as well, so potentially minimal modifications required.

The tornadof3 is my favorite of the bunch, no cp2102, signal llc buffer (unfortunately no ESC programming pass-thru), polulu 5v stepdown pin-out. It doesn't have sensors on SPI, so sensor bus detection may be required, or something.

ChibiOS uptime with GCS connected is limited to 4295 seconds/1hr 11 min

ChibiOS:
https://github.com/d-ronin/dronin/blob/next/flight/PiOS/Common/pios_thread.c#L206

#define ST2MS(n) (((((n) - 1UL) * 1000UL) / CH_FREQUENCY) + 1UL)

Overflows at (2^32-1)/1000
(2^32-1)/1000/1000(ms) = 4295 s = approx 1 hr 11 mins

FreeRTOS:
https://github.com/d-ronin/dronin/blob/next/flight/PiOS/Common/pios_thread.c#L43

#define TICKS2MS(t) ((t) * (portTICK_RATE_MS))

portTICK_RATE_MS is 1 for our targets (i.e. 1000 Hz tick frequency) thus overflows at 2^31-1
(2^32-1)/1000(ms) = 4294967 s = approx 1193 hours

I am assuming an assert somewhere causes a reboot when we rollover PIOS_Thread_Systime because my Chibi boards reboot at about this time.

Multiple profile support

I have ships (quadcopters) that are both 3S, 4S, sometimes with a variety of props on a given day.

I'd like to be able to autotune the powertrains individually and store them in banks as well as have a way to switch between them. Ideally this would extend to battery monitoring and stuff too.

GCS: Change welcome screen panels

The current information shown on the welcome screen isn't particularly useful to end-users. We should consider replacing the Github panel with github issue titles and a link to the issue tracker. The TL forum stuff should be removed, possibly pending our own forum. If we keep the forum box it should be altered to display titles only so it fits more than one post. We should make it possible to display critical (nice bold red) announcements to users of older versions with known critical bugs.

Add ability to only import non-default settings

Currently, when UAVO settings are exported and later imported, they overwrite all the settings. This leads to problems, e.g. the VTOL path follower defaults have been tweaked to work better, but users who import settings during an upgrade won't benefit from the new defaults.

I think it would be good to have the ability to only import settings that are different from the default. One way to do this is to indicate in the exported xml file which settings are different from the default. When importing, the user could then select to either import all settings or just the the ones that are different from default (the latter should be the default choice).

GCS: Analytics

Consider instrumenting GCS with (Google?) analytics. This would allow us to track usage of particular boards, features, and errors, allowing us to make more informed decisions and better data to combat frustrations.

UAVOs should be self-documenting

There's a lot of need to use the UAVO browser but it's not clear what fields mean without looking at the code. It would be nice to have documentation strings in the XML that python & the GCS can use. (for tooltips etc).

Usability: Input configuration

Display of current TX values is disappointing for users coming from Base/Cleanflight. In their configuration app the values are displayed as a bargraph that updates in real time making it very easy to tell how your TX/RX are working.

In our GCS the numeric value is shown to the right - but it updates slowly and isn't obvious so it's easy for a new user to miss. I've always found the delay in values updating to be really annoying when trouble shooting common issues like figuring out why stick arming isn't working.

Going into manual calibration values display in real time. But every time you go into manual calibration the existing setup is wiped and arming is disabled so you have to reset everything. This feels really cumbersome and annoying when you're first coming over from naze-land and I still find it frustrating when I'm having an input calibration issue.

Also min/max values can be input directly, but neutral values can only be set with a slider - which is hard to adjust in small increments. It would be nice to be able to input neutral values directly without having to use the UAVO browser which is intimidating to new users.

Branding

About box, license file, logo.

  • ground/gcs/src/plugins/config/images/TX2.svg
  • ground/gcs/src/plugins/config/images/Transmitter.png
  • ground/gcs/src/plugins/config/images/multirotor-shapes.svg
  • ground/gcs/src/plugins/coreplugin/images/taulabs_logo_128.png
  • ground/gcs/src/plugins/coreplugin/images/taulabs_logo_256.png
  • ground/gcs/src/plugins/coreplugin/images/taulabs_logo_32.png
  • ground/gcs/src/plugins/coreplugin/images/taulabs_logo_64.png
  • ground/gcs/src/plugins/welcome/qml/images/welcome-logo.png
  • ground/gcs/src/app/resources/tau_trans.png

Blocks on getting logo(s) from fiverr.

other existing tl logos need replacing, links pointing to 'next' branch'

taulabs_logo_32.png

taulabs_logo_64.png

taulabs_logo_128.png

taulabs_logo_256.png

welcome-logo.png

Not sure what this is, transparent? (--@fujin)
tau_trans.png

Kill all compiler warnings

Let's kill them all and enable -Werror for GCS.

Current state with GCC/Linux x64:

mike@mike-desktop:~/Dev/dronin$ make all_clean
[ ! -d "/home/mike/Dev/dronin/build" ] || rm -r "/home/mike/Dev/dronin/build"
mike@mike-desktop:~/Dev/dronin$ make -j8 all 1> /dev/null
/home/mike/Dev/dronin/make/firmware-common.mk:167: warning: overriding commands for target `/home/mike/Dev/dronin/build/sim_posix/sim_posix.elf_size'
Makefile.posix:359: warning: ignoring old commands for target `/home/mike/Dev/dronin/build/sim_posix/sim_posix.elf_size'
/home/mike/Dev/dronin/flight/Modules/OnScreenDisplay/onscreendisplay.c: In function 'OnScreenDisplayInitialize':
/home/mike/Dev/dronin/flight/Modules/OnScreenDisplay/onscreendisplay.c:1623:41: warning: passing argument 1 of 'OnScreenDisplaySettingsConnectCallback' from incompatible pointer type
  OnScreenDisplaySettingsConnectCallback(OnScreenSettingsUpdatedCb);
                                         ^
In file included from /home/mike/Dev/dronin/flight/Modules/OnScreenDisplay/onscreendisplay.c:66:0:
/home/mike/Dev/dronin/build/uavobject-synthetics/flight/onscreendisplaysettings.h:93:23: note: expected 'UAVObjEventCallback' but argument is of type 'void (*)(struct UAVObjEvent *)'
 static inline int32_t OnScreenDisplaySettingsConnectCallback(UAVObjEventCallback cb) { return UAVObjConnectCallback(OnScreenDisplaySettingsHandle(), cb, NULL, EV_MASK_ALL_UPDATES); }
                       ^
/home/mike/Dev/dronin/flight/Modules/OnScreenDisplay/onscreendisplay.c:1626:45: warning: passing argument 1 of 'OnScreenDisplayPageSettingsConnectCallback' from incompatible pointer type
  OnScreenDisplayPageSettingsConnectCallback(OnScreenPageUpdatedCb);
                                             ^
In file included from /home/mike/Dev/dronin/flight/Modules/OnScreenDisplay/onscreendisplay.c:67:0:
/home/mike/Dev/dronin/build/uavobject-synthetics/flight/onscreendisplaypagesettings.h:209:23: note: expected 'UAVObjEventCallback' but argument is of type 'void (*)(struct UAVObjEvent *)'
 static inline int32_t OnScreenDisplayPageSettingsConnectCallback(UAVObjEventCallback cb) { return UAVObjConnectCallback(OnScreenDisplayPageSettingsHandle(), cb, NULL, EV_MASK_ALL_UPDATES); }
                       ^
/home/mike/Dev/dronin/flight/Modules/OnScreenDisplay/onscreendisplay.c:1627:46: warning: passing argument 1 of 'OnScreenDisplayPageSettings2ConnectCallback' from incompatible pointer type
  OnScreenDisplayPageSettings2ConnectCallback(OnScreenPageUpdatedCb);
                                              ^
In file included from /home/mike/Dev/dronin/flight/Modules/OnScreenDisplay/onscreendisplay.c:68:0:
/home/mike/Dev/dronin/build/uavobject-synthetics/flight/onscreendisplaypagesettings2.h:209:23: note: expected 'UAVObjEventCallback' but argument is of type 'void (*)(struct UAVObjEvent *)'
 static inline int32_t OnScreenDisplayPageSettings2ConnectCallback(UAVObjEventCallback cb) { return UAVObjConnectCallback(OnScreenDisplayPageSettings2Handle(), cb, NULL, EV_MASK_ALL_UPDATES); }
                       ^
/home/mike/Dev/dronin/flight/Modules/OnScreenDisplay/onscreendisplay.c:1628:46: warning: passing argument 1 of 'OnScreenDisplayPageSettings3ConnectCallback' from incompatible pointer type
  OnScreenDisplayPageSettings3ConnectCallback(OnScreenPageUpdatedCb);
                                              ^
In file included from /home/mike/Dev/dronin/flight/Modules/OnScreenDisplay/onscreendisplay.c:69:0:
/home/mike/Dev/dronin/build/uavobject-synthetics/flight/onscreendisplaypagesettings3.h:209:23: note: expected 'UAVObjEventCallback' but argument is of type 'void (*)(struct UAVObjEvent *)'
 static inline int32_t OnScreenDisplayPageSettings3ConnectCallback(UAVObjEventCallback cb) { return UAVObjConnectCallback(OnScreenDisplayPageSettings3Handle(), cb, NULL, EV_MASK_ALL_UPDATES); }
                       ^
/home/mike/Dev/dronin/flight/Modules/OnScreenDisplay/onscreendisplay.c:1629:46: warning: passing argument 1 of 'OnScreenDisplayPageSettings4ConnectCallback' from incompatible pointer type
  OnScreenDisplayPageSettings4ConnectCallback(OnScreenPageUpdatedCb);
                                              ^
In file included from /home/mike/Dev/dronin/flight/Modules/OnScreenDisplay/onscreendisplay.c:70:0:
/home/mike/Dev/dronin/build/uavobject-synthetics/flight/onscreendisplaypagesettings4.h:209:23: note: expected 'UAVObjEventCallback' but argument is of type 'void (*)(struct UAVObjEvent *)'
 static inline int32_t OnScreenDisplayPageSettings4ConnectCallback(UAVObjEventCallback cb) { return UAVObjConnectCallback(OnScreenDisplayPageSettings4Handle(), cb, NULL, EV_MASK_ALL_UPDATES); }
                       ^
Project MESSAGE: tlfw_resource.qrc not found.  Automatically firmware updates disabled.
/home/mike/Dev/dronin/ground/gcs/src/libs/libcrashreporter-qt/breakpad/client/linux/handler/exception_handler.cc:387:6: warning: unused parameter โ€˜sigโ€™ [-Wunused-parameter]
 bool ExceptionHandler::HandleSignal(int sig, siginfo_t* info, void* uc) {
      ^
/home/mike/Dev/dronin/ground/gcs/src/libs/libcrashreporter-qt/breakpad/client/linux/handler/exception_handler.cc: In member function โ€˜bool google_breakpad::ExceptionHandler::SimulateSignalDelivery(int)โ€™:
/home/mike/Dev/dronin/ground/gcs/src/libs/libcrashreporter-qt/breakpad/client/linux/handler/exception_handler.cc:424:24: warning: missing initializer for member โ€˜siginfo_t::si_signoโ€™ [-Wmissing-field-initializers]
   siginfo_t siginfo = {};
                        ^
/home/mike/Dev/dronin/ground/gcs/src/libs/libcrashreporter-qt/breakpad/client/linux/handler/exception_handler.cc:424:24: warning: missing initializer for member โ€˜siginfo_t::si_errnoโ€™ [-Wmissing-field-initializers]
/home/mike/Dev/dronin/ground/gcs/src/libs/libcrashreporter-qt/breakpad/client/linux/handler/exception_handler.cc:424:24: warning: missing initializer for member โ€˜siginfo_t::si_codeโ€™ [-Wmissing-field-initializers]
/home/mike/Dev/dronin/ground/gcs/src/libs/libcrashreporter-qt/breakpad/client/linux/handler/exception_handler.cc:424:24: warning: missing initializer for member โ€˜siginfo_t::_sifieldsโ€™ [-Wmissing-field-initializers]
/home/mike/Dev/dronin/ground/gcs/src/libs/libcrashreporter-qt/breakpad/client/linux/crash_generation/crash_generation_client.cc: In member function โ€˜bool google_breakpad::CrashGenerationClient::RequestDump(const void*, size_t)โ€™:
/home/mike/Dev/dronin/ground/gcs/src/libs/libcrashreporter-qt/breakpad/client/linux/crash_generation/crash_generation_client.cc:78:218: warning: suggest braces around empty body in an โ€˜ifโ€™ statement [-Wempty-body]
   IGNORE_RET(HANDLE_EINTR(sys_read(fds[0], &b, 1)));
                                                                                                                                                                                                                          ^
In file included from .uic/ui_stabilization.h:32:0,
                 from /home/mike/Dev/dronin/ground/gcs/src/plugins/config/configstabilizationwidget.h:30,
                 from /home/mike/Dev/dronin/ground/gcs/src/plugins/config/configstabilizationwidget.cpp:27:
/home/mike/Dev/dronin/ground/gcs/src/plugins/config/expocurve.h:33:0: warning: "QWT_DLL" redefined [enabled by default]
 #define QWT_DLL
 ^
<command-line>:0:0: note: this is the location of the previous definition
In file included from /home/mike/Dev/dronin/ground/gcs/src/plugins/config/expocurve.cpp:27:0:
/home/mike/Dev/dronin/ground/gcs/src/plugins/config/expocurve.h:33:0: warning: "QWT_DLL" redefined [enabled by default]
 #define QWT_DLL
 ^
<command-line>:0:0: note: this is the location of the previous definition
/home/mike/Dev/dronin/ground/gcs/src/plugins/config/configosdwidget.cpp: In member function โ€˜void ConfigOsdWidget::setCustomText()โ€™:
/home/mike/Dev/dronin/ground/gcs/src/plugins/config/configosdwidget.cpp:350:46: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i=0; i<OnScreenDisplaySettings::CUSTOMTEXT_NUMELEM; i++){
                                              ^
/home/mike/Dev/dronin/ground/gcs/src/plugins/config/configosdwidget.cpp: In member function โ€˜void ConfigOsdWidget::getCustomText()โ€™:
/home/mike/Dev/dronin/ground/gcs/src/plugins/config/configosdwidget.cpp:363:46: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i=0; i<OnScreenDisplaySettings::CUSTOMTEXT_NUMELEM; i++){
                                              ^
In file included from .uic/ui_stabilization.h:32:0,
                 from .moc/debug-shared/../../../../../../../../ground/gcs/src/plugins/config/configstabilizationwidget.h:30,
                 from .moc/debug-shared/moc_configstabilizationwidget.cpp:9:
/home/mike/Dev/dronin/ground/gcs/src/plugins/config/expocurve.h:33:0: warning: "QWT_DLL" redefined [enabled by default]
 #define QWT_DLL
 ^
<command-line>:0:0: note: this is the location of the previous definition
In file included from .moc/debug-shared/moc_expocurve.cpp:9:0:
.moc/debug-shared/../../../../../../../../ground/gcs/src/plugins/config/expocurve.h:33:0: warning: "QWT_DLL" redefined [enabled by default]
 #define QWT_DLL
 ^
<command-line>:0:0: note: this is the location of the previous definition
In file included from .uic/ui_stabilization.h:32:0,
                 from /home/mike/Dev/dronin/ground/gcs/src/plugins/config/configstabilizationwidget.h:30,
                 from /home/mike/Dev/dronin/ground/gcs/src/plugins/config/configgadgetwidget.cpp:34:
/home/mike/Dev/dronin/ground/gcs/src/plugins/config/expocurve.h:33:0: warning: "QWT_DLL" redefined [enabled by default]
 #define QWT_DLL
 ^
<command-line>:0:0: note: this is the location of the previous definition
/home/mike/Dev/dronin/ground/gcs/src/plugins/config/configoutputwidget.cpp: In member function โ€˜void ConfigOutputWidget::startESCCalibration()โ€™:
/home/mike/Dev/dronin/ground/gcs/src/plugins/config/configoutputwidget.cpp:345:33: warning: unused variable โ€˜buttโ€™ [-Wunused-variable]
     QMessageBox::StandardButton butt;
                                 ^

BrainFPV support

With the relaxation of strict open-hardware policies it will be possible for us to have BrainFPV in-tree, with unified GCS, packaging, release timelines, if @BrainFPV is up for it.

What needs to be done to make this happen? Is everyone OK with the idea? Brain is a great, commodity board with excellent performance.

Usability: Basic setup instructions for new users

I'm going to try and work on writing something up for this. Basically a get in the air quick guide for new users and those coming over from other platforms. Things I found (and still find) confusing coming over from the traditional Naze firmwares:

Input configuration: (See Issue #70)
General GCS layout: Tabs vs. panes
Object Browser: request/send vs. load/save
Changes that require a reboot vs. those that don't ( Think they may all have warnings now but need to check.)
Attitude Filter Settings: (When to change and why - for beginners...leave them alone, but at least answer what they are.)

Most of this is in the wiki...but isn't obvious or easy to find. So it's as much about re-organizing and writing new material.

discussion: remove flyingf4?

Cons-- there's some users out there, it's cheap
Pros-- it's difficult to set up (no sensors onboard unlike flyingf3), using user USB is problematic, Voh is problematic.

GCS: Firmware upgrade wizard

The basic steps would be:

  • Read all the settings UAVOs off the board
  • Flash the new firmware
  • Translate all the setttings UAVOs as much as possible (will need UAVO infrastructure changes)
  • Send new settings to the board

The process should be fully automated so that the user doesn't need to click "halt", open a firmware file, click "flash", click "boot" etc.

Remove MWRate mode

It's a bastard stepchild. If it has any desirable properties, they should be taught to existing modes.

OSD code doesn't use new event system!

Breaks build.

/home/mike/Dev/dronin/flight/Modules/OnScreenDisplay/onscreendisplay.c: In function 'OnScreenDisplayInitialize':
/home/mike/Dev/dronin/flight/Modules/OnScreenDisplay/onscreendisplay.c:1623:41: warning: passing argument 1 of 'OnScreenDisplaySettingsConnectCallback' from incompatible pointer type
  OnScreenDisplaySettingsConnectCallback(OnScreenSettingsUpdatedCb);
                                         ^
In file included from /home/mike/Dev/dronin/flight/Modules/OnScreenDisplay/onscreendisplay.c:66:0:
/home/mike/Dev/dronin/build/uavobject-synthetics/flight/onscreendisplaysettings.h:93:23: note: expected 'UAVObjEventCallback' but argument is of type 'void (*)(struct UAVObjEvent *)'
 static inline int32_t OnScreenDisplaySettingsConnectCallback(UAVObjEventCallback cb) { return UAVObjConnectCallback(OnScreenDisplaySettingsHandle(), cb, NULL, EV_MASK_ALL_UPDATES); }
                       ^
/home/mike/Dev/dronin/flight/Modules/OnScreenDisplay/onscreendisplay.c:1626:45: warning: passing argument 1 of 'OnScreenDisplayPageSettingsConnectCallback' from incompatible pointer type
  OnScreenDisplayPageSettingsConnectCallback(OnScreenPageUpdatedCb);
                                             ^
In file included from /home/mike/Dev/dronin/flight/Modules/OnScreenDisplay/onscreendisplay.c:67:0:
/home/mike/Dev/dronin/build/uavobject-synthetics/flight/onscreendisplaypagesettings.h:209:23: note: expected 'UAVObjEventCallback' but argument is of type 'void (*)(struct UAVObjEvent *)'
 static inline int32_t OnScreenDisplayPageSettingsConnectCallback(UAVObjEventCallback cb) { return UAVObjConnectCallback(OnScreenDisplayPageSettingsHandle(), cb, NULL, EV_MASK_ALL_UPDATES); }
                       ^
/home/mike/Dev/dronin/flight/Modules/OnScreenDisplay/onscreendisplay.c:1627:46: warning: passing argument 1 of 'OnScreenDisplayPageSettings2ConnectCallback' from incompatible pointer type
  OnScreenDisplayPageSettings2ConnectCallback(OnScreenPageUpdatedCb);
                                              ^
In file included from /home/mike/Dev/dronin/flight/Modules/OnScreenDisplay/onscreendisplay.c:68:0:
/home/mike/Dev/dronin/build/uavobject-synthetics/flight/onscreendisplaypagesettings2.h:209:23: note: expected 'UAVObjEventCallback' but argument is of type 'void (*)(struct UAVObjEvent *)'
 static inline int32_t OnScreenDisplayPageSettings2ConnectCallback(UAVObjEventCallback cb) { return UAVObjConnectCallback(OnScreenDisplayPageSettings2Handle(), cb, NULL, EV_MASK_ALL_UPDATES); }
                       ^
/home/mike/Dev/dronin/flight/Modules/OnScreenDisplay/onscreendisplay.c:1628:46: warning: passing argument 1 of 'OnScreenDisplayPageSettings3ConnectCallback' from incompatible pointer type
  OnScreenDisplayPageSettings3ConnectCallback(OnScreenPageUpdatedCb);
                                              ^
In file included from /home/mike/Dev/dronin/flight/Modules/OnScreenDisplay/onscreendisplay.c:69:0:
/home/mike/Dev/dronin/build/uavobject-synthetics/flight/onscreendisplaypagesettings3.h:209:23: note: expected 'UAVObjEventCallback' but argument is of type 'void (*)(struct UAVObjEvent *)'
 static inline int32_t OnScreenDisplayPageSettings3ConnectCallback(UAVObjEventCallback cb) { return UAVObjConnectCallback(OnScreenDisplayPageSettings3Handle(), cb, NULL, EV_MASK_ALL_UPDATES); }
                       ^
/home/mike/Dev/dronin/flight/Modules/OnScreenDisplay/onscreendisplay.c:1629:46: warning: passing argument 1 of 'OnScreenDisplayPageSettings4ConnectCallback' from incompatible pointer type
  OnScreenDisplayPageSettings4ConnectCallback(OnScreenPageUpdatedCb);
                                              ^
In file included from /home/mike/Dev/dronin/flight/Modules/OnScreenDisplay/onscreendisplay.c:70:0:
/home/mike/Dev/dronin/build/uavobject-synthetics/flight/onscreendisplaypagesettings4.h:209:23: note: expected 'UAVObjEventCallback' but argument is of type 'void (*)(struct UAVObjEvent *)'
 static inline int32_t OnScreenDisplayPageSettings4ConnectCallback(UAVObjEventCallback cb) { return UAVObjConnectCallback(OnScreenDisplayPageSettings4Handle(), cb, NULL, EV_MASK_ALL_UPDATES); }

UAVOs: Add description to all settings fields

Note: I have an upcoming PR which will have conflicts with this so maybe hold off until it lands.
#60 added an optional description tag for each UAVO field. These are currently shown as tooltips in the GCS UAVOBrowser widget and are exposed in the Python API. Only a few example descriptions were added in the PR. The priority should be to complete settings objects first.

This issue is to write the remainder of the settings object field descriptions. Some example descriptions can be seen in e439f17

Completed settings UAVOs (all fields):
See below for updated list of fields.

GCS: RawHID reproducible crash

TauLabs/TauLabs#1594 details a simple reproducible RawHID segfault. The stack trace shows that RawHID::close is being call but there was never a call to RawHID::open so the read and write threads are never created -> RawHIDWriteThread::stop tries to dereference m_writeThread which is a null pointer..
Backtrace for the main thread which encounters the segfault

0   RawHIDWriteThread::stop rawhid.cpp  287 0x7fffb57bc3cc  
1   RawHID::close   rawhid.cpp  359 0x7fffb57bc7f0  
2   RawHIDConnection::closeDevice   rawhidplugin.cpp    130 0x7fffb57ba3a4  
3   Core::ConnectionManager::disconnectDevice   connectionmanager.cpp   176 0x7fffc25b81b0  
4   Core::ConnectionManager::updateConnectionList   connectionmanager.cpp   399 0x7fffc25b9007  
5   Core::ConnectionManager::devChanged connectionmanager.cpp   451 0x7fffc25b935e  
6   Core::ConnectionManager::qt_static_metacall moc_connectionmanager.cpp   145 0x7fffc25e049c  
7   QMetaObject::activate(QObject *, int, int, void * *)            0x7ffff603b36e  
8   Core::IConnection::availableDevChanged  moc_iconnection.cpp 137 0x7fffc25e10c9  
9   RawHIDConnection::onDeviceConnected rawhidplugin.cpp    67  0x7fffb57b9d17  
10  RawHIDConnection::qt_static_metacall    moc_rawhidplugin.cpp    74  0x7fffb57c0af6  
11  QMetaObject::activate(QObject *, int, int, void * *)            0x7ffff603b36e  
12  USBMonitor::deviceDiscovered    moc_usbmonitor.cpp  145 0x7fffb57c14e9  
13  USBMonitor::deviceEventReceived usbmonitor_linux.cpp    77  0x7fffb57bfc65  
14  USBMonitor::qt_static_metacall  moc_usbmonitor.cpp  84  0x7fffb57c12ee  
15  QMetaObject::activate(QObject *, int, int, void * *)            0x7ffff603b36e  
16  QSocketNotifier::activated(int, QSocketNotifier::QPrivateSignal)            0x7ffff60ba46e  
17  QSocketNotifier::event(QEvent *)            0x7ffff60484eb  
18  QApplicationPrivate::notify_helper(QObject *, QEvent *)         0x7ffff71824dc  
19  QApplication::notify(QObject *, QEvent *)           0x7ffff7187640  
20  QCoreApplication::notifyInternal(QObject *, QEvent *)           0x7ffff600d6a3  
21  ??          0x7ffff6063045  
22  g_main_context_dispatch         0x7ffff39d1e04  
23  ??          0x7ffff39d2048  
24  g_main_context_iteration            0x7ffff39d20ec  
25  QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)          0x7ffff6062ae7  
26  QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)         0x7ffff600b252  
27  QCoreApplication::exec()            0x7ffff6012d3d  
28  main    main.cpp    435 0x4124e9    

Full backtrace:


Thread 24 (Thread 0x7fff6bfff700 (LWP 27615)):
#0  0x00007ffff536c12d in poll () at ../sysdeps/unix/syscall-template.S:81
No locals.
#1  0x00007fffb55a7248 in ?? () from /lib/x86_64-linux-gnu/libusb-1.0.so.0
No symbol table info available.
#2  0x00007ffff5b66182 in start_thread (arg=0x7fff6bfff700) at pthread_create.c:312
        __res = <optimized out>
        pd = 0x7fff6bfff700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140735005325056, -8246837354296878976, 1, 0, 140735005325760, 140735005325056, 8247092441509156992, 8246850072280324224}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#3  0x00007ffff537947d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
No locals.

Thread 23 (Thread 0x7fffd545a700 (LWP 27600)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
No locals.
#1  0x00007ffff5e207fb in QWaitCondition::wait(QMutex*, unsigned long) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#2  0x00007ffff4bc6c92 in ?? () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Quick.so.5
No symbol table info available.
#3  0x00007ffff4bc70b0 in ?? () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Quick.so.5
No symbol table info available.
#4  0x00007ffff5e1f7df in ?? () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#5  0x00007ffff5b66182 in start_thread (arg=0x7fffd545a700) at pthread_create.c:312
        __res = <optimized out>
        pd = 0x7fffd545a700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736771499776, -8246837354296878976, 1, 8651728, 140736771500480, 140736771499776, 8246921691326208128, 8246850072280324224}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#6  0x00007ffff537947d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
No locals.

Thread 22 (Thread 0x7fff7e7fc700 (LWP 27572)):
#0  __lll_lock_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
No locals.
#1  0x00007ffff5b6868d in _L_lock_1082 () from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#2  0x00007ffff5b68607 in __GI___pthread_mutex_lock (mutex=0x68e5d0) at ../nptl/pthread_mutex_lock.c:134
        max_cnt = -1
        __PRETTY_FUNCTION__ = "__pthread_mutex_lock"
        type = 4294966784
#3  0x00007ffff3a13981 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#4  0x00007ffff39ec9a3 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#5  0x00007ffff39ecc52 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#6  0x00007ffff5b65f82 in __nptl_deallocate_tsd () at pthread_create.c:158
        data = 0x68e5d0
        idx = 0
        cnt = 140735315692104
#7  0x00007ffff5b66195 in start_thread (arg=0x7fff7e7fc700) at pthread_create.c:325
        pd = 0x7fff7e7fc700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140735315691264, -8246837354296878976, 1, 0, 140735315691968, 140735315691264, 8247117731887208576, 8246850072280324224}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#8  0x00007ffff537947d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
No locals.

Thread 21 (Thread 0x7fff7effd700 (LWP 27571)):
#0  __lll_lock_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
No locals.
#1  0x00007ffff5b6868d in _L_lock_1082 () from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#2  0x00007ffff5b68607 in __GI___pthread_mutex_lock (mutex=0x68e5d0) at ../nptl/pthread_mutex_lock.c:134
        max_cnt = -1
        __PRETTY_FUNCTION__ = "__pthread_mutex_lock"
        type = 0
#3  0x00007ffff3a13981 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#4  0x00007ffff39ec9a3 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#5  0x00007ffff39ecc52 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#6  0x00007ffff5b65f82 in __nptl_deallocate_tsd () at pthread_create.c:158
        data = 0x68e5d0
        idx = 0
        cnt = 140735324084808
#7  0x00007ffff5b66195 in start_thread (arg=0x7fff7effd700) at pthread_create.c:325
        pd = 0x7fff7effd700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140735324083968, -8246837354296878976, 1, 0, 140735324084672, 140735324083968, 8247116629691226240, 8246850072280324224}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#8  0x00007ffff537947d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
No locals.

Thread 20 (Thread 0x7fff7f7fe700 (LWP 27570)):
#0  0x00007ffff536c12d in poll () at ../sysdeps/unix/syscall-template.S:81
No locals.
#1  0x00007ffff39d1fe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#2  0x00007ffff39d20ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#3  0x00007ffff6062ae7 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#4  0x00007ffff600b252 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#5  0x00007ffff5e1a96c in QThread::exec() () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#6  0x00007ffff5e1f7df in ?? () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#7  0x00007ffff5b66182 in start_thread (arg=0x7fff7f7fe700) at pthread_create.c:312
        __res = <optimized out>
        pd = 0x7fff7f7fe700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140735332476672, -8246837354296878976, 1, 0, 140735332477376, 140735332476672, 8247119927689238656, 8246850072280324224}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#8  0x00007ffff537947d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
No locals.

Thread 19 (Thread 0x7fff7ffff700 (LWP 27569)):
#0  0x00007ffff536c12d in poll () at ../sysdeps/unix/syscall-template.S:81
No locals.
#1  0x00007ffff39d1fe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#2  0x00007ffff39d20ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#3  0x00007ffff6062ae7 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#4  0x00007ffff600b252 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#5  0x00007ffff5e1a96c in QThread::exec() () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#6  0x00007ffff4b55d02 in ?? () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Quick.so.5
No symbol table info available.
#7  0x00007ffff5e1f7df in ?? () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#8  0x00007ffff5b66182 in start_thread (arg=0x7fff7ffff700) at pthread_create.c:312
        __res = <optimized out>
        pd = 0x7fff7ffff700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140735340869376, -8246837354296878976, 1, 0, 140735340870080, 140735340869376, 8247118829788223616, 8246850072280324224}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#9  0x00007ffff537947d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
No locals.

Thread 18 (Thread 0x7fff88ef4700 (LWP 27568)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
No locals.
#1  0x00007ffff5e207fb in QWaitCondition::wait(QMutex*, unsigned long) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#2  0x00007ffff4bc6c92 in ?? () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Quick.so.5
No symbol table info available.
#3  0x00007ffff4bc70b0 in ?? () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Quick.so.5
No symbol table info available.
#4  0x00007ffff5e1f7df in ?? () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#5  0x00007ffff5b66182 in start_thread (arg=0x7fff88ef4700) at pthread_create.c:312
        __res = <optimized out>
        pd = 0x7fff88ef4700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140735490770688, -8246837354296878976, 1, 0, 140735490771392, 140735490770688, 8246733860595193984, 8246850072280324224}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#6  0x00007ffff537947d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
No locals.

Thread 17 (Thread 0x7fff8b1f6700 (LWP 27566)):
#0  0x00007ffff536c12d in poll () at ../sysdeps/unix/syscall-template.S:81
No locals.
#1  0x00007ffff39d1fe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#2  0x00007ffff39d20ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#3  0x00007ffff6062ae7 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#4  0x00007ffff600b252 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#5  0x00007ffff5e1a96c in QThread::exec() () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#6  0x00007ffff096d765 in ?? () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Qml.so.5
No symbol table info available.
#7  0x00007ffff5e1f7df in ?? () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#8  0x00007ffff5b66182 in start_thread (arg=0x7fff8b1f6700) at pthread_create.c:312
        __res = <optimized out>
        pd = 0x7fff8b1f6700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140735527479040, -8246837354296878976, 1, 0, 140735527479744, 140735527479040, 8246740866760595584, 8246850072280324224}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#9  0x00007ffff537947d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
No locals.

Thread 16 (Thread 0x7fff99b79700 (LWP 27565)):
#0  0x00007ffff536c12d in poll () at ../sysdeps/unix/syscall-template.S:81
No locals.
#1  0x00007ffff39d1fe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#2  0x00007ffff39d20ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#3  0x00007ffff6062ae7 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#4  0x00007ffff600b252 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#5  0x00007ffff5e1a96c in QThread::exec() () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#6  0x00007ffff096d765 in ?? () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Qml.so.5
No symbol table info available.
#7  0x00007ffff5e1f7df in ?? () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#8  0x00007ffff5b66182 in start_thread (arg=0x7fff99b79700) at pthread_create.c:312
        __res = <optimized out>
        pd = 0x7fff99b79700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140735772333824, -8246837354296878976, 1, 0, 140735772334528, 140735772333824, 8246770904151251072, 8246850072280324224}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#9  0x00007ffff537947d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
No locals.

Thread 15 (Thread 0x7fff9a783700 (LWP 27564)):
#0  0x00007ffff39ecade in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#1  0x00007ffff39ecc52 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#2  0x00007ffff5b65f82 in __nptl_deallocate_tsd () at pthread_create.c:158
        data = 0x1
        idx = 0
        cnt = 140735784958536
#3  0x00007ffff5b66195 in start_thread (arg=0x7fff9a783700) at pthread_create.c:325
        pd = 0x7fff9a783700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140735784957696, -8246837354296878976, 1, 0, 140735784958400, 140735784957696, 8246774740630788224, 8246850072280324224}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#4  0x00007ffff537947d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
No locals.

Thread 14 (Thread 0x7fff9af84700 (LWP 27563)):
#0  0x00007ffff536c12d in poll () at ../sysdeps/unix/syscall-template.S:81
No locals.
#1  0x00007ffff39d1fe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#2  0x00007ffff39d20ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#3  0x00007ffff6062ae7 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#4  0x00007ffff600b252 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#5  0x00007ffff5e1a96c in QThread::exec() () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#6  0x00007ffff5e1f7df in ?? () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#7  0x00007ffff5b66182 in start_thread (arg=0x7fff9af84700) at pthread_create.c:312
        __res = <optimized out>
        pd = 0x7fff9af84700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140735793350400, -8246837354296878976, 1, 0, 140735793351104, 140735793350400, 8246773640582289536, 8246850072280324224}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#8  0x00007ffff537947d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
No locals.

Thread 13 (Thread 0x7fff9bfff700 (LWP 27562)):
#0  0x00007ffff537a623 in sendto () at ../sysdeps/unix/syscall-template.S:81
No locals.
#1  0x00007ffff53925cb in __netlink_sendreq (h=0x7fff9bffdcc0, h=0x7fff9bffdcc0, type=18) at ../sysdeps/unix/sysv/linux/ifaddrs.c:120
        __result = <optimized out>
        req = {nlh = {nlmsg_len = 20, nlmsg_type = 18, nlmsg_flags = 769, nlmsg_seq = 1448853006, nlmsg_pid = 0}, g = {rtgen_family = 0 '\000'}, pad = 0x7fff9bffdbd1 ""}
        nladdr = {nl_family = 16, nl_pad = 0, nl_pid = 0, nl_groups = 0}
#2  __netlink_request (h=h@entry=0x7fff9bffdcc0, type=type@entry=18) at ../sysdeps/unix/sysv/linux/ifaddrs.c:152
        nlm_next = <optimized out>
        nladdr = {nl_family = 16, nl_pad = 0, nl_pid = 0, nl_groups = 0}
        nlmh = <optimized out>
        read_len = <optimized out>
        done = false
        buf_size = <optimized out>
        use_malloc = false
        buf = 0x7fff9bffcb70 "\024"
        iov = {iov_base = 0x7fff9bffcb70, iov_len = 4096}
#3  0x00007ffff539293f in getifaddrs_internal (ifap=ifap@entry=0x7fff9bffdd78) at ../sysdeps/unix/sysv/linux/ifaddrs.c:328
        nh = {fd = 36, pid = 27546, seq = 1448853006, nlm_list = 0x0, end_ptr = 0x0}
        nlp = <optimized out>
        ifas = <optimized out>
        i = <optimized out>
        newlink = <optimized out>
        newaddr = <optimized out>
        newaddr_idx = <optimized out>
        map_newlink_data = <optimized out>
        ifa_data_size = 0
        ifa_data_ptr = <optimized out>
        result = 0
        __PRETTY_FUNCTION__ = "getifaddrs_internal"
#4  0x00007ffff5393660 in __GI_getifaddrs (ifap=0x7fff9bffdd78) at ../sysdeps/unix/sysv/linux/ifaddrs.c:825
        res = 20
#5  0x00007ffff657a375 in ?? () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Network.so.5
No symbol table info available.
#6  0x00007ffff6575356 in ?? () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Network.so.5
No symbol table info available.
#7  0x00007ffff6575f6d in QNetworkInterface::allInterfaces() () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Network.so.5
No symbol table info available.
#8  0x00007fffa81920c7 in ?? () from /home/mike/Dev/TauLabs/tools/Qt5.5.0/5.5/gcc_64/plugins/bearer/libqgenericbearer.so
No symbol table info available.
#9  0x00007ffff601871a in QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#10 0x00007ffff601d825 in QMetaObject::invokeMethod(QObject*, char const*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#11 0x00007ffff655b2a8 in QNetworkConfigurationManagerPrivate::pollEngines() () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Network.so.5
No symbol table info available.
#12 0x00007ffff65cbf0d in ?? () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Network.so.5
No symbol table info available.
#13 0x00007ffff603b36e in QMetaObject::activate(QObject*, int, int, void**) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#14 0x00007ffff60488c8 in QTimer::timerEvent(QTimerEvent*) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#15 0x00007ffff603c3bb in QObject::event(QEvent*) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#16 0x00007ffff71824dc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Widgets.so.5
No symbol table info available.
#17 0x00007ffff7187640 in QApplication::notify(QObject*, QEvent*) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Widgets.so.5
No symbol table info available.
#18 0x00007ffff600d6a3 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#19 0x00007ffff60619ed in QTimerInfoList::activateTimers() () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#20 0x00007ffff6061e31 in ?? () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#21 0x00007ffff39d1e04 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#22 0x00007ffff39d2048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#23 0x00007ffff39d20ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#24 0x00007ffff6062afc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#25 0x00007ffff600b252 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#26 0x00007ffff5e1a96c in QThread::exec() () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#27 0x00007ffff5e1f7df in ?? () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#28 0x00007ffff5b66182 in start_thread (arg=0x7fff9bfff700) at pthread_create.c:312
        __res = <optimized out>
        pd = 0x7fff9bfff700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140735810631424, -8246837354296878976, 1, 0, 140735810632128, 140735810631424, 8246775782160357504, 8246850072280324224}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#29 0x00007ffff537947d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
No locals.

Thread 12 (Thread 0x7fffa8e20700 (LWP 27561)):
#0  0x00007ffff536c12d in poll () at ../sysdeps/unix/syscall-template.S:81
No locals.
#1  0x00007ffff39d1fe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#2  0x00007ffff39d20ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#3  0x00007ffff6062ae7 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#4  0x00007ffff600b252 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#5  0x00007ffff5e1a96c in QThread::exec() () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#6  0x00007fffa8e4e235 in ?? () from /home/mike/Dev/TauLabs/tools/Qt5.5.0/5.5/gcc_64/qml/QtQuick/XmlListModel/libqmlxmllistmodelplugin.so
No symbol table info available.
#7  0x00007ffff5e1f7df in ?? () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#8  0x00007ffff5b66182 in start_thread (arg=0x7fffa8e20700) at pthread_create.c:312
        __res = <optimized out>
        pd = 0x7fffa8e20700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736026773248, -8246837354296878976, 1, 0, 140736026773952, 140736026773248, 8246663614257584256, 8246850072280324224}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#9  0x00007ffff537947d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
No locals.

Thread 11 (Thread 0x7fffaa33a700 (LWP 27560)):
#0  0x00007ffff536c12d in poll () at ../sysdeps/unix/syscall-template.S:81
No locals.
#1  0x00007ffff39d1fe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#2  0x00007ffff39d20ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#3  0x00007ffff6062ae7 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#4  0x00007ffff600b252 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#5  0x00007ffff5e1a96c in QThread::exec() () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#6  0x00007ffff096d765 in ?? () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Qml.so.5
No symbol table info available.
#7  0x00007ffff5e1f7df in ?? () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#8  0x00007ffff5b66182 in start_thread (arg=0x7fffaa33a700) at pthread_create.c:312
        __res = <optimized out>
        pd = 0x7fffaa33a700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736048899840, -8246837354296878976, 1, 0, 140736048900544, 140736048899840, 8246668683392735360, 8246850072280324224}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#9  0x00007ffff537947d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
No locals.

Thread 10 (Thread 0x7fffaadfb700 (LWP 27559)):
#0  0x00007ffff533c3b5 in __getdents (fd=47, buf=buf@entry=0x7fffa4005a60 "\b", nbytes=32768) at ../sysdeps/unix/sysv/linux/getdents.c:111
        resultvar = 856
        retval = <optimized out>
#1  0x00007ffff533bfb1 in __readdir (dirp=0x7fffa4005a30) at ../sysdeps/posix/readdir.c:65
        maxread = <optimized out>
        bytes = <optimized out>
        reclen = <optimized out>
        dp = <optimized out>
        saved_errno = 2
#2  0x00007fffd6aa1a18 in ?? () from /lib/x86_64-linux-gnu/libudev.so.1
No symbol table info available.
#3  0x00007fffd6aa2280 in udev_enumerate_scan_devices () from /lib/x86_64-linux-gnu/libudev.so.1
No symbol table info available.
#4  0x00007fffba05720e in ?? () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5SerialPort.so.5
No symbol table info available.
#5  0x00007fffba059ba8 in QSerialPortInfo::availablePorts() () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5SerialPort.so.5
No symbol table info available.
#6  0x00007fffb4f13861 in SerialConnection::availableDevices (this=0xeafc40) at /home/mike/Dev/dronin/ground/gcs/src/plugins/serialconnection/serialplugin.cpp:135
        ports = {<QListSpecialMethods<QSerialPortInfo>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = -1}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7fffaadfad50}, d = 0x7fffaadfad50}}
        port_exists = false
        m_available_device_list = {<QListSpecialMethods<Core::IDevice*>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = -1}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7fffa4016440}, d = 0x7fffa4016440}}
#7  0x00007fffb4f133a1 in SerialEnumerationThread::run (this=0xeafc70) at /home/mike/Dev/dronin/ground/gcs/src/plugins/serialconnection/serialplugin.cpp:64
        newDev = {<QListSpecialMethods<Core::IDevice*>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = -1}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7fffa4016440}, d = 0x7fffa4016440}}
        different = false
        devices = {<QListSpecialMethods<Core::IDevice*>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = -1}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7fffa4016440}, d = 0x7fffa4016440}}
#8  0x00007ffff5e1f7df in ?? () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#9  0x00007ffff5b66182 in start_thread (arg=0x7fffaadfb700) at pthread_create.c:312
        __res = <optimized out>
        pd = 0x7fffaadfb700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736060176128, -8246837354296878976, 1, 0, 140736060176832, 140736060176128, 8246667757290412160, 8246850072280324224}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#10 0x00007ffff537947d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
No locals.

Thread 9 (Thread 0x7fffd5c5b700 (LWP 27558)):
#0  0x00007ffff536c12d in poll () at ../sysdeps/unix/syscall-template.S:81
No locals.
#1  0x00007ffff39d1fe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#2  0x00007ffff39d20ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#3  0x00007ffff6062afc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#4  0x00007ffff600b252 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#5  0x00007ffff5e1a96c in QThread::exec() () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#6  0x00007ffff5e1f7df in ?? () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#7  0x00007ffff5b66182 in start_thread (arg=0x7fffd5c5b700) at pthread_create.c:312
        __res = <optimized out>
        pd = 0x7fffd5c5b700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736779892480, -8246837354296878976, 1, 8650720, 140736779893184, 140736779892480, 8246920593425193088, 8246850072280324224}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#8  0x00007ffff537947d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
No locals.

Thread 8 (Thread 0x7fffc20c2700 (LWP 27557)):
#0  0x00007ffff58b9244 in __cxxabiv1::__si_class_type_info::__do_dyncast(long, __cxxabiv1::__class_type_info::__sub_kind, __cxxabiv1::__class_type_info const*, void const*, __cxxabiv1::__class_type_info const*, void const*, __cxxabiv1::__class_type_info::__dyncast_result&) const () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#1  0x00007ffff58b71c8 in __dynamic_cast () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#2  0x00007fffbbde4ffb in TelemetryMonitor::~TelemetryMonitor (this=0x7fffbc007260, __in_chrg=<optimized out>) at /home/mike/Dev/dronin/ground/gcs/src/plugins/uavtalk/telemetrymonitor.cpp:115
        dobj = 0x0
        obj = 0xe03710
        _container_ = {c = {<QListSpecialMethods<UAVObject*>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = -1}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7fffbc005ae0}, d = 0x7fffbc005ae0}}, i = {i = 0x7fffbc005af0}, e = {i = 0x7fffbc005af8}, control = 1}
        map = {d = 0xe04bc0}
        _container_ = {c = {{d = 0xbe9f20, e = 0xbe9f20}}, i = {i = 0xbc0070}, e = {i = 0xbe9f20}, control = 1}
        gcsStats = {TxDataRate = 0, RxDataRate = 0, TxFailures = 0, RxFailures = 0, TxRetries = 0, Status = 0 '\000'}
#3  0x00007fffbbde519a in TelemetryMonitor::~TelemetryMonitor (this=0x7fffbc007260, __in_chrg=<optimized out>) at /home/mike/Dev/dronin/ground/gcs/src/plugins/uavtalk/telemetrymonitor.cpp:123
No locals.
#4  0x00007fffbbdebac4 in TelemetryManager::onStop (this=0xea53a0) at /home/mike/Dev/dronin/ground/gcs/src/plugins/uavtalk/telemetrymanager.cpp:84
No locals.
#5  0x00007fffbbdf27be in TelemetryManager::qt_static_metacall (_o=0xea53a0, _c=QMetaObject::InvokeMetaMethod, _id=7, _a=0x1ec4eb0) at .moc/debug-shared/moc_telemetrymanager.cpp:106
        _t = 0xea53a0
#6  0x00007ffff603c402 in QObject::event(QEvent*) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#7  0x00007ffff71824dc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Widgets.so.5
No symbol table info available.
#8  0x00007ffff7187640 in QApplication::notify(QObject*, QEvent*) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Widgets.so.5
No symbol table info available.
#9  0x00007ffff600d6a3 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#10 0x00007ffff600f913 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#11 0x00007ffff60626f3 in ?? () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#12 0x00007ffff39d1e04 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#13 0x00007ffff39d2048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#14 0x00007ffff39d20ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#15 0x00007ffff6062ae7 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#16 0x00007ffff600b252 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#17 0x00007ffff5e1a96c in QThread::exec() () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#18 0x00007ffff5e1f7df in ?? () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#19 0x00007ffff5b66182 in start_thread (arg=0x7fffc20c2700) at pthread_create.c:312
        __res = <optimized out>
        pd = 0x7fffc20c2700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736448964352, -8246837354296878976, 1, 0, 140736448965056, 140736448964352, 8246896887890073728, 8246850072280324224}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#20 0x00007ffff537947d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
No locals.

Thread 5 (Thread 0x7fffd645c700 (LWP 27554)):
#0  0x00007ffff536c12d in poll () at ../sysdeps/unix/syscall-template.S:81
No locals.
#1  0x00007ffff39d1fe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#2  0x00007ffff39d20ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#3  0x00007ffff39d2129 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#4  0x00007ffff39f6f05 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#5  0x00007ffff5b66182 in start_thread (arg=0x7fffd645c700) at pthread_create.c:312
        __res = <optimized out>
        pd = 0x7fffd645c700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736788285184, -8246837354296878976, 1, 0, 140736788285888, 140736788285184, 8246923891423205504, 8246850072280324224}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#6  0x00007ffff537947d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
No locals.

Thread 4 (Thread 0x7fffdfb36700 (LWP 27552)):
#0  0x00007ffff536c12d in poll () at ../sysdeps/unix/syscall-template.S:81
No locals.
#1  0x00007ffff39d1fe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#2  0x00007ffff39d230a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#3  0x00007fffe83fd336 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
No symbol table info available.
#4  0x00007ffff39f6f05 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#5  0x00007ffff5b66182 in start_thread (arg=0x7fffdfb36700) at pthread_create.c:312
        __res = <optimized out>
        pd = 0x7fffdfb36700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736946464512, -8246837354296878976, 1, 0, 140736946465216, 140736946464512, 8246907270973511808, 8246850072280324224}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#6  0x00007ffff537947d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
No locals.

Thread 3 (Thread 0x7fffe054b700 (LWP 27551)):
#0  0x00007ffff536c12d in poll () at ../sysdeps/unix/syscall-template.S:81
No locals.
#1  0x00007ffff39d1fe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#2  0x00007ffff39d20ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#3  0x00007fffe05531ad in ?? () from /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
No symbol table info available.
#4  0x00007ffff39f6f05 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#5  0x00007ffff5b66182 in start_thread (arg=0x7fffe054b700) at pthread_create.c:312
        __res = <optimized out>
        pd = 0x7fffe054b700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736957036288, -8246837354296878976, 1, 0, 140736957036992, 140736957036288, 8246822882919209088, 8246850072280324224}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#6  0x00007ffff537947d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
No locals.

Thread 2 (Thread 0x7fffea941700 (LWP 27550)):
#0  0x00007ffff5b6d8ad in recvmsg () at ../sysdeps/unix/syscall-template.S:81
No locals.
#1  0x00007ffff00409b7 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
No symbol table info available.
#2  0x00007ffff003edd7 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
No symbol table info available.
#3  0x00007ffff004064f in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
No symbol table info available.
#4  0x00007fffec39c629 in ?? () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5XcbQpa.so.5
No symbol table info available.
#5  0x00007ffff5e1f7df in ?? () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#6  0x00007ffff5b66182 in start_thread (arg=0x7fffea941700) at pthread_create.c:312
        __res = <optimized out>
        pd = 0x7fffea941700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737128961792, -8246837354296878976, 1, 0, 140737128962496, 140737128961792, 8246808034143524992, 8246850072280324224}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#7  0x00007ffff537947d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
No locals.

Thread 1 (Thread 0x7ffff7fbc7c0 (LWP 27546)):
#0  0x00007fffb57bc3cc in RawHIDWriteThread::stop (this=0x0) at /home/mike/Dev/dronin/ground/gcs/src/plugins/rawhid/rawhid.cpp:287
No locals.
#1  0x00007fffb57bc7f0 in RawHID::close (this=0x8479d70) at /home/mike/Dev/dronin/ground/gcs/src/plugins/rawhid/rawhid.cpp:359
        __PRETTY_FUNCTION__ = "virtual void RawHID::close()"
#2  0x00007fffb57ba3a4 in RawHIDConnection::closeDevice (this=0x12a05a0, deviceName=...) at /home/mike/Dev/dronin/ground/gcs/src/plugins/rawhid/rawhidplugin.cpp:130
        __PRETTY_FUNCTION__ = "virtual void RawHIDConnection::closeDevice(const QString&)"
#3  0x00007fffc25b81b0 in Core::ConnectionManager::disconnectDevice (this=0xa14030) at /home/mike/Dev/dronin/ground/gcs/src/plugins/coreplugin/connectionmanager.cpp:176
        __PRETTY_FUNCTION__ = "bool Core::ConnectionManager::disconnectDevice()"
#4  0x00007fffc25b9007 in Core::ConnectionManager::updateConnectionList (this=0xa14030, connection=0x12a05a0) at /home/mike/Dev/dronin/ground/gcs/src/plugins/coreplugin/connectionmanager.cpp:399
        found = false
        iter = {i = 0x8751be0}
        availableDev = {<QListSpecialMethods<Core::IDevice*>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = -1}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x6403100}, d = 0x6403100}}
#5  0x00007fffc25b935e in Core::ConnectionManager::devChanged (this=0xa14030, connection=0x12a05a0) at /home/mike/Dev/dronin/ground/gcs/src/plugins/coreplugin/connectionmanager.cpp:451
No locals.
#6  0x00007fffc25e049c in Core::ConnectionManager::qt_static_metacall (_o=0xa14030, _c=QMetaObject::InvokeMetaMethod, _id=10, _a=0x7fffffffcd40) at .moc/debug-shared/moc_connectionmanager.cpp:145
        _t = 0xa14030
#7  0x00007ffff603b36e in QMetaObject::activate(QObject*, int, int, void**) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#8  0x00007fffc25e10c9 in Core::IConnection::availableDevChanged (this=0x12a05a0, _t1=0x12a05a0) at .moc/debug-shared/moc_iconnection.cpp:137
        _a = {0x0, 0x7fffffffcd30}
#9  0x00007fffb57b9d17 in RawHIDConnection::onDeviceConnected (this=0x12a05a0) at /home/mike/Dev/dronin/ground/gcs/src/plugins/rawhid/rawhidplugin.cpp:67
No locals.
#10 0x00007fffb57c0af6 in RawHIDConnection::qt_static_metacall (_o=0x12a05a0, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fffffffced0) at .moc/debug-shared/moc_rawhidplugin.cpp:74
        _t = 0x12a05a0
#11 0x00007ffff603b36e in QMetaObject::activate(QObject*, int, int, void**) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#12 0x00007fffb57c14e9 in USBMonitor::deviceDiscovered (this=0xe474e0, _t1=...) at .moc/debug-shared/moc_usbmonitor.cpp:145
        _a = {0x0, 0x7fffffffcf20}
#13 0x00007fffb57bfc65 in USBMonitor::deviceEventReceived (this=0xe474e0) at /home/mike/Dev/dronin/ground/gcs/src/plugins/rawhid/usbmonitor_linux.cpp:77
        action = {static null = {<No data fields>}, d = 0x80f9df0}
        devtype = {static null = {<No data fields>}, d = 0x67780c0}
        __PRETTY_FUNCTION__ = "void USBMonitor::deviceEventReceived()"
        dev = 0x80f7c70
#14 0x00007fffb57c12ee in USBMonitor::qt_static_metacall (_o=0xe474e0, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0x7fffffffd100) at .moc/debug-shared/moc_usbmonitor.cpp:84
        _t = 0xe474e0
#15 0x00007ffff603b36e in QMetaObject::activate(QObject*, int, int, void**) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#16 0x00007ffff60ba46e in QSocketNotifier::activated(int, QSocketNotifier::QPrivateSignal) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#17 0x00007ffff60484eb in QSocketNotifier::event(QEvent*) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#18 0x00007ffff71824dc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Widgets.so.5
No symbol table info available.
#19 0x00007ffff7187640 in QApplication::notify(QObject*, QEvent*) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Widgets.so.5
No symbol table info available.
#20 0x00007ffff600d6a3 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#21 0x00007ffff6063045 in ?? () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#22 0x00007ffff39d1e04 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#23 0x00007ffff39d2048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#24 0x00007ffff39d20ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#25 0x00007ffff6062ae7 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#26 0x00007ffff600b252 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#27 0x00007ffff6012d3d in QCoreApplication::exec() () from /home/mike/Dev/TauLabs/TauLabs/tools/Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5
No symbol table info available.
#28 0x00000000004124e9 in main (argc=1, argv=0x7fffffffddc8) at /home/mike/Dev/dronin/ground/gcs/src/app/main.cpp:435
        app = {<QApplication> = {<No data fields>}, static staticMetaObject = {d = {superdata = 0x7ffff7878380 <QApplication::staticMetaObject>, stringdata = 0x4316a0 <qt_meta_stringdata_SharedTools__QtSingleApplication>, data = 0x431800 <qt_meta_data_SharedTools__QtSingleApplication>, static_metacall = 0x415f92 <SharedTools::QtSingleApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, peer = 0x8995a0, actWin = 0x0}
        qtTranslator = <incomplete type>
        pixmap = <incomplete type>
        pluginManager = {<QObject> = {<No data fields>}, static staticMetaObject = {d = {superdata = 0x7ffff64b0300 <QObject::staticMetaObject>, stringdata = 0x7ffff78e7c20 <qt_meta_stringdata_ExtensionSystem__PluginManager>, data = 0x7ffff78e7d80 <qt_meta_data_ExtensionSystem__PluginManager>, static_metacall = 0x7ffff78e49c2 <ExtensionSystem::PluginManager::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d = 0x6f96f0, static m_instance = 0x7fffffffdc00, m_lock = {d = 0x717a30}, m_allPluginsLoaded = true}
        arguments = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = -1}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x8e2620}, d = 0x8e2620}}, <No data fields>}
        locale = {static null = {<No data fields>}, d = 0x9692e0}
        translator = <incomplete type>
        creatorTrPath = @0x7fffffffd750: {static null = {<No data fields>}, d = 0x70d170}
        pluginPaths = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = -1}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x70af00}, d = 0x70af00}}, <No data fields>}
        foundAppOptions = {d = 0x7ffff613dba0 <QMapDataBase::shared_null>}
        coreplugin = 0x702cc0
        isFirstInstance = true
        dirName = {static null = {<No data fields>}, d = 0x899f60}
        splash = {<QSplashScreen> = {<No data fields>}, static staticMetaObject = {d = {superdata = 0x7ffff789eee0 <QSplashScreen::staticMetaObject>, stringdata = 0x431b40 <qt_meta_stringdata_CustomSplash>, data = 0x431c20 <qt_meta_data_CustomSplash>, static_metacall = 0x4165f0 <CustomSplash::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, m_progress = 100, m_pixmap = <incomplete type>, m_progress_bar_color = {cspec = QColor::Rgb, ct = {argb = {alpha = 65535, red = 3341, green = 32125, blue = 26214, pad = 0}, ahsv = {alpha = 65535, hue = 3341, saturation = 32125, value = 26214, pad = 0}, acmyk = {alpha = 65535, cyan = 3341, magenta = 32125, yellow = 26214, black = 0}, ahsl = {alpha = 65535, hue = 3341, saturation = 32125, lightness = 26214, pad = 0}, array = {65535, 3341, 32125, 26214, 0}}}, time = {mds = 58153622}, message_number = 240, settings = <incomplete type>}
        plugins = {<QListSpecialMethods<ExtensionSystem::PluginSpec*>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = -1}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x6f5230}, d = 0x6f5230}}

static stack analysis

We should be able to at-compile-time verify stacks are large enough for all eventualities

Quanton boot panic/loop

User has reported Quanton boot failure / panic loop via IRC, investigate/fix.

09:01 <sfabris> don't know if it is expected, but my quanton is bootlooping with dronin :-(
09:02 <sfabris> (dronin next, just pulled)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.