Skip to content

Use SBG sensor status #235

Use SBG sensor status

Use SBG sensor status #235

Triggered via pull request March 18, 2024 20:16
@NoahSprengerNoahSprenger
synchronize #47
sbg-flags
Status Success
Total duration 1m 58s
Artifacts

docs.yml

on: pull_request
Deploy Documentation
1m 49s
Deploy Documentation
Fit to window
Zoom out
Zoom in

Annotations

94 warnings
Deploy Documentation
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v2, actions-rs/toolchain@v1, actions/cache@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Deploy Documentation
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2, actions-rs/toolchain@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Deploy Documentation
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Deploy Documentation
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Deploy Documentation
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Deploy Documentation
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
very complex type used. Consider factoring parts into `type` definitions: boards/communication/src/main.rs#L60
warning: very complex type used. Consider factoring parts into `type` definitions --> boards/communication/src/main.rs:60:21 | 60 | sd_manager: SdManager< | _____________________^ 61 | | Spi< 62 | | Config< 63 | | Pads< ... | 73 | | Pin<PB14, Output<PushPull>>, 74 | | >, | |_________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity
this expression creates a reference which is immediately dereferenced by the compiler: boards/communication/src/main.rs#L253
warning: this expression creates a reference which is immediately dereferenced by the compiler --> boards/communication/src/main.rs:253:42 | 253 | manager.write(&mut file, &msg_ser)?; | ^^^^^^^^ help: change this to: `msg_ser` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
this expression creates a reference which is immediately dereferenced by the compiler: boards/communication/src/main.rs#L250
warning: this expression creates a reference which is immediately dereferenced by the compiler --> boards/communication/src/main.rs:250:42 | 250 | manager.write(&mut file, &msg_ser)?; | ^^^^^^^^ help: change this to: `msg_ser` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow = note: `#[warn(clippy::needless_borrow)]` on by default
empty `loop {}` wastes CPU cycles: boards/communication/src/main.rs#L200
warning: empty `loop {}` wastes CPU cycles --> boards/communication/src/main.rs:200:9 | 200 | loop {} | ^^^^^^^ | = help: you should either use `panic!()` or add a call pausing or sleeping the thread to the loop body = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_loop = note: `#[warn(clippy::empty_loop)]` on by default
this function has too many arguments (11/7): boards/communication/src/health.rs#L58
warning: this function has too many arguments (11/7) --> boards/communication/src/health.rs:58:5 | 58 | / pub fn new( 59 | | reader: Adc<ADC0>, 60 | | reader1: Adc<ADC1>, 61 | | pin_3v3: Pin<PB01, Alternate<B>>, ... | 69 | | pin_failover: Pin<PB05, Alternate<B>>, 70 | | ) -> Self { | |_____________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
unneeded `return` statement: boards/communication/src/data_manager.rs#L52
warning: unneeded `return` statement --> boards/communication/src/data_manager.rs:52:9 | 52 | return RadioRate::Slow; | ^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 52 - return RadioRate::Slow; 52 + RadioRate::Slow |
unneeded `return` statement: boards/communication/src/communication.rs#L311
warning: unneeded `return` statement --> boards/communication/src/communication.rs:311:13 | 311 | return Err(mavlink::error::MessageReadError::Io.into()); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 311 - return Err(mavlink::error::MessageReadError::Io.into()); 311 + Err(mavlink::error::MessageReadError::Io.into()) |
unneeded `return` statement: boards/communication/src/communication.rs#L307
warning: unneeded `return` statement --> boards/communication/src/communication.rs:307:21 | 307 | return Err(mavlink::error::MessageReadError::Io.into()); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 307 - return Err(mavlink::error::MessageReadError::Io.into()); 307 + Err(mavlink::error::MessageReadError::Io.into()) |
unneeded `return` statement: boards/communication/src/communication.rs#L302
warning: unneeded `return` statement --> boards/communication/src/communication.rs:302:21 | 302 | return Ok(postcard::from_bytes::<Message>(&msg.message)?); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return = note: `#[warn(clippy::needless_return)]` on by default help: remove `return` | 302 - return Ok(postcard::from_bytes::<Message>(&msg.message)?); 302 + Ok(postcard::from_bytes::<Message>(&msg.message)?) |
this function has too many arguments (8/7): boards/communication/src/communication.rs#L72
warning: this function has too many arguments (8/7) --> boards/communication/src/communication.rs:72:5 | 72 | / pub fn new<S>( 73 | | can_rx: Pin<PA23, AlternateI>, 74 | | can_tx: Pin<PA22, AlternateI>, 75 | | pclk_can: Pclk<Can0, Gclk0Id>, ... | 80 | | loopback: bool, 81 | | ) -> (Self, S::Inc) | |_______________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments = note: `#[warn(clippy::too_many_arguments)]` on by default
very complex type used. Consider factoring parts into `type` definitions: boards/communication/src/communication.rs#L62
warning: very complex type used. Consider factoring parts into `type` definitions --> boards/communication/src/communication.rs:62:14 | 62 | pub can: Can< | ______________^ 63 | | 'static, 64 | | Can0, 65 | | Dependencies<Can0, Gclk0Id, Pin<PA23, Alternate<I>>, Pin<PA22, Alternate<I>>, CAN0>, 66 | | Capacities, 67 | | >, | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity = note: `#[warn(clippy::type_complexity)]` on by default
empty `loop {}` wastes CPU cycles: boards/sensor/src/main.rs#L167
warning: empty `loop {}` wastes CPU cycles --> boards/sensor/src/main.rs:167:9 | 167 | loop {} | ^^^^^^^ | = help: you should either use `panic!()` or add a call pausing or sleeping the thread to the loop body = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_loop = note: `#[warn(clippy::empty_loop)]` on by default
empty `loop {}` wastes CPU cycles: boards/power/src/main.rs#L113
warning: empty `loop {}` wastes CPU cycles --> boards/power/src/main.rs:113:9 | 113 | loop {} | ^^^^^^^ | = help: you should either use `panic!()` or add a call pausing or sleeping the thread to the loop body = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_loop = note: `#[warn(clippy::empty_loop)]` on by default
using `clone` on type `[u8; 1024]` which implements the `Copy` trait: boards/sensor/src/sbg_manager.rs#L134
warning: using `clone` on type `[u8; 1024]` which implements the `Copy` trait --> boards/sensor/src/sbg_manager.rs:134:33 | 134 | let buf_clone = buf.clone(); | ^^^^^^^^^^^ help: try dereferencing it: `*buf` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy = note: `#[warn(clippy::clone_on_copy)]` on by default
empty `loop {}` wastes CPU cycles: boards/camera/src/main.rs#L127
warning: empty `loop {}` wastes CPU cycles --> boards/camera/src/main.rs:127:9 | 127 | loop {} | ^^^^^^^ | = help: you should either use `panic!()` or add a call pausing or sleeping the thread to the loop body = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_loop = note: `#[warn(clippy::empty_loop)]` on by default
an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true: boards/camera/src/state_machine/mod.rs#L111
warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true --> boards/camera/src/state_machine/mod.rs:111:1 | 111 | impl Into<state::StateData> for RocketStates { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: `impl From<Local> for Foreign` is allowed by the orphan rules, for more information see https://doc.rust-lang.org/reference/items/implementations.html#trait-implementation-coherence = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into = note: `#[warn(clippy::from_over_into)]` on by default help: replace the `Into` implementation with `From<state_machine::RocketStates>` | 111 ~ impl From<RocketStates> for state::StateData { 112 ~ fn from(val: RocketStates) -> Self { 113 ~ match val { |
this function has too many arguments (8/7): boards/sensor/src/communication.rs#L64
warning: this function has too many arguments (8/7) --> boards/sensor/src/communication.rs:64:5 | 64 | / pub fn new<S>( 65 | | can_rx: Pin<PA23, AlternateI>, 66 | | can_tx: Pin<PA22, AlternateI>, 67 | | pclk_can: Pclk<Can0, Gclk0Id>, ... | 72 | | loopback: bool, 73 | | ) -> (Self, S::Inc) | |_______________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments = note: `#[warn(clippy::too_many_arguments)]` on by default
very complex type used. Consider factoring parts into `type` definitions: boards/sensor/src/communication.rs#L54
warning: very complex type used. Consider factoring parts into `type` definitions --> boards/sensor/src/communication.rs:54:14 | 54 | pub can: Can< | ______________^ 55 | | 'static, 56 | | Can0, 57 | | Dependencies<Can0, Gclk0Id, Pin<PA23, Alternate<I>>, Pin<PA22, Alternate<I>>, CAN0>, 58 | | Capacities, 59 | | >, | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity = note: `#[warn(clippy::type_complexity)]` on by default
this function has too many arguments (8/7): boards/power/src/communication.rs#L60
warning: this function has too many arguments (8/7) --> boards/power/src/communication.rs:60:5 | 60 | / pub fn new<S>( 61 | | can_rx: Pin<PA23, AlternateI>, 62 | | can_tx: Pin<PA22, AlternateI>, 63 | | pclk_can: Pclk<Can0, Gclk0Id>, ... | 68 | | loopback: bool, 69 | | ) -> (Self, S::Inc) | |_______________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments = note: `#[warn(clippy::too_many_arguments)]` on by default
very complex type used. Consider factoring parts into `type` definitions: boards/power/src/communication.rs#L50
warning: very complex type used. Consider factoring parts into `type` definitions --> boards/power/src/communication.rs:50:14 | 50 | pub can: Can< | ______________^ 51 | | 'static, 52 | | Can0, 53 | | Dependencies<Can0, Gclk0Id, Pin<PA23, Alternate<I>>, Pin<PA22, Alternate<I>>, CAN0>, 54 | | Capacities, 55 | | >, | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity = note: `#[warn(clippy::type_complexity)]` on by default
fields `data_manager` and `can0` are never read: boards/power/src/main.rs#L35
warning: fields `data_manager` and `can0` are never read --> boards/power/src/main.rs:35:9 | 35 | data_manager: DataManager, | ^^^^^^^^^^^^ 36 | can0: CanDevice0, | ^^^^ ... 52 | fn init(cx: init::Context) -> (Shared, Local, init::Monotonics) { | ------ fields in this struct
method `handle_data` is never used: boards/power/src/data_manager.rs#L10
warning: method `handle_data` is never used --> boards/power/src/data_manager.rs:10:12 | 6 | impl DataManager { | ---------------- method in this implementation ... 10 | pub fn handle_data(&mut self, _data: Message) { | ^^^^^^^^^^^
field `line_interrupts` is never read: boards/power/src/communication.rs#L56
warning: field `line_interrupts` is never read --> boards/power/src/communication.rs:56:5 | 49 | pub struct CanDevice0 { | ---------- field in this struct ... 56 | line_interrupts: OwnedInterruptSet<Can0, EnabledLine0>, | ^^^^^^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`: boards/camera/src/data_manager.rs#L115
warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` --> boards/camera/src/data_manager.rs:115:47 | 115 | messages::Data::Sensor(sensor) => match sensor.data { | _______________________________________________^ 116 | | messages::sensor::SensorData::Air(air_data) => { 117 | | self.air = Some(air_data); 118 | | } 119 | | _ => {} 120 | | }, | |_____________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match help: try | 115 ~ messages::Data::Sensor(sensor) => if let messages::sensor::SensorData::Air(air_data) = sensor.data { 116 + self.air = Some(air_data); 117 ~ }, |
you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`: boards/camera/src/data_manager.rs#L114
warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` --> boards/camera/src/data_manager.rs:114:9 | 114 | / match data.data { 115 | | messages::Data::Sensor(sensor) => match sensor.data { 116 | | messages::sensor::SensorData::Air(air_data) => { 117 | | self.air = Some(air_data); ... | 121 | | _ => {} 122 | | } | |_________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match = note: `#[warn(clippy::single_match)]` on by default help: try | 114 ~ if let messages::Data::Sensor(sensor) = data.data { match sensor.data { 115 + messages::sensor::SensorData::Air(air_data) => { 116 + self.air = Some(air_data); 117 + } 118 + _ => {} 119 + } } |
this function has too many arguments (8/7): boards/camera/src/communication.rs#L58
warning: this function has too many arguments (8/7) --> boards/camera/src/communication.rs:58:5 | 58 | / pub fn new<S>( 59 | | can_rx: Pin<PA23, AlternateI>, 60 | | can_tx: Pin<PA22, AlternateI>, 61 | | pclk_can: Pclk<Can0, Gclk0Id>, ... | 66 | | loopback: bool, 67 | | ) -> (Self, S::Inc) | |_______________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments = note: `#[warn(clippy::too_many_arguments)]` on by default
very complex type used. Consider factoring parts into `type` definitions: boards/camera/src/communication.rs#L48
warning: very complex type used. Consider factoring parts into `type` definitions --> boards/camera/src/communication.rs:48:14 | 48 | pub can: Can< | ______________^ 49 | | 'static, 50 | | Can0, 51 | | Dependencies<Can0, Gclk0Id, Pin<PA23, Alternate<I>>, Pin<PA22, Alternate<I>>, CAN0>, 52 | | Capacities, 53 | | >, | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity = note: `#[warn(clippy::type_complexity)]` on by default
variants `DeployDrogue` and `DeployMain` are never constructed: boards/camera/src/state_machine/mod.rs#L77
warning: variants `DeployDrogue` and `DeployMain` are never constructed --> boards/camera/src/state_machine/mod.rs:77:5 | 76 | pub enum RocketEvents { | ------------ variants in this enum 77 | DeployDrogue, | ^^^^^^^^^^^^ 78 | DeployMain, | ^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
empty `loop {}` wastes CPU cycles: boards/recovery/src/main.rs#L136
warning: empty `loop {}` wastes CPU cycles --> boards/recovery/src/main.rs:136:9 | 136 | loop {} | ^^^^^^^ | = help: you should either use `panic!()` or add a call pausing or sleeping the thread to the loop body = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_loop = note: `#[warn(clippy::empty_loop)]` on by default
an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true: boards/recovery/src/state_machine/mod.rs#L106
warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true --> boards/recovery/src/state_machine/mod.rs:106:1 | 106 | impl Into<state::StateData> for RocketStates { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: `impl From<Local> for Foreign` is allowed by the orphan rules, for more information see https://doc.rust-lang.org/reference/items/implementations.html#trait-implementation-coherence = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into = note: `#[warn(clippy::from_over_into)]` on by default help: replace the `Into` implementation with `From<state_machine::RocketStates>` | 106 ~ impl From<RocketStates> for state::StateData { 107 ~ fn from(val: RocketStates) -> Self { 108 ~ match val { |
you seem to be trying to use `match` for an equality check. Consider using `if`: libraries/sbg-rs/src/sbg.rs#L479
warning: you seem to be trying to use `match` for an equality check. Consider using `if` --> libraries/sbg-rs/src/sbg.rs:479:5 | 479 | / match logType { 480 | | // silently handle errors 481 | | // _SbgDebugLogType_SBG_DEBUG_LOG_TYPE_ERROR => error!("SBG Error"), 482 | | _SbgDebugLogType_SBG_DEBUG_LOG_TYPE_WARNING => warn!("SBG Warning"), ... | 485 | | _ => (), 486 | | }; | |_____^ help: try: `if logType == _SbgDebugLogType_SBG_DEBUG_LOG_TYPE_WARNING { warn!("SBG Warning") }` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match = note: `#[warn(clippy::single_match)]` on by default
unsafe function's docs miss `# Safety` section: libraries/sbg-rs/src/sbg.rs#L459
warning: unsafe function's docs miss `# Safety` section --> libraries/sbg-rs/src/sbg.rs:459:1 | 459 | / pub unsafe extern "C" fn sbgPlatformDebugLogMsg( 460 | | _pFileName: *const ::core::ffi::c_char, 461 | | _pFunctionName: *const ::core::ffi::c_char, 462 | | _line: u32, ... | 466 | | _pFormat: *const ::core::ffi::c_char, 467 | | ) { | |_^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc
unneeded `return` statement: libraries/sbg-rs/src/sbg.rs#L421
warning: unneeded `return` statement --> libraries/sbg-rs/src/sbg.rs:421:23 | 421 | Err(_) => return _SbgErrorCode_SBG_READ_ERROR, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 421 | Err(_) => _SbgErrorCode_SBG_READ_ERROR, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
unneeded `return` statement: libraries/sbg-rs/src/sbg.rs#L420
warning: unneeded `return` statement --> libraries/sbg-rs/src/sbg.rs:420:22 | 420 | Ok(_) => return _SbgErrorCode_SBG_NO_ERROR, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 420 | Ok(_) => _SbgErrorCode_SBG_NO_ERROR, | ~~~~~~~~~~~~~~~~~~~~~~~~~~
unsafe function's docs miss `# Safety` section: libraries/sbg-rs/src/sbg.rs#L406
warning: unsafe function's docs miss `# Safety` section --> libraries/sbg-rs/src/sbg.rs:406:5 | 406 | / pub unsafe extern "C" fn SbgFlushFunc( 407 | | pInterface: *mut _SbgInterface, 408 | | _flags: u32, 409 | | ) -> _SbgErrorCode { | |______________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc
unsafe function's docs miss `# Safety` section: libraries/sbg-rs/src/sbg.rs#L354
warning: unsafe function's docs miss `# Safety` section --> libraries/sbg-rs/src/sbg.rs:354:5 | 354 | / pub unsafe extern "C" fn SbgEComReceiveLogFunc( 355 | | _pHandle: *mut _SbgEComHandle, 356 | | msgClass: u32, 357 | | msg: u32, 358 | | pLogData: *const _SbgBinaryLogData, 359 | | _pUserArg: *mut c_void, 360 | | ) -> _SbgErrorCode { | |______________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc
unsafe function's docs miss `# Safety` section: libraries/sbg-rs/src/sbg.rs#L315
warning: unsafe function's docs miss `# Safety` section --> libraries/sbg-rs/src/sbg.rs:315:5 | 315 | / pub unsafe extern "C" fn SbgInterfaceWriteFunc( 316 | | pInterface: *mut _SbgInterface, 317 | | pBuffer: *const c_void, 318 | | bytesToWrite: usize, 319 | | ) -> _SbgErrorCode { | |______________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc
the loop variable `i` is only used to index `array`: libraries/sbg-rs/src/sbg.rs#L298
warning: the loop variable `i` is only used to index `array` --> libraries/sbg-rs/src/sbg.rs:298:18 | 298 | for i in 0..(bytesToRead) { | ^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop = note: `#[warn(clippy::needless_range_loop)]` on by default help: consider using an iterator | 298 | for <item> in array.iter_mut().take((bytesToRead)) { | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
unneeded `return` statement: libraries/sbg-rs/src/sbg.rs#L309
warning: unneeded `return` statement --> libraries/sbg-rs/src/sbg.rs:309:9 | 309 | return _SbgErrorCode_SBG_NO_ERROR; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return = note: `#[warn(clippy::needless_return)]` on by default help: remove `return` | 309 - return _SbgErrorCode_SBG_NO_ERROR; 309 + _SbgErrorCode_SBG_NO_ERROR |
unsafe function's docs miss `# Safety` section: libraries/sbg-rs/src/sbg.rs#L281
warning: unsafe function's docs miss `# Safety` section --> libraries/sbg-rs/src/sbg.rs:281:5 | 281 | / pub unsafe extern "C" fn SbgInterfaceReadFunc( 282 | | _pInterface: *mut _SbgInterface, 283 | | pBuffer: *mut c_void, 284 | | pBytesRead: *mut usize, 285 | | bytesToRead: usize, 286 | | ) -> _SbgErrorCode { | |______________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc = note: `#[warn(clippy::missing_safety_doc)]` on by default
match expression looks like `matches!` macro: libraries/sbg-rs/src/data_conversion.rs#L160
warning: match expression looks like `matches!` macro --> libraries/sbg-rs/src/data_conversion.rs:160:21 | 160 | let valid = match status.get_status() { | _____________________^ 161 | | Some(GpsVelStatusE::SolComputed) => true, 162 | | _ => false, 163 | | }; | |_________^ help: try: `matches!(status.get_status(), Some(GpsVelStatusE::SolComputed))` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro
match expression looks like `matches!` macro: libraries/sbg-rs/src/data_conversion.rs#L56
warning: match expression looks like `matches!` macro --> libraries/sbg-rs/src/data_conversion.rs:56:21 | 56 | let valid = match status.get_utc_status() { | _____________________^ 57 | | Some(UtcStatus::Valid | UtcStatus::NoLeapSec) => true, 58 | | _ => false, 59 | | }; | |_________^ help: try: `matches!(status.get_utc_status(), Some(UtcStatus::Valid | UtcStatus::NoLeapSec))` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro = note: `#[warn(clippy::match_like_matches_macro)]` on by default
empty `loop {}` wastes CPU cycles: boards/beacon/src/main.rs#L89
warning: empty `loop {}` wastes CPU cycles --> boards/beacon/src/main.rs:89:9 | 89 | loop {} | ^^^^^^^ | = help: you should either use `panic!()` or add a call pausing or sleeping the thread to the loop body = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_loop = note: `#[warn(clippy::empty_loop)]` on by default
empty `loop {}` wastes CPU cycles: boards/sensor_v2/src/main.rs#L64
warning: empty `loop {}` wastes CPU cycles --> boards/sensor_v2/src/main.rs:64:9 | 64 | loop {} | ^^^^^^^ | = help: you should either use `panic!()` or add a call pausing or sleeping the thread to the loop body = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_loop = note: `#[warn(clippy::empty_loop)]` on by default
this function has too many arguments (8/7): boards/recovery/src/communication.rs#L62
warning: this function has too many arguments (8/7) --> boards/recovery/src/communication.rs:62:5 | 62 | / pub fn new<S>( 63 | | can_rx: Pin<PA23, AlternateI>, 64 | | can_tx: Pin<PA22, AlternateI>, 65 | | pclk_can: Pclk<Can0, Gclk0Id>, ... | 70 | | loopback: bool, 71 | | ) -> (Self, S::Inc) | |_______________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments = note: `#[warn(clippy::too_many_arguments)]` on by default
field `data_manager` is never read: boards/sensor_v2/src/main.rs#L26
warning: field `data_manager` is never read --> boards/sensor_v2/src/main.rs:26:9 | 26 | data_manager: DataManager, | ^^^^^^^^^^^^ ... 35 | fn init(mut ctx: init::Context) -> (SharedResources, LocalResources, init::Monotonics) { | --------------- field in this struct
methods `clone_sensors` and `handle_data` are never used: boards/sensor_v2/src/data_manager.rs#L32
warning: methods `clone_sensors` and `handle_data` are never used --> boards/sensor_v2/src/data_manager.rs:32:12 | 19 | impl DataManager { | ---------------- methods in this implementation ... 32 | pub fn clone_sensors(&self) -> [Option<SensorData>; 10] { | ^^^^^^^^^^^^^ ... 47 | pub fn handle_data(&mut self, data: Message) -> Result<(), HydraError> { | ^^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
very complex type used. Consider factoring parts into `type` definitions: boards/recovery/src/communication.rs#L52
warning: very complex type used. Consider factoring parts into `type` definitions --> boards/recovery/src/communication.rs:52:14 | 52 | pub can: Can< | ______________^ 53 | | 'static, 54 | | Can0, 55 | | Dependencies<Can0, Gclk0Id, Pin<PA23, Alternate<I>>, Pin<PA22, Alternate<I>>, CAN0>, 56 | | Capacities, 57 | | >, | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity = note: `#[warn(clippy::type_complexity)]` on by default
unneeded `return` statement: boards/beacon/src/data_manager.rs#L52
warning: unneeded `return` statement --> boards/beacon/src/data_manager.rs:52:9 | 52 | return RadioRate::Slow; | ^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return = note: `#[warn(clippy::needless_return)]` on by default help: remove `return` | 52 - return RadioRate::Slow; 52 + RadioRate::Slow |
field `data_manager` is never read: boards/beacon/src/main.rs#L42
warning: field `data_manager` is never read --> boards/beacon/src/main.rs:42:9 | 42 | data_manager: DataManager, | ^^^^^^^^^^^^ ... 56 | fn init(cx: init::Context) -> (Shared, Local, init::Monotonics) { | ------ field in this struct
static `COM_ID` is never used: boards/beacon/src/types.rs#L7
warning: static `COM_ID` is never used --> boards/beacon/src/types.rs:7:12 | 7 | pub static COM_ID: Sender = BeaconBoard; | ^^^^^^
methods `get_logging_rate`, `take_sensors`, `clone_states`, and `handle_data` are never used: boards/beacon/src/data_manager.rs#L45
warning: methods `get_logging_rate`, `take_sensors`, `clone_states`, and `handle_data` are never used --> boards/beacon/src/data_manager.rs:45:12 | 24 | impl DataManager { | ---------------- methods in this implementation ... 45 | pub fn get_logging_rate(&mut self) -> RadioRate { | ^^^^^^^^^^^^^^^^ ... 56 | pub fn take_sensors(&mut self) -> [Option<Message>; 13] { | ^^^^^^^^^^^^ ... 74 | pub fn clone_states(&self) -> [Option<StateData>; 1] { | ^^^^^^^^^^^^ ... 77 | pub fn handle_data(&mut self, data: Message) { | ^^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
variants `DeployDrogue` and `DeployMain` are never constructed: boards/recovery/src/state_machine/mod.rs#L72
warning: variants `DeployDrogue` and `DeployMain` are never constructed --> boards/recovery/src/state_machine/mod.rs:72:5 | 71 | pub enum RocketEvents { | ------------ variants in this enum 72 | DeployDrogue, | ^^^^^^^^^^^^ 73 | DeployMain, | ^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
variable does not need to be mutable: boards/sensor_v2/src/main.rs#L68
warning: variable does not need to be mutable --> boards/sensor_v2/src/main.rs:68:21 | 68 | fn sleep_system(mut cx: sleep_system::Context) { | ----^^ | | | help: remove this `mut`
unused variable: `cx`: boards/sensor_v2/src/main.rs#L68
warning: unused variable: `cx` --> boards/sensor_v2/src/main.rs:68:25 | 68 | fn sleep_system(mut cx: sleep_system::Context) { | ^^ help: if this is intentional, prefix it with an underscore: `_cx`
variable does not need to be mutable: boards/sensor_v2/src/main.rs#L63
warning: variable does not need to be mutable --> boards/sensor_v2/src/main.rs:63:13 | 63 | fn idle(mut ctx: idle::Context) -> ! { | ----^^^ | | | help: remove this `mut`
unused variable: `ctx`: boards/sensor_v2/src/main.rs#L63
warning: unused variable: `ctx` --> boards/sensor_v2/src/main.rs:63:17 | 63 | fn idle(mut ctx: idle::Context) -> ! { | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
variable does not need to be mutable: boards/sensor_v2/src/main.rs#L49
warning: variable does not need to be mutable --> boards/sensor_v2/src/main.rs:49:13 | 49 | let mut button = gpioc.pc13.into_floating_input(); | ----^^^^^^ | | | help: remove this `mut`
variable does not need to be mutable: boards/sensor_v2/src/main.rs#L35
warning: variable does not need to be mutable --> boards/sensor_v2/src/main.rs:35:13 | 35 | fn init(mut ctx: init::Context) -> (SharedResources, LocalResources, init::Monotonics) { | ----^^^ | | | help: remove this `mut` | = note: `#[warn(unused_mut)]` on by default
unused variable: `info`: boards/sensor_v2/src/main.rs#L16
warning: unused variable: `info` --> boards/sensor_v2/src/main.rs:16:10 | 16 | fn panic(info: &core::panic::PanicInfo) -> ! { | ^^^^ help: if this is intentional, prefix it with an underscore: `_info` | = note: `#[warn(unused_variables)]` on by default
unused variable: `m`: boards/beacon/src/main.rs#L101
warning: unused variable: `m` --> boards/beacon/src/main.rs:101:50 | 101 | fn send_external(cx: send_external::Context, m: Message) { | ^ help: if this is intentional, prefix it with an underscore: `_m`
unused variable: `cx`: boards/beacon/src/main.rs#L101
warning: unused variable: `cx` --> boards/beacon/src/main.rs:101:22 | 101 | fn send_external(cx: send_external::Context, m: Message) { | ^^ help: if this is intentional, prefix it with an underscore: `_cx`
unused variable: `m`: boards/beacon/src/main.rs#L96
warning: unused variable: `m` --> boards/beacon/src/main.rs:96:50 | 96 | fn send_internal(cx: send_internal::Context, m: Message) { | ^ help: if this is intentional, prefix it with an underscore: `_m`
unused variable: `cx`: boards/beacon/src/main.rs#L96
warning: unused variable: `cx` --> boards/beacon/src/main.rs:96:22 | 96 | fn send_internal(cx: send_internal::Context, m: Message) { | ^^ help: if this is intentional, prefix it with an underscore: `_cx` | = note: `#[warn(unused_variables)]` on by default
variable does not need to be mutable: boards/beacon/src/main.rs#L66
warning: variable does not need to be mutable --> boards/beacon/src/main.rs:66:13 | 66 | let mut red_led = gpioa.pa10.into_push_pull_output(); | ----^^^^^^^ | | | help: remove this `mut`
variable does not need to be mutable: boards/beacon/src/main.rs#L65
warning: variable does not need to be mutable --> boards/beacon/src/main.rs:65:13 | 65 | let mut green_led = gpioa.pa9.into_push_pull_output(); | ----^^^^^^^^^ | | | help: remove this `mut` | = note: `#[warn(unused_mut)]` on by default
redundant field names in struct initialization: libraries/sbg-rs/src/sbg.rs#L140
warning: redundant field names in struct initialization --> libraries/sbg-rs/src/sbg.rs:140:13 | 140 | handle: handle, | ^^^^^^^^^^^^^^ help: replace it with: `handle` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names = note: `#[warn(clippy::redundant_field_names)]` on by default
unused import: `self::_SbgEComOutputMonitoringPoint as SbgEComOutputMonitoringPoint`: libraries/sbg-rs/src/bindings.rs#L13476
warning: unused import: `self::_SbgEComOutputMonitoringPoint as SbgEComOutputMonitoringPoint` --> libraries/sbg-rs/src/bindings.rs:13476:9 | 13476 | pub use self::_SbgEComOutputMonitoringPoint as SbgEComOutputMonitoringPoint; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `self::_SbgEComClockUtcStatus as SbgEComClockUtcStatus`: libraries/sbg-rs/src/bindings.rs#L10537
warning: unused import: `self::_SbgEComClockUtcStatus as SbgEComClockUtcStatus` --> libraries/sbg-rs/src/bindings.rs:10537:9 | 10537 | pub use self::_SbgEComClockUtcStatus as SbgEComClockUtcStatus; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `self::_SbgEComClockStatus as SbgEComClockStatus`: libraries/sbg-rs/src/bindings.rs#L10527
warning: unused import: `self::_SbgEComClockStatus as SbgEComClockStatus` --> libraries/sbg-rs/src/bindings.rs:10527:9 | 10527 | pub use self::_SbgEComClockStatus as SbgEComClockStatus; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `self::_SbgEComCanBusStatus as SbgEComCanBusStatus`: libraries/sbg-rs/src/bindings.rs#L10251
warning: unused import: `self::_SbgEComCanBusStatus as SbgEComCanBusStatus` --> libraries/sbg-rs/src/bindings.rs:10251:9 | 10251 | pub use self::_SbgEComCanBusStatus as SbgEComCanBusStatus; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `self::_SbgEComGpsHdtStatus as SbgEComGpsHdtStatus`: libraries/sbg-rs/src/bindings.rs#L8535
warning: unused import: `self::_SbgEComGpsHdtStatus as SbgEComGpsHdtStatus` --> libraries/sbg-rs/src/bindings.rs:8535:9 | 8535 | pub use self::_SbgEComGpsHdtStatus as SbgEComGpsHdtStatus; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `self::_SbgEComGpsPosType as SbgEComGpsPosType`: libraries/sbg-rs/src/bindings.rs#L8523
warning: unused import: `self::_SbgEComGpsPosType as SbgEComGpsPosType` --> libraries/sbg-rs/src/bindings.rs:8523:9 | 8523 | pub use self::_SbgEComGpsPosType as SbgEComGpsPosType; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `self::_SbgEComGpsPosStatus as SbgEComGpsPosStatus`: libraries/sbg-rs/src/bindings.rs#L8497
warning: unused import: `self::_SbgEComGpsPosStatus as SbgEComGpsPosStatus` --> libraries/sbg-rs/src/bindings.rs:8497:9 | 8497 | pub use self::_SbgEComGpsPosStatus as SbgEComGpsPosStatus; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `self::_SbgEComGpsVelType as SbgEComGpsVelType`: libraries/sbg-rs/src/bindings.rs#L8485
warning: unused import: `self::_SbgEComGpsVelType as SbgEComGpsVelType` --> libraries/sbg-rs/src/bindings.rs:8485:9 | 8485 | pub use self::_SbgEComGpsVelType as SbgEComGpsVelType; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `self::_SbgEComGpsVelStatus as SbgEComGpsVelStatus`: libraries/sbg-rs/src/bindings.rs#L8473
warning: unused import: `self::_SbgEComGpsVelStatus as SbgEComGpsVelStatus` --> libraries/sbg-rs/src/bindings.rs:8473:9 | 8473 | pub use self::_SbgEComGpsVelStatus as SbgEComGpsVelStatus; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `self::_SbgEComSolutionMode as SbgEComSolutionMode`: libraries/sbg-rs/src/bindings.rs#L8004
warning: unused import: `self::_SbgEComSolutionMode as SbgEComSolutionMode` --> libraries/sbg-rs/src/bindings.rs:8004:9 | 8004 | pub use self::_SbgEComSolutionMode as SbgEComSolutionMode; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `self::_SbgEComCmd as SbgEComCmd`: libraries/sbg-rs/src/bindings.rs#L7306
warning: unused import: `self::_SbgEComCmd as SbgEComCmd` --> libraries/sbg-rs/src/bindings.rs:7306:9 | 7306 | pub use self::_SbgEComCmd as SbgEComCmd; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `self::_SbgEComIdThirdParty as SbgEComIdThirdParty`: libraries/sbg-rs/src/bindings.rs#L7212
warning: unused import: `self::_SbgEComIdThirdParty as SbgEComIdThirdParty` --> libraries/sbg-rs/src/bindings.rs:7212:9 | 7212 | pub use self::_SbgEComIdThirdParty as SbgEComIdThirdParty; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `self::_SbgEComIdNmea1Log as SbgEComIdNmea1Log`: libraries/sbg-rs/src/bindings.rs#L7184
warning: unused import: `self::_SbgEComIdNmea1Log as SbgEComIdNmea1Log` --> libraries/sbg-rs/src/bindings.rs:7184:9 | 7184 | pub use self::_SbgEComIdNmea1Log as SbgEComIdNmea1Log; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `self::_SbgEComNmeaLog as SbgEComNmeaLog`: libraries/sbg-rs/src/bindings.rs#L7152
warning: unused import: `self::_SbgEComNmeaLog as SbgEComNmeaLog` --> libraries/sbg-rs/src/bindings.rs:7152:9 | 7152 | pub use self::_SbgEComNmeaLog as SbgEComNmeaLog; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `self::_SbgEComLog1MsgId as SbgEComLog1`: libraries/sbg-rs/src/bindings.rs#L7126
warning: unused import: `self::_SbgEComLog1MsgId as SbgEComLog1` --> libraries/sbg-rs/src/bindings.rs:7126:9 | 7126 | pub use self::_SbgEComLog1MsgId as SbgEComLog1; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `self::_SbgEComLog as SbgEComLog`: libraries/sbg-rs/src/bindings.rs#L7118
warning: unused import: `self::_SbgEComLog as SbgEComLog` --> libraries/sbg-rs/src/bindings.rs:7118:9 | 7118 | pub use self::_SbgEComLog as SbgEComLog; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `self::_SbgSBSeekOrigin as SbgSBSeekOrigin`: libraries/sbg-rs/src/bindings.rs#L6822
warning: unused import: `self::_SbgSBSeekOrigin as SbgSBSeekOrigin` --> libraries/sbg-rs/src/bindings.rs:6822:9 | 6822 | pub use self::_SbgSBSeekOrigin as SbgSBSeekOrigin; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
unused import: `messages::sensor::Sensor`: boards/beacon/src/main.rs#L12
warning: unused import: `messages::sensor::Sensor` --> boards/beacon/src/main.rs:12:5 | 12 | use messages::sensor::Sensor; | ^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `common_arm::SdManager`: boards/beacon/src/main.rs#L8
warning: unused import: `common_arm::SdManager` --> boards/beacon/src/main.rs:8:5 | 8 | use common_arm::SdManager; | ^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
unneeded `return` statement: libraries/common-arm/src/health/health_manager.rs#L74
warning: unneeded `return` statement --> libraries/common-arm/src/health/health_manager.rs:74:13 | 74 | return HealthState::Warning; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 74 - return HealthState::Warning; 74 + HealthState::Warning |
unneeded `return` statement: libraries/common-arm/src/health/health_manager.rs#L66
warning: unneeded `return` statement --> libraries/common-arm/src/health/health_manager.rs:66:17 | 66 | return HealthState::Nominal; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return = note: `#[warn(clippy::needless_return)]` on by default help: remove `return` | 66 - return HealthState::Nominal; 66 + HealthState::Nominal |