Skip to content

Pass SmartShift parameters as a typed struct at the next PROTOCOL_VERSION bump #385

Description

@AprilNEA

Agent::set_smartshift(route, mode: SmartShiftMode, auto_disengage: u8, tunable_torque: u8) threads three loose values through five layers, where 0 is a magic "do not change" sentinel documented only at the bottom (write/smartshift.rs). The right encoding already exists — hidpp's SmartShiftEnhancedStatusChange uses Option<NonZeroU8>.

Fold the trio into a Change/Params struct end to end. The tarpc method signature is append-only wire format, so this must ride the next PROTOCOL_VERSION bump (regenerate the wire_format.rs goldens) rather than ship alone.

Surfaced by the standards audit behind #381.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: hidHID device discovery, permissions, reads, or writestype: enhancementImprovement to existing functionality

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions