- Source processing now happens on original source files:
- processing to line-by-line
- required overhaul of regex match patterns + processing
- pros:
- enable tracing of ambiguous parsing sites -- reports (module, file, line-number, line-contents)
- simplifies code
- reduces computational complexity
- cons:
- certain declarations are harder to parse: multiline declarations
- refactors:
- added specific subclasses for each: Publications, Subscriptions, Ambiguities
- added a "Scope" class to represent either a module ('ModuleScope') or a library ('LibraryScope')
- regexes:
- added cases for C++-style classes
- expanded C++-style regex cases to accommodate templates
- `ORB_ID::` is accepted wherever `ORB_ID(` is accepted
- adds 'orb_copy' regex to the subscription cases
- emit ambiguous-line warning for declarations with `ORB_ID` on the same line
- emit ambiguous-line warning for `ORB_ID` with a declaration on the same line
- changed 'module whitelist' to 'scope-whitelist'
- whitelist may now apply to libraries
- libraries are optionally merged with their depending modules (but not by default)
- may be merged with their depending modules with the `--merge-depends` cli flag
- eliminates some redundant 'special-case' handling code
- debug output
- raises exception and aborts if a topic is found outside of a scope
- debug output is now printed & filtered with the python 'logging' standard module
- alphabetizes topic output in debug logging
- fixes debug output if package dependencies are missing
- now warns on ambiguous matches
- prints a list of ambiguous source sites (aka warnings) on completion
- (still) emits a warning if we find ORB_ID outside of a scope
- adds warnings if any of the source paths are invalid
- do not emit debug output for modules outside of the module/scope whitelist
- Expand script's CLI parameters
- added 'none' output options: undocumented debugging option to silence file output while debugging
- added the `--merge-depends` cli flag -- merges output of modules & their dependee libraries
- debug output is now printed & filtered with the python 'logging' standard module
- changed 'module whitelist' to 'scope-whitelist'
- whitelist may now apply to libraries
- libraries are not included by default
- may be merged with their depending modules with the `--merge-depends` cli flag
- eliminates redundant 'special-case' handling code
- greatly expands debugging output
- fixes debug output if package dependencies are missing
- still crashes on error matches
- now warns on ambiguous matches
- prints a list of ambiguous source sites (aka warnings) on completion
- adds warnings if any of the source paths are invalid
- do not emit debug output for modules outside of the module/scope whitelist
- Expand script's CLI parameters
- added 'none' output options: undocumented debugging option to silence file output while debugging
- added the `--merge-depends` cli flag -- merges output of modules & their dependee libraries
- Source processing now happens on original source files:
- processing to line-by-line
- required overhaul of regex match patterns + processing
- pros:
- enable tracing of ambiguous parsing sites -- reports (module, file, line-number, line-contents)
- simplifies code
- reduces computational complexity
- cons:
- certain declarations are harder to parse (multiline arrays)
- refactors:
- added specific subclasses for each: Publications, Subscriptions, Ambiguities
- added a "Scope" class to represent either a module ('ModuleScope') or a library ('LibraryScope')
* uORB orb_stat() and update(uint64_t *time, void *dst) are now obsolete and have been deleted
* mavlink messages add more advertised checks in streams get_size() check to improve data rate calculation across different scenarios
Main UAVCAN protocol handling and ESC updates run on the same thread/wq as
before. There are 2 WorkItems for separate scheduling of the 2, so that
ESC updates run in sync with actuator_control updates. UAVCAN is scheduled
at a fixed rate of 3ms (previously the poll timeout) and on each UAVCAN
bus event.
This leads to roughly the same behavior as before. CPU & RAM usage are
pretty much the same (tested on Pixhawk 4).
Testing done: Motors still work (with feedback), param changes and a
UAVCAN optical flow sensor.
* VTOL trans: changed that now in transition for both MC and FW the corresponding (correct) attitude controller is running
* attitude setpoint for stabilized mode is generated by tailsitter.cpp
* reset yaw setpoint during transition to avoid big yaw errors after
transition back to hover
* VT_TYPE parameter: added "reboot required" metadata
* attitude and rate setpoint message: use 3D array for thrust demand
* FixedWingAttitudeControl: rework airspeed scaling
* move airspeed and scaling calculation into separate method
* if vtol in hover and airspeed disabled use minimum airspeed instead of trim airspeed