mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-01-08 00:48:30 -04:00
619ce23799
The idea is to leave the internal perf enabled all the time, like it is in PX4, and then allow the integration with lttng on top. Next step would be to runtime enable/disable only the perf counters we are interested in. This also changes the structure so it's easy to allow another thread to pull data from the Perf object. A rw lock protects from addition of new counters and an atomic unsigned int allows other threads to do a lockless copy of the data. In order for this to work the allocation was changed to use a single memory pool instead of returning a calloc'ed data for each perf counter. Since most of our counters are of ' elapsed' type, don't bother using a smaller struct for the 'count' type
59 lines
1.3 KiB
C++
59 lines
1.3 KiB
C++
#pragma once
|
|
|
|
namespace Linux {
|
|
class UARTDriver;
|
|
class SPIUARTDriver;
|
|
class RPIOUARTDriver;
|
|
class I2CDevice;
|
|
class I2CDeviceManager;
|
|
class I2CDriver;
|
|
class SPIDeviceManager;
|
|
class SPIDeviceDriver;
|
|
class AnalogSource;
|
|
class AnalogIn;
|
|
class Storage;
|
|
class GPIO_BBB;
|
|
class GPIO_RPI;
|
|
class GPIO_Sysfs;
|
|
class Storage;
|
|
class Storage_FRAM;
|
|
class DigitalSource;
|
|
class DigitalSource_Sysfs;
|
|
class PeriodicThread;
|
|
class PWM_Sysfs;
|
|
class PWM_Sysfs_Bebop;
|
|
class PWM_Sysfs_Base;
|
|
class RCInput;
|
|
class RCInput_PRU;
|
|
class RCInput_AioPRU;
|
|
class RCInput_RPI;
|
|
class RCInput_Raspilot;
|
|
class RCInput_Navio2;
|
|
class RCInput_ZYNQ;
|
|
class RCInput_UART;
|
|
class RCInput_UDP;
|
|
class RCInput_DSM;
|
|
class RCOutput_PRU;
|
|
class RCOutput_AioPRU;
|
|
class RCOutput_PCA9685;
|
|
class RCOutput_Raspilot;
|
|
class RCOutput_ZYNQ;
|
|
class RCOutput_Bebop;
|
|
class RCOutput_Sysfs;
|
|
class RCOutput_QFLIGHT;
|
|
class Semaphore;
|
|
class Scheduler;
|
|
class Util;
|
|
class UtilRPI;
|
|
class ToneAlarm;
|
|
class ToneAlarm_Raspilot;
|
|
class Thread;
|
|
class Heat;
|
|
class HeatPwm;
|
|
class CameraSensor;
|
|
class CameraSensor_Mt9v117;
|
|
class VideoIn;
|
|
class OpticalFlow_Onboard;
|
|
class Flow_PX4;
|
|
}
|