Compare commits

..

No commits in common. "f64e4fe2f395e222688a3a92c3f19b6cb075a669" and "4e5de7831baadc4253c37e185797209fbd953ba7" have entirely different histories.

3 changed files with 15 additions and 22 deletions

View File

@ -65,6 +65,8 @@ impl<SPI: Transfer<u8>, NSS: OutputPin> Adc<SPI, NSS> {
data.set_enh_filt_en(true);
data.set_enh_filt(PostFilter::F16SPS);
data.set_order(DigitalFilterOrder::Sinc5Sinc1);
// 10 Hz data rate
data.set_odr(0b10011);
})?;
// let mut offset = <regs::Offset as regs::Register>::Data::empty();
// offset.set_offset(0);

View File

@ -3,10 +3,10 @@ use nom::{
IResult,
branch::alt,
bytes::complete::{is_a, tag, take_while1},
character::{is_digit, complete::{char, one_of}},
combinator::{complete, map, value},
character::{is_digit, complete::char},
combinator::{map, value},
sequence::preceded,
multi::{fold_many0, fold_many1},
multi::fold_many1,
error::ErrorKind,
};
use lexical_core as lexical;
@ -101,15 +101,6 @@ pub enum Command {
},
}
fn end(input: &[u8]) -> IResult<&[u8], ()> {
complete(
fold_many0(
one_of("\r\n\t "),
(), |(), _| ()
)
)(input)
}
fn whitespace(input: &[u8]) -> IResult<&[u8], ()> {
fold_many1(char(' '), (), |(), _| ())(input)
}
@ -150,11 +141,11 @@ fn report(input: &[u8]) -> IResult<&[u8], Command> {
|reporting| Command::Reporting(reporting))
),
// `report mode` - Show current reporting state
value(Command::Show(ShowCommand::Reporting), end)
|input| Ok((input, Command::Show(ShowCommand::Reporting)))
))
)),
// `report` - Report once
value(Command::Show(ShowCommand::Input), end)
|input| Ok((input, Command::Show(ShowCommand::Input)))
))
)(input)
}
@ -189,7 +180,7 @@ fn pwm(input: &[u8]) -> IResult<&[u8], Result<Command, Error>> {
pwm_pid,
pwm_manual,
))),
value(Ok(Command::Show(ShowCommand::Pwm)), end)
|input| Ok((input, Ok(Command::Show(ShowCommand::Pwm))))
))(input)
}
@ -222,13 +213,15 @@ fn pid(input: &[u8]) -> IResult<&[u8], Result<Command, Error>> {
whitespace,
pid_parameter
),
value(Ok(Command::Show(ShowCommand::Pid)), end)
|input| Ok((input, Ok(Command::Show(ShowCommand::Pid))))
))(input)
}
fn command(input: &[u8]) -> IResult<&[u8], Result<Command, Error>> {
alt((value(Ok(Command::Quit), tag("quit")),
map(report, Ok),
|input| report(input).map(|(input, command)| {
(input, Ok(command))
}),
pwm,
pid,
))(input)

View File

@ -129,9 +129,8 @@ fn main() -> ! {
writeln!(stdout, "ADC id: {:04X}", id).unwrap();
break;
}
Ok(id) => {
// This always happens on the first attempt. So retry silently
}
Ok(id) =>
writeln!(stdout, "Corrupt ADC id: {:04X}", id).unwrap(),
};
}
writeln!(stdout, "AD7172: setting checksum mode").unwrap();
@ -160,9 +159,8 @@ fn main() -> ! {
let mut pid_enabled = false;
let mut hardware_addr = EthernetAddress(board::get_mac_address());
writeln!(stdout, "MAC address: {}", hardware_addr).unwrap();
if hardware_addr.is_multicast() {
writeln!(stdout, "programmed MAC address is invalid, using default").unwrap();
println!("programmed MAC address is invalid, using default");
hardware_addr = EthernetAddress([0x10, 0xE2, 0xD5, 0x00, 0x03, 0x00]);
}
let mut ip_addrs = [IpCidr::new(IpAddress::v4(192, 168, 1, 26), 24)];