diff --git a/mavlink_rust/Cargo.toml b/mavlink_rust/Cargo.toml index 2afeb070db9912e88ab5b801617177ce1d7dfc1b..2f5d67899ae38d0b124478de67136b357901a091 100644 --- a/mavlink_rust/Cargo.toml +++ b/mavlink_rust/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "skyward_mavlink" -version = "0.1.1" +version = "0.2.0" authors = ["Federico Lolli <federico.lolli@skywarder.eu>"] -edition = "2021" +edition = "2024" license = "MIT" [dependencies] @@ -15,7 +15,7 @@ serde_arrays = { version = "0.1", optional = true } [dependencies.mavlink-core] git = "https://git.skywarder.eu/avn/swd/mavlink/rust-mavlink.git" -rev = "1b51a25d717993d39004152f215c33f4333e2056" +rev = "9a06b5bbfe555673f4df968e8756d9b46f5a4a73" [build-dependencies] serde = "1.0" @@ -23,13 +23,12 @@ serde_json = "1.0" [build-dependencies.mavlink-bindgen] git = "https://git.skywarder.eu/avn/swd/mavlink/rust-mavlink.git" -rev = "1b51a25d717993d39004152f215c33f4333e2056" -features = ["serde"] +rev = "9a06b5bbfe555673f4df968e8756d9b46f5a4a73" [features] default = ["orion"] # crate features -reflection = ["dep:paste"] +reflection = ["dep:paste", "mavlink-core/reflection", "mavlink-bindgen/emit-reflection"] # dialect features orion = [] lyra = [] @@ -40,4 +39,4 @@ hermes = [] r2a = [] test = [] # serde support -serde = ["dep:serde", "dep:serde_arrays"] +serde = ["dep:serde", "dep:serde_arrays", "mavlink-bindgen/serde"] diff --git a/message_definitions/orion.xml b/message_definitions/orion.xml index dca259543439cc19db3cd73861b69db3587d795c..093bc23d410b9102a866fde29d3bd60a9a8e92c6 100644 --- a/message_definitions/orion.xml +++ b/message_definitions/orion.xml @@ -349,32 +349,32 @@ </message> <message id="2" name="COMMAND_TC"> <description>TC containing a command with no parameters that trigger some action</description> - <field name="command_id" type="uint8_t">A member of the MavCommandList enum</field> + <field name="command_id" type="uint8_t" enum="MavCommandList">A member of the MavCommandList enum</field> </message> <message id="3" name="SYSTEM_TM_REQUEST_TC"> <description>TC containing a request for the status of a board</description> - <field name="tm_id" type="uint8_t">A member of the SystemTMList enum</field> + <field name="tm_id" type="uint8_t" enum="SystemTMList">A member of the SystemTMList enum</field> </message> <message id="4" name="SENSOR_TM_REQUEST_TC"> <description>TC containing a request for sensors telemetry</description> - <field name="sensor_name" type="uint8_t">A member of the SensorTMList enum</field> + <field name="sensor_name" type="uint8_t" enum="SensorsTMList">A member of the SensorsTMList enum</field> </message> <message id="5" name="SERVO_TM_REQUEST_TC"> <description>TC containing a request for servo telemetry</description> - <field name="servo_id" type="uint8_t">A member of the ServosList enum</field> + <field name="servo_id" type="uint8_t" enum="ServosList">A member of the ServosList enum</field> </message> <message id="6" name="SET_SERVO_ANGLE_TC"> <description>Sets the angle of a certain servo</description> - <field name="servo_id" type="uint8_t">A member of the ServosList enum</field> + <field name="servo_id" type="uint8_t" enum="ServosList">A member of the ServosList enum</field> <field name="angle" type="float">Servo angle in normalized value [0-1]</field> </message> <message id="7" name="RESET_SERVO_TC"> <description>Resets the specified servo</description> - <field name="servo_id" type="uint8_t">A member of the ServosList enum</field> + <field name="servo_id" type="uint8_t" enum="ServosList">A member of the ServosList enum</field> </message> <message id="8" name="WIGGLE_SERVO_TC"> <description>Wiggles the specified servo</description> - <field name="servo_id" type="uint8_t">A member of the ServosList enum</field> + <field name="servo_id" type="uint8_t" enum="ServosList">A member of the ServosList enum</field> </message> <message id="9" name="SET_REFERENCE_ALTITUDE_TC"> <description>Sets the reference altitude for the altimeter</description> @@ -432,12 +432,12 @@ <!-- FROM GROUND TO GSE --> <message id="30" name="SET_ATOMIC_VALVE_TIMING_TC"> <description>Sets the maximum time that the valves can be open atomically</description> - <field name="servo_id" type="uint8_t">A member of the ServosList enum</field> + <field name="servo_id" type="uint8_t" enum="ServosList">A member of the ServosList enum</field> <field name="maximum_timing" type="uint32_t" units="ms">Maximum timing in [ms]</field> </message> <message id="31" name="SET_VALVE_MAXIMUM_APERTURE_TC"> <description>Sets the maximum aperture of the specified valve. Set as value from 0 to 1</description> - <field name="servo_id" type="uint8_t">A member of the ServosList enum</field> + <field name="servo_id" type="uint8_t" enum="ServosList">A member of the ServosList enum</field> <field name="maximum_aperture" type="float">Maximum aperture</field> </message> <message id="32" name="CONRIG_STATE_TC"> @@ -489,17 +489,17 @@ <!-- FROM GROUND TO ARP --> <message id="60" name="SET_STEPPER_ANGLE_TC"> <description>Move the stepper of a certain angle</description> - <field name="stepper_id" type="uint8_t">A member of the StepperList enum</field> + <field name="stepper_id" type="uint8_t" enum="StepperList">A member of the StepperList enum</field> <field name="angle" type="float">Stepper angle in degrees</field> </message> <message id="61" name="SET_STEPPER_STEPS_TC"> <description>Move the stepper of a certain amount of steps</description> - <field name="stepper_id" type="uint8_t">A member of the StepperList enum</field> + <field name="stepper_id" type="uint8_t" enum="StepperList">A member of the StepperList enum</field> <field name="steps" type="float">Number of steps</field> </message> <message id="62" name="SET_STEPPER_MULTIPLIER_TC"> <description>Set the multiplier of the stepper</description> - <field name="stepper_id" type="uint8_t">A member of the StepperList enum</field> + <field name="stepper_id" type="uint8_t" enum="StepperList">A member of the StepperList enum</field> <field name="multiplier" type="float">Multiplier</field> </message> <message id="63" name="SET_ANTENNA_COORDINATES_ARP_TC"> @@ -516,7 +516,7 @@ </message> <message id="65" name="ARP_COMMAND_TC"> <description>TC containing a command with no parameters that trigger some action</description> - <field name="command_id" type="uint8_t">A member of the MavCommandList enum</field> + <field name="command_id" type="uint8_t" enum="MavCommandList">A member of the MavCommandList enum</field> </message> <!-- FROM ROCKET TO GROUND: GENERIC --> @@ -629,13 +629,13 @@ </message> <message id="113" name="SERVO_TM"> <description></description> - <field name="servo_id" type="uint8_t">A member of the ServosList enum</field> + <field name="servo_id" type="uint8_t" enum="ServosList">A member of the ServosList enum</field> <field name="servo_position" type="float">Position of the servo [0-1]</field> </message> <message id="114" name="PIN_TM"> <description></description> <field name="timestamp" type="uint64_t" units="us">Timestamp</field> - <field name="pin_id" type="uint8_t">A member of the PinsList enum</field> + <field name="pin_id" type="uint8_t" enum="PinsList">A member of the PinsList enum</field> <field name="last_change_timestamp" type="uint64_t">Last change timestamp of pin</field> <field name="changes_counter" type="uint8_t">Number of changes of pin</field> <field name="current_state" type="uint8_t">Current state of pin</field>