forked from M-Labs/thermostat
command_parser: parse load/save
This commit is contained in:
parent
201701ee8b
commit
93f14523d7
|
@ -71,3 +71,5 @@ The scope of this setting is per TCP session.
|
||||||
| `s-h` | Show Steinhart-Hart equation parameters |
|
| `s-h` | Show Steinhart-Hart equation parameters |
|
||||||
| `s-h <0/1> <t/b/r0> <value>` | Set Steinhart-Hart parameter for a channel |
|
| `s-h <0/1> <t/b/r0> <value>` | Set Steinhart-Hart parameter for a channel |
|
||||||
| `postfilter <0/1> rate <rate>` | Set postfilter output data rate |
|
| `postfilter <0/1> rate <rate>` | Set postfilter output data rate |
|
||||||
|
| `load` | Restore configuration from EEPROM |
|
||||||
|
| `save` | Save configuration to EEPROM |
|
||||||
|
|
|
@ -131,6 +131,8 @@ pub enum CenterPoint {
|
||||||
#[derive(Debug, Clone, PartialEq)]
|
#[derive(Debug, Clone, PartialEq)]
|
||||||
pub enum Command {
|
pub enum Command {
|
||||||
Quit,
|
Quit,
|
||||||
|
Load,
|
||||||
|
Save,
|
||||||
Show(ShowCommand),
|
Show(ShowCommand),
|
||||||
Reporting(bool),
|
Reporting(bool),
|
||||||
/// PWM parameter setting
|
/// PWM parameter setting
|
||||||
|
@ -405,6 +407,8 @@ fn postfilter(input: &[u8]) -> IResult<&[u8], Result<Command, Error>> {
|
||||||
|
|
||||||
fn command(input: &[u8]) -> IResult<&[u8], Result<Command, Error>> {
|
fn command(input: &[u8]) -> IResult<&[u8], Result<Command, Error>> {
|
||||||
alt((value(Ok(Command::Quit), tag("quit")),
|
alt((value(Ok(Command::Quit), tag("quit")),
|
||||||
|
value(Ok(Command::Load), tag("load")),
|
||||||
|
value(Ok(Command::Save), tag("save")),
|
||||||
map(report, Ok),
|
map(report, Ok),
|
||||||
pwm,
|
pwm,
|
||||||
center_point,
|
center_point,
|
||||||
|
@ -437,6 +441,18 @@ mod test {
|
||||||
assert_eq!(command, Ok(Command::Quit));
|
assert_eq!(command, Ok(Command::Quit));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn parse_load() {
|
||||||
|
let command = Command::parse(b"load");
|
||||||
|
assert_eq!(command, Ok(Command::Load));
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn parse_save() {
|
||||||
|
let command = Command::parse(b"save");
|
||||||
|
assert_eq!(command, Ok(Command::Save));
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn parse_report() {
|
fn parse_report() {
|
||||||
let command = Command::parse(b"report");
|
let command = Command::parse(b"report");
|
||||||
|
|
|
@ -427,6 +427,8 @@ fn main() -> ! {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Command::Load => {}
|
||||||
|
Command::Save => {}
|
||||||
}
|
}
|
||||||
Ok(SessionOutput::Error(e)) => {
|
Ok(SessionOutput::Error(e)) => {
|
||||||
let _ = writeln!(socket, "Command error: {:?}", e);
|
let _ = writeln!(socket, "Command error: {:?}", e);
|
||||||
|
|
Loading…
Reference in New Issue