From 5d4a2238002c87c8f7bc4c6d22770269d5b46f1b Mon Sep 17 00:00:00 2001 From: Sebastien Bourdeauducq Date: Mon, 7 Aug 2017 10:37:00 +0800 Subject: [PATCH] report target filament voltage --- firmware/src/loop_cathode.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/firmware/src/loop_cathode.rs b/firmware/src/loop_cathode.rs index 4a5139b..50ef50b 100644 --- a/firmware/src/loop_cathode.rs +++ b/firmware/src/loop_cathode.rs @@ -30,6 +30,7 @@ pub struct Controller { fbi_buffer_count: usize, last_fbi: Option, fbi_pid: pid::Controller, + last_fv_target: Option, fv_pid: pid::Controller, last_fv: Option, @@ -42,6 +43,7 @@ pub struct Controller { pub struct ControllerStatus { pub ready: bool, pub fbi: Option, + pub fv_target: Option, pub fv: Option, pub fbv: Option } @@ -55,6 +57,7 @@ impl Controller { fbi_buffer_count: 0, last_fbi: None, fbi_pid: pid::Controller::new(FBI_PID_PARAMETERS), + last_fv_target: None, fv_pid: pid::Controller::new(FV_PID_PARAMETERS), last_fv: None, @@ -90,6 +93,7 @@ impl Controller { } let fv_target = self.fbi_pid.update(fbi); + self.last_fv_target = Some(fv_target); self.fv_pid.set_target(fv_target); let fv = fv_sample as f32/board::FV_ADC_GAIN; @@ -135,6 +139,7 @@ impl Controller { pub fn reset(&mut self) { self.fbi_pid.reset(); self.fv_pid.reset(); + self.last_fv_target = None; self.fbi_buffer_count = 0; self.last_fbi = None; self.last_fv = None; @@ -145,6 +150,7 @@ impl Controller { ControllerStatus { ready: self.emission_ready() & self.bias_ready(), fbi: self.last_fbi, + fv_target: self.last_fv_target, fv: self.last_fv, fbv: self.last_fbv }