Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Attempt to improve CPU use by declaring things const #2210

Merged
merged 3 commits into from
May 22, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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