adds the rpm and the timer for the second spinning regime
This commit is contained in:
parent
05b07e5ee3
commit
8048d48f18
3 changed files with 34 additions and 9 deletions
|
|
@ -63,6 +63,7 @@ extern crate alloc;
|
|||
const DEFAULT_TARGET_RPM: u32 = 4000;
|
||||
//in seconds
|
||||
const DEFAULT_SPIN_TIME: u64 = 10;
|
||||
const DEFAULT_DRY_SPIN_TIME: u64 = 10;
|
||||
// This creates a default app-descriptor required by the esp-idf bootloader.
|
||||
// For more information see: <https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-reference/system/app_image_format.html#application-description>
|
||||
esp_bootloader_esp_idf::esp_app_desc!();
|
||||
|
|
@ -177,6 +178,8 @@ fn main() -> ! {
|
|||
display.send_command(b"page page0");
|
||||
let mut target_rpm = DEFAULT_TARGET_RPM;
|
||||
let mut timer: u64 = DEFAULT_SPIN_TIME;
|
||||
let mut target_dry_rpm = DEFAULT_DRY_SPIN_TIME;
|
||||
let mut dry_timer: u64 = DEFAULT_SPIN_TIME;
|
||||
let mut started = false;
|
||||
loop {
|
||||
if display.read_ready() {
|
||||
|
|
@ -202,6 +205,14 @@ fn main() -> ! {
|
|||
rprintln!("SETTING TIMER {}", x);
|
||||
timer = x as _;
|
||||
}
|
||||
Ok(Command::SetRpm2(x)) => {
|
||||
rprintln!("SET_RPM with {}", x);
|
||||
target_dry_rpm = x.try_into().expect("Couldn't cast RPM2 to u64");
|
||||
}
|
||||
Ok(Command::SetTimer2(x)) => {
|
||||
rprintln!("SETTING TIMER {}", x);
|
||||
dry_timer = x as _;
|
||||
}
|
||||
Ok(Command::SendConfig) => {
|
||||
rprintln!("SEND CONFIG");
|
||||
let command = format!("rpm.val={}", DEFAULT_TARGET_RPM);
|
||||
|
|
@ -252,8 +263,13 @@ fn main() -> ! {
|
|||
let timestamp = esp_hal::time::Instant::now()
|
||||
.duration_since_epoch()
|
||||
.as_millis();
|
||||
(control, ctx) =
|
||||
controller.compute(ctx, current_rpm as _, set_point as _, Millis(timestamp), None);
|
||||
(control, ctx) = controller.compute(
|
||||
ctx,
|
||||
current_rpm as _,
|
||||
set_point as _,
|
||||
Millis(timestamp),
|
||||
None,
|
||||
);
|
||||
let dumped_context = ctx.last_time().expect("LAST TIME!");
|
||||
rprintln!("control:{},rpm:{}", control, current_rpm);
|
||||
//first we send the RPM!
|
||||
|
|
@ -264,7 +280,6 @@ fn main() -> ! {
|
|||
if display.write_ready() {
|
||||
let counter = format!("counter.val={}", 1234);
|
||||
display.send_command(counter.to_string().as_bytes());
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,6 +7,8 @@ pub enum Command {
|
|||
Stop,
|
||||
SendConfig,
|
||||
CommandSuccess,
|
||||
SetRpm2(u32),
|
||||
SetTimer2(u32),
|
||||
}
|
||||
#[derive(Debug)]
|
||||
pub enum ErrCommand {
|
||||
|
|
|
|||
|
|
@ -116,6 +116,14 @@ impl<'a> Nextion<'a> {
|
|||
Ok(Command::SetTimer(time))
|
||||
}
|
||||
05 => Ok(Command::SendConfig),
|
||||
06 => {
|
||||
let rpm = u32::from_le_bytes(buf[1..5].try_into().expect("failed to parse rpm!"));
|
||||
Ok(Command::SetRpm2(rpm))
|
||||
}
|
||||
07 => {
|
||||
let time = u32::from_le_bytes(buf[1..5].try_into().expect("failed to parse rpm!"));
|
||||
Ok(Command::SetTimer2(time))
|
||||
}
|
||||
00 => Ok(Command::CommandSuccess),
|
||||
_ => Err(ErrCommand::NoValidCmd),
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue