1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-11-30 08:24:11 +01:00
LibrePilot/flight/Modules
Stacey Sheldon e2b019edd9 telemetry: stop registering periodic events for non-periodic UAVOs
Telemetry module was iterating over all UAVOs including
meta UAVOs and creating a periodic event item for each
object.  These items cost us about 32 bytes for each list
item.

This is wasteful for two main reasons.  First, meta UAVOs can't
meaningfully have periodic updates so excluding them entirely
makes sense.  That halves the number of objects in this list since
there is one meta object for every data object.  This is worth
about 500 bytes of RAM on CC.

Second, about half of the remaining UAVOs are not periodic by
default so they're wasting memory unless someone happens to want
to make them periodic at runtime.  This is worth another 450 bytes
of RAM on CC.

So, objects that are configured as periodic during board init will
support all of the periodic config at runtime.  Objects that are
*not* periodic during board init can only be made periodic on the
next boot.

Each object that you make periodic during init will cost you an
extra 32 bytes of RAM.

With erased settings, free RAM comparison for CC is:
  Before: 2736 bytes free
  After:  4048 bytes free

Total RAM savings with this update is 1312 bytes!
2012-11-10 18:04:16 -05:00
..
Actuator Changed DIAGNOSTICS flag to be individual to each module instead of global. 2012-08-24 12:04:05 +02:00
AHRSComms Merged latest origin/next. 2012-05-05 09:40:44 -07:00
Altitude Merged latest origin/next. 2012-05-05 09:40:44 -07:00
AltitudeHold Disable overosync by default. It was triggering event system warnings due to 2012-03-21 00:29:09 -05:00
Attitude Removed a spurious call to AccelsSet() that was causing garbage data to be transiently written to the Accels UAVO. Props to cyr for kicking off the discussion that led to the discovery of this bug. 2012-11-01 18:15:47 +10:30
Autotune Autotuning: Increase the measurement time to 30 seconds. 2012-08-24 21:32:11 -05:00
Battery Merge branch 'next' into camera_stabilization 2011-07-30 10:06:10 +09:00
CameraStab Merge remote-tracking branch 'origin/stac/i2c_decoupling' into next 2012-01-17 22:35:36 -05:00
ComUsbBridge modules: Allow optional modules to be used as built-in 2012-01-14 16:55:55 -05:00
Example OP-423: simplify the MODULE_INITCALL macro and remove the ordering loops 2011-07-12 20:44:32 -07:00
Fault modules: Allow optional modules to be used as built-in 2012-01-14 16:55:55 -05:00
FirmwareIAP Merged latest origin/next. 2012-05-05 09:40:44 -07:00
FlightPlan uavobjectmanager: remove uavo name field and related functions 2012-07-07 21:49:53 -04:00
GPS Save ~150 bytes by moving GPSDataProtocol to SystemSettings. 2012-10-22 16:47:22 +02:00
Guidance Merged latest origin/next. 2012-05-05 09:40:44 -07:00
ManualControl Merge branch 'next' into relay_tuning 2012-09-04 10:43:04 -05:00
MK/MKSerial OP-265 Flight reorganization of UAVObjects and Modules up a directory 2011-01-14 01:38:19 +00:00
Osd/OsdEtStd Merged latest origin/next. 2012-05-05 09:40:44 -07:00
OveroSync Merge branch 'next' into MikeL 2012-06-04 15:38:57 -07:00
PipXtreme Cleanup on the PipX branch. 2012-05-18 17:42:25 -07:00
RadioComBridge Fixed transparent comms on PipX. 2012-07-14 17:14:43 -07:00
Sensors Merge branch 'next' into MikeL 2012-06-04 15:38:57 -07:00
Stabilization Merge branch 'next' into kenz/diag_stack_split 2012-09-27 19:29:23 +02:00
System console: example usage of the debug console 2012-10-11 00:22:07 -04:00
Telemetry telemetry: stop registering periodic events for non-periodic UAVOs 2012-11-10 18:04:16 -05:00
TxPID TxPID: add GyroTau to the list of parameters (OP-637) 2012-05-28 12:48:55 +03:00