Skip to content

Commit

Permalink
Merge pull request #2210 from mlyle/mpl-constipation
Browse files Browse the repository at this point in the history
Attempt to improve CPU use by declaring things const
  • Loading branch information
glowtape authored May 22, 2018
2 parents 4c5eb32 + 770ae69 commit d3d619f
Show file tree
Hide file tree
Showing 15 changed files with 119 additions and 68 deletions.
9 changes: 6 additions & 3 deletions flight/Modules/Autotune/autotune.c
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,8 @@ static bool save_needed = false;
static uint16_t decim_wiggle_points;

// Private functions
static void autotune_step(UAVObjEvent* ev, void *ctx, void *obj, int len);
static void autotune_step(const UAVObjEvent *ev,
void *ctx, void *obj, int len);

/**
* Initialise the module, called on startup
Expand Down Expand Up @@ -143,7 +144,8 @@ int32_t AutotuneStart(void)

MODULE_INITCALL(AutotuneInitialize, AutotuneStart)

static void at_new_actuators(UAVObjEvent * ev, void *ctx, void *obj, int len) {
static void at_new_actuators(const UAVObjEvent *ev,
void *ctx, void *obj, int len) {
(void) ev; (void) ctx;

static bool first_cycle = false;
Expand Down Expand Up @@ -257,7 +259,8 @@ static int autotune_save_averaging() {
/**
* Module periodic task.
*/
static void autotune_step(UAVObjEvent* ev, void *ctx, void *obj, int len)
static void autotune_step(const UAVObjEvent *ev,
void *ctx, void *obj, int len)
{
(void) ev; (void) ctx; (void) obj; (void) len;

Expand Down
18 changes: 12 additions & 6 deletions flight/Modules/CameraStab/camerastab.c
Original file line number Diff line number Diff line change
Expand Up @@ -81,13 +81,16 @@ static struct CameraStab_data {
} *csd;

// Private functions
static void attitudeUpdated(UAVObjEvent* ev, void *ctx, void *obj, int len);
static void settings_updated_cb(UAVObjEvent * ev, void *ctx, void *obj, int len);
static void attitudeUpdated(const UAVObjEvent *ev,
void *ctx, void *obj, int len);
static void settings_updated_cb(const UAVObjEvent *ev,
void *ctx, void *obj, int len);
static void applyFF(uint8_t index, float dT_ms, float *attitude, CameraStabSettingsData* cameraStab);
static void gimbal_can_message();

#if defined(CAMERASTAB_POI_MODE)
static void tablet_info_flag_update(UAVObjEvent * ev, void *ctx, void *obj, int len);
static void tablet_info_flag_update(const UAVObjEvent *ev,
void *ctx, void *obj, int len);
static void tablet_info_process();
static bool tablet_info_updated = false;
#endif /* CAMERASTAB_POI_MODE */
Expand Down Expand Up @@ -177,7 +180,8 @@ MODULE_INITCALL(CameraStabInitialize, CameraStabStart)
* Periodic callback that processes changes in the attitude
* and recalculates the desied gimbal angle.
*/
static void attitudeUpdated(UAVObjEvent* ev, void *ctx, void *obj, int len)
static void attitudeUpdated(const UAVObjEvent *ev,
void *ctx, void *obj, int len)
{
(void) ev; (void) ctx; (void) obj; (void) len;
if (ev->obj != AttitudeActualHandle())
Expand Down Expand Up @@ -358,7 +362,8 @@ static void applyFF(uint8_t index, float dT_ms, float *attitude, CameraStabSetti
* Called when the settings are updated to store a local copy
* @param[in] ev The update event
*/
static void settings_updated_cb(UAVObjEvent * ev, void *ctx, void *obj, int len)
static void settings_updated_cb(const UAVObjEvent *ev,
void *ctx, void *obj, int len)
{
(void) ev; (void) ctx; (void) obj; (void) len;

Expand All @@ -370,7 +375,8 @@ static void settings_updated_cb(UAVObjEvent * ev, void *ctx, void *obj, int len)
* When the tablet info changes update the POI location to match
* the current tablet location
*/
static void tablet_info_flag_update(UAVObjEvent * ev, void *ctx, void *obj, int len)
static void tablet_info_flag_update(const UAVObjEvent *ev,
void *ctx, void *obj, int len)
{
(void) ev; (void) ctx; (void) obj; (void) len;

Expand Down
12 changes: 7 additions & 5 deletions flight/Modules/FirmwareIAP/firmwareiap.c
Original file line number Diff line number Diff line change
Expand Up @@ -71,11 +71,12 @@ static uint32_t lastResetSysTime;
static uint8_t board_rev = 0;

// Private functions
static void FirmwareIAPCallback(UAVObjEvent* ev, void *ctx, void *obj, int len);
static void FirmwareIAPCallback(const UAVObjEvent *ev,
void *ctx, void *obj, int len);

static uint32_t get_time(void);

static void resetTask(UAVObjEvent * ev, void *ctx, void *obj, int len);
static void resetTask(const UAVObjEvent *ev, void *ctx, void *obj, int len);

/**
* Initialise the module, called on startup.
Expand Down Expand Up @@ -123,11 +124,12 @@ int32_t FirmwareIAPInitialize()
* \note
*
*/
static uint8_t iap_state = IAP_STATE_READY;
static void FirmwareIAPCallback(UAVObjEvent* ev, void *ctx, void *obj, int len)
static void FirmwareIAPCallback(const UAVObjEvent *ev,
void *ctx, void *obj, int len)
{
(void) ctx; (void) obj; (void) len;

static uint8_t iap_state = IAP_STATE_READY;
static uint32_t last_time = 0;
uint32_t this_time;
uint32_t delta;
Expand Down Expand Up @@ -231,7 +233,7 @@ static uint32_t get_time(void)
/**
* Executed by event dispatcher callback to reset INS before resetting OP
*/
static void resetTask(UAVObjEvent * ev, void *ctx, void *obj, int len)
static void resetTask(const UAVObjEvent *ev, void *ctx, void *obj, int len)
{
(void) ctx; (void) obj; (void) len;

Expand Down
12 changes: 8 additions & 4 deletions flight/Modules/FixedWingPathFollower/fixedwingpathfollower.c
Original file line number Diff line number Diff line change
Expand Up @@ -92,10 +92,12 @@ static FixedWingAirspeedsData fixedWingAirspeeds;

// Private functions
static void pathfollowerTask(void *parameters);
static void SettingsUpdatedCb(UAVObjEvent * ev, void *ctx, void *obj, int len);
static void SettingsUpdatedCb(const UAVObjEvent *ev,
void *ctx, void *obj, int len);
static void updatePathVelocity();
static uint8_t updateFixedDesiredAttitude();
static void airspeedActualUpdatedCb(UAVObjEvent * ev, void *ctx, void *obj, int len);
static void airspeedActualUpdatedCb(const UAVObjEvent *ev,
void *ctx, void *obj, int len);

/**
* Initialise the module, called on startup
Expand Down Expand Up @@ -691,7 +693,8 @@ static uint8_t updateFixedDesiredAttitude()
return result;
}

static void SettingsUpdatedCb(UAVObjEvent * ev, void *ctx, void *obj, int len)
static void SettingsUpdatedCb(const UAVObjEvent *ev,
void *ctx, void *obj, int len)
{
(void) ctx; (void) obj; (void) len;

Expand All @@ -701,7 +704,8 @@ static void SettingsUpdatedCb(UAVObjEvent * ev, void *ctx, void *obj, int len)
FixedWingAirspeedsGet(&fixedWingAirspeeds);
}

static void airspeedActualUpdatedCb(UAVObjEvent * ev, void *ctx, void *obj,
static void airspeedActualUpdatedCb(const UAVObjEvent *ev,
void *ctx, void *obj,
int len)
{
(void) ctx;
Expand Down
12 changes: 8 additions & 4 deletions flight/Modules/Geofence/geofence.c
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,10 @@
// Private variables

// Private functions
static void settingsUpdated(UAVObjEvent* ev, void *ctx, void *obj, int len);
static void checkPosition(UAVObjEvent* ev, void *ctx, void *obj, int len);
static void settingsUpdated(const UAVObjEvent *ev,
void *ctx, void *obj, int len);
static void checkPosition(const UAVObjEvent *ev,
void *ctx, void *obj, int len);

// Private variables
static GeoFenceSettingsData *geofenceSettings;
Expand Down Expand Up @@ -121,7 +123,8 @@ MODULE_INITCALL(GeofenceInitialize, GeofenceStart);
* Periodic callback that processes changes in position and
* sets the alarm.
*/
static void checkPosition(UAVObjEvent* ev, void *ctx, void *obj, int len)
static void checkPosition(const UAVObjEvent *ev,
void *ctx, void *obj, int len)
{
(void) ev; (void) ctx; (void) obj; (void) len;
if (PositionActualHandle()) {
Expand All @@ -144,7 +147,8 @@ static void checkPosition(UAVObjEvent* ev, void *ctx, void *obj, int len)
/**
* Update the settings
*/
static void settingsUpdated(UAVObjEvent* ev, void *ctx, void *obj, int len)
static void settingsUpdated(const UAVObjEvent *ev,
void *ctx, void *obj, int len)
{
(void) ev; (void) ctx; (void) obj; (void) len;
GeoFenceSettingsGet(geofenceSettings);
Expand Down
3 changes: 2 additions & 1 deletion flight/Modules/Logging/logging.c
Original file line number Diff line number Diff line change
Expand Up @@ -482,7 +482,8 @@ static int32_t send_data_nonblock(void *ctx, uint8_t *data, int32_t length)
* @brief Callback for adding an object to the logging queue
* @param ev the event
*/
static void obj_updated_callback(UAVObjEvent * ev, void* cb_ctx, void *uavo_data, int uavo_len)
static void obj_updated_callback(const UAVObjEvent *ev, void *cb_ctx,
void *uavo_data, int uavo_len)
{
(void) cb_ctx; (void) uavo_data; (void) uavo_len;

Expand Down
12 changes: 8 additions & 4 deletions flight/Modules/PathPlanner/pathplanner.c
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,10 @@ static void activateWaypoint(int idx);
static void pathPlannerTask(void *parameters);
static void process_pp_settings();

static void waypointsUpdated(UAVObjEvent * ev, void *ctx, void *obj, int len);
static void pathStatusUpdated(UAVObjEvent * ev, void *ctx, void *obj, int len);
static void waypointsUpdated(const UAVObjEvent *ev,
void *ctx, void *obj, int len);
static void pathStatusUpdated(const UAVObjEvent *ev,
void *ctx, void *obj, int len);
static void createPathBox();
static void createPathLogo();

Expand Down Expand Up @@ -217,7 +219,8 @@ static void pathPlannerTask(void *parameters)
* On changed waypoints or active waypoint update position desired
* if we are in charge
*/
static void waypointsUpdated(UAVObjEvent * ev, void *ctx, void *obj, int len)
static void waypointsUpdated(const UAVObjEvent *ev,
void *ctx, void *obj, int len)
{
(void) ev; (void) ctx; (void) obj; (void) len;

Expand All @@ -237,7 +240,8 @@ static void waypointsUpdated(UAVObjEvent * ev, void *ctx, void *obj, int len)
/**
* When the PathStatus is updated indicate a new one is available to consume
*/
static void pathStatusUpdated(UAVObjEvent * ev, void *ctx, void *obj, int len)
static void pathStatusUpdated(const UAVObjEvent *ev,
void *ctx, void *obj, int len)
{
(void) ev; (void) ctx; (void) obj; (void) len;

Expand Down
3 changes: 2 additions & 1 deletion flight/Modules/RadioComBridge/radiocombridge.c
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,8 @@ static void ProcessRadioStream(UAVTalkConnection inConnectionHandle,

static RadioComBridgeData *data;

static void NewReceiverData(UAVObjEvent * ev, void *ctx, void *obj, int len)
static void NewReceiverData(const UAVObjEvent *ev,
void *ctx, void *obj, int len)
{
(void) ctx; (void) obj; (void) len;

Expand Down
27 changes: 19 additions & 8 deletions flight/Modules/System/systemmod.c
Original file line number Diff line number Diff line change
Expand Up @@ -140,14 +140,21 @@ static volatile bool config_check_needed;
static const char * volatile custom_blink_string;

// Private functions
static void systemPeriodicCb(UAVObjEvent *ev, void *ctx, void *obj_data, int len);
static void objectUpdatedCb(UAVObjEvent * ev, void *ctx, void *obj, int len);
static void systemPeriodicCb(const UAVObjEvent *ev,
void *ctx, void *obj_data, int len);
static void objectUpdatedCb(const UAVObjEvent *ev,
void *ctx, void *obj, int len);
static uint32_t processPeriodicUpdates();
static int32_t eventPeriodicCreate(UAVObjEvent* ev, UAVObjEventCallback cb, struct pios_queue *queue, uint16_t periodMs);
static int32_t eventPeriodicUpdate(UAVObjEvent* ev, UAVObjEventCallback cb, struct pios_queue *queue, uint16_t periodMs);
static int32_t eventPeriodicCreate(UAVObjEvent *ev,
UAVObjEventCallback cb, struct pios_queue *queue,
uint16_t periodMs);
static int32_t eventPeriodicUpdate(UAVObjEvent *ev,
UAVObjEventCallback cb, struct pios_queue *queue,
uint16_t periodMs);

#ifndef NO_SENSORS
static void configurationUpdatedCb(UAVObjEvent * ev, void *ctx, void *obj, int len);
static void configurationUpdatedCb(const UAVObjEvent *ev,
void *ctx, void *obj, int len);
#endif

void system_task();
Expand Down Expand Up @@ -412,7 +419,9 @@ void system_annunc_custom_string(const char *string)
custom_blink_string = string;
}

static void systemPeriodicCb(UAVObjEvent *ev, void *ctx, void *obj_data, int len) {
static void systemPeriodicCb(const UAVObjEvent *ev,
void *ctx, void *obj_data, int len)
{
(void) ev; (void) ctx; (void) obj_data; (void) len;

static unsigned int counter=0;
Expand Down Expand Up @@ -622,7 +631,8 @@ static void systemPeriodicCb(UAVObjEvent *ev, void *ctx, void *obj_data, int len
/**
* Function called in response to object updates
*/
static void objectUpdatedCb(UAVObjEvent * ev, void *ctx, void *obj_data, int len)
static void objectUpdatedCb(const UAVObjEvent *ev,
void *ctx, void *obj_data, int len)
{
(void) ctx; (void) obj_data; (void) len;

Expand Down Expand Up @@ -694,7 +704,8 @@ static void objectUpdatedCb(UAVObjEvent * ev, void *ctx, void *obj_data, int len
* Called whenever a critical configuration component changes
*/

static void configurationUpdatedCb(UAVObjEvent * ev, void *ctx, void *obj, int len)
static void configurationUpdatedCb(const UAVObjEvent *ev,
void *ctx, void *obj, int len)
{
(void) ev; (void) ctx; (void) obj; (void) len;
config_check_needed = true;
Expand Down
6 changes: 4 additions & 2 deletions flight/Modules/TxPID/txpid.c
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,8 @@ struct txpid_struct {
static struct txpid_struct *txpid_data;

// Private functions
static void updatePIDs(UAVObjEvent* ev, void *ctx, void *obj, int len);
static void updatePIDs(const UAVObjEvent *ev,
void *ctx, void *obj, int len);
static bool update(float *var, float val);
static float scale(float val, float inMin, float inMax, float outMin, float outMax);

Expand Down Expand Up @@ -172,7 +173,8 @@ MODULE_INITCALL(TxPIDInitialize, TxPIDStart);
/**
* Update PIDs callback function
*/
static void updatePIDs(UAVObjEvent* ev, void *ctx, void *obj, int len)
static void updatePIDs(const UAVObjEvent *ev,
void *ctx, void *obj, int len)
{
(void) ev; (void) ctx; (void) obj; (void) len;

Expand Down
6 changes: 6 additions & 0 deletions flight/PiOS/Common/pios_thread.c
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,14 @@ struct pios_thread
Thread *threadp;
};

DONT_BUILD_IF(CH_FREQUENCY != 1000, ChFreqMs);
#define CVT_MS2ST(msec) (msec)
#define CVT_ST2MS(n) (n)

#if 0
#define CVT_MS2ST(msec) ((systime_t)(((((uint32_t)(msec)) * ((uint64_t)CH_FREQUENCY) - 1UL) / 1000UL) + 1UL))
#define CVT_ST2MS(n) (((((n) - 1ULL) * 1000ULL) / ((uint64_t)CH_FREQUENCY)) + 1UL)
#endif

/**
* Compute size that is at rounded up to the nearest
Expand Down
3 changes: 2 additions & 1 deletion flight/PiOS/Common/pios_uavtalkrcvr.c
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,8 @@ static struct pios_uavtalkrcvr_dev *PIOS_uavtalkrcvr_alloc(void)
return(uavtalkrcvr_dev);
}

static void uavreceiver_updated(UAVObjEvent * ev, void *ctx, void *obj, int len)
static void uavreceiver_updated(const UAVObjEvent *ev,
void *ctx, void *obj, int len)
{
struct pios_uavtalkrcvr_dev *uavtalkrcvr_dev = global_uavtalkrcvr_dev;
if (ev->obj == UAVTalkReceiverHandle()) {
Expand Down
6 changes: 3 additions & 3 deletions flight/UAVObjects/inc/uavobjectmanager.h
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ typedef struct {
* will be executed in the event task. The ev parameter should be copied if needed
* after the function returns.
*/
typedef void (*UAVObjEventCallback)(UAVObjEvent* ev, void* cb_ctx,
typedef void (*UAVObjEventCallback)(const UAVObjEvent *ev, void* cb_ctx,
void *uavo_data, int uavo_len);

/**
Expand Down Expand Up @@ -214,8 +214,8 @@ void UAVObjIterate(void (*iterator)(UAVObjHandle obj));
int32_t getEventMask(UAVObjHandle obj_handle, struct pios_queue *queue);
uint8_t UAVObjCount();
uint32_t UAVObjIDByIndex(uint8_t index);
void UAVObjCbSetFlag(UAVObjEvent *objEv, void *ctx, void *obj, int len);
void UAVObjCbCopyData(UAVObjEvent *objEv, void *ctx, void *obj, int len);
void UAVObjCbSetFlag(const UAVObjEvent *objEv, void *ctx, void *obj, int len);
void UAVObjCbCopyData(const UAVObjEvent *objEv, void *ctx, void *obj, int len);

#endif // UAVOBJECTMANAGER_H

Expand Down
Loading

0 comments on commit d3d619f

Please sign in to comment.