Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for generic payloads #3

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

vivian-zhou-skydio
Copy link

@vivian-zhou-skydio vivian-zhou-skydio commented Nov 16, 2024

  • Add MAV_CMD_GENERIC_PAYLOAD_FUNCTIONS_CONTROL, GENERIC_PAYLOAD_STATUS,GENERIC_PAYLOAD_FUNCTION_STATUS, and GENERIC_PAYLOAD_ERROR_FLAGS to development.xml

GENERIC_PAYLOAD_STATUS is the status for the generic payload, and GENERIC_PAYLOAD_FUNCTION_STATUS is the status for individual function(s) of the generic payload that can be controlled via MAV_CMD_GENERIC_PAYLOAD_FUNCTIONS_CONTROL.
MAV_CMD_GENERIC_PAYLOAD_FUNCTIONS_CONTROL is used to control payload functions. It can be used for simple control such as ON/OFF of a flashlight. It can also be used to control multiple functions of a component such as arm/disarm and deployment of a parachute.

Topic: generic_payload

@vivian-zhou-skydio
Copy link
Author

Reviews in this chain:
#3 Add support for generic payloads

@vivian-zhou-skydio
Copy link
Author

vivian-zhou-skydio commented Nov 16, 2024

# head base diff date summary
0 112e1ab4 01e0cc2f diff Nov 15 17:32 PM 1 file changed, 10 insertions(+)
1 91451e44 01e0cc2f diff Nov 19 13:53 PM 1 file changed, 20 insertions(+), 2 deletions(-)
2 c5f7ed27 01e0cc2f diff Dec 18 14:22 PM 1 file changed, 10 insertions(+), 9 deletions(-)
3 7b83b105 01e0cc2f diff Dec 19 14:15 PM 1 file changed, 10 insertions(+), 2 deletions(-)

Comment on lines 342 to 346
<entry value="404" name="MAV_CMD_GENERIC_PAYLOAD_ON_OFF" hasLocation="false" isDestination="false">
<description>Allows for ON and OFF control for a generic payload.</description>
<param index="1" label="Enable" minValue="0" maxValue="1" increment="1">0: Generic payload OFF, 1: Generic payload ON</param>
</entry>
Copy link

@thomas-watters-skydio thomas-watters-skydio Nov 25, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<entry value="404" name="MAV_CMD_GENERIC_PAYLOAD_ON_OFF" hasLocation="false" isDestination="false">
<description>Allows for ON and OFF control for a generic payload.</description>
<param index="1" label="Enable" minValue="0" maxValue="1" increment="1">0: Generic payload OFF, 1: Generic payload ON</param>
</entry>
<entry value="404" name="MAV_CMD_GENERIC_PAYLOAD_DIGITAL_INPUT" hasLocation="false" isDestination="false">
<param index="1" label="Index/Pin" minValue="0" maxValue="1" increment="1">Index of Pin/Sub-Component</param>
<param index="2" label="Set Point" minValue="0" maxValue="1" increment="1">0: LOW/OFF 1: HI/ON</param>
</entry>

Is there a world where we would like a component to be able to advertise multiple binary switches. this could be for like say Arming a parachute and then Deploying a parachute. We could achieve this with indexing the Input/Outputs

GENERIC_PAYLOAD_STATUS could have overall payload status, and then we'd have another message say GENERIC_PAYLOAD_DIGITAL_STATUS which carries the set point of the index/pin

Copy link

@thomas-watters-skydio thomas-watters-skydio Nov 25, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

UI for primary/secondary/tertiary switches could be discovered based on GENERIC_PAYLOAD_DIGITAL_STATUS

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, this is a great idea. I just changed the naming slightly since I wasn't sure if DIGITAL_INPUT would get the idea across. Reviewed the rest with @amy-chen-skydio. Happy to get your input!

@vivian-zhou-skydio vivian-zhou-skydio force-pushed the vivian.zhou/revup/master/generic_payload branch from 91451e4 to c5f7ed2 Compare December 18, 2024 22:22
<message id="398" name="GENERIC_PAYLOAD_STATUS">
<description>Generic payload status.</description>
<field type="uint32_t" name="uptime_ms" units="ms">Time since the start-up of the generic payload in ms</field>
<field type="uint8_t" name="enable">0: Generic payload OFF, 1: Generic payload ON</field>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we either need this message to have an index field to correspon to the FUNCTIONS_CONTROL message, or if this is communicating the payload power on/off then we need to have another separate message to publish the status of the FUNCTIONS_CONTROL state

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@thomas-watters-skydio Uploaded changes to include a new function status message. Let me know what you think! :)

- Add `MAV_CMD_GENERIC_PAYLOAD_FUNCTIONS_CONTROL`, `GENERIC_PAYLOAD_STATUS`,`GENERIC_PAYLOAD_FUNCTION_STATUS`, and  `GENERIC_PAYLOAD_ERROR_FLAGS` to development.xml

`GENERIC_PAYLOAD_STATUS` is the status for the generic payload, and `GENERIC_PAYLOAD_FUNCTION_STATUS` is the status for individual function(s) of the generic payload that can be controlled via `MAV_CMD_GENERIC_PAYLOAD_FUNCTIONS_CONTROL`.
`MAV_CMD_GENERIC_PAYLOAD_FUNCTIONS_CONTROL` is used to control payload functions. It can be used for simple control such as ON/OFF of a flashlight. It can also be used to control multiple functions of a component such as arm/disarm and deployment of a parachute.

Topic: generic_payload
@vivian-zhou-skydio vivian-zhou-skydio force-pushed the vivian.zhou/revup/master/generic_payload branch from c5f7ed2 to 7b83b10 Compare December 19, 2024 22:15
Copy link

@amy-chen-skydio amy-chen-skydio left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants