Implement set_side_tone_packet for Cloud III S Wireless

This commit is contained in:
Cédric de Launois
2026-04-30 11:40:28 +02:00
parent f0039ff83d
commit 91975eaf49

View File

@@ -52,6 +52,7 @@ const COLOR_COMMAND_ID: u8 = 0x4D;
const CHARGE_STATE_COMMAND_ID: u8 = 0x48;
const GET_MIC_MUTE_COMMAND_ID: u8 = 0x04;
const GET_SIDE_TONE_COMMAND_ID: u8 = 0x16;
const SET_SIDE_TONE_COMMAND_ID: u8 = 0x0D;
const GET_AUTO_POWER_OFF_COMMAND_ID: u8 = 0x4B;
const GET_VOICE_PROMPT_COMMAND_ID: u8 = 0x14;
@@ -210,8 +211,14 @@ impl Device for CloudIIISWireless {
Some(packet)
}
fn set_side_tone_packet(&self, _side_tone_on: bool) -> Option<Vec<u8>> {
None
fn set_side_tone_packet(&self, side_tone_on: bool) -> Option<Vec<u8>> {
// Confirmed via NGenuity USB capture: `0c 02 03 00 00 0d <0|1>`.
// byte[3] = 0x00 marks a SET (vs 0x01 for GET).
let mut packet = BASE_PACKET.to_vec();
packet[3] = 0x00;
packet[5] = SET_SIDE_TONE_COMMAND_ID;
packet[6] = side_tone_on as u8;
Some(packet)
}
fn get_side_tone_volume_packet(&self) -> Option<Vec<u8>> {