1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-12-13 20:48:42 +01:00
Commit Graph

59 Commits

Author SHA1 Message Date
Alessio Morale
0db9a9bf8d OP-1058 Add xxxGet and xxxSet functions to handle multielement fields as struct
for example:
EKFStateVariancePSet(EKFStateVariancePData *NewP);
EKFStateVariancePGet(EKFStateVariancePData *NewP);
Also in this case array accessors are renamed as xxxArrayGet/Set:
EKFStateVariancePArraySet(float *NewP);
EKFStateVariancePArrayGet(float *NewP);

Nothing changes for anonymous items as default functions continues to deal with arrays

+review OPReview-552
2013-09-01 13:23:20 +02:00
Alessio Morale
e91bc28667 OP-1058 Get rid of Unions.
They caused stack usage increase with -fstrict-aliasing as stack slots are not reused when dealing with unions.
It has now been added the cast_struct_to_array macro in pios_struct_helper.h to handle such case where it is useful to access those homogeneous structs as arrays

+review OPReview-552
2013-09-01 12:10:55 +02:00
Alessio Morale
01d963affd OP-1058 uncrustify 2013-08-01 01:28:50 +02:00
Alessio Morale
d99790be71 OP-1058: Implement explicit item accessor for MultiElement fields.
This implementation uses a union containing the Array implementing the MultiElement field data and a struct made from element names.
it allow to replace the following sintax:
  settings.PitchRatePID[STABILIZATIONSETTINGS_PITCHRATEPID_KP]
with a more concise and less error prone
  settings.PitchRatePID.fields.Kp
while allowing the direct array access using the notation
  settings.PitchRatePID.data[n]
2013-07-31 15:23:43 +02:00
Sexy Pony
900f643bbd Reformat source code with 'make uncrustify_all' run twice. NO CODE CHANGES 2013-05-19 17:37:30 +03:00
Richard Flay (Hyper)
87fcf9fa8b Merge branch 'next' into hyper/OP-931_extra_compiler_warnings and update as necessary.
Hopefully properly fixes conflicts:
	flight/modules/Attitude/attitude.c
	flight/modules/ManualControl/manualcontrol.c
	flight/modules/Osd/WavPlayer/wavplayer.c
	flight/modules/Osd/osdgen/osdgen.c
	flight/modules/System/systemmod.c
	ground/uavobjgenerator/generators/flight/uavobjectgeneratorflight.cpp
2013-05-04 11:12:44 +09:30
Oleg Semyonov
0394a3511c Rename template files to *.template to screen from uncrustify processing 2013-04-30 16:54:27 +02:00
Richard Flay (Hyper)
7937ae6296 OP-931: Makes flight code compile with -Wfloat-equal and -Wunsuffixed-float-constants enabled.
Also fixes warnings (and bugs) in F4 STM32_USB_OTG_Driver code, allowing -Werror to be enabled for all flight code.
Fixes all other compiler warnings that would otherwise cause the flight code to not compile with -Werror enabled.
Along the way, this also adds some uses of isnan() to various places rather than questionable tests for x != x and
x == x to check for NaNs.

+review OPReview
2013-04-30 20:36:42 +09:30
Oleg Semyonov
27195b7327 OP-899: move UAVObjects and UAVTalk one level up from targets 2013-04-24 00:07:07 +03:00
Stacey Sheldon
f500ac1e23 rename: move UAVObjects and UAVTalk directories under targets 2013-01-28 02:33:06 +02:00
James Cotton
a3b75a3cc7 Merge remote-tracking branch 'origin/kenz/matlab_parser_vectorizing' into next 2012-09-02 19:23:18 -05:00
Laura Sebesta
f23eabf469 Fixed comments to mention "instantiation" instead of "allocation". 2012-08-16 08:47:45 +02:00
Laura Sebesta
699b2f3030 Cleaned up variable names, fixed bug in saving whereby the a log file could be saved over if the extension were not "opl". 2012-08-16 08:37:26 +02:00
Laura Sebesta
69133c1427 Further optimized Matlab parsing. It now does most typecast as vectorized operations.
The upshot is an approximately 50% performance boost.
2012-08-16 00:13:19 +02:00
James Cotton
e1ba3d2e63 Update the UAVObjects to the version on next. At some point a make script
should generate these and copy from build/uavobjects-synth/java to this
directory automatically.

Also make sure java objects use CamelCase
2012-08-06 16:54:54 -05:00
James Cotton
6dd509ded3 Make the initial values for enums be the string. Make setValue accept
numerical or string constants for enums.  Only returns a string though.
2012-08-06 16:54:19 -05:00
James Cotton
f338625092 Removed various debugging outputs and exceptions for now (will add back in a
more principled manner later).  Also updated the auto generated code.
2012-08-06 16:54:19 -05:00
James Cotton
cc7eb0f261 Make object store with the minimal amount of space and deal with unsigned
values
2012-08-06 16:54:18 -05:00
James Cotton
9a4c158690 Java autogenerated code to be more compatible with gcs code 2012-08-06 16:54:18 -05:00
Fredrik Arvidsson
d83bff100b Merge branch 'next' into thread/OP-642 2012-07-01 12:25:23 +02:00
Stacey Sheldon
d9dca0b553 Merge branch 'wireshark-plugins' into next 2012-06-30 22:42:38 -04:00
Fredrik Arvidsson
32abd2e32f Merge branch 'next' into thread/OP-642 2012-06-30 16:51:19 +02:00
Corvus Corax
2dcc28cea3 uavobjectgenerator: for consistency with flight and gcs code, change order of update modes. This is a cosmetic change, it does ot change the generated code since update modes are always identified by string, not numerically. 2012-06-29 10:33:33 +02:00
Fredrik Arvidsson
3c754af484 OP-642 Added <category> element which is a string in uavo object type definition to be used in uavo browser to categorise uavo:s visually into subtrees. Category value is assigned in generated code and accessible via getter method. OP-644 Fixed option for uavo browser to enable disable hilights for objects which values wasn't really changed to indicate stream activity in uavo object tree. 2012-06-20 21:26:18 +02:00
Stacey Sheldon
4c47a36bda uavobjgenerator: Add generator for wireshark UAVO plugin
Using 'make uavobjects_wireshark' now generates a complete
wireshark dissector that can decode all fields of the available
UAVObjects.
2012-06-19 00:21:35 -04:00
James Cotton
3155324384 Merge branch 'next' into cc3d
Conflicts:
	Makefile
	ground/openpilotgcs/src/plugins/config/configahrswidget.cpp
	shared/uavobjectdefinition/ahrscalibration.xml
	shared/uavobjectdefinition/ahrssettings.xml
	shared/uavobjectdefinition/attituderaw.xml
2012-05-03 16:31:49 -05:00
Brian Webb
eb6f175af4 Fixed metadata settings in object browswer, and removed update mode never from all uavobjects that used it (changed to manual). 2012-04-21 11:59:14 -07:00
James Cotton
f20e5da9ed Merge branch 'next' into revolution
Conflicts:
	ground/openpilotgcs/src/plugins/config/config.pro
	ground/openpilotgcs/src/plugins/config/configrevowidget.h
	ground/openpilotgcs/src/plugins/scope/scopegadgetwidget.cpp
2012-03-03 11:41:41 -06:00
James Cotton
fbb0b1173a More work from Kenz to improve the matlab parser 2012-02-16 04:24:10 -06:00
James Cotton
7c65bcc5ac Merge remote-tracking branch 'origin/pt/gcs_uavobj_widget_framework' into next 2012-02-14 14:24:23 -06:00
James Cotton
bb89b82865 Merge branch 'next' into GCS_QML_Dmytro 2012-02-14 12:35:14 -06:00
James Cotton
fea4accb07 Patch from Kenz to suppress warnings about unknown object IDs until end of
parsing
2012-02-13 16:36:05 -06:00
James Cotton
c111e26958 Patch from Kenz to suppress warnings about unknown object IDs until end of
parsing
2012-02-13 14:55:44 -06:00
James Cotton
6d6c7cac60 Added CRC calculation to the matlab log parsing 2012-02-10 08:07:51 -06:00
Dmytro Poplavskiy
aead288304 Generate properties for UAVDataObject fields.
Also changed UAVObject::requestUpdate() and UAVObject::update() to be slots.

This makes possible to use objects directly from QML.
2012-02-05 13:58:17 +10:00
zedamota
427acee559 Added support for objects value limits on the GCS to the GCS and generator. 2012-02-03 20:29:28 +00:00
James Cotton
21714911e8 Convert log files to structure of array instead of array of struct from Kenz 2012-01-01 13:19:07 -06:00
James Cotton
c996cbf00e Small tweak to Kenn's patch to grow array exponentially. This has large gains
for long logs.
2011-12-18 16:27:45 -06:00
James Cotton
99201d152a Patch from Kenn to speed up matlab parsing by preallocating arrays 2011-12-16 15:30:48 -06:00
Stacey Sheldon
624562aa07 uavobjgen: fix order of struct fields in autogen matlab code
Matlab needs field order to match in struct assignment.
This moves the instanceId field after the timestamp in all
encodings.
2011-12-14 23:10:08 -05:00
Stacey Sheldon
15c9b32392 uavobjgen: Add missing instanceID field in multi-instance structs 2011-12-10 16:50:15 -05:00
James Cotton
6fd2426a90 Patch from Kenn for the matlab processing function to fix issue with multiple
isntance objects
2011-11-09 12:49:50 -06:00
Oleg Semyonov
51ec7da0a2 uavobjgenerator: enable '(' and ')' characters in object field names
Useful for names like "DSM (FlexiPort)" or similar. Will be removed
from symbolic indentifiers.
2011-10-30 11:34:47 +02:00
Oleg Semyonov
b8d9d300c8 uavobjgenerator: enable '+' character in object field names
Useful for names like "Pitch+Roll" or similar. Will be removed
from symbolic indentifiers.
2011-10-24 00:23:03 +03:00
Corvus Corax
f52f6d30c6 VTalk (flight): Buffers allocated dynamically with size calculated by UAVObjGenerator. Support for tx packet sizes < object size.i 2011-06-24 02:08:20 +02:00
Mathieu Rondonneau
31a06a5ae7 OP-423 add set/get uavobjects functions to access objects fields separately. 2011-06-02 21:18:34 -07:00
ligi
bb9306d018 - fill deserializing gaps
- byte->int for arraypos and fieldid ( better save than sorry )

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3129 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-04-09 04:25:15 +00:00
vassilis
b084ea7ea1 FlightPlan/Python: Updated object generator to create a Python file for each UAVObject. It is now possible to access all UAVObjects from the FlightPlan Python scripts.
Warning: The memory utilization when importing objects is unacceptably high making it unusable in the flight code at this point. It can be however used with the SITL simulator. Some more investigation is needed to understand why several kb of memory are used each time a module is imported (even before any functions are called or objects from the module are created). 


git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2938 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-03 02:22:50 +00:00
corvus
afdaf88d4a UAVObjects: Allow Generation and Initialisation of individual UAVObjects
per target as defined in Makefile (and/or Make include file) For
OpenPilot this is flight/OpenPilot/UAVObjects.inc For sim_posix and
sim_win32 needs rebuild of uavobjectgenerator and uavobjects!

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2736 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-05 22:17:40 +00:00
corvus
16eef53f02 UAVObjectgenerator: Autogenerate Make include-file for flight UAVObjects to be used in firmware Makefiles.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2702 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-02 20:15:28 +00:00