Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions docs/docs/main/docs/development/rynk_protocol.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,8 @@ Which commands a firmware answers depends on the RMK Cargo features it was built
| `0x0933` | `PutLightingExtendedRuntimeConditionalSceneChunk` | `PutLightingExtendedRuntimeConditionalSceneChunkRequest` | `LightingUnitResult` | `lighting` | Stage connection-aware cells for an extended replacement. |
| `0x0934` | `CommitLightingExtendedRuntimeConditionalSceneReplace` | `CommitLightingRuntimeConditionalSceneReplaceRequest` | `LightingStateResult` | `lighting` | Publish a complete extended conditional-table replacement. |
| `0x0935` | `AbortLightingExtendedRuntimeConditionalSceneReplace` | `AbortLightingRuntimeConditionalSceneReplaceRequest` | `LightingUnitResult` | `lighting` | Discard an extended conditional-table replacement. |
| `0x0936` | `GetLightingFrame` | `LightingFrameRequest` | `LightingFramePageResult` | `lighting` | Read back what one lighting node last presented to its LEDs, paged. `LightingFeatureFlags` has no bits left, so support is discovered by probing: firmware without it answers `UnknownCmd`. |
| `0x0937` | `GetLightingReplicaStatus` | `()` | `LightingReplicaStatusResult` | `lighting` | Read both sides of the split lighting replication handshake. Probed like `GetLightingFrame`. Boards may use a read to trigger a coalesced background refresh; reread after one bounded link round trip when a fresh peripheral report is required. |

## Topics

Expand Down
18 changes: 15 additions & 3 deletions rmk-types/src/protocol/rynk/command.rs
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,10 @@ use crate::protocol::rynk::{
LightingCompiledScenesPageResult, LightingConditionalSceneStatusResult, LightingConditionalScenesPageResult,
LightingExtendedRuntimeConditionalScenesPageResult, LightingExtensionLayersResult,
LightingExtensionNamesPageResult, LightingExtensionNamesRequest, LightingExtensionParamsPageResult,
LightingExtensionParamsRequest, LightingExtensionResult, LightingKeysPageResult, LightingLedsPageResult,
LightingOutputModeStateResult, LightingOutputsPageResult, LightingOverlayPageRequest, LightingOverlayPageResult,
LightingOverlayTransactionResult, LightingPageRequest, LightingPhysicalKeysPageResult, LightingRoutesPageResult,
LightingExtensionParamsRequest, LightingExtensionResult, LightingFramePageResult, LightingFrameRequest,
LightingKeysPageResult, LightingLedsPageResult, LightingOutputModeStateResult, LightingOutputsPageResult,
LightingOverlayPageRequest, LightingOverlayPageResult, LightingOverlayTransactionResult, LightingPageRequest,
LightingPhysicalKeysPageResult, LightingReplicaStatusResult, LightingRoutesPageResult,
LightingRuntimeConditionalScenePageRequest, LightingRuntimeConditionalSceneStatusResult,
LightingRuntimeConditionalSceneTransactionResult, LightingRuntimeConditionalScenesPageResult,
LightingScenePageRequest, LightingSceneStatusResult, LightingSceneTransactionResult, LightingScenesPageResult,
Expand Down Expand Up @@ -520,6 +521,17 @@ endpoints! {
/// Discard an extended conditional-table replacement.
#[cfg(feature = "lighting")]
AbortLightingExtendedRuntimeConditionalSceneReplace = 0x0935: AbortLightingRuntimeConditionalSceneReplaceRequest => LightingUnitResult;
/// Read back what one lighting node last presented to its LEDs, paged.
/// `LightingFeatureFlags` has no bits left, so support is discovered by
/// probing: firmware without it answers `UnknownCmd`.
#[cfg(feature = "lighting")]
GetLightingFrame = 0x0936: LightingFrameRequest => LightingFramePageResult;
/// Read both sides of the split lighting replication handshake. Probed
/// like `GetLightingFrame`. Boards may use a read to trigger a coalesced
/// background refresh; reread after one bounded link round trip when a
/// fresh peripheral report is required.
#[cfg(feature = "lighting")]
GetLightingReplicaStatus = 0x0937: () => LightingReplicaStatusResult;
}

// Define topics: `Name = value: Payload;`
Expand Down
Loading