pub struct Log { /* private fields */ }Expand description
§Access to the Crazyflie Log Subsystem
This struct provide functions to interact with the Crazyflie Log subsystem.
See the log module documentation for more context and information.
Implementations§
Source§impl Log
impl Log
Sourcepub fn names(&self) -> Vec<String>
pub fn names(&self) -> Vec<String>
Get the names of all the log variables
The names contain group and name of the log variable formatted as “group.name”.
Sourcepub fn get_type(&self, name: &str) -> Result<ValueType>
pub fn get_type(&self, name: &str) -> Result<ValueType>
Return the type of a log variable or an Error if the parameter does not exist.
Sourcepub async fn create_block(&self) -> Result<LogBlock>
pub async fn create_block(&self) -> Result<LogBlock>
Create a Log block
This will create a log block in the Crazyflie firmware and return a LogBlock object that can be used to add variable to the block and start logging
This function can fail if there is no more log block ID available: each log block is assigned a 8 bit ID by the lib and so far they are not re-used. So during a Crazyflie connection lifetime, up to 256 log blocks can be created. If this becomes a problem for any use-case, it can be solved by a more clever ID generation algorithm.
The Crazyflie firmware also has a limit in number of active log block, this function will fail if this limit is reached. Unlike for the ID, the active log blocks in the Crazyflie are cleaned-up when the LogBlock object is dropped.