Mission+RTL: Refactoring mission and RTL to keep them separate. RTL does all its mission related computation in its own class.

Dataman: Add write function to dataman cache.

RTL and mission have a new common base class mission_base. Both inherit from them and mission, RTL mission, and rtl reverse mission inherit from them and implement their desired functionalities. This simplifies the logic in mission as well as make the logic in rtl mission reverse and mission more readable.
Rtl mission reverse now functional again for VTOL flying back the mission and transitioning to MC at the home position.
Dataman cache has new write functionality to write to dataman while updating write item in its cache if necessary.
Dataman cache is now only updated when the respective module is active. Leads to a higher computation time once on activation, but decreases unnecessary cache updates when inactive.
This commit is contained in:
Konrad
2023-06-27 15:42:49 +02:00
committed by Silvan Fuhrer
parent 1a7e438099
commit 007ed11bbe
24 changed files with 4561 additions and 3237 deletions
+6 -3
View File
@@ -4,6 +4,9 @@ uint8 dataman_id # default 0, there are two offboard storage places in the datam
uint16 count # count of the missions stored in the dataman
int32 current_seq # default -1, start at the one changed latest
int16 mission_update_counter # indicates updates to the mission, reload from dataman if increased
int16 geofence_update_counter # indicates updates to the geofence, reload from dataman if increased
int16 safe_points_update_counter # indicates updates to the safe points, reload from dataman if increased
int32 land_start_index # Index of the land start marker, if unavailable index of the land item, -1 otherwise
int32 land_index # Index of the land item, -1 otherwise
uint16 mission_update_counter # indicates updates to the mission, reload from dataman if increased
uint16 geofence_update_counter # indicates updates to the geofence, reload from dataman if increased
uint16 safe_points_update_counter # indicates updates to the safe points, reload from dataman if increased