diff --git a/ProtocolDefinitions b/ProtocolDefinitions index fbf7fd0..ca3d2a9 160000 --- a/ProtocolDefinitions +++ b/ProtocolDefinitions @@ -1 +1 @@ -Subproject commit fbf7fd0cb4b8261a1514ff893eef5561b656d47c +Subproject commit ca3d2a9a9348e56ad8f049f46e6be8b49fce658a diff --git a/blueye/protocol/protos.py b/blueye/protocol/protos.py index a6782b0..957a0fa 100644 --- a/blueye/protocol/protos.py +++ b/blueye/protocol/protos.py @@ -139,6 +139,7 @@ from .types.message_formats import NotificationLevel from .types.message_formats import NotificationType from .types.message_formats import OverlayParameters +from .types.message_formats import PersistentStorageSettings from .types.message_formats import PingerConfiguration from .types.message_formats import PositionEstimate from .types.message_formats import PressureSensorType @@ -197,6 +198,8 @@ from .types.req_rep import GetMissionReq from .types.req_rep import GetOverlayParametersRep from .types.req_rep import GetOverlayParametersReq +from .types.req_rep import GetPersistentStorageSettingsRep +from .types.req_rep import GetPersistentStorageSettingsReq from .types.req_rep import GetTelemetryRep from .types.req_rep import GetTelemetryReq from .types.req_rep import PingRep @@ -209,6 +212,8 @@ from .types.req_rep import SetMissionReq from .types.req_rep import SetOverlayParametersRep from .types.req_rep import SetOverlayParametersReq +from .types.req_rep import SetPersistentStorageSettingsRep +from .types.req_rep import SetPersistentStorageSettingsReq from .types.req_rep import SetPubFrequencyRep from .types.req_rep import SetPubFrequencyReq from .types.req_rep import SetThicknessGaugeParametersRep @@ -377,6 +382,8 @@ 'GetMissionReq', 'GetOverlayParametersRep', 'GetOverlayParametersReq', + 'GetPersistentStorageSettingsRep', + 'GetPersistentStorageSettingsReq', 'GetTelemetryRep', 'GetTelemetryReq', 'GoToHomeCommand', @@ -444,6 +451,7 @@ 'OverlayParameters', 'PathSegment', 'PauseMissionCtrl', + 'PersistentStorageSettings', 'PilotGPSPositionCtrl', 'PilotGPSPositionTel', 'PingRep', @@ -481,6 +489,8 @@ 'SetMultibeamConfigCtrl', 'SetOverlayParametersRep', 'SetOverlayParametersReq', + 'SetPersistentStorageSettingsRep', + 'SetPersistentStorageSettingsReq', 'SetPubFrequencyRep', 'SetPubFrequencyReq', 'SetThicknessGaugeParametersRep', diff --git a/blueye/protocol/types/__init__.py b/blueye/protocol/types/__init__.py index c078e0c..0b6f9fc 100644 --- a/blueye/protocol/types/__init__.py +++ b/blueye/protocol/types/__init__.py @@ -102,6 +102,7 @@ MultibeamPing, MultibeamConfig, MultibeamDiscovery, + PersistentStorageSettings, IntervalType, HeadingSource, ResetCoordinateSource, @@ -235,6 +236,10 @@ SetPubFrequencyRep, GetTelemetryReq, GetTelemetryRep, + SetPersistentStorageSettingsReq, + SetPersistentStorageSettingsRep, + GetPersistentStorageSettingsReq, + GetPersistentStorageSettingsRep, ) from .control import ( MotionInputCtrl, @@ -366,6 +371,7 @@ 'MultibeamPing', 'MultibeamConfig', 'MultibeamDiscovery', + 'PersistentStorageSettings', 'IntervalType', 'HeadingSource', 'ResetCoordinateSource', @@ -493,6 +499,10 @@ 'SetPubFrequencyRep', 'GetTelemetryReq', 'GetTelemetryRep', + 'SetPersistentStorageSettingsReq', + 'SetPersistentStorageSettingsRep', + 'GetPersistentStorageSettingsReq', + 'GetPersistentStorageSettingsRep', 'MotionInputCtrl', 'TiltVelocityCtrl', 'LightsCtrl', diff --git a/blueye/protocol/types/message_formats.py b/blueye/protocol/types/message_formats.py index 4a85499..0417956 100644 --- a/blueye/protocol/types/message_formats.py +++ b/blueye/protocol/types/message_formats.py @@ -114,6 +114,7 @@ 'MultibeamPing', 'MultibeamConfig', 'MultibeamDiscovery', + 'PersistentStorageSettings', }, ) @@ -2635,4 +2636,60 @@ class MultibeamDiscovery(proto.Message): ) +class PersistentStorageSettings(proto.Message): + r"""PersistentStorageSettings defines settings for writing + various types of data in the persistent storage on the drone + Some of the data is written during factory calibration (acc + calibration), while other data is written during user + calubration or during normal operation. + + Attributes: + videos (bool): + Indicates if videos should be written to the + video partition. + images (bool): + Indicates if images should be written to the + video partition. + binlog (bool): + Indicates if binary logs with telemetry data + should be written to the data partition. + multibeam (bool): + Indicates if multibeam data should be written + to the video partition. + webserver_log (bool): + Indicates if webserver logs should be written + to the data partition. + control_system_log (bool): + Indicates if control system logs should be + written to the data partition. + gyro_calibration (bool): + Indicates if gyro calibration data should be + written to the data partition. + compass_calibration (bool): + Indicates if compass calibration data should + be written to the data partition. + acc_calibration (bool): + Indicates if accelerometer calibration data + should be written to the data partition. + """ + + videos = proto.Field(proto.BOOL, number=1) + + images = proto.Field(proto.BOOL, number=2) + + binlog = proto.Field(proto.BOOL, number=3) + + multibeam = proto.Field(proto.BOOL, number=4) + + webserver_log = proto.Field(proto.BOOL, number=5) + + control_system_log = proto.Field(proto.BOOL, number=6) + + gyro_calibration = proto.Field(proto.BOOL, number=7) + + compass_calibration = proto.Field(proto.BOOL, number=8) + + acc_calibration = proto.Field(proto.BOOL, number=9) + + __all__ = tuple(sorted(__protobuf__.manifest)) diff --git a/blueye/protocol/types/req_rep.py b/blueye/protocol/types/req_rep.py index aed2aef..a390eb0 100644 --- a/blueye/protocol/types/req_rep.py +++ b/blueye/protocol/types/req_rep.py @@ -56,6 +56,10 @@ 'SetPubFrequencyRep', 'GetTelemetryReq', 'GetTelemetryRep', + 'SetPersistentStorageSettingsReq', + 'SetPersistentStorageSettingsRep', + 'GetPersistentStorageSettingsReq', + 'GetPersistentStorageSettingsRep', }, ) @@ -392,4 +396,39 @@ class GetTelemetryRep(proto.Message): ) +class SetPersistentStorageSettingsReq(proto.Message): + r"""Request to set persistent storage settings. + + Attributes: + persistent_storage_settings (blueye.protocol.types.PersistentStorageSettings): + The persistent storage settings to apply. + """ + + persistent_storage_settings = proto.Field(proto.MESSAGE, number=1, + message=message_formats.PersistentStorageSettings, + ) + + +class SetPersistentStorageSettingsRep(proto.Message): + r"""Response after setting persistent storage settings.""" + + +class GetPersistentStorageSettingsReq(proto.Message): + r"""Request to get currently set persistent storage settings.""" + + +class GetPersistentStorageSettingsRep(proto.Message): + r"""Response with the currently set persistent storage settings. + + Attributes: + persistent_storage_settings (blueye.protocol.types.PersistentStorageSettings): + The currently set persistent storage + settings. + """ + + persistent_storage_settings = proto.Field(proto.MESSAGE, number=1, + message=message_formats.PersistentStorageSettings, + ) + + __all__ = tuple(sorted(__protobuf__.manifest))