ccs: tristar: allow network data read to fail
This commit is contained in:
parent
b8c2a8c114
commit
8c8aba919d
1 changed files with 8 additions and 5 deletions
|
@ -108,7 +108,7 @@ impl ModbusTimeout {
|
|||
}
|
||||
#[derive(Debug, Clone, Copy, Serialize, Deserialize)]
|
||||
pub struct TristarSettings {
|
||||
network: NetworkSettings,
|
||||
network: Option<NetworkSettings>,
|
||||
charge: ChargeSettings,
|
||||
}
|
||||
|
||||
|
@ -685,12 +685,15 @@ impl Tristar {
|
|||
}
|
||||
|
||||
pub async fn read_settings(&mut self) -> eyre::Result<TristarSettings> {
|
||||
let network_data = self
|
||||
let network = if let Ok(network_data) = self
|
||||
.modbus
|
||||
.read_holding_registers(NETWORK_DATA_ADDR_START, NETWORK_DATA_LENGTH)
|
||||
.await?;
|
||||
|
||||
let network = NetworkSettings::from_buf(&network_data)?;
|
||||
.await
|
||||
{
|
||||
Some(NetworkSettings::from_buf(&network_data)?)
|
||||
} else {
|
||||
None
|
||||
};
|
||||
|
||||
let charge_data_1 = self
|
||||
.modbus
|
||||
|
|
Loading…
Add table
Reference in a new issue