Add LED_SAVE command
This commit is contained in:
committed by
Jeremy Soller
parent
17f8e37ed5
commit
0017450cbb
@ -40,6 +40,8 @@ enum Command {
|
|||||||
CMD_LED_SET_MODE = 16,
|
CMD_LED_SET_MODE = 16,
|
||||||
// Get key matrix state
|
// Get key matrix state
|
||||||
CMD_MATRIX_GET = 17,
|
CMD_MATRIX_GET = 17,
|
||||||
|
// Save LED settings to ROM
|
||||||
|
CMD_LED_SAVE = 18,
|
||||||
//TODO
|
//TODO
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -34,6 +34,7 @@ enum Cmd {
|
|||||||
LedGetMode = 15,
|
LedGetMode = 15,
|
||||||
LedSetMode = 16,
|
LedSetMode = 16,
|
||||||
MatrixGet = 17,
|
MatrixGet = 17,
|
||||||
|
LedSave = 18,
|
||||||
}
|
}
|
||||||
|
|
||||||
const CMD_SPI_FLAG_READ: u8 = 1 << 0;
|
const CMD_SPI_FLAG_READ: u8 = 1 << 0;
|
||||||
@ -272,6 +273,10 @@ impl<A: Access> Ec<A> {
|
|||||||
self.command(Cmd::LedSetMode, &mut data)
|
self.command(Cmd::LedSetMode, &mut data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub unsafe fn led_save(&mut self) -> Result<(), Error> {
|
||||||
|
self.command(Cmd::LedSave, &mut [])
|
||||||
|
}
|
||||||
|
|
||||||
pub unsafe fn matrix_get(&mut self, matrix: &mut [u8]) -> Result<(), Error> {
|
pub unsafe fn matrix_get(&mut self, matrix: &mut [u8]) -> Result<(), Error> {
|
||||||
self.command(Cmd::MatrixGet, matrix)
|
self.command(Cmd::MatrixGet, matrix)
|
||||||
}
|
}
|
||||||
|
@ -371,6 +371,7 @@ fn main() {
|
|||||||
.validator(validate_from_str::<u8>)
|
.validator(validate_from_str::<u8>)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
.subcommand(SubCommand::with_name("led_save"))
|
||||||
.subcommand(SubCommand::with_name("matrix"))
|
.subcommand(SubCommand::with_name("matrix"))
|
||||||
.subcommand(SubCommand::with_name("print")
|
.subcommand(SubCommand::with_name("print")
|
||||||
.arg(Arg::with_name("message")
|
.arg(Arg::with_name("message")
|
||||||
@ -571,6 +572,13 @@ fn main() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
("led_save", Some(_sub_m)) => match unsafe { ec.led_save() } {
|
||||||
|
Ok(()) => (),
|
||||||
|
Err(err) => {
|
||||||
|
eprintln!("failed to save LED settings: {:X?}", err);
|
||||||
|
process::exit(1);
|
||||||
|
},
|
||||||
|
},
|
||||||
("matrix", Some(_sub_m)) => match unsafe { matrix(&mut ec) } {
|
("matrix", Some(_sub_m)) => match unsafe { matrix(&mut ec) } {
|
||||||
Ok(()) => (),
|
Ok(()) => (),
|
||||||
Err(err) => {
|
Err(err) => {
|
||||||
|
Reference in New Issue
Block a user