command_parser: fix pid

master
Astro 2019-09-19 00:59:16 +02:00
parent f64e4fe2f3
commit 6d4676a72a
1 changed files with 12 additions and 11 deletions

View File

@ -193,6 +193,7 @@ fn pwm(input: &[u8]) -> IResult<&[u8], Result<Command, Error>> {
))(input) ))(input)
} }
/// `pid <parameter> <value>`
fn pid_parameter(input: &[u8]) -> IResult<&[u8], Result<Command, Error>> { fn pid_parameter(input: &[u8]) -> IResult<&[u8], Result<Command, Error>> {
let (input, parameter) = let (input, parameter) =
alt((value(PidParameter::Target, tag("target")), alt((value(PidParameter::Target, tag("target")),
@ -212,18 +213,18 @@ fn pid_parameter(input: &[u8]) -> IResult<&[u8], Result<Command, Error>> {
Ok((input, result)) Ok((input, result))
} }
/// `pid <parameter> <value>` /// `pid` | pid_parameter
fn pid(input: &[u8]) -> IResult<&[u8], Result<Command, Error>> { fn pid(input: &[u8]) -> IResult<&[u8], Result<Command, Error>> {
let (input, _) = tag("pid")(input)?; preceded(
let (input, _) = whitespace(input)?; tag("pid"),
alt((
alt(( preceded(
preceded( whitespace,
whitespace, pid_parameter
pid_parameter ),
), value(Ok(Command::Show(ShowCommand::Pid)), end)
value(Ok(Command::Show(ShowCommand::Pid)), end) ))
))(input) )(input)
} }
fn command(input: &[u8]) -> IResult<&[u8], Result<Command, Error>> { fn command(input: &[u8]) -> IResult<&[u8], Result<Command, Error>> {