Skip to content

V2 Board Support, Health Manager, Radio Receive, and Cleanup #231

V2 Board Support, Health Manager, Radio Receive, and Cleanup

V2 Board Support, Health Manager, Radio Receive, and Cleanup #231

Triggered via pull request January 20, 2024 18:56
@NoahSprengerNoahSprenger
synchronize #71
sensor_v2
Status Failure
Total duration 2m 51s
Artifacts

build.yml

on: pull_request
Fit to window
Zoom out
Zoom in

Annotations

9 errors and 85 warnings
this function takes 4 arguments but 2 arguments were supplied: boards/communication/src/main.rs#L148
error[E0061]: this function takes 4 arguments but 2 arguments were supplied --> boards/communication/src/main.rs:148:24 | 148 | let mut adc1 = Adc::adc1(peripherals.ADC1, &mut mclk); | ^^^^^^^^^----------------------------- two arguments of type `&mut atsamd_hal::clock::GenericClockController` and `atsamd_hal::atsame51j::gclk::pchctrl::GEN_A` are missing | note: associated function defined here --> /home/runner/.cargo/git/checkouts/atsamd-d272bcb1b045fea7/0820f0d/hal/src/thumbv7em/adc.rs:270:12 | 270 | ADC1: (adc1, apbdmask, adc1_, adc1_biascomp_scale_cal, adc1_biasref_scale_cal, adc1_biasr2r_scale_cal), | ^^^^ help: provide the arguments | 148 | let mut adc1 = Adc::adc1(peripherals.ADC1, &mut mclk, /* &mut atsamd_hal::clock::GenericClockController */, /* atsamd_hal::atsame51j::gclk::pchctrl::GEN_A */); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
this function takes 4 arguments but 2 arguments were supplied: boards/communication/src/main.rs#L147
error[E0061]: this function takes 4 arguments but 2 arguments were supplied --> boards/communication/src/main.rs:147:24 | 147 | let mut adc0 = Adc::adc0(peripherals.ADC0, &mut mclk); | ^^^^^^^^^----------------------------- two arguments of type `&mut atsamd_hal::clock::GenericClockController` and `atsamd_hal::atsame51j::gclk::pchctrl::GEN_A` are missing | note: associated function defined here --> /home/runner/.cargo/git/checkouts/atsamd-d272bcb1b045fea7/0820f0d/hal/src/thumbv7em/adc.rs:269:12 | 269 | ADC0: (adc0, apbdmask, adc0_, adc0_biascomp_scale_cal, adc0_biasref_scale_cal, adc0_biasr2r_scale_cal), | ^^^^ help: provide the arguments | 147 | let mut adc0 = Adc::adc0(peripherals.ADC0, &mut mclk, /* &mut atsamd_hal::clock::GenericClockController */, /* atsamd_hal::atsame51j::gclk::pchctrl::GEN_A */); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
the name `TxDuplex` is defined multiple times: boards/communication/src/communication.rs#L19
error[E0252]: the name `TxDuplex` is defined multiple times --> boards/communication/src/communication.rs:19:32 | 17 | use atsamd_hal::sercom::uart::{TxDuplex}; | -------- previous import of the type `TxDuplex` here 18 | use atsamd_hal::sercom::uart::{Uart}; 19 | use atsamd_hal::sercom::uart::{TxDuplex}; | -------------------------------^^^^^^^^-- | | | | | `TxDuplex` reimported here | help: remove unnecessary import | = note: `TxDuplex` must be defined only once in the type namespace of this module
the name `Uart` is defined multiple times: boards/communication/src/communication.rs#L18
error[E0252]: the name `Uart` is defined multiple times --> boards/communication/src/communication.rs:18:32 | 16 | use atsamd_hal::sercom::uart::{Uart}; | ---- previous import of the type `Uart` here 17 | use atsamd_hal::sercom::uart::{TxDuplex}; 18 | use atsamd_hal::sercom::uart::{Uart}; | -------------------------------^^^^-- | | | | | `Uart` reimported here | help: remove unnecessary import | = note: `Uart` must be defined only once in the type namespace of this module
All: boards/communication/src/communication.rs#L18
the name `Uart` is defined multiple times
All: boards/communication/src/communication.rs#L19
the name `TxDuplex` is defined multiple times
All: boards/communication/src/main.rs#L147
this function takes 4 arguments but 2 arguments were supplied
All: boards/communication/src/main.rs#L148
this function takes 4 arguments but 2 arguments were supplied
All
The process '/home/runner/.cargo/bin/cargo' failed with exit code 101
unused `core::result::Result` that must be used: /home/runner/work/hydra/hydra/libraries/common-arm/src/error/mod.rs#L92
warning: unused `core::result::Result` that must be used --> boards/sensor/src/sbg_manager.rs:139:21 | 139 | spawn!(sbg_sd(buf_clone)); // this warning isn't right but it's fine | ^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: this `Result` may be an `Err` variant, which should be handled = note: this warning originates in the macro `spawn` (in Nightly builds, run with -Z macro-backtrace for more info)
unused `core::result::Result` that must be used: /home/runner/work/hydra/hydra/libraries/common-arm/src/error/mod.rs#L92
warning: unused `core::result::Result` that must be used --> boards/sensor/src/data_manager.rs:49:21 | 49 | spawn!(sleep_system); // need proper error handling. could just expect, but that is mal practice. | ^^^^^^^^^^^^^^^^^^^^ | = note: this `Result` may be an `Err` variant, which should be handled = note: `#[warn(unused_must_use)]` on by default = note: this warning originates in the macro `spawn` (in Nightly builds, run with -Z macro-backtrace for more info)
empty `loop {}` wastes CPU cycles: boards/sensor/src/main.rs#L166
warning: empty `loop {}` wastes CPU cycles --> boards/sensor/src/main.rs:166:9 | 166 | 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#L133
warning: using `clone` on type `[u8; 1024]` which implements the `Copy` trait --> boards/sensor/src/sbg_manager.rs:133:33 | 133 | 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
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
unused import: `PA02`: boards/communication/src/health.rs#L5
warning: unused import: `PA02` --> boards/communication/src/health.rs:5:43 | 5 | use atsamd_hal::gpio::{Alternate, Pin, B, PA02, PB00, PB01, PB02, PB03, PB06, PB07, PB08, PB09, PB05}; | ^^^^
unused import: `defmt::info`: boards/communication/src/data_manager.rs#L1
warning: unused import: `defmt::info` --> boards/communication/src/data_manager.rs:1:5 | 1 | use defmt::info; | ^^^^^^^^^^^
unused import: `TxDuplex`: boards/communication/src/communication.rs#L19
warning: unused import: `TxDuplex` --> boards/communication/src/communication.rs:19:32 | 19 | use atsamd_hal::sercom::uart::{TxDuplex}; | ^^^^^^^^
unused import: `Uart`: boards/communication/src/communication.rs#L18
warning: unused import: `Uart` --> boards/communication/src/communication.rs:18:32 | 18 | use atsamd_hal::sercom::uart::{Uart}; | ^^^^ | = note: `#[warn(unused_imports)]` on by default
empty `loop {}` wastes CPU cycles: boards/camera/src/main.rs#L109
warning: empty `loop {}` wastes CPU cycles --> boards/camera/src/main.rs:109:9 | 109 | 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 { |
unnecessary parentheses around function argument: boards/sensor/src/sbg_manager.rs#L139
warning: unnecessary parentheses around function argument --> boards/sensor/src/sbg_manager.rs:139:34 | 139 | spawn!(sbg_sd(buf_clone)); // this warning isn't right but it's fine | ^ ^ | = note: `#[warn(unused_parens)]` on by default help: remove these parentheses | 139 - spawn!(sbg_sd(buf_clone)); // this warning isn't right but it's fine 139 + spawn!(sbg_sdbuf_clone); // this warning isn't right but it's fine |
you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`: boards/camera/src/data_manager.rs#L108
warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` --> boards/camera/src/data_manager.rs:108:47 | 108 | messages::Data::Sensor(sensor) => match sensor.data { | _______________________________________________^ 109 | | messages::sensor::SensorData::Air(air_data) => { 110 | | self.air = Some(air_data); 111 | | } 112 | | _ => { 113 | | } 114 | | }, | |_____________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match help: try | 108 ~ messages::Data::Sensor(sensor) => if let messages::sensor::SensorData::Air(air_data) = sensor.data { 109 + self.air = Some(air_data); 110 ~ }, |
you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`: boards/camera/src/data_manager.rs#L107
warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` --> boards/camera/src/data_manager.rs:107:9 | 107 | / match data.data { 108 | | messages::Data::Sensor(sensor) => match sensor.data { 109 | | messages::sensor::SensorData::Air(air_data) => { 110 | | self.air = Some(air_data); ... | 116 | | } 117 | | } | |_________^ | = 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 | 107 ~ if let messages::Data::Sensor(sensor) = data.data { match sensor.data { 108 + messages::sensor::SensorData::Air(air_data) => { 109 + self.air = Some(air_data); 110 + } 111 + _ => { 112 + } 113 + } } |
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
you seem to be trying to use `match` for an equality check. Consider using `if`: libraries/sbg-rs/src/sbg.rs#L481
warning: you seem to be trying to use `match` for an equality check. Consider using `if` --> libraries/sbg-rs/src/sbg.rs:481:5 | 481 | / match logType { 482 | | // silently handle errors 483 | | // _SbgDebugLogType_SBG_DEBUG_LOG_TYPE_ERROR => error!("SBG Error"), 484 | | _SbgDebugLogType_SBG_DEBUG_LOG_TYPE_WARNING => warn!("SBG Warning"), ... | 487 | | _ => (), 488 | | }; | |_____^ 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
unused `core::result::Result` that must be used: /home/runner/work/hydra/hydra/libraries/common-arm/src/error/mod.rs#L92
warning: unused `core::result::Result` that must be used --> boards/recovery/src/data_manager.rs:166:21 | 166 | spawn!(fire_main); | ^^^^^^^^^^^^^^^^^ | = note: this `Result` may be an `Err` variant, which should be handled = note: this warning originates in the macro `spawn` (in Nightly builds, run with -Z macro-backtrace for more info)
unused `core::result::Result` that must be used: /home/runner/work/hydra/hydra/libraries/common-arm/src/error/mod.rs#L92
warning: unused `core::result::Result` that must be used --> boards/recovery/src/data_manager.rs:163:21 | 163 | spawn!(fire_drogue); // need someway to capture this error. | ^^^^^^^^^^^^^^^^^^^ | = note: this `Result` may be an `Err` variant, which should be handled = note: `#[warn(unused_must_use)]` on by default = note: this warning originates in the macro `spawn` (in Nightly builds, run with -Z macro-backtrace for more info)
unsafe function's docs miss `# Safety` section: libraries/sbg-rs/src/sbg.rs#L461
warning: unsafe function's docs miss `# Safety` section --> libraries/sbg-rs/src/sbg.rs:461:1 | 461 | / pub unsafe extern "C" fn sbgPlatformDebugLogMsg( 462 | | _pFileName: *const ::core::ffi::c_char, 463 | | _pFunctionName: *const ::core::ffi::c_char, 464 | | _line: u32, ... | 468 | | _pFormat: *const ::core::ffi::c_char, 469 | | ) { | |_^ | = 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#L423
warning: unneeded `return` statement --> libraries/sbg-rs/src/sbg.rs:423:23 | 423 | 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` | 423 | Err(_) => _SbgErrorCode_SBG_READ_ERROR, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
unneeded `return` statement: libraries/sbg-rs/src/sbg.rs#L422
warning: unneeded `return` statement --> libraries/sbg-rs/src/sbg.rs:422:22 | 422 | 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` | 422 | Ok(_) => _SbgErrorCode_SBG_NO_ERROR, | ~~~~~~~~~~~~~~~~~~~~~~~~~~
unsafe function's docs miss `# Safety` section: libraries/sbg-rs/src/sbg.rs#L408
warning: unsafe function's docs miss `# Safety` section --> libraries/sbg-rs/src/sbg.rs:408:5 | 408 | / pub unsafe extern "C" fn SbgFlushFunc( 409 | | pInterface: *mut _SbgInterface, 410 | | _flags: u32, 411 | | ) -> _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#L356
warning: unsafe function's docs miss `# Safety` section --> libraries/sbg-rs/src/sbg.rs:356:5 | 356 | / pub unsafe extern "C" fn SbgEComReceiveLogFunc( 357 | | _pHandle: *mut _SbgEComHandle, 358 | | msgClass: u32, 359 | | msg: u32, 360 | | pLogData: *const _SbgBinaryLogData, 361 | | _pUserArg: *mut c_void, 362 | | ) -> _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#L317
warning: unsafe function's docs miss `# Safety` section --> libraries/sbg-rs/src/sbg.rs:317:5 | 317 | / pub unsafe extern "C" fn SbgInterfaceWriteFunc( 318 | | pInterface: *mut _SbgInterface, 319 | | pBuffer: *const c_void, 320 | | bytesToWrite: usize, 321 | | ) -> _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#L300
warning: the loop variable `i` is only used to index `array` --> libraries/sbg-rs/src/sbg.rs:300:18 | 300 | 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 | 300 | for <item> in array.iter_mut().take((bytesToRead)) { | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
unneeded `return` statement: libraries/sbg-rs/src/sbg.rs#L311
warning: unneeded `return` statement --> libraries/sbg-rs/src/sbg.rs:311:9 | 311 | 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` | 311 - return _SbgErrorCode_SBG_NO_ERROR; 311 + _SbgErrorCode_SBG_NO_ERROR |
unsafe function's docs miss `# Safety` section: libraries/sbg-rs/src/sbg.rs#L282
warning: unsafe function's docs miss `# Safety` section --> libraries/sbg-rs/src/sbg.rs:282:5 | 282 | / pub unsafe extern "C" fn SbgInterfaceReadFunc( 283 | | _pInterface: *mut _SbgInterface, 284 | | pBuffer: *mut c_void, 285 | | pBytesRead: *mut usize, 286 | | bytesToRead: usize, 287 | | 288 | | ) -> _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
empty `loop {}` wastes CPU cycles: boards/recovery/src/main.rs#L126
warning: empty `loop {}` wastes CPU cycles --> boards/recovery/src/main.rs:126:9 | 126 | 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 { |
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
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
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
empty `loop {}` wastes CPU cycles: boards/power/src/main.rs#L114
warning: empty `loop {}` wastes CPU cycles --> boards/power/src/main.rs:114:9 | 114 | 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/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#L29
warning: fields `data_manager` and `can0` are never read --> boards/power/src/main.rs:29:9 | 29 | data_manager: DataManager, | ^^^^^^^^^^^^ 30 | can0: CanDevice0, | ^^^^ ... 46 | 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#L21
warning: method `handle_data` is never used --> boards/power/src/data_manager.rs:21:12 | 12 | impl DataManager { | ---------------- method in this implementation ... 21 | 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
unused variable: `data`: boards/power/src/data_manager.rs#L21
warning: unused variable: `data` --> boards/power/src/data_manager.rs:21:35 | 21 | pub fn handle_data(&mut self, data: Message) { | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` | = note: `#[warn(unused_variables)]` on by default
redundant field names in struct initialization: libraries/sbg-rs/src/sbg.rs#L141
warning: redundant field names in struct initialization --> libraries/sbg-rs/src/sbg.rs:141:13 | 141 | 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 imports: `Current`, `Regulator`, `SensorData`, `Temperature`, `Voltage`: boards/power/src/data_manager.rs#L2
warning: unused imports: `Current`, `Regulator`, `SensorData`, `Temperature`, `Voltage` --> boards/power/src/data_manager.rs:2:24 | 2 | use messages::sensor::{Current, Regulator, SensorData, Temperature, Voltage}; | ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
unused import: `messages::Event::MainDeploy`: boards/recovery/src/main.rs#L11
warning: unused import: `messages::Event::MainDeploy` --> boards/recovery/src/main.rs:11:5 | 11 | use messages::Event::MainDeploy; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
unneeded `return` statement: libraries/common-arm/src/health/health_manager.rs#L77
warning: unneeded `return` statement --> libraries/common-arm/src/health/health_manager.rs:77:13 | 77 | return HealthState::Warning; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = 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` | 77 - return HealthState::Warning; 77 + HealthState::Warning |
unused variable: `nominal`: libraries/common-arm/src/health/health_manager.rs#L66
warning: unused variable: `nominal` --> libraries/common-arm/src/health/health_manager.rs:66:34 | 66 | fn get_status(data: Option<u16>, nominal: &RangeInclusive<u16>) -> HealthState { | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nominal`
unused variable: `nominal`: libraries/common-arm/src/health/health_manager.rs#L69
warning: unused variable: `nominal` --> libraries/common-arm/src/health/health_manager.rs:69:13 | 69 | nominal => HealthState::Nominal, | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nominal` | = note: `#[warn(unused_variables)]` on by default
unreachable pattern: libraries/common-arm/src/health/health_manager.rs#L70
warning: unreachable pattern --> libraries/common-arm/src/health/health_manager.rs:70:13 | 69 | nominal => HealthState::Nominal, | ------- matches any value 70 | _ => { | ^ unreachable pattern | = note: `#[warn(unreachable_patterns)]` on by default
unused import: `core::ops::RangeToInclusive`: libraries/common-arm/src/health/health_manager.rs#L6
warning: unused import: `core::ops::RangeToInclusive` --> libraries/common-arm/src/health/health_manager.rs:6:5 | 6 | use core::ops::RangeToInclusive; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `core::ops::RangeFrom`: libraries/common-arm/src/health/health_manager.rs#L4
warning: unused import: `core::ops::RangeFrom` --> libraries/common-arm/src/health/health_manager.rs:4:5 | 4 | use core::ops::RangeFrom; | ^^^^^^^^^^^^^^^^^^^^
unused import: `core::any::TypeId`: libraries/common-arm/src/health/health_manager.rs#L3
warning: unused import: `core::any::TypeId` --> libraries/common-arm/src/health/health_manager.rs:3:5 | 3 | use core::any::TypeId; | ^^^^^^^^^^^^^^^^^
unused import: `core::any::Any`: libraries/common-arm/src/health/health_manager.rs#L2
warning: unused import: `core::any::Any` --> libraries/common-arm/src/health/health_manager.rs:2:5 | 2 | use core::any::Any; | ^^^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
All
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2, actions-rs/toolchain@v1, actions-rs/cargo@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
All
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/
All
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/
All
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/
All
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/
All
virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
All: libraries/common-arm/src/health/health_manager.rs#L2
unused import: `core::any::Any`
All: libraries/common-arm/src/health/health_manager.rs#L3
unused import: `core::any::TypeId`
All: libraries/common-arm/src/health/health_manager.rs#L4
unused import: `core::ops::RangeFrom`
All: libraries/common-arm/src/health/health_manager.rs#L6
unused import: `core::ops::RangeToInclusive`
All: libraries/common-arm/src/health/health_manager.rs#L70
unreachable pattern
All: libraries/common-arm/src/health/health_manager.rs#L69
unused variable: `nominal`
All: libraries/common-arm/src/health/health_manager.rs#L66
unused variable: `nominal`
All
`common-arm` (lib) generated 7 warnings (run `cargo fix --lib -p common-arm` to apply 6 suggestions)
All: libraries/sbg-rs/src/bindings.rs#L7118
unused import: `self::_SbgEComLog as SbgEComLog`