[−][src]Struct gomspace_p31u_api::Eps
pub struct Eps;
Structure for interacting with a GomSpace EPS System
Trait Implementations
impl GsEps for Eps
[src][+]
fn new(bus: &str, addr: u8) -> EpsResult<Eps>
[src][−]
Constructor
Opens a connection to the underlying I2C device
Arguments
- bus - The I2C bus to use to communicate with the device
- I2C_addr - The I2C address of the EPS, Default 0x08
- WD_timeout - The watchdog timeout interval, in seconds
Errors
If this function encounters any errors, an [EpsError
] variant will be returned.
fn ping(&self) -> EpsResult<()>
[src][−]
Ping the EPS. Send a cmd (1) to the eps. Expect the same command returned by the EPS
fn reset(&self) -> EpsResult<()>
[src][−]
Hard reset the EPS's microcontrollers
Errors
If this function encounters any errors, an [EpsError
] variant will be returned.
fn reboot(&self) -> EpsResult<()>
[src][−]
Soft reset the EPS's microcontrollers
Errors
If this function encounters any errors, an [EpsError
] variant will be returned.
fn configure_system(&self, config: EpsSystemConfig) -> EpsResult<()>
[src][−]
System Configuration (conf)
Set the system configuration
Errors
If this function encounters any errors, an [EpsError
] variant will be returned.
fn configure_battery(&self, config: EpsBatteryConfig) -> EpsResult<()>
[src][−]
Battery Configuration (conf2)
Set the battery configuration
Errors
If this function encounters any errors, an [EpsError
] variant will be returned.
fn save_battery_config(&self) -> EpsResult<()>
[src][−]
Save Battery Configuration
Save the battery configuration, must be done after battery configuration or it will fall back after a while
Errors
If this function encounters any errors, an [EpsError
] variant will be returned.
fn set_output(&self, channel_mask: u8) -> EpsResult<()>
[src][−]
Batch set EPS output
Set output switch states by a bitmask where "1" means the channel is switched on and "0" means it is switched off. LSB is channel 1, next bit is channel 2 etc. (Quadbat switch and heater cannot be controlled through this command) [NC NC 3.3V3 3.3V2 3.3V1 5V3 5V2 5V1]
Errors
If this function encounters any errors, an [EpsError
] variant will be returned.
fn set_single_output(
&self,
channel: EpsChannels,
value: EpsPowerState,
delay: u16
) -> EpsResult<()>
[src][−]
&self,
channel: EpsChannels,
value: EpsPowerState,
delay: u16
) -> EpsResult<()>
Set single EPS output
Set output %channel% to value %value% with delay %delay%, Channel (0-5), Quadbat heater (6), Quadbat switch (7) Value 0 = Off, 1 = On Delay in seconds.
Example: set_single_output(0, 1, 0) This will set channel 0 to be ON with no delay
Errors
If this function encounters any errors, an [EpsError
] variant will be returned.
fn set_input_value(
&self,
in1_voltage: u16,
in2_voltage: u16,
in3_voltage: u16
) -> EpsResult<()>
[src][−]
&self,
in1_voltage: u16,
in2_voltage: u16,
in3_voltage: u16
) -> EpsResult<()>
Set the MPPT value for each channel
Set the voltage on the photo-voltaic inputs V1, V2, V3 in mV. Takes effect when MODE = 2, See SET_PV_AUTO. Transmit voltage1 first and voltage3 last.
The voltage needs to changed to align with the number of solar panels you have on each channel
Errors
If this function encounters any errors, an [EpsError
] variant will be returned.
fn set_input_mode(&self, mode: u8) -> EpsResult<()>
[src][−]
Set the MPPT mode
Sets the solar cell power tracking mode: MODE = 0: Hardware default power point MODE = 1: Maximum power point tracking MODE = 2: Fixed software powerpoint, value set with SET_PV_VOLT, default 4V
Errors
If this function encounters any errors, an [EpsError
] variant will be returned.
fn set_heater(&self, heater: HeaterSelect, mode: EpsPowerState) -> EpsResult<()>
[src][−]
Set heater ON/OFF
Cmd = 0: Set heater on/off Heater: 0 = BP4, 1= Onboard, 2 = Both Mode: 0 = OFF, 1 = ON
Errors
If this function encounters any errors, an [EpsError
] variant will be returned.
fn reset_system_config(&self) -> EpsResult<()>
[src][−]
Reset the EPS configuration to default
Errors
If this function encounters any errors, an [EpsError
] variant will be returned.
fn reset_battery_config(&self) -> EpsResult<()>
[src][−]
Reset the Battery configuration to default
Errors
If this function encounters any errors, an [EpsError
] variant will be returned.
fn reset_counters(&self) -> EpsResult<()>
[src][−]
Reset boot counter and WDT counters (excluding the dedicated WDT)
Errors
If this function encounters any errors, an [EpsError
] variant will be returned.
fn get_housekeeping(&self) -> EpsResult<EpsHk>
[src][−]
Get Housekeeping data
HK structure:
vboost[3] : Voltage of input voltage boost converters [mV]
vbatt : Voltage of battery [mV]
curin[3] : Input currents [mA]
cursun : Current from boost converters [mA]
cursys : Current out of battery [mA]
reserved1 : Reserved for future use
curout[6] : Output currents [mA]
output[8] : Output statuses [0 = Off, 1 = On]
output_on_delta[8] : Time until output power on [seconds]
output_off_delta[8] : Time until output power off [seconds]
latchup[6] : Number of output latch-up events
wdt_i2c_time_left : Time left for I2C watchdog [seconds]
wdt_gnd_time_left : Time left for dedicated watchdog [seconds]
wdt_csp_pings_left[2] : Pings left for CSP watchdog
counter_wdt_i2c : Number of I2C watchdog reboots
counter_wdt_gnd : Number of dedicated watchdog reboots
counter_wdt_csp[2] : Number of CSP watchdog reboots
counter_boot : Number of EPS reboots
temp[6] : Temperatures [degC] [0 = Temp1, Temp2, Temp3, Temp4, BP4a, BP4b]
boot_cause : Cause of last EPS reset
batt_mode : Mode for battery [0 = Initial, 1 = Critical, 2 = Safe, 3 = Normal, 4 = Full]
ppt_mode : Mode of power-point tracker [1 = Automatic maximum, 2 = Fixed]
reserved2 : Reserved
Errors
If this function encounters any errors, an [EpsError
] variant will be returned.
fn get_system_config(&self) -> EpsResult<EpsSystemConfig>
[src][−]
Query the system configuration (conf)
Arguments
pub ppt_mode: u8, pub battheater_mode: u8, pub battheater_low:i8, pub battheater_high:i8, pub output_normal_value:[u8;8], pub output_safe_value:[u8;8], pub output_initial_on_delay:[u16;8], pub output_initial_off_delay:[u16;8], pub vboost:[u16;3],
Errors
If this function encounters any errors, an [EpsError
] variant will be returned.
fn get_battery_config(&self) -> EpsResult<EpsBatteryConfig>
[src][−]
Get the battery configuration (conf2)
Arguments
batt_maxvoltage: 0, batt_safevoltage: 0, batt_criticalvoltage:0, batt_normalvoltage:0, reserved1:[0;2], reserved2:[0;4],
Errors
If this function encounters any errors, an [EpsError
] variant will be returned.
fn get_heater(&self) -> EpsResult<i32>
[src][−]
Get heater status
Command replies with heater modes. 0=OFF, 1=ON.
Errors
If this function encounters any errors, an [EpsError
] variant will be returned.
fn watchdog_kick(&self) -> EpsResult<()>
[src][−]
Kick Watchdog
Send this command to reset (kick) dedicated WDT. magic = 0x78
Errors
If this function encounters any errors, an [EpsError
] variant will be returned.
fn passthrough(&self, tx: &[u8], rx: &mut [u8]) -> EpsResult<()>
[src][−]
Command pass through function. Pass the infromation through
Errors
If this function encounters any errors, an [EpsError
] variant will be returned.
Auto Trait Implementations
impl Send for Eps
impl Unpin for Eps
impl Sync for Eps
impl UnwindSafe for Eps
impl RefUnwindSafe for Eps
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src][+]
U: From<T>,
impl<T> From<T> for T
[src][+]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src][+]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src][−]
Performs the conversion.
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src][−]
Performs the conversion.
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src][−]
Mutably borrows from an owned value. Read more
impl<T> Borrow<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
fn borrow(&self) -> &T
[src][−]
Immutably borrows from an owned value. Read more
impl<T> Any for T where
T: 'static + ?Sized,
[src][+]
T: 'static + ?Sized,