fix: helios status trace time
This commit is contained in:
		
							parent
							
								
									0f3ee7c54a
								
							
						
					
					
						commit
						9b9e04ad63
					
				@ -14,13 +14,15 @@ use crate::conf::HeliosConf;
 | 
				
			|||||||
use crate::device::{Device, Status, PlaybackState};
 | 
					use crate::device::{Device, Status, PlaybackState};
 | 
				
			||||||
use crate::errors::{LJError, LJResult};
 | 
					use crate::errors::{LJError, LJResult};
 | 
				
			||||||
use crate::point::Point;
 | 
					use crate::point::Point;
 | 
				
			||||||
 | 
					use chrono::Utc;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
pub struct HeliosDevice {
 | 
					pub struct HeliosDevice {
 | 
				
			||||||
	pub conf: HeliosConf,
 | 
						pub conf: HeliosConf,
 | 
				
			||||||
	dac: NativeHeliosDac,
 | 
						dac: NativeHeliosDac,
 | 
				
			||||||
	sent_points: u16,
 | 
						sent_points: u16,
 | 
				
			||||||
	state: PlaybackState,
 | 
						state: PlaybackState,
 | 
				
			||||||
	lack: String
 | 
						lack: String,
 | 
				
			||||||
 | 
						last_traced_at : String
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
impl HeliosDevice {
 | 
					impl HeliosDevice {
 | 
				
			||||||
@ -32,7 +34,14 @@ impl HeliosDevice {
 | 
				
			|||||||
			return Err(Box::new(LJError::HeliosDeviceMissing));
 | 
								return Err(Box::new(LJError::HeliosDeviceMissing));
 | 
				
			||||||
		};
 | 
							};
 | 
				
			||||||
		let dac = device.open()?;
 | 
							let dac = device.open()?;
 | 
				
			||||||
		Ok(Self { conf: (*conf).clone(), dac, sent_points: 0, state: PlaybackState::PREPARE, lack: "".to_string() })
 | 
							Ok(Self {
 | 
				
			||||||
 | 
								conf: (*conf).clone(),
 | 
				
			||||||
 | 
								dac,
 | 
				
			||||||
 | 
								sent_points: 0,
 | 
				
			||||||
 | 
								state: PlaybackState::PREPARE,
 | 
				
			||||||
 | 
								lack: "".to_string(),
 | 
				
			||||||
 | 
								last_traced_at: "1985-04-12T23:20:50.52Z".to_string()
 | 
				
			||||||
 | 
							})
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -41,7 +50,7 @@ impl Device for HeliosDevice {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
		let lack = self.lack.clone();
 | 
							let lack = self.lack.clone();
 | 
				
			||||||
		Status {
 | 
							Status {
 | 
				
			||||||
			last_traced_at: "now".to_string(),
 | 
								last_traced_at:  self.last_traced_at.clone(),
 | 
				
			||||||
			properties: vec!["foo".to_string()],
 | 
								properties: vec!["foo".to_string()],
 | 
				
			||||||
			playback_state: self.state,
 | 
								playback_state: self.state,
 | 
				
			||||||
			capacity: self.sent_points,
 | 
								capacity: self.sent_points,
 | 
				
			||||||
@ -61,6 +70,7 @@ impl Device for HeliosDevice {
 | 
				
			|||||||
		let frame = Frame::new(speed, points.clone());
 | 
							let frame = Frame::new(speed, points.clone());
 | 
				
			||||||
		self.dac.write_frame(frame.clone())?;
 | 
							self.dac.write_frame(frame.clone())?;
 | 
				
			||||||
		self.sent_points = points.len() as u16;
 | 
							self.sent_points = points.len() as u16;
 | 
				
			||||||
 | 
							self.last_traced_at = Utc::now().to_rfc3339();
 | 
				
			||||||
		Ok(())
 | 
							Ok(())
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user