[INFO] fetching crate vexide-devices 0.8.0...
[INFO] testing vexide-devices-0.8.0 against try#db823df02fd0c2cf67b43025ac3fef3f2d743245 for pr-150681
[INFO] extracting crate vexide-devices 0.8.0 into /workspace/builds/worker-6-tc2/source
[INFO] started tweaking crates.io crate vexide-devices 0.8.0
[INFO] finished tweaking crates.io crate vexide-devices 0.8.0
[INFO] tweaked toml for crates.io crate vexide-devices 0.8.0 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate vexide-devices 0.8.0 on toolchain db823df02fd0c2cf67b43025ac3fef3f2d743245
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate vexide-devices 0.8.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 56dd4e164d35ecae30e9f537e27fe482966fc389af5c949fdc09be01862ce3a3
[INFO] running `Command { std: "docker" "start" "-a" "56dd4e164d35ecae30e9f537e27fe482966fc389af5c949fdc09be01862ce3a3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "56dd4e164d35ecae30e9f537e27fe482966fc389af5c949fdc09be01862ce3a3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "56dd4e164d35ecae30e9f537e27fe482966fc389af5c949fdc09be01862ce3a3", kill_on_drop: false }`
[INFO] [stdout] 56dd4e164d35ecae30e9f537e27fe482966fc389af5c949fdc09be01862ce3a3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1989d584e5ad284692bf71e3b2c6168cdf1de73ef870cf7292f37c453eb361e1
[INFO] running `Command { std: "docker" "start" "-a" "1989d584e5ad284692bf71e3b2c6168cdf1de73ef870cf7292f37c453eb361e1", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]    Compiling vex-sdk v0.28.0
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling mint v0.5.9
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]    Compiling snafu-derive v0.8.6
[INFO] [stderr]    Compiling pin-project v1.1.10
[INFO] [stderr]    Compiling vexide-core v0.8.0
[INFO] [stderr]    Compiling bytemuck v1.24.0
[INFO] [stderr]    Compiling rgb v0.8.51
[INFO] [stderr]    Compiling smart-leds-trait v0.3.1
[INFO] [stderr]    Compiling snafu v0.8.6
[INFO] [stderr]    Compiling vexide-devices v0.8.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.89s
[INFO] running `Command { std: "docker" "inspect" "1989d584e5ad284692bf71e3b2c6168cdf1de73ef870cf7292f37c453eb361e1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1989d584e5ad284692bf71e3b2c6168cdf1de73ef870cf7292f37c453eb361e1", kill_on_drop: false }`
[INFO] [stdout] 1989d584e5ad284692bf71e3b2c6168cdf1de73ef870cf7292f37c453eb361e1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7c709d1a53cecb99058a64c5a4b41958b1830a4f71f128a3def205aa620d7602
[INFO] running `Command { std: "docker" "start" "-a" "7c709d1a53cecb99058a64c5a4b41958b1830a4f71f128a3def205aa620d7602", kill_on_drop: false }`
[INFO] [stderr]    Compiling vexide-devices v0.8.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.33s
[INFO] running `Command { std: "docker" "inspect" "7c709d1a53cecb99058a64c5a4b41958b1830a4f71f128a3def205aa620d7602", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7c709d1a53cecb99058a64c5a4b41958b1830a4f71f128a3def205aa620d7602", kill_on_drop: false }`
[INFO] [stdout] 7c709d1a53cecb99058a64c5a4b41958b1830a4f71f128a3def205aa620d7602
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 504ccaceb1df6d8ae47a9044228e60b26ffab2e048a487f9b3d34260cb17a0b6
[INFO] running `Command { std: "docker" "start" "-a" "504ccaceb1df6d8ae47a9044228e60b26ffab2e048a487f9b3d34260cb17a0b6", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vexide_devices-cc43c30af57fa57c)
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test color::test::convert_from_raw ... ok
[INFO] [stdout] test display::test::rect_new_equivalency ... ok
[INFO] [stdout] test math::test::add_subtract ... ok
[INFO] [stdout] test math::test::as_ticks ... ok
[INFO] [stdout] test math::test::as_units ... ok
[INFO] [stdout] test math::test::from_units ... ok
[INFO] [stdout] test math::test::multiply_div_scalar ... ok
[INFO] [stdout] test math::test::negate ... ok
[INFO] [stdout] test math::test::non_modular ... ok
[INFO] [stderr]    Doc-tests vexide_devices
[INFO] [stdout] test math::test::zero_is_actually_zero ... ok
[INFO] [stdout] test color::test::convert_to_raw ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 248 tests
[INFO] [stdout] test src/adi/addrled.rs - adi::addrled::AdiAddrLed<N>::new (line 58) - compile ... FAILED
[INFO] [stdout] test src/adi/digital.rs - adi::digital::AdiDigitalOut::set_level (line 231) - compile ... FAILED
[INFO] [stdout] test src/adi/digital.rs - adi::digital::AdiDigitalOut::set_high (line 342) - compile ... FAILED
[INFO] [stdout] test src/adi/digital.rs - adi::digital::AdiDigitalOut::new (line 162) - compile ... FAILED
[INFO] [stdout] test src/adi/encoder.rs - adi::encoder::AdiOpticalEncoder (line 70) - compile ... FAILED
[INFO] [stdout] test src/adi/encoder.rs - adi::encoder::AdiEncoder<TICKS_PER_REVOLUTION>::new (line 106) - compile ... FAILED
[INFO] [stdout] test src/adi/addrled.rs - adi::addrled::AdiAddrLed<N>::set_all (line 107) - compile ... FAILED
[INFO] [stdout] test src/adi/addrled.rs - adi::addrled::AdiAddrLed<N>::set_buffer (line 176) - compile ... FAILED
[INFO] [stdout] test src/adi/digital.rs - adi::digital::AdiDigitalOut::set_low (line 377) - compile ... FAILED
[INFO] [stdout] test src/adi/addrled.rs - adi::addrled::AdiAddrLed<N>::set_pixel (line 141) - compile ... FAILED
[INFO] [stdout] test src/adi/encoder.rs - adi::encoder::AdiEncoder<TICKS_PER_REVOLUTION>::reset_position (line 269) - compile ... FAILED
[INFO] [stdout] test src/adi/digital.rs - adi::digital::AdiDigitalOut::level (line 275) - compile ... FAILED
[INFO] [stdout] test src/adi/digital.rs - adi::digital::AdiDigitalOut::toggle (line 417) - compile ... FAILED
[INFO] [stdout] test src/adi/mod.rs - adi (line 38) ... FAILED
[INFO] [stdout] test src/adi/digital.rs - adi::digital::AdiDigitalOut::with_initial_level (line 189) - compile ... FAILED
[INFO] [stdout] test src/adi/gyroscope.rs - adi::gyroscope::AdiGyroscope::new (line 102) - compile ... FAILED
[INFO] [stdout] test src/adi/encoder.rs - adi::encoder::AdiEncoder<TICKS_PER_REVOLUTION>::position (line 179) - compile ... FAILED
[INFO] [stdout] test src/adi/encoder.rs - adi::encoder::AdiEncoder<TICKS_PER_REVOLUTION>::set_position (line 224) - compile ... FAILED
[INFO] [stdout] test src/adi/line_tracker.rs - adi::line_tracker::AdiLineTracker::new (line 55) - compile ... FAILED
[INFO] [stdout] test src/adi/line_tracker.rs - adi::line_tracker::AdiLineTracker::raw_reflectivity (line 137) - compile ... FAILED
[INFO] [stdout] test src/adi/light_sensor.rs - adi::light_sensor::AdiLightSensor::brightness (line 74) - compile ... FAILED
[INFO] [stdout] test src/adi/line_tracker.rs - adi::line_tracker::AdiLineTracker::reflectivity (line 96) - compile ... FAILED
[INFO] [stdout] test src/adi/light_sensor.rs - adi::light_sensor::AdiLightSensor::raw_brightness (line 109) - compile ... FAILED
[INFO] [stdout] test src/adi/mod.rs - adi (line 49) ... FAILED
[INFO] [stdout] test src/adi/gyroscope.rs - adi::gyroscope::AdiGyroscope::is_calibrating (line 135) - compile ... FAILED
[INFO] [stdout] test src/adi/gyroscope.rs - adi::gyroscope::AdiGyroscope::calibrate (line 165) - compile ... FAILED
[INFO] [stdout] test src/adi/light_sensor.rs - adi::light_sensor::AdiLightSensor::new (line 39) - compile ... FAILED
[INFO] [stdout] test src/adi/gyroscope.rs - adi::gyroscope::AdiGyroscope::yaw (line 202) - compile ... FAILED
[INFO] [stdout] test src/adi/potentiometer.rs - adi::potentiometer::AdiPotentiometer::angle (line 114) - compile ... FAILED
[INFO] [stdout] test src/adi/potentiometer.rs - adi::potentiometer::AdiPotentiometer::new (line 55) - compile ... FAILED
[INFO] [stdout] test src/adi/motor.rs - adi::motor::AdiMotor::set_raw_output (line 118) - compile ... FAILED
[INFO] [stdout] test src/adi/motor.rs - adi::motor::AdiMotor::set_output (line 89) - compile ... FAILED
[INFO] [stdout] test src/adi/mod.rs - adi (line 68) - compile ... FAILED
[INFO] [stdout] test src/adi/pwm.rs - adi::pwm::AdiPwmOut::new (line 43) - compile ... FAILED
[INFO] [stdout] test src/adi/range_finder.rs - adi::range_finder::AdiRangeFinder::new (line 66) - compile ... FAILED
[INFO] [stdout] test src/battery.rs - battery::current (line 54) - compile ... FAILED
[INFO] [stdout] test src/adi/pwm.rs - adi::pwm::AdiPwmOut::set_output (line 75) - compile ... FAILED
[INFO] [stdout] test src/adi/motor.rs - adi::motor::AdiMotor::stop (line 227) - compile ... FAILED
[INFO] [stdout] test src/battery.rs - battery::voltage (line 70) - compile ... FAILED
[INFO] [stdout] test src/adi/servo.rs - adi::servo::AdiServo::set_target (line 85) - compile ... FAILED
[INFO] [stdout] test src/controller.rs - controller::Controller::battery_capacity (line 584) - compile ... FAILED
[INFO] [stdout] test src/controller.rs - controller::Controller::connection (line 558) - compile ... FAILED
[INFO] [stdout] test src/adi/servo.rs - adi::servo::AdiServo::new (line 50) - compile ... FAILED
[INFO] [stdout] test src/adi/motor.rs - adi::motor::AdiMotor::new (line 46) - compile ... FAILED
[INFO] [stdout] test src/controller.rs - controller::Controller::set_text (line 835) - compile ... FAILED
[INFO] [stdout] test src/adi/motor.rs - adi::motor::AdiMotor::raw_output (line 185) - compile ... FAILED
[INFO] [stdout] test src/adi/motor.rs - adi::motor::AdiMotor::output (line 154) - compile ... FAILED
[INFO] [stdout] test src/controller.rs - controller::Controller::id (line 402) - compile ... FAILED
[INFO] [stdout] test src/battery.rs - battery::capacity (line 17) - compile ... FAILED
[INFO] [stdout] test src/battery.rs - battery::temperature (line 34) - compile ... FAILED
[INFO] [stdout] test src/controller.rs - controller::Controller::clear_screen (line 752) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - (line 15) ... FAILED
[INFO] [stdout] test src/controller.rs - controller::Controller::battery_level (line 614) - compile ... FAILED
[INFO] [stdout] test src/adi/range_finder.rs - adi::range_finder::AdiRangeFinder::distance (line 134) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - (line 29) ... FAILED
[INFO] [stdout] test src/display.rs - display::Rect::from_dimensions_centered (line 271) - compile ... FAILED
[INFO] [stdout] test src/controller.rs - controller::Controller::try_rumble (line 995) - compile ... FAILED
[INFO] [stdout] test src/controller.rs - controller::Controller::try_clear_screen (line 788) - compile ... FAILED
[INFO] [stdout] test src/display.rs - display::Rect::new (line 225) - compile ... FAILED
[INFO] [stdout] test src/math.rs - math::Angle::as_degrees (line 190) ... FAILED
[INFO] [stdout] test src/math.rs - math::Angle::as_radians (line 207) ... FAILED
[INFO] [stdout] test src/adi/servo.rs - adi::servo::AdiServo::set_raw_target (line 121) - compile ... FAILED
[INFO] [stdout] test src/math.rs - math::Angle::from_degrees (line 105) ... FAILED
[INFO] [stdout] test src/controller.rs - controller::Controller::state (line 434) - compile ... FAILED
[INFO] [stdout] test src/display.rs - display::Rect::from_dimensions (line 246) - compile ... FAILED
[INFO] [stdout] test src/math.rs - math::Angle::wrapped_full (line 271) ... FAILED
[INFO] [stdout] test src/math.rs - math::Angle::from_gradians (line 143) ... FAILED
[INFO] [stdout] test src/math.rs - math::Angle::from_radians (line 124) ... FAILED
[INFO] [stdout] test src/math.rs - math::Angle::as_gradians (line 226) ... FAILED
[INFO] [stdout] test src/controller.rs - controller::Controller::try_set_text (line 928) - compile ... FAILED
[INFO] [stdout] test src/math.rs - math::Angle::as_turns (line 243) ... FAILED
[INFO] [stdout] test src/display.rs - display::Display::draw_text (line 856) - compile ... FAILED
[INFO] [stdout] test src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::color (line 466) - compile ... FAILED
[INFO] [stdout] test src/peripherals.rs - peripherals (line 38) ... FAILED
[INFO] [stdout] test src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::color_code (line 645) - compile ... FAILED
[INFO] [stdout] test src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::objects (line 738) - compile ... FAILED
[INFO] [stdout] test src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::color_codes (line 701) - compile ... FAILED
[INFO] [stdout] test src/controller.rs - controller::Controller::clear_line (line 665) - compile ... FAILED
[INFO] [stdout] test src/peripherals.rs - peripherals (line 49) ... FAILED
[INFO] [stdout] test src/controller.rs - controller::Controller::rumble (line 963) - compile ... FAILED
[INFO] [stdout] test src/math.rs - math::Angle::from_turns (line 161) ... FAILED
[INFO] [stdout] test src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::flags (line 941) - compile ... FAILED
[INFO] [stdout] test src/controller.rs - controller::Controller::try_clear_line (line 708) - compile ... FAILED
[INFO] [stdout] test src/math.rs - math::Angle::wrapped_half (line 296) ... FAILED
[INFO] [stdout] test src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::set_color_code (line 566) - compile ... FAILED
[INFO] [stdout] test src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::new (line 379) ... FAILED
[INFO] [stdout] test src/smart/distance.rs - smart::distance::DistanceSensor::object (line 92) - compile ... FAILED
[INFO] [stdout] test src/smart/electromagnet.rs - smart::electromagnet::Electromagnet::current (line 139) - compile ... FAILED
[INFO] [stdout] test src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::set_flags (line 968) - compile ... FAILED
[INFO] [stdout] test src/smart/electromagnet.rs - smart::electromagnet::Electromagnet::power (line 110) - compile ... FAILED
[INFO] [stdout] test src/smart/distance.rs - smart::distance::DistanceSensor::status (line 188) - compile ... FAILED
[INFO] [stdout] test src/smart/electromagnet.rs - smart::electromagnet::Electromagnet::set_power (line 79) - compile ... FAILED
[INFO] [stdout] test src/smart/expander.rs - smart::expander (line 21) - compile ... FAILED
[INFO] [stdout] test src/smart/distance.rs - smart::distance::DistanceSensor::status (line 167) - compile ... FAILED
[INFO] [stdout] test src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::set_detection_mode (line 880) - compile ... FAILED
[INFO] [stdout] test src/smart/electromagnet.rs - smart::electromagnet::Electromagnet::status (line 196) - compile ... FAILED
[INFO] [stdout] test src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::set_apriltag_family (line 907) - compile ... FAILED
[INFO] [stdout] test src/smart/gps.rs - smart::gps::GpsSensor::error (line 795) - compile ... FAILED
[INFO] [stdout] test src/smart/electromagnet.rs - smart::electromagnet::Electromagnet::temperature (line 168) - compile ... FAILED
[INFO] [stdout] test src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::colors (line 518) - compile ... FAILED
[INFO] [stdout] test src/smart/gps.rs - smart::gps::GpsSensor::acceleration (line 688) - compile ... FAILED
[INFO] [stdout] test src/smart/gps.rs - smart::gps::GpsSensor::heading (line 323) - compile ... FAILED
[INFO] [stdout] test src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::set_color (line 413) - compile ... FAILED
[INFO] [stdout] test src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::temperature (line 1046) - compile ... FAILED
[INFO] [stdout] test src/smart/distance.rs - smart::distance::DistanceSensor::new (line 46) ... FAILED
[INFO] [stdout] test src/smart/electromagnet.rs - smart::electromagnet::Electromagnet::new (line 45) - compile ... FAILED
[INFO] [stdout] test src/smart/gps.rs - smart::gps::GpsSensor::euler (line 584) - compile ... FAILED
[INFO] [stdout] test src/smart/gps.rs - smart::gps::GpsSensor::gyro_rate (line 742) - compile ... FAILED
[INFO] [stdout] test src/smart/gps.rs - smart::gps::GpsSensor::offset (line 161) - compile ... FAILED
[INFO] [stdout] test src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::object_count (line 844) - compile ... FAILED
[INFO] [stdout] test src/smart/gps.rs - smart::gps::GpsSensor::new (line 96) - compile ... FAILED
[INFO] [stdout] test src/smart/gps.rs - smart::gps::GpsSensor::reset_rotation (line 542) - compile ... FAILED
[INFO] [stdout] test src/smart/expander.rs - smart::expander::AdiExpander::new (line 78) - compile ... FAILED
[INFO] [stdout] test src/smart/distance.rs - smart::distance::DistanceSensor::object (line 110) - compile ... FAILED
[INFO] [stdout] test src/smart/gps.rs - smart::gps::GpsSensor::set_rotation (line 498) - compile ... FAILED
[INFO] [stdout] test src/smart/gps.rs - smart::gps::GpsSensor::position (line 275) - compile ... FAILED
[INFO] [stdout] test src/smart/imu.rs - smart::imu::InertialSensor::calibrate (line 184) - compile ... FAILED
[INFO] [stdout] test src/smart/gps.rs - smart::gps::GpsSensor::set_data_interval (line 869) - compile ... FAILED
[INFO] [stdout] test src/smart/gps.rs - smart::gps::GpsSensor::reset_heading (line 410) - compile ... FAILED
[INFO] [stdout] test src/smart/imu.rs - smart::imu::InertialSensor::calibrate (line 162) - compile ... FAILED
[INFO] [stdout] test src/smart/gps.rs - smart::gps::GpsSensor::set_offset (line 221) - compile ... FAILED
[INFO] [stdout] test src/smart/gps.rs - smart::gps::GpsSensor::quaternion (line 636) - compile ... FAILED
[INFO] [stdout] test src/smart/imu.rs - smart::imu::InertialSensor::is_calibrating (line 710) - compile ... FAILED
[INFO] [stdout] test src/smart/imu.rs - smart::imu::InertialSensor::acceleration (line 628) - compile ... FAILED
[INFO] [stdout] test src/smart/imu.rs - smart::imu::InertialSensor::euler (line 476) - compile ... FAILED
[INFO] [stdout] test src/smart/imu.rs - smart::imu::InertialSensor::new (line 114) - compile ... FAILED
[INFO] [stdout] test src/smart/gps.rs - smart::gps::GpsSensor::status (line 831) - compile ... FAILED
[INFO] [stdout] test src/smart/imu.rs - smart::imu::InertialSensor::rotation (line 358) - compile ... FAILED
[INFO] [stdout] test src/smart/imu.rs - smart::imu::InertialSensor::physical_orientation (line 768) - compile ... FAILED
[INFO] [stdout] test src/smart/imu.rs - smart::imu::InertialSensor::reset_heading (line 318) - compile ... FAILED
[INFO] [stdout] test src/smart/imu.rs - smart::imu::InertialSensor::reset_rotation (line 436) - compile ... FAILED
[INFO] [stdout] test src/smart/imu.rs - smart::imu::InertialSensor::gyro_rate (line 579) - compile ... FAILED
[INFO] [stdout] test src/smart/imu.rs - smart::imu::InertialSensor::set_heading (line 284) - compile ... FAILED
[INFO] [stdout] test src/smart/imu.rs - smart::imu::InertialSensor::is_auto_calibrated (line 740) - compile ... FAILED
[INFO] [stdout] test src/smart/gps.rs - smart::gps::GpsSensor::rotation (line 455) - compile ... FAILED
[INFO] [stdout] test src/smart/link.rs - smart::link::RadioLink::write_capacity (line 138) - compile ... FAILED
[INFO] [stdout] test src/smart/imu.rs - smart::imu::InertialSensor::heading (line 239) - compile ... FAILED
[INFO] [stdout] test src/smart/gps.rs - smart::gps::GpsSensor::set_heading (line 367) - compile ... FAILED
[INFO] [stdout] test src/smart/imu.rs - smart::imu::InertialStatus::physical_orientation (line 896) - compile ... FAILED
[INFO] [stdout] test src/smart/imu.rs - smart::imu::InertialSensor::set_rotation (line 402) - compile ... FAILED
[INFO] [stdout] test src/smart/imu.rs - smart::imu::InertialSensor::set_data_interval (line 806) - compile ... FAILED
[INFO] [stdout] test src/smart/mod.rs - smart::SmartDevice::port_number (line 89) ... FAILED
[INFO] [stdout] test src/smart/imu.rs - smart::imu::InertialSensor::status (line 680) - compile ... FAILED
[INFO] [stdout] test src/smart/mod.rs - smart::SmartPort::number (line 247) ... FAILED
[INFO] [stdout] test src/smart/mod.rs - smart::SmartDevice::is_connected (line 119) ... FAILED
[INFO] [stdout] test src/smart/link.rs - smart::link::RadioLink::is_linked (line 164) - compile ... FAILED
[INFO] [stdout] test src/smart/mod.rs - smart (line 39) - compile ... FAILED
[INFO] [stdout] test src/smart/link.rs - smart::link::RadioLink::unread_bytes (line 106) - compile ... FAILED
[INFO] [stdout] test src/smart/mod.rs - smart::SmartPort::device_type (line 268) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::gearset (line 521) - compile ... FAILED
[INFO] [stdout] test src/smart/link.rs - smart::link::RadioLink::open (line 67) - compile ... FAILED
[INFO] [stdout] test src/smart/mod.rs - smart::SmartPort::new (line 228) ... FAILED
[INFO] [stdout] test src/smart/imu.rs - smart::imu::InertialSensor::quaternion (line 528) - compile ... FAILED
[INFO] [stdout] test src/smart/mod.rs - smart (line 21) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::current_limit (line 1057) - compile ... FAILED
[INFO] [stdout] test src/smart/mod.rs - smart::SmartDevice::device_type (line 104) - compile ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::direction (line 587) - compile ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::brake (line 331) - compile ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::is_over_current (line 1384) - compile ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::current (line 989) - compile ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::max_voltage (line 1227) - compile ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::position (line 666) - compile ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::is_exp (line 1185) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::new (line 204) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::is_over_temperature (line 1349) - compile ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::power (line 902) - compile ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::is_v5 (line 1205) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::is_driver_over_current (line 1450) - compile ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::set_position_target (line 354) - compile ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::is_driver_fault (line 1417) - compile ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::set_gearset (line 556) - compile ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::motor_type (line 1166) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::set_position (line 715) - compile ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::new_exp (line 224) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::raw_position (line 793) - compile ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::efficiency (line 1023) - compile ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::set_target (line 421) - compile ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::set_profiled_velocity (line 383) - compile ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::faults (line 1312) - compile ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::set_voltage_limit (line 1136) - compile ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::set_current_limit (line 1083) - compile ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::set_direction (line 626) - compile ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::reset_position (line 752) - compile ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::velocity (line 853) - compile ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::target (line 487) - compile ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::set_voltage (line 253) - compile ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::velocity (line 840) - compile ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::set_position (line 702) - compile ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::voltage_limit (line 1110) - compile ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::status (line 1285) - compile ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::set_velocity (line 305) - compile ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::voltage (line 960) - compile ... FAILED
[INFO] [stdout] test src/smart/optical.rs - smart::optical::OpticalSensor::brightness (line 175) - compile ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::temperature (line 1251) - compile ... FAILED
[INFO] [stdout] test src/smart/optical.rs - smart::optical::OpticalSensor::hue (line 95) - compile ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::set_voltage (line 268) - compile ... FAILED
[INFO] [stdout] test src/smart/optical.rs - smart::optical::OpticalSensor::color (line 249) - compile ... FAILED
[INFO] [stdout] test src/smart/optical.rs - smart::optical::OpticalSensor::saturation (line 138) - compile ... FAILED
[INFO] [stdout] test src/smart/optical.rs - smart::optical::OpticalSensor::proximity (line 215) - compile ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::torque (line 931) - compile ... FAILED
[INFO] [stdout] test src/smart/optical.rs - smart::optical::OpticalSensor::integration_time (line 449) - compile ... FAILED
[INFO] [stdout] test src/smart/rotation.rs - smart::rotation::RotationSensor::angle (line 143) - compile ... FAILED
[INFO] [stdout] test src/smart/rotation.rs - smart::rotation::RotationSensor::reset_position (line 214) - compile ... FAILED
[INFO] [stdout] test src/smart/optical.rs - smart::optical::OpticalSensor::last_gesture (line 308) - compile ... FAILED
[INFO] [stdout] test src/smart/optical.rs - smart::optical::OpticalSensor::set_led_brightness (line 400) - compile ... FAILED
[INFO] [stdout] test src/smart/rotation.rs - smart::rotation::RotationSensor::set_direction (line 304) - compile ... FAILED
[INFO] [stdout] test src/smart/optical.rs - smart::optical::OpticalSensor::new (line 67) ... FAILED
[INFO] [stdout] test src/smart/rotation.rs - smart::rotation::RotationSensor::position (line 101) - compile ... FAILED
[INFO] [stdout] test src/smart/optical.rs - smart::optical::OpticalSensor::status (line 532) - compile ... FAILED
[INFO] [stdout] test src/smart/optical.rs - smart::optical::OpticalSensor::led_brightness (line 370) - compile ... FAILED
[INFO] [stdout] test src/smart/rotation.rs - smart::rotation::RotationSensor::new (line 72) ... FAILED
[INFO] [stdout] test src/smart/rotation.rs - smart::rotation::RotationSensor::set_direction (line 290) - compile ... FAILED
[INFO] [stdout] test src/smart/rotation.rs - smart::rotation::RotationSensor::velocity (line 179) - compile ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionCode::contains_signature (line 1112) ... FAILED
[INFO] [stdout] test src/smart/serial.rs - smart::serial::SerialPort::unread_bytes (line 233) - compile ... FAILED
[INFO] [stdout] test src/smart/serial.rs - smart::serial::SerialPort::read_byte (line 148) - compile ... FAILED
[INFO] [stdout] test src/smart/rotation.rs - smart::rotation::RotationSensor::direction (line 399) ... FAILED
[INFO] [stdout] test src/smart/serial.rs - smart::serial::SerialPort::peek_byte (line 178) - compile ... FAILED
[INFO] [stdout] test src/smart/optical.rs - smart::optical::OpticalSensor::set_integration_time (line 494) - compile ... FAILED
[INFO] [stdout] test src/smart/serial.rs - smart::serial::SerialPort::open (line 69) - compile ... FAILED
[INFO] [stdout] test src/smart/serial.rs - smart::serial::SerialPort::clear_buffers (line 124) - compile ... FAILED
[INFO] [stdout] test src/smart/serial.rs - smart::serial::SerialPort::set_baud_rate (line 94) - compile ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionCode::from_id (line 1071) ... FAILED
[INFO] [stdout] test src/smart/rotation.rs - smart::rotation::RotationSensor::status (line 428) - compile ... FAILED
[INFO] [stdout] test src/smart/serial.rs - smart::serial::SerialPort::write_capacity (line 262) - compile ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionCode::new (line 1050) ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionSensor::objects (line 452) - compile ... FAILED
[INFO] [stdout] test src/smart/rotation.rs - smart::rotation::RotationSensor::set_position (line 242) - compile ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionCode::id (line 1151) ... FAILED
[INFO] [stdout] test src/smart/rotation.rs - smart::rotation::RotationSensor::set_data_interval (line 371) - compile ... FAILED
[INFO] [stdout] test src/smart/serial.rs - smart::serial::SerialPort::write_byte (line 206) - compile ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionSensor::led_mode (line 403) - compile ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionSensor::objects (line 476) - compile ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionSensor::set_white_balance (line 711) - compile ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionSignature::new (line 963) ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionSensor::add_code (line 340) - compile ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionSignature::from_utility (line 986) ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionSensor::set_brightness (line 680) - compile ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionSensor::set_mode (line 808) - compile ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionSensor::set_signature (line 131) - compile ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionSensor::new (line 88) ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionSensor::white_balance (line 634) - compile ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionSensor::object_count (line 552) - compile ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionSensor::mode (line 859) - compile ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionSensor::brightness (line 598) - compile ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionSensor::signatures (line 275) - compile ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionSensor::set_led_mode (line 764) - compile ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionSensor::signature (line 238) - compile ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/adi/addrled.rs - adi::addrled::AdiAddrLed<N>::new (line 58) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/addrled.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 | use vexide::prelude::*;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/addrled.rs:61:3
[INFO] [stdout]    |
[INFO] [stdout] 61 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/adi/addrled.rs:62:28
[INFO] [stdout]    |
[INFO] [stdout] 62 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 59 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiAddrLed`
[INFO] [stdout]   --> src/adi/addrled.rs:64:20
[INFO] [stdout]    |
[INFO] [stdout] 64 |     let mut leds = AdiAddrLed::<8>::new(peripherals.adi_a);
[INFO] [stdout]    |                    ^^^^^^^^^^ use of undeclared type `AdiAddrLed`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 59 + use vexide_devices::adi::addrled::AdiAddrLed;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]   --> src/adi/addrled.rs:62:1
[INFO] [stdout]    |
[INFO] [stdout] 62 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/digital.rs - adi::digital::AdiDigitalOut::set_level (line 231) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/digital.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 | use vexide::{adi::digital::LogicLevel, prelude::*};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::adi::digital::LogicLevel`
[INFO] [stdout]    --> src/adi/digital.rs:232:14
[INFO] [stdout]     |
[INFO] [stdout] 232 | use vexide::{adi::digital::LogicLevel, prelude::*};
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/digital.rs:234:3
[INFO] [stdout]     |
[INFO] [stdout] 234 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/digital.rs:235:28
[INFO] [stdout]     |
[INFO] [stdout] 235 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 232 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiDigitalOut`
[INFO] [stdout]    --> src/adi/digital.rs:236:27
[INFO] [stdout]     |
[INFO] [stdout] 236 |     let mut digital_out = AdiDigitalOut::new(peripherals.adi_a);
[INFO] [stdout]     |                           ^^^^^^^^^^^^^ use of undeclared type `AdiDigitalOut`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 232 + use vexide_devices::adi::digital::AdiDigitalOut;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/adi/digital.rs:235:1
[INFO] [stdout]     |
[INFO] [stdout] 235 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/digital.rs - adi::digital::AdiDigitalOut::set_high (line 342) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/digital.rs:343:5
[INFO] [stdout]     |
[INFO] [stdout] 343 | use vexide::{adi::digital::LogicLevel, prelude::*};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::adi::digital::LogicLevel`
[INFO] [stdout]    --> src/adi/digital.rs:343:14
[INFO] [stdout]     |
[INFO] [stdout] 343 | use vexide::{adi::digital::LogicLevel, prelude::*};
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/digital.rs:345:3
[INFO] [stdout]     |
[INFO] [stdout] 345 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/digital.rs:346:28
[INFO] [stdout]     |
[INFO] [stdout] 346 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 343 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiDigitalOut`
[INFO] [stdout]    --> src/adi/digital.rs:347:27
[INFO] [stdout]     |
[INFO] [stdout] 347 |     let mut digital_out = AdiDigitalOut::new(peripherals.adi_a);
[INFO] [stdout]     |                           ^^^^^^^^^^^^^ use of undeclared type `AdiDigitalOut`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 343 + use vexide_devices::adi::digital::AdiDigitalOut;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/adi/digital.rs:346:1
[INFO] [stdout]     |
[INFO] [stdout] 346 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/digital.rs - adi::digital::AdiDigitalOut::new (line 162) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/digital.rs:165:5
[INFO] [stdout]     |
[INFO] [stdout] 165 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/digital.rs:167:3
[INFO] [stdout]     |
[INFO] [stdout] 167 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/digital.rs:168:28
[INFO] [stdout]     |
[INFO] [stdout] 168 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 163 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiDigitalOut`
[INFO] [stdout]    --> src/adi/digital.rs:169:27
[INFO] [stdout]     |
[INFO] [stdout] 169 |     let mut digital_out = AdiDigitalOut::new(peripherals.adi_a);
[INFO] [stdout]     |                           ^^^^^^^^^^^^^ use of undeclared type `AdiDigitalOut`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 163 + use vexide_devices::adi::digital::AdiDigitalOut;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]    --> src/adi/digital.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |         sleep(Duration::from_millis(1000)).await;
[INFO] [stdout]     |         ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 163 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/adi/digital.rs:168:1
[INFO] [stdout]     |
[INFO] [stdout] 168 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/encoder.rs - adi::encoder::AdiOpticalEncoder (line 70) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/encoder.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | use vexide::prelude::*;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/encoder.rs:75:3
[INFO] [stdout]    |
[INFO] [stdout] 75 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/adi/encoder.rs:76:28
[INFO] [stdout]    |
[INFO] [stdout] 76 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 71 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiOpticalEncoder`
[INFO] [stdout]   --> src/adi/encoder.rs:77:19
[INFO] [stdout]    |
[INFO] [stdout] 77 |     let encoder = AdiOpticalEncoder::new(peripherals.adi_a, peripherals.adi_b);
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^ use of undeclared type `AdiOpticalEncoder`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this type alias
[INFO] [stdout]    |
[INFO] [stdout] 71 + use vexide_devices::adi::encoder::AdiOpticalEncoder;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]   --> src/adi/encoder.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |         sleep(AdiOpticalEncoder::UPDATE_INTERVAL).await;
[INFO] [stdout]    |         ^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]    |
[INFO] [stdout] 71 + use std::thread::sleep;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiOpticalEncoder`
[INFO] [stdout]   --> src/adi/encoder.rs:81:15
[INFO] [stdout]    |
[INFO] [stdout] 81 |         sleep(AdiOpticalEncoder::UPDATE_INTERVAL).await;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^ use of undeclared type `AdiOpticalEncoder`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this type alias
[INFO] [stdout]    |
[INFO] [stdout] 71 + use vexide_devices::adi::encoder::AdiOpticalEncoder;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]   --> src/adi/encoder.rs:76:1
[INFO] [stdout]    |
[INFO] [stdout] 76 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/encoder.rs - adi::encoder::AdiEncoder<TICKS_PER_REVOLUTION>::new (line 106) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/encoder.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/encoder.rs:113:3
[INFO] [stdout]     |
[INFO] [stdout] 113 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/encoder.rs:114:28
[INFO] [stdout]     |
[INFO] [stdout] 114 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 107 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiEncoder`
[INFO] [stdout]    --> src/adi/encoder.rs:115:19
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let encoder = AdiEncoder::<ENCODER_TPR>::new(peripherals.adi_a, peripherals.adi_b);
[INFO] [stdout]     |                   ^^^^^^^^^^ use of undeclared type `AdiEncoder`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 107 + use vexide_devices::adi::encoder::AdiEncoder;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]    --> src/adi/encoder.rs:119:9
[INFO] [stdout]     |
[INFO] [stdout] 119 |         sleep(vexide::adi::ADI_UPDATE_INTERVAL).await;
[INFO] [stdout]     |         ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 107 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/encoder.rs:119:15
[INFO] [stdout]     |
[INFO] [stdout] 119 |         sleep(vexide::adi::ADI_UPDATE_INTERVAL).await;
[INFO] [stdout]     |               ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]     |
[INFO] [stdout] 107 + use vexide_devices::adi;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `adi`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 119 -         sleep(vexide::adi::ADI_UPDATE_INTERVAL).await;
[INFO] [stdout] 119 +         sleep(adi::ADI_UPDATE_INTERVAL).await;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/adi/encoder.rs:114:1
[INFO] [stdout]     |
[INFO] [stdout] 114 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/addrled.rs - adi::addrled::AdiAddrLed<N>::set_all (line 107) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/addrled.rs:108:5
[INFO] [stdout]     |
[INFO] [stdout] 108 | use vexide::{color::Color, prelude::*};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::color::Color`
[INFO] [stdout]    --> src/adi/addrled.rs:108:14
[INFO] [stdout]     |
[INFO] [stdout] 108 | use vexide::{color::Color, prelude::*};
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/addrled.rs:110:3
[INFO] [stdout]     |
[INFO] [stdout] 110 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/addrled.rs:111:28
[INFO] [stdout]     |
[INFO] [stdout] 111 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 108 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiAddrLed`
[INFO] [stdout]    --> src/adi/addrled.rs:113:20
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let mut leds = AdiAddrLed::<8>::new(peripherals.adi_a);
[INFO] [stdout]     |                    ^^^^^^^^^^ use of undeclared type `AdiAddrLed`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 108 + use vexide_devices::adi::addrled::AdiAddrLed;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/adi/addrled.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/addrled.rs - adi::addrled::AdiAddrLed<N>::set_buffer (line 176) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/addrled.rs:177:5
[INFO] [stdout]     |
[INFO] [stdout] 177 | use vexide::{color::Color, prelude::*};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::color::Color`
[INFO] [stdout]    --> src/adi/addrled.rs:177:14
[INFO] [stdout]     |
[INFO] [stdout] 177 | use vexide::{color::Color, prelude::*};
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/addrled.rs:179:3
[INFO] [stdout]     |
[INFO] [stdout] 179 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/addrled.rs:180:28
[INFO] [stdout]     |
[INFO] [stdout] 180 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 177 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiAddrLed`
[INFO] [stdout]    --> src/adi/addrled.rs:182:20
[INFO] [stdout]     |
[INFO] [stdout] 182 |     let mut leds = AdiAddrLed::<8>::new(peripherals.adi_a);
[INFO] [stdout]     |                    ^^^^^^^^^^ use of undeclared type `AdiAddrLed`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 177 + use vexide_devices::adi::addrled::AdiAddrLed;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/adi/addrled.rs:180:1
[INFO] [stdout]     |
[INFO] [stdout] 180 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/digital.rs - adi::digital::AdiDigitalOut::set_low (line 377) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/digital.rs:378:5
[INFO] [stdout]     |
[INFO] [stdout] 378 | use vexide::{adi::digital::LogicLevel, prelude::*};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::adi::digital::LogicLevel`
[INFO] [stdout]    --> src/adi/digital.rs:378:14
[INFO] [stdout]     |
[INFO] [stdout] 378 | use vexide::{adi::digital::LogicLevel, prelude::*};
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/digital.rs:380:3
[INFO] [stdout]     |
[INFO] [stdout] 380 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/digital.rs:381:28
[INFO] [stdout]     |
[INFO] [stdout] 381 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 378 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiDigitalOut`
[INFO] [stdout]    --> src/adi/digital.rs:382:27
[INFO] [stdout]     |
[INFO] [stdout] 382 |     let mut digital_out = AdiDigitalOut::new(peripherals.adi_a);
[INFO] [stdout]     |                           ^^^^^^^^^^^^^ use of undeclared type `AdiDigitalOut`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 378 + use vexide_devices::adi::digital::AdiDigitalOut;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/adi/digital.rs:381:1
[INFO] [stdout]     |
[INFO] [stdout] 381 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/addrled.rs - adi::addrled::AdiAddrLed<N>::set_pixel (line 141) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/addrled.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 142 | use vexide::{color::Color, prelude::*};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::color::Color`
[INFO] [stdout]    --> src/adi/addrled.rs:142:14
[INFO] [stdout]     |
[INFO] [stdout] 142 | use vexide::{color::Color, prelude::*};
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/addrled.rs:144:3
[INFO] [stdout]     |
[INFO] [stdout] 144 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/addrled.rs:145:28
[INFO] [stdout]     |
[INFO] [stdout] 145 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 142 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiAddrLed`
[INFO] [stdout]    --> src/adi/addrled.rs:147:20
[INFO] [stdout]     |
[INFO] [stdout] 147 |     let mut leds = AdiAddrLed::<8>::new(peripherals.adi_a);
[INFO] [stdout]     |                    ^^^^^^^^^^ use of undeclared type `AdiAddrLed`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 142 + use vexide_devices::adi::addrled::AdiAddrLed;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/adi/addrled.rs:145:1
[INFO] [stdout]     |
[INFO] [stdout] 145 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/encoder.rs - adi::encoder::AdiEncoder<TICKS_PER_REVOLUTION>::reset_position (line 269) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/encoder.rs:272:5
[INFO] [stdout]     |
[INFO] [stdout] 272 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/encoder.rs:276:3
[INFO] [stdout]     |
[INFO] [stdout] 276 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/encoder.rs:277:28
[INFO] [stdout]     |
[INFO] [stdout] 277 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 270 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiEncoder`
[INFO] [stdout]    --> src/adi/encoder.rs:278:23
[INFO] [stdout]     |
[INFO] [stdout] 278 |     let mut encoder = AdiEncoder::<ENCODER_TPR>::new(peripherals.adi_a, peripherals.adi_b);
[INFO] [stdout]     |                       ^^^^^^^^^^ use of undeclared type `AdiEncoder`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 270 + use vexide_devices::adi::encoder::AdiEncoder;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/adi/encoder.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/digital.rs - adi::digital::AdiDigitalOut::level (line 275) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/digital.rs:276:5
[INFO] [stdout]     |
[INFO] [stdout] 276 | use vexide::{adi::digital::LogicLevel, prelude::*};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::adi::digital::LogicLevel`
[INFO] [stdout]    --> src/adi/digital.rs:276:14
[INFO] [stdout]     |
[INFO] [stdout] 276 | use vexide::{adi::digital::LogicLevel, prelude::*};
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/digital.rs:278:3
[INFO] [stdout]     |
[INFO] [stdout] 278 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/digital.rs:279:28
[INFO] [stdout]     |
[INFO] [stdout] 279 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 276 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiDigitalOut`
[INFO] [stdout]    --> src/adi/digital.rs:280:23
[INFO] [stdout]     |
[INFO] [stdout] 280 |     let digital_out = AdiDigitalOut::new(peripherals.adi_a);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^ use of undeclared type `AdiDigitalOut`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 276 + use vexide_devices::adi::digital::AdiDigitalOut;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/adi/digital.rs:279:1
[INFO] [stdout]     |
[INFO] [stdout] 279 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/digital.rs - adi::digital::AdiDigitalOut::toggle (line 417) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/digital.rs:420:5
[INFO] [stdout]     |
[INFO] [stdout] 420 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/digital.rs:422:3
[INFO] [stdout]     |
[INFO] [stdout] 422 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/digital.rs:423:28
[INFO] [stdout]     |
[INFO] [stdout] 423 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 418 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiDigitalOut`
[INFO] [stdout]    --> src/adi/digital.rs:424:27
[INFO] [stdout]     |
[INFO] [stdout] 424 |     let mut digital_out = AdiDigitalOut::new(peripherals.adi_a);
[INFO] [stdout]     |                           ^^^^^^^^^^^^^ use of undeclared type `AdiDigitalOut`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 418 + use vexide_devices::adi::digital::AdiDigitalOut;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]    --> src/adi/digital.rs:429:9
[INFO] [stdout]     |
[INFO] [stdout] 429 |         sleep(Duration::from_millis(1000)).await;
[INFO] [stdout]     |         ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 418 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/adi/digital.rs:423:1
[INFO] [stdout]     |
[INFO] [stdout] 423 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/mod.rs - adi (line 38) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/mod.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | use vexide::prelude::*;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/mod.rs:41:3
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/adi/mod.rs:42:28
[INFO] [stdout]    |
[INFO] [stdout] 42 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 39 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]   --> src/adi/mod.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/digital.rs - adi::digital::AdiDigitalOut::with_initial_level (line 189) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/digital.rs:190:5
[INFO] [stdout]     |
[INFO] [stdout] 190 | use vexide::{adi::digital::LogicLevel, prelude::*};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::adi::digital::LogicLevel`
[INFO] [stdout]    --> src/adi/digital.rs:190:14
[INFO] [stdout]     |
[INFO] [stdout] 190 | use vexide::{adi::digital::LogicLevel, prelude::*};
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/digital.rs:192:3
[INFO] [stdout]     |
[INFO] [stdout] 192 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/digital.rs:193:28
[INFO] [stdout]     |
[INFO] [stdout] 193 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 190 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiDigitalOut`
[INFO] [stdout]    --> src/adi/digital.rs:194:23
[INFO] [stdout]     |
[INFO] [stdout] 194 |     let digital_out = AdiDigitalOut::with_initial_level(peripherals.adi_a, LogicLevel::High);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^ use of undeclared type `AdiDigitalOut`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 190 + use vexide_devices::adi::digital::AdiDigitalOut;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/adi/digital.rs:193:1
[INFO] [stdout]     |
[INFO] [stdout] 193 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/gyroscope.rs - adi::gyroscope::AdiGyroscope::new (line 102) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/gyroscope.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/gyroscope.rs:107:3
[INFO] [stdout]     |
[INFO] [stdout] 107 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/gyroscope.rs:108:28
[INFO] [stdout]     |
[INFO] [stdout] 108 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 103 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiGyroscope`
[INFO] [stdout]    --> src/adi/gyroscope.rs:109:20
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let mut gyro = AdiGyroscope::new(peripherals.adi_a);
[INFO] [stdout]     |                    ^^^^^^^^^^^^ use of undeclared type `AdiGyroscope`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 103 + use vexide_devices::adi::gyroscope::AdiGyroscope;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/adi/gyroscope.rs:108:1
[INFO] [stdout]     |
[INFO] [stdout] 108 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/encoder.rs - adi::encoder::AdiEncoder<TICKS_PER_REVOLUTION>::position (line 179) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/encoder.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 182 | use vexide::{math::Angle, prelude::*};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::math::Angle`
[INFO] [stdout]    --> src/adi/encoder.rs:182:14
[INFO] [stdout]     |
[INFO] [stdout] 182 | use vexide::{math::Angle, prelude::*};
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/encoder.rs:186:3
[INFO] [stdout]     |
[INFO] [stdout] 186 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/encoder.rs:187:28
[INFO] [stdout]     |
[INFO] [stdout] 187 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 180 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiEncoder`
[INFO] [stdout]    --> src/adi/encoder.rs:188:19
[INFO] [stdout]     |
[INFO] [stdout] 188 |     let encoder = AdiEncoder::<ENCODER_TPR>::new(peripherals.adi_a, peripherals.adi_b);
[INFO] [stdout]     |                   ^^^^^^^^^^ use of undeclared type `AdiEncoder`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 180 + use vexide_devices::adi::encoder::AdiEncoder;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]    --> src/adi/encoder.rs:192:9
[INFO] [stdout]     |
[INFO] [stdout] 192 |         sleep(vexide::adi::ADI_UPDATE_INTERVAL).await;
[INFO] [stdout]     |         ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 180 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/encoder.rs:192:15
[INFO] [stdout]     |
[INFO] [stdout] 192 |         sleep(vexide::adi::ADI_UPDATE_INTERVAL).await;
[INFO] [stdout]     |               ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]     |
[INFO] [stdout] 180 + use vexide_devices::adi;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `adi`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 192 -         sleep(vexide::adi::ADI_UPDATE_INTERVAL).await;
[INFO] [stdout] 192 +         sleep(adi::ADI_UPDATE_INTERVAL).await;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/adi/encoder.rs:187:1
[INFO] [stdout]     |
[INFO] [stdout] 187 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/encoder.rs - adi::encoder::AdiEncoder<TICKS_PER_REVOLUTION>::set_position (line 224) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/encoder.rs:227:5
[INFO] [stdout]     |
[INFO] [stdout] 227 | use vexide::{math::Angle, prelude::*};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::math::Angle`
[INFO] [stdout]    --> src/adi/encoder.rs:227:14
[INFO] [stdout]     |
[INFO] [stdout] 227 | use vexide::{math::Angle, prelude::*};
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/encoder.rs:231:3
[INFO] [stdout]     |
[INFO] [stdout] 231 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/encoder.rs:232:28
[INFO] [stdout]     |
[INFO] [stdout] 232 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 225 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiEncoder`
[INFO] [stdout]    --> src/adi/encoder.rs:233:19
[INFO] [stdout]     |
[INFO] [stdout] 233 |     let encoder = AdiEncoder::<ENCODER_TPR>::new(peripherals.adi_a, peripherals.adi_b);
[INFO] [stdout]     |                   ^^^^^^^^^^ use of undeclared type `AdiEncoder`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 225 + use vexide_devices::adi::encoder::AdiEncoder;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/adi/encoder.rs:232:1
[INFO] [stdout]     |
[INFO] [stdout] 232 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/line_tracker.rs - adi::line_tracker::AdiLineTracker::new (line 55) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/line_tracker.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | use vexide::prelude::*;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/line_tracker.rs:58:3
[INFO] [stdout]    |
[INFO] [stdout] 58 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/adi/line_tracker.rs:59:28
[INFO] [stdout]    |
[INFO] [stdout] 59 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 56 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiLineTracker`
[INFO] [stdout]   --> src/adi/line_tracker.rs:60:24
[INFO] [stdout]    |
[INFO] [stdout] 60 |     let line_tracker = AdiLineTracker::new(peripherals.adi_b);
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^ use of undeclared type `AdiLineTracker`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 56 + use vexide_devices::adi::line_tracker::AdiLineTracker;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]   --> src/adi/line_tracker.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |         sleep(AdiLineTracker::UPDATE_INTERVAL).await;
[INFO] [stdout]    |         ^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]    |
[INFO] [stdout] 56 + use std::thread::sleep;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiLineTracker`
[INFO] [stdout]   --> src/adi/line_tracker.rs:69:15
[INFO] [stdout]    |
[INFO] [stdout] 69 |         sleep(AdiLineTracker::UPDATE_INTERVAL).await;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^ use of undeclared type `AdiLineTracker`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 56 + use vexide_devices::adi::line_tracker::AdiLineTracker;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]   --> src/adi/line_tracker.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/line_tracker.rs - adi::line_tracker::AdiLineTracker::raw_reflectivity (line 137) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/line_tracker.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 138 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/line_tracker.rs:140:3
[INFO] [stdout]     |
[INFO] [stdout] 140 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/line_tracker.rs:141:28
[INFO] [stdout]     |
[INFO] [stdout] 141 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 138 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiLineTracker`
[INFO] [stdout]    --> src/adi/line_tracker.rs:142:24
[INFO] [stdout]     |
[INFO] [stdout] 142 |     let line_tracker = AdiLineTracker::new(peripherals.adi_b);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^ use of undeclared type `AdiLineTracker`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 138 + use vexide_devices::adi::line_tracker::AdiLineTracker;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]    --> src/adi/line_tracker.rs:150:9
[INFO] [stdout]     |
[INFO] [stdout] 150 |         sleep(AdiLineTracker::UPDATE_INTERVAL).await;
[INFO] [stdout]     |         ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 138 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiLineTracker`
[INFO] [stdout]    --> src/adi/line_tracker.rs:150:15
[INFO] [stdout]     |
[INFO] [stdout] 150 |         sleep(AdiLineTracker::UPDATE_INTERVAL).await;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^ use of undeclared type `AdiLineTracker`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 138 + use vexide_devices::adi::line_tracker::AdiLineTracker;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/adi/line_tracker.rs:141:1
[INFO] [stdout]     |
[INFO] [stdout] 141 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/light_sensor.rs - adi::light_sensor::AdiLightSensor::brightness (line 74) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/light_sensor.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 | use vexide::prelude::*;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/light_sensor.rs:77:3
[INFO] [stdout]    |
[INFO] [stdout] 77 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/adi/light_sensor.rs:78:28
[INFO] [stdout]    |
[INFO] [stdout] 78 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 75 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiLightSensor`
[INFO] [stdout]   --> src/adi/light_sensor.rs:80:18
[INFO] [stdout]    |
[INFO] [stdout] 80 |     let sensor = AdiLightSensor::new(peripherals.adi_a);
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^ use of undeclared type `AdiLightSensor`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 75 + use vexide_devices::adi::light_sensor::AdiLightSensor;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]   --> src/adi/light_sensor.rs:78:1
[INFO] [stdout]    |
[INFO] [stdout] 78 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/line_tracker.rs - adi::line_tracker::AdiLineTracker::reflectivity (line 96) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/line_tracker.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 97 | use vexide::prelude::*;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/line_tracker.rs:99:3
[INFO] [stdout]    |
[INFO] [stdout] 99 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/line_tracker.rs:100:28
[INFO] [stdout]     |
[INFO] [stdout] 100 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]  97 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiLineTracker`
[INFO] [stdout]    --> src/adi/line_tracker.rs:101:24
[INFO] [stdout]     |
[INFO] [stdout] 101 |     let line_tracker = AdiLineTracker::new(peripherals.adi_b);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^ use of undeclared type `AdiLineTracker`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]  97 + use vexide_devices::adi::line_tracker::AdiLineTracker;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]    --> src/adi/line_tracker.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |         sleep(AdiLineTracker::UPDATE_INTERVAL).await;
[INFO] [stdout]     |         ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]  97 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiLineTracker`
[INFO] [stdout]    --> src/adi/line_tracker.rs:110:15
[INFO] [stdout]     |
[INFO] [stdout] 110 |         sleep(AdiLineTracker::UPDATE_INTERVAL).await;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^ use of undeclared type `AdiLineTracker`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]  97 + use vexide_devices::adi::line_tracker::AdiLineTracker;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/adi/line_tracker.rs:100:1
[INFO] [stdout]     |
[INFO] [stdout] 100 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/light_sensor.rs - adi::light_sensor::AdiLightSensor::raw_brightness (line 109) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/light_sensor.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/light_sensor.rs:112:3
[INFO] [stdout]     |
[INFO] [stdout] 112 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/light_sensor.rs:113:28
[INFO] [stdout]     |
[INFO] [stdout] 113 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 110 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiLightSensor`
[INFO] [stdout]    --> src/adi/light_sensor.rs:115:18
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let sensor = AdiLightSensor::new(peripherals.adi_a);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^ use of undeclared type `AdiLightSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 110 + use vexide_devices::adi::light_sensor::AdiLightSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/adi/light_sensor.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/mod.rs - adi (line 49) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/mod.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | use vexide::prelude::*;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/mod.rs:52:3
[INFO] [stdout]    |
[INFO] [stdout] 52 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/adi/mod.rs:53:28
[INFO] [stdout]    |
[INFO] [stdout] 53 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 50 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiExpander`
[INFO] [stdout]   --> src/adi/mod.rs:54:20
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let expander = AdiExpander::new(peripherals.port_1);
[INFO] [stdout]    |                    ^^^^^^^^^^^ use of undeclared type `AdiExpander`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 50 + use vexide_devices::smart::expander::AdiExpander;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]   --> src/adi/mod.rs:53:1
[INFO] [stdout]    |
[INFO] [stdout] 53 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/gyroscope.rs - adi::gyroscope::AdiGyroscope::is_calibrating (line 135) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/gyroscope.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/gyroscope.rs:138:3
[INFO] [stdout]     |
[INFO] [stdout] 138 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/gyroscope.rs:139:28
[INFO] [stdout]     |
[INFO] [stdout] 139 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 136 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiGyroscope`
[INFO] [stdout]    --> src/adi/gyroscope.rs:140:16
[INFO] [stdout]     |
[INFO] [stdout] 140 |     let gyro = AdiGyroscope::new(peripherals.adi_a);
[INFO] [stdout]     |                ^^^^^^^^^^^^ use of undeclared type `AdiGyroscope`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 136 + use vexide_devices::adi::gyroscope::AdiGyroscope;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/adi/gyroscope.rs:139:1
[INFO] [stdout]     |
[INFO] [stdout] 139 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/gyroscope.rs - adi::gyroscope::AdiGyroscope::calibrate (line 165) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/gyroscope.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 168 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/gyroscope.rs:170:3
[INFO] [stdout]     |
[INFO] [stdout] 170 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/gyroscope.rs:171:28
[INFO] [stdout]     |
[INFO] [stdout] 171 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 166 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiGyroscope`
[INFO] [stdout]    --> src/adi/gyroscope.rs:172:20
[INFO] [stdout]     |
[INFO] [stdout] 172 |     let mut gyro = AdiGyroscope::new(peripherals.adi_a);
[INFO] [stdout]     |                    ^^^^^^^^^^^^ use of undeclared type `AdiGyroscope`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 166 + use vexide_devices::adi::gyroscope::AdiGyroscope;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/adi/gyroscope.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 |         gyro.calibrate(Duration::from_secs(2)).await.is_ok()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/adi/gyroscope.rs:171:1
[INFO] [stdout]     |
[INFO] [stdout] 171 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/light_sensor.rs - adi::light_sensor::AdiLightSensor::new (line 39) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/light_sensor.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | use vexide::prelude::*;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/light_sensor.rs:42:3
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/adi/light_sensor.rs:43:28
[INFO] [stdout]    |
[INFO] [stdout] 43 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 40 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiLightSensor`
[INFO] [stdout]   --> src/adi/light_sensor.rs:45:18
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let sensor = AdiLightSensor::new(peripherals.adi_a);
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^ use of undeclared type `AdiLightSensor`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 40 + use vexide_devices::adi::light_sensor::AdiLightSensor;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]   --> src/adi/light_sensor.rs:43:1
[INFO] [stdout]    |
[INFO] [stdout] 43 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/gyroscope.rs - adi::gyroscope::AdiGyroscope::yaw (line 202) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/gyroscope.rs:205:5
[INFO] [stdout]     |
[INFO] [stdout] 205 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/gyroscope.rs:207:3
[INFO] [stdout]     |
[INFO] [stdout] 207 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/gyroscope.rs:208:28
[INFO] [stdout]     |
[INFO] [stdout] 208 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 203 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiGyroscope`
[INFO] [stdout]    --> src/adi/gyroscope.rs:209:20
[INFO] [stdout]     |
[INFO] [stdout] 209 |     let mut gyro = AdiGyroscope::new(peripherals.adi_a);
[INFO] [stdout]     |                    ^^^^^^^^^^^^ use of undeclared type `AdiGyroscope`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 203 + use vexide_devices::adi::gyroscope::AdiGyroscope;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/adi/gyroscope.rs:208:1
[INFO] [stdout]     |
[INFO] [stdout] 208 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/potentiometer.rs - adi::potentiometer::AdiPotentiometer::angle (line 114) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/potentiometer.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/potentiometer.rs:117:3
[INFO] [stdout]     |
[INFO] [stdout] 117 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/potentiometer.rs:118:28
[INFO] [stdout]     |
[INFO] [stdout] 118 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 115 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiPotentiometer`
[INFO] [stdout]    --> src/adi/potentiometer.rs:119:25
[INFO] [stdout]     |
[INFO] [stdout] 119 |     let potentiometer = AdiPotentiometer::new(peripherals.adi_a, PotentiometerType::V2);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^ use of undeclared type `AdiPotentiometer`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 115 + use vexide_devices::adi::potentiometer::AdiPotentiometer;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PotentiometerType`
[INFO] [stdout]    --> src/adi/potentiometer.rs:119:66
[INFO] [stdout]     |
[INFO] [stdout] 119 |     let potentiometer = AdiPotentiometer::new(peripherals.adi_a, PotentiometerType::V2);
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^ use of undeclared type `PotentiometerType`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 115 + use vexide_devices::adi::potentiometer::PotentiometerType;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]    --> src/adi/potentiometer.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |         sleep(AdiPotentiometer::UPDATE_INTERVAL).await;
[INFO] [stdout]     |         ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 115 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiPotentiometer`
[INFO] [stdout]    --> src/adi/potentiometer.rs:125:15
[INFO] [stdout]     |
[INFO] [stdout] 125 |         sleep(AdiPotentiometer::UPDATE_INTERVAL).await;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^ use of undeclared type `AdiPotentiometer`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 115 + use vexide_devices::adi::potentiometer::AdiPotentiometer;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/adi/potentiometer.rs:118:1
[INFO] [stdout]     |
[INFO] [stdout] 118 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/potentiometer.rs - adi::potentiometer::AdiPotentiometer::new (line 55) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/potentiometer.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | use vexide::prelude::*;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/potentiometer.rs:58:3
[INFO] [stdout]    |
[INFO] [stdout] 58 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/adi/potentiometer.rs:59:28
[INFO] [stdout]    |
[INFO] [stdout] 59 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 56 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiPotentiometer`
[INFO] [stdout]   --> src/adi/potentiometer.rs:60:25
[INFO] [stdout]    |
[INFO] [stdout] 60 |     let potentiometer = AdiPotentiometer::new(peripherals.adi_a, PotentiometerType::V2);
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^ use of undeclared type `AdiPotentiometer`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 56 + use vexide_devices::adi::potentiometer::AdiPotentiometer;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PotentiometerType`
[INFO] [stdout]   --> src/adi/potentiometer.rs:60:66
[INFO] [stdout]    |
[INFO] [stdout] 60 |     let potentiometer = AdiPotentiometer::new(peripherals.adi_a, PotentiometerType::V2);
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^^^^^^ use of undeclared type `PotentiometerType`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 56 + use vexide_devices::adi::potentiometer::PotentiometerType;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]   --> src/adi/potentiometer.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         sleep(AdiPotentiometer::UPDATE_INTERVAL).await;
[INFO] [stdout]    |         ^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]    |
[INFO] [stdout] 56 + use std::thread::sleep;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiPotentiometer`
[INFO] [stdout]   --> src/adi/potentiometer.rs:67:15
[INFO] [stdout]    |
[INFO] [stdout] 67 |         sleep(AdiPotentiometer::UPDATE_INTERVAL).await;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^ use of undeclared type `AdiPotentiometer`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 56 + use vexide_devices::adi::potentiometer::AdiPotentiometer;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]   --> src/adi/potentiometer.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/motor.rs - adi::motor::AdiMotor::set_raw_output (line 118) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/motor.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/motor.rs:121:3
[INFO] [stdout]     |
[INFO] [stdout] 121 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/motor.rs:122:28
[INFO] [stdout]     |
[INFO] [stdout] 122 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 119 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiMotor`
[INFO] [stdout]    --> src/adi/motor.rs:124:21
[INFO] [stdout]     |
[INFO] [stdout] 124 |     let mut motor = AdiMotor::new(peripherals.adi_a, true);
[INFO] [stdout]     |                     ^^^^^^^^ use of undeclared type `AdiMotor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 119 + use vexide_devices::adi::motor::AdiMotor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/adi/motor.rs:122:1
[INFO] [stdout]     |
[INFO] [stdout] 122 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/motor.rs - adi::motor::AdiMotor::set_output (line 89) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/motor.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 | use vexide::prelude::*;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/motor.rs:92:3
[INFO] [stdout]    |
[INFO] [stdout] 92 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/adi/motor.rs:93:28
[INFO] [stdout]    |
[INFO] [stdout] 93 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 90 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiMotor`
[INFO] [stdout]   --> src/adi/motor.rs:95:21
[INFO] [stdout]    |
[INFO] [stdout] 95 |     let mut motor = AdiMotor::new(peripherals.adi_a, true);
[INFO] [stdout]    |                     ^^^^^^^^ use of undeclared type `AdiMotor`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 90 + use vexide_devices::adi::motor::AdiMotor;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]   --> src/adi/motor.rs:93:1
[INFO] [stdout]    |
[INFO] [stdout] 93 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/mod.rs - adi (line 68) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/mod.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 69 | use vexide::prelude::*;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/mod.rs:71:3
[INFO] [stdout]    |
[INFO] [stdout] 71 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/adi/mod.rs:72:28
[INFO] [stdout]    |
[INFO] [stdout] 72 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 69 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiLightSensor`
[INFO] [stdout]   --> src/adi/mod.rs:74:24
[INFO] [stdout]    |
[INFO] [stdout] 74 |     let light_sensor = AdiLightSensor::new(peripherals.adi_a);
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^ use of undeclared type `AdiLightSensor`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 69 + use vexide_devices::adi::light_sensor::AdiLightSensor;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiDigitalOut`
[INFO] [stdout]   --> src/adi/mod.rs:78:20
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let solenoid = AdiDigitalOut::new(peripherals.adi_b);
[INFO] [stdout]    |                    ^^^^^^^^^^^^^ use of undeclared type `AdiDigitalOut`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 69 + use vexide_devices::adi::digital::AdiDigitalOut;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]   --> src/adi/mod.rs:72:1
[INFO] [stdout]    |
[INFO] [stdout] 72 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/pwm.rs - adi::pwm::AdiPwmOut::new (line 43) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/pwm.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | use vexide::prelude::*;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/pwm.rs:46:3
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/adi/pwm.rs:47:28
[INFO] [stdout]    |
[INFO] [stdout] 47 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 44 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiPwmOut`
[INFO] [stdout]   --> src/adi/pwm.rs:48:19
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let mut pwm = AdiPwmOut::new(peripherals.adi_a);
[INFO] [stdout]    |                   ^^^^^^^^^ use of undeclared type `AdiPwmOut`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 44 + use vexide_devices::adi::pwm::AdiPwmOut;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]   --> src/adi/pwm.rs:47:1
[INFO] [stdout]    |
[INFO] [stdout] 47 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/range_finder.rs - adi::range_finder::AdiRangeFinder::new (line 66) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/range_finder.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 | use vexide::prelude::*;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/range_finder.rs:69:3
[INFO] [stdout]    |
[INFO] [stdout] 69 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/adi/range_finder.rs:70:28
[INFO] [stdout]    |
[INFO] [stdout] 70 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 67 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiRangeFinder`
[INFO] [stdout]   --> src/adi/range_finder.rs:71:24
[INFO] [stdout]    |
[INFO] [stdout] 71 |     let range_finder = AdiRangeFinder::new(peripherals.adi_a, peripherals.adi_b);
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^ use of undeclared type `AdiRangeFinder`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 67 + use vexide_devices::adi::range_finder::AdiRangeFinder;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]   --> src/adi/range_finder.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |         sleep(AdiRangeFinder::UPDATE_INTERVAL).await;
[INFO] [stdout]    |         ^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]    |
[INFO] [stdout] 67 + use std::thread::sleep;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiRangeFinder`
[INFO] [stdout]   --> src/adi/range_finder.rs:77:15
[INFO] [stdout]    |
[INFO] [stdout] 77 |         sleep(AdiRangeFinder::UPDATE_INTERVAL).await;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^ use of undeclared type `AdiRangeFinder`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 67 + use vexide_devices::adi::range_finder::AdiRangeFinder;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]   --> src/adi/range_finder.rs:70:1
[INFO] [stdout]    |
[INFO] [stdout] 70 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/battery.rs - battery::current (line 54) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/battery.rs:55:15
[INFO] [stdout]    |
[INFO] [stdout] 55 | let current = vexide::battery::current();
[INFO] [stdout]    |               ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]    |
[INFO] [stdout] 54 + use vexide_devices::battery;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `battery`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 55 - let current = vexide::battery::current();
[INFO] [stdout] 55 + let current = battery::current();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/pwm.rs - adi::pwm::AdiPwmOut::set_output (line 75) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/pwm.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 | use vexide::prelude::*;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/pwm.rs:78:3
[INFO] [stdout]    |
[INFO] [stdout] 78 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/adi/pwm.rs:79:28
[INFO] [stdout]    |
[INFO] [stdout] 79 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 76 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiPwmOut`
[INFO] [stdout]   --> src/adi/pwm.rs:80:19
[INFO] [stdout]    |
[INFO] [stdout] 80 |     let mut pwm = AdiPwmOut::new(peripherals.adi_a);
[INFO] [stdout]    |                   ^^^^^^^^^ use of undeclared type `AdiPwmOut`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 76 + use vexide_devices::adi::pwm::AdiPwmOut;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]   --> src/adi/pwm.rs:79:1
[INFO] [stdout]    |
[INFO] [stdout] 79 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/motor.rs - adi::motor::AdiMotor::stop (line 227) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/motor.rs:228:5
[INFO] [stdout]     |
[INFO] [stdout] 228 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/motor.rs:230:3
[INFO] [stdout]     |
[INFO] [stdout] 230 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/motor.rs:231:28
[INFO] [stdout]     |
[INFO] [stdout] 231 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 228 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiMotor`
[INFO] [stdout]    --> src/adi/motor.rs:233:21
[INFO] [stdout]     |
[INFO] [stdout] 233 |     let mut motor = AdiMotor::new(peripherals.adi_a, true);
[INFO] [stdout]     |                     ^^^^^^^^ use of undeclared type `AdiMotor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 228 + use vexide_devices::adi::motor::AdiMotor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/adi/motor.rs:231:1
[INFO] [stdout]     |
[INFO] [stdout] 231 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/battery.rs - battery::voltage (line 70) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/battery.rs:71:15
[INFO] [stdout]    |
[INFO] [stdout] 71 | let voltage = vexide::battery::voltage();
[INFO] [stdout]    |               ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]    |
[INFO] [stdout] 70 + use vexide_devices::battery;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `battery`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 71 - let voltage = vexide::battery::voltage();
[INFO] [stdout] 71 + let voltage = battery::voltage();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/servo.rs - adi::servo::AdiServo::set_target (line 85) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/servo.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 86 | use vexide::{math::Angle, prelude::*};
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::math::Angle`
[INFO] [stdout]   --> src/adi/servo.rs:86:14
[INFO] [stdout]    |
[INFO] [stdout] 86 | use vexide::{math::Angle, prelude::*};
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/servo.rs:88:3
[INFO] [stdout]    |
[INFO] [stdout] 88 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/adi/servo.rs:89:28
[INFO] [stdout]    |
[INFO] [stdout] 89 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 86 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiServo`
[INFO] [stdout]   --> src/adi/servo.rs:90:21
[INFO] [stdout]    |
[INFO] [stdout] 90 |     let mut servo = AdiServo::new(peripherals.adi_a);
[INFO] [stdout]    |                     ^^^^^^^^ use of undeclared type `AdiServo`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 86 + use vexide_devices::adi::servo::AdiServo;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]   --> src/adi/servo.rs:89:1
[INFO] [stdout]    |
[INFO] [stdout] 89 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/controller.rs - controller::Controller::battery_capacity (line 584) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/controller.rs:585:5
[INFO] [stdout]     |
[INFO] [stdout] 585 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/controller.rs:587:3
[INFO] [stdout]     |
[INFO] [stdout] 587 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/controller.rs:588:28
[INFO] [stdout]     |
[INFO] [stdout] 588 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 585 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/controller.rs:588:1
[INFO] [stdout]     |
[INFO] [stdout] 588 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/controller.rs - controller::Controller::connection (line 558) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/controller.rs:559:5
[INFO] [stdout]     |
[INFO] [stdout] 559 | use vexide::{controller::ControllerConnection, prelude::*};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::controller::ControllerConnection`
[INFO] [stdout]    --> src/controller.rs:559:14
[INFO] [stdout]     |
[INFO] [stdout] 559 | use vexide::{controller::ControllerConnection, prelude::*};
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/controller.rs:561:3
[INFO] [stdout]     |
[INFO] [stdout] 561 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/controller.rs:562:28
[INFO] [stdout]     |
[INFO] [stdout] 562 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 559 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/controller.rs:562:1
[INFO] [stdout]     |
[INFO] [stdout] 562 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/servo.rs - adi::servo::AdiServo::new (line 50) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/servo.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | use vexide::{math::Angle, prelude::*};
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::math::Angle`
[INFO] [stdout]   --> src/adi/servo.rs:51:14
[INFO] [stdout]    |
[INFO] [stdout] 51 | use vexide::{math::Angle, prelude::*};
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/servo.rs:53:3
[INFO] [stdout]    |
[INFO] [stdout] 53 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/adi/servo.rs:54:28
[INFO] [stdout]    |
[INFO] [stdout] 54 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 51 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiServo`
[INFO] [stdout]   --> src/adi/servo.rs:55:21
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let mut servo = AdiServo::new(peripherals.adi_a);
[INFO] [stdout]    |                     ^^^^^^^^ use of undeclared type `AdiServo`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 51 + use vexide_devices::adi::servo::AdiServo;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]   --> src/adi/servo.rs:54:1
[INFO] [stdout]    |
[INFO] [stdout] 54 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/motor.rs - adi::motor::AdiMotor::new (line 46) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/motor.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | use vexide::prelude::*;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/motor.rs:49:3
[INFO] [stdout]    |
[INFO] [stdout] 49 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/adi/motor.rs:50:28
[INFO] [stdout]    |
[INFO] [stdout] 50 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 47 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiMotor`
[INFO] [stdout]   --> src/adi/motor.rs:52:21
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let mut motor = AdiMotor::new(peripherals.adi_a, true);
[INFO] [stdout]    |                     ^^^^^^^^ use of undeclared type `AdiMotor`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 47 + use vexide_devices::adi::motor::AdiMotor;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]   --> src/adi/motor.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/controller.rs - controller::Controller::set_text (line 835) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/controller.rs:836:5
[INFO] [stdout]     |
[INFO] [stdout] 836 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/controller.rs:838:3
[INFO] [stdout]     |
[INFO] [stdout] 838 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/controller.rs:839:28
[INFO] [stdout]     |
[INFO] [stdout] 839 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 836 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/controller.rs:839:1
[INFO] [stdout]     |
[INFO] [stdout] 839 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/motor.rs - adi::motor::AdiMotor::raw_output (line 185) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/motor.rs:186:5
[INFO] [stdout]     |
[INFO] [stdout] 186 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/motor.rs:188:3
[INFO] [stdout]     |
[INFO] [stdout] 188 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/motor.rs:189:28
[INFO] [stdout]     |
[INFO] [stdout] 189 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 186 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiMotor`
[INFO] [stdout]    --> src/adi/motor.rs:191:21
[INFO] [stdout]     |
[INFO] [stdout] 191 |     let mut motor = AdiMotor::new(peripherals.adi_a, true);
[INFO] [stdout]     |                     ^^^^^^^^ use of undeclared type `AdiMotor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 186 + use vexide_devices::adi::motor::AdiMotor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/adi/motor.rs:189:1
[INFO] [stdout]     |
[INFO] [stdout] 189 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/motor.rs - adi::motor::AdiMotor::output (line 154) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/motor.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 155 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/motor.rs:157:3
[INFO] [stdout]     |
[INFO] [stdout] 157 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/motor.rs:158:28
[INFO] [stdout]     |
[INFO] [stdout] 158 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 155 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiMotor`
[INFO] [stdout]    --> src/adi/motor.rs:160:21
[INFO] [stdout]     |
[INFO] [stdout] 160 |     let mut motor = AdiMotor::new(peripherals.adi_a, true);
[INFO] [stdout]     |                     ^^^^^^^^ use of undeclared type `AdiMotor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 155 + use vexide_devices::adi::motor::AdiMotor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/adi/motor.rs:158:1
[INFO] [stdout]     |
[INFO] [stdout] 158 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/controller.rs - controller::Controller::id (line 402) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/controller.rs:403:5
[INFO] [stdout]     |
[INFO] [stdout] 403 | use vexide::{controller::ControllerId, prelude::*};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::controller::ControllerId`
[INFO] [stdout]    --> src/controller.rs:403:14
[INFO] [stdout]     |
[INFO] [stdout] 403 | use vexide::{controller::ControllerId, prelude::*};
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Controller` in this scope
[INFO] [stdout]    --> src/controller.rs:405:33
[INFO] [stdout]     |
[INFO] [stdout] 405 | fn print_a_pressed(controller: &Controller) {
[INFO] [stdout]     |                                 ^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 402 + use vexide_devices::controller::Controller;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/battery.rs - battery::capacity (line 17) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/battery.rs:18:16
[INFO] [stdout]    |
[INFO] [stdout] 18 | let capacity = vexide::battery::capacity();
[INFO] [stdout]    |                ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]    |
[INFO] [stdout] 17 + use vexide_devices::battery;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `battery`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 18 - let capacity = vexide::battery::capacity();
[INFO] [stdout] 18 + let capacity = battery::capacity();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/battery.rs - battery::temperature (line 34) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/battery.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | let temp = vexide::battery::temperature();
[INFO] [stdout]    |            ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]    |
[INFO] [stdout] 34 + use vexide_devices::battery;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `battery`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 35 - let temp = vexide::battery::temperature();
[INFO] [stdout] 35 + let temp = battery::temperature();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/controller.rs - controller::Controller::clear_screen (line 752) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/controller.rs:753:5
[INFO] [stdout]     |
[INFO] [stdout] 753 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/controller.rs:755:3
[INFO] [stdout]     |
[INFO] [stdout] 755 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/controller.rs:756:28
[INFO] [stdout]     |
[INFO] [stdout] 756 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 753 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/controller.rs:756:1
[INFO] [stdout]     |
[INFO] [stdout] 756 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 15) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/lib.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use vexide::peripherals::Peripherals;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/controller.rs - controller::Controller::battery_level (line 614) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/controller.rs:615:5
[INFO] [stdout]     |
[INFO] [stdout] 615 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/controller.rs:617:3
[INFO] [stdout]     |
[INFO] [stdout] 617 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/controller.rs:618:28
[INFO] [stdout]     |
[INFO] [stdout] 618 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 615 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]    --> src/controller.rs:626:9
[INFO] [stdout]     |
[INFO] [stdout] 626 |         sleep(Controller::UPDATE_INTERVAL).await;
[INFO] [stdout]     |         ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 615 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Controller`
[INFO] [stdout]    --> src/controller.rs:626:15
[INFO] [stdout]     |
[INFO] [stdout] 626 |         sleep(Controller::UPDATE_INTERVAL).await;
[INFO] [stdout]     |               ^^^^^^^^^^ use of undeclared type `Controller`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 615 + use vexide_devices::controller::Controller;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/controller.rs:618:1
[INFO] [stdout]     |
[INFO] [stdout] 618 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/range_finder.rs - adi::range_finder::AdiRangeFinder::distance (line 134) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/range_finder.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 135 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/range_finder.rs:137:3
[INFO] [stdout]     |
[INFO] [stdout] 137 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/range_finder.rs:138:28
[INFO] [stdout]     |
[INFO] [stdout] 138 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 135 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiRangeFinder`
[INFO] [stdout]    --> src/adi/range_finder.rs:139:24
[INFO] [stdout]     |
[INFO] [stdout] 139 |     let range_finder = AdiRangeFinder::new(peripherals.adi_a, peripherals.adi_b);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^ use of undeclared type `AdiRangeFinder`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 135 + use vexide_devices::adi::range_finder::AdiRangeFinder;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]    --> src/adi/range_finder.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 146 |         sleep(AdiRangeFinder::UPDATE_INTERVAL).await;
[INFO] [stdout]     |         ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 135 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiRangeFinder`
[INFO] [stdout]    --> src/adi/range_finder.rs:146:15
[INFO] [stdout]     |
[INFO] [stdout] 146 |         sleep(AdiRangeFinder::UPDATE_INTERVAL).await;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^ use of undeclared type `AdiRangeFinder`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 135 + use vexide_devices::adi::range_finder::AdiRangeFinder;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/adi/range_finder.rs:138:1
[INFO] [stdout]     |
[INFO] [stdout] 138 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 29) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/lib.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use vexide::prelude::*;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/lib.rs:32:3
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/lib.rs:33:28
[INFO] [stdout]    |
[INFO] [stdout] 33 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 30 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]   --> src/lib.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/display.rs - display::Rect::from_dimensions_centered (line 271) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/display.rs:272:5
[INFO] [stdout]     |
[INFO] [stdout] 272 | use vexide::{color::Color, display::Rect, prelude::*};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `vexide::color::Color`, `vexide::display::Rect`
[INFO] [stdout]    --> src/display.rs:272:14
[INFO] [stdout]     |
[INFO] [stdout] 272 | use vexide::{color::Color, display::Rect, prelude::*};
[INFO] [stdout]     |              ^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/display.rs:274:3
[INFO] [stdout]     |
[INFO] [stdout] 274 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/display.rs:275:32
[INFO] [stdout]     |
[INFO] [stdout] 275 | async fn main(mut peripherals: Peripherals) {
[INFO] [stdout]     |                                ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 272 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/display.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | async fn main(mut peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/controller.rs - controller::Controller::try_rumble (line 995) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/controller.rs:996:5
[INFO] [stdout]     |
[INFO] [stdout] 996 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/controller.rs:998:3
[INFO] [stdout]     |
[INFO] [stdout] 998 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/controller.rs:999:28
[INFO] [stdout]     |
[INFO] [stdout] 999 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 996 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/controller.rs:999:1
[INFO] [stdout]     |
[INFO] [stdout] 999 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/controller.rs - controller::Controller::try_clear_screen (line 788) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/controller.rs:789:5
[INFO] [stdout]     |
[INFO] [stdout] 789 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/controller.rs:791:3
[INFO] [stdout]     |
[INFO] [stdout] 791 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/controller.rs:792:28
[INFO] [stdout]     |
[INFO] [stdout] 792 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 789 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/controller.rs:792:1
[INFO] [stdout]     |
[INFO] [stdout] 792 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/display.rs - display::Rect::new (line 225) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/display.rs:226:5
[INFO] [stdout]     |
[INFO] [stdout] 226 | use vexide::{color::Color, display::Rect, prelude::*};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `vexide::color::Color`, `vexide::display::Rect`
[INFO] [stdout]    --> src/display.rs:226:14
[INFO] [stdout]     |
[INFO] [stdout] 226 | use vexide::{color::Color, display::Rect, prelude::*};
[INFO] [stdout]     |              ^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/display.rs:228:3
[INFO] [stdout]     |
[INFO] [stdout] 228 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/display.rs:229:32
[INFO] [stdout]     |
[INFO] [stdout] 229 | async fn main(mut peripherals: Peripherals) {
[INFO] [stdout]     |                                ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 226 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/display.rs:229:1
[INFO] [stdout]     |
[INFO] [stdout] 229 | async fn main(mut peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/math.rs - math::Angle::as_degrees (line 190) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/math.rs:191:5
[INFO] [stdout]     |
[INFO] [stdout] 191 | use vexide::math::Angle;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/math.rs - math::Angle::as_radians (line 207) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/math.rs:210:5
[INFO] [stdout]     |
[INFO] [stdout] 210 | use vexide::math::Angle;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/servo.rs - adi::servo::AdiServo::set_raw_target (line 121) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/servo.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/servo.rs:124:3
[INFO] [stdout]     |
[INFO] [stdout] 124 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/servo.rs:125:28
[INFO] [stdout]     |
[INFO] [stdout] 125 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 122 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiServo`
[INFO] [stdout]    --> src/adi/servo.rs:126:21
[INFO] [stdout]     |
[INFO] [stdout] 126 |     let mut servo = AdiServo::new(peripherals.adi_a);
[INFO] [stdout]     |                     ^^^^^^^^ use of undeclared type `AdiServo`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 122 + use vexide_devices::adi::servo::AdiServo;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/adi/servo.rs:125:1
[INFO] [stdout]     |
[INFO] [stdout] 125 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/math.rs - math::Angle::from_degrees (line 105) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/math.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 | use vexide::math::Angle;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/controller.rs - controller::Controller::state (line 434) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/controller.rs:435:5
[INFO] [stdout]     |
[INFO] [stdout] 435 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/controller.rs:437:3
[INFO] [stdout]     |
[INFO] [stdout] 437 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/controller.rs:438:28
[INFO] [stdout]     |
[INFO] [stdout] 438 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 435 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]    --> src/controller.rs:455:9
[INFO] [stdout]     |
[INFO] [stdout] 455 |         sleep(Controller::UPDATE_INTERVAL).await;
[INFO] [stdout]     |         ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 435 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Controller`
[INFO] [stdout]    --> src/controller.rs:455:15
[INFO] [stdout]     |
[INFO] [stdout] 455 |         sleep(Controller::UPDATE_INTERVAL).await;
[INFO] [stdout]     |               ^^^^^^^^^^ use of undeclared type `Controller`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 435 + use vexide_devices::controller::Controller;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/controller.rs:438:1
[INFO] [stdout]     |
[INFO] [stdout] 438 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/display.rs - display::Rect::from_dimensions (line 246) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/display.rs:247:5
[INFO] [stdout]     |
[INFO] [stdout] 247 | use vexide::{color::Color, display::Rect, prelude::*};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `vexide::color::Color`, `vexide::display::Rect`
[INFO] [stdout]    --> src/display.rs:247:14
[INFO] [stdout]     |
[INFO] [stdout] 247 | use vexide::{color::Color, display::Rect, prelude::*};
[INFO] [stdout]     |              ^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/display.rs:249:3
[INFO] [stdout]     |
[INFO] [stdout] 249 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/display.rs:250:32
[INFO] [stdout]     |
[INFO] [stdout] 250 | async fn main(mut peripherals: Peripherals) {
[INFO] [stdout]     |                                ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 247 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/display.rs:250:1
[INFO] [stdout]     |
[INFO] [stdout] 250 | async fn main(mut peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/math.rs - math::Angle::wrapped_full (line 271) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/math.rs:272:5
[INFO] [stdout]     |
[INFO] [stdout] 272 | use vexide::math::Angle;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/math.rs - math::Angle::from_gradians (line 143) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/math.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 144 | use vexide::math::Angle;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/math.rs - math::Angle::from_radians (line 124) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/math.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 | use vexide::math::Angle;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/math.rs - math::Angle::as_gradians (line 226) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/math.rs:227:5
[INFO] [stdout]     |
[INFO] [stdout] 227 | use vexide::math::Angle;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/controller.rs - controller::Controller::try_set_text (line 928) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/controller.rs:929:5
[INFO] [stdout]     |
[INFO] [stdout] 929 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/controller.rs:931:3
[INFO] [stdout]     |
[INFO] [stdout] 931 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/controller.rs:932:28
[INFO] [stdout]     |
[INFO] [stdout] 932 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 929 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/controller.rs:932:1
[INFO] [stdout]     |
[INFO] [stdout] 932 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/math.rs - math::Angle::as_turns (line 243) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/math.rs:244:5
[INFO] [stdout]     |
[INFO] [stdout] 244 | use vexide::math::Angle;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/display.rs - display::Display::draw_text (line 856) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/display.rs:857:5
[INFO] [stdout]     |
[INFO] [stdout] 857 | use vexide::{
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `vexide::color::Color`, `vexide::display::Font`, `vexide::display::FontFamily`, `vexide::display::FontSize`, `vexide::display::Text`, `vexide::math::Point2`
[INFO] [stdout]    --> src/display.rs:858:5
[INFO] [stdout]     |
[INFO] [stdout] 858 |     color::Color,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 859 |     display::{Font, FontFamily, FontSize, Text},
[INFO] [stdout]     |               ^^^^  ^^^^^^^^^^  ^^^^^^^^  ^^^^
[INFO] [stdout] 860 |     math::Point2,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Peripherals`
[INFO] [stdout]    --> src/display.rs:864:23
[INFO] [stdout]     |
[INFO] [stdout] 864 | let mut peripherals = Peripherals::take().unwrap();
[INFO] [stdout]     |                       ^^^^^^^^^^^ use of undeclared type `Peripherals`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 856 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::color (line 466) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/ai_vision.rs:467:5
[INFO] [stdout]     |
[INFO] [stdout] 467 | use vexide::{color::Color, prelude::*, smart::ai_vision::AiVisionColor};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `vexide::color::Color`, `vexide::smart::ai_vision::AiVisionColor`
[INFO] [stdout]    --> src/smart/ai_vision.rs:467:14
[INFO] [stdout]     |
[INFO] [stdout] 467 | use vexide::{color::Color, prelude::*, smart::ai_vision::AiVisionColor};
[INFO] [stdout]     |              ^^^^^^^^^^^^              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/ai_vision.rs:469:3
[INFO] [stdout]     |
[INFO] [stdout] 469 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/ai_vision.rs:470:28
[INFO] [stdout]     |
[INFO] [stdout] 470 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 467 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AiVisionSensor`
[INFO] [stdout]    --> src/smart/ai_vision.rs:471:22
[INFO] [stdout]     |
[INFO] [stdout] 471 |     let mut sensor = AiVisionSensor::new(peripherals.port_1);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^ use of undeclared type `AiVisionSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 467 + use vexide_devices::smart::ai_vision::AiVisionSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/ai_vision.rs:470:1
[INFO] [stdout]     |
[INFO] [stdout] 470 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/peripherals.rs - peripherals (line 38) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/peripherals.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | use vexide::prelude::*;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/peripherals.rs:41:3
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/peripherals.rs:42:28
[INFO] [stdout]    |
[INFO] [stdout] 42 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 39 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]   --> src/peripherals.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::color_code (line 645) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/ai_vision.rs:646:5
[INFO] [stdout]     |
[INFO] [stdout] 646 | use vexide::{prelude::*, smart::ai_vision::AiVisionColorCode};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::smart::ai_vision::AiVisionColorCode`
[INFO] [stdout]    --> src/smart/ai_vision.rs:646:26
[INFO] [stdout]     |
[INFO] [stdout] 646 | use vexide::{prelude::*, smart::ai_vision::AiVisionColorCode};
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/ai_vision.rs:648:3
[INFO] [stdout]     |
[INFO] [stdout] 648 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/ai_vision.rs:649:28
[INFO] [stdout]     |
[INFO] [stdout] 649 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 646 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AiVisionSensor`
[INFO] [stdout]    --> src/smart/ai_vision.rs:650:22
[INFO] [stdout]     |
[INFO] [stdout] 650 |     let mut sensor = AiVisionSensor::new(peripherals.port_1);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^ use of undeclared type `AiVisionSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 646 + use vexide_devices::smart::ai_vision::AiVisionSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/ai_vision.rs:649:1
[INFO] [stdout]     |
[INFO] [stdout] 649 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::objects (line 738) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/ai_vision.rs:739:5
[INFO] [stdout]     |
[INFO] [stdout] 739 | use vexide::{prelude::*, smart::ai_vision::AiVisionObject};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::smart::ai_vision::AiVisionObject`
[INFO] [stdout]    --> src/smart/ai_vision.rs:739:26
[INFO] [stdout]     |
[INFO] [stdout] 739 | use vexide::{prelude::*, smart::ai_vision::AiVisionObject};
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/ai_vision.rs:741:3
[INFO] [stdout]     |
[INFO] [stdout] 741 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/ai_vision.rs:742:28
[INFO] [stdout]     |
[INFO] [stdout] 742 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 739 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AiVisionSensor`
[INFO] [stdout]    --> src/smart/ai_vision.rs:743:22
[INFO] [stdout]     |
[INFO] [stdout] 743 |     let mut sensor = AiVisionSensor::new(peripherals.port_1);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^ use of undeclared type `AiVisionSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 739 + use vexide_devices::smart::ai_vision::AiVisionSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]    --> src/smart/ai_vision.rs:751:9
[INFO] [stdout]     |
[INFO] [stdout] 751 |         sleep(AiVisionSensor::UPDATE_INTERVAL).await;
[INFO] [stdout]     |         ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 739 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AiVisionSensor`
[INFO] [stdout]    --> src/smart/ai_vision.rs:751:15
[INFO] [stdout]     |
[INFO] [stdout] 751 |         sleep(AiVisionSensor::UPDATE_INTERVAL).await;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^ use of undeclared type `AiVisionSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 739 + use vexide_devices::smart::ai_vision::AiVisionSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/ai_vision.rs:742:1
[INFO] [stdout]     |
[INFO] [stdout] 742 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::color_codes (line 701) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/ai_vision.rs:702:5
[INFO] [stdout]     |
[INFO] [stdout] 702 | use vexide::{prelude::*, smart::ai_vision::AiVisionColorCode};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::smart::ai_vision::AiVisionColorCode`
[INFO] [stdout]    --> src/smart/ai_vision.rs:702:26
[INFO] [stdout]     |
[INFO] [stdout] 702 | use vexide::{prelude::*, smart::ai_vision::AiVisionColorCode};
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/ai_vision.rs:704:3
[INFO] [stdout]     |
[INFO] [stdout] 704 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/ai_vision.rs:705:28
[INFO] [stdout]     |
[INFO] [stdout] 705 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 702 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AiVisionSensor`
[INFO] [stdout]    --> src/smart/ai_vision.rs:706:22
[INFO] [stdout]     |
[INFO] [stdout] 706 |     let mut sensor = AiVisionSensor::new(peripherals.port_1);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^ use of undeclared type `AiVisionSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 702 + use vexide_devices::smart::ai_vision::AiVisionSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/ai_vision.rs:705:1
[INFO] [stdout]     |
[INFO] [stdout] 705 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/controller.rs - controller::Controller::clear_line (line 665) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/controller.rs:668:5
[INFO] [stdout]     |
[INFO] [stdout] 668 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/controller.rs:670:3
[INFO] [stdout]     |
[INFO] [stdout] 670 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/controller.rs:671:28
[INFO] [stdout]     |
[INFO] [stdout] 671 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 666 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]    --> src/controller.rs:677:5
[INFO] [stdout]     |
[INFO] [stdout] 677 |     sleep(Duration::from_millis(500)).await;
[INFO] [stdout]     |     ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 666 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/controller.rs:671:1
[INFO] [stdout]     |
[INFO] [stdout] 671 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/peripherals.rs - peripherals (line 49) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/peripherals.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | use vexide::prelude::*;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/peripherals.rs:52:3
[INFO] [stdout]    |
[INFO] [stdout] 52 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/peripherals.rs:53:28
[INFO] [stdout]    |
[INFO] [stdout] 53 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 50 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Motor`
[INFO] [stdout]   --> src/peripherals.rs:55:20
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let my_motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]    |                    ^^^^^ use of undeclared type `Motor`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 50 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Gearset`
[INFO] [stdout]   --> src/peripherals.rs:55:51
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let my_motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]    |                                                   ^^^^^^^ use of undeclared type `Gearset`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 50 + use vexide_devices::smart::motor::Gearset;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Direction`
[INFO] [stdout]   --> src/peripherals.rs:55:67
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let my_motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]    |                                                                   ^^^^^^^^^ use of undeclared type `Direction`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 50 + use vexide_devices::math::Direction;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]   --> src/peripherals.rs:53:1
[INFO] [stdout]    |
[INFO] [stdout] 53 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/controller.rs - controller::Controller::rumble (line 963) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/controller.rs:964:5
[INFO] [stdout]     |
[INFO] [stdout] 964 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/controller.rs:966:3
[INFO] [stdout]     |
[INFO] [stdout] 966 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/controller.rs:967:28
[INFO] [stdout]     |
[INFO] [stdout] 967 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 964 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/controller.rs:967:1
[INFO] [stdout]     |
[INFO] [stdout] 967 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/math.rs - math::Angle::from_turns (line 161) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/math.rs:162:5
[INFO] [stdout]     |
[INFO] [stdout] 162 | use vexide::math::Angle;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::flags (line 941) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/ai_vision.rs:942:5
[INFO] [stdout]     |
[INFO] [stdout] 942 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/ai_vision.rs:944:3
[INFO] [stdout]     |
[INFO] [stdout] 944 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/ai_vision.rs:945:28
[INFO] [stdout]     |
[INFO] [stdout] 945 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 942 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AiVisionSensor`
[INFO] [stdout]    --> src/smart/ai_vision.rs:946:18
[INFO] [stdout]     |
[INFO] [stdout] 946 |     let sensor = AiVisionSensor::new(peripherals.port_1);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^ use of undeclared type `AiVisionSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 942 + use vexide_devices::smart::ai_vision::AiVisionSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/ai_vision.rs:945:1
[INFO] [stdout]     |
[INFO] [stdout] 945 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/controller.rs - controller::Controller::try_clear_line (line 708) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/controller.rs:711:5
[INFO] [stdout]     |
[INFO] [stdout] 711 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/controller.rs:713:3
[INFO] [stdout]     |
[INFO] [stdout] 713 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/controller.rs:714:28
[INFO] [stdout]     |
[INFO] [stdout] 714 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 709 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]    --> src/controller.rs:720:5
[INFO] [stdout]     |
[INFO] [stdout] 720 |     sleep(Duration::from_millis(500)).await;
[INFO] [stdout]     |     ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 709 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/controller.rs:714:1
[INFO] [stdout]     |
[INFO] [stdout] 714 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/math.rs - math::Angle::wrapped_half (line 296) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/math.rs:297:5
[INFO] [stdout]     |
[INFO] [stdout] 297 | use vexide::math::Angle;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::set_color_code (line 566) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/ai_vision.rs:567:5
[INFO] [stdout]     |
[INFO] [stdout] 567 | use vexide::{
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `vexide::color::Color`, `vexide::smart::ai_vision::AiVisionColor`, `vexide::smart::ai_vision::AiVisionColorCode`
[INFO] [stdout]    --> src/smart/ai_vision.rs:568:5
[INFO] [stdout]     |
[INFO] [stdout] 568 |     color::Color,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 569 |     prelude::*,
[INFO] [stdout] 570 |     smart::ai_vision::{AiVisionColor, AiVisionColorCode},
[INFO] [stdout]     |                        ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/ai_vision.rs:573:3
[INFO] [stdout]     |
[INFO] [stdout] 573 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/ai_vision.rs:574:28
[INFO] [stdout]     |
[INFO] [stdout] 574 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 567 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AiVisionSensor`
[INFO] [stdout]    --> src/smart/ai_vision.rs:575:22
[INFO] [stdout]     |
[INFO] [stdout] 575 |     let mut sensor = AiVisionSensor::new(peripherals.port_1);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^ use of undeclared type `AiVisionSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 567 + use vexide_devices::smart::ai_vision::AiVisionSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/ai_vision.rs:574:1
[INFO] [stdout]     |
[INFO] [stdout] 574 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::new (line 379) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/ai_vision.rs:380:5
[INFO] [stdout]     |
[INFO] [stdout] 380 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/ai_vision.rs:382:3
[INFO] [stdout]     |
[INFO] [stdout] 382 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/ai_vision.rs:383:28
[INFO] [stdout]     |
[INFO] [stdout] 383 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 380 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AiVisionSensor`
[INFO] [stdout]    --> src/smart/ai_vision.rs:384:22
[INFO] [stdout]     |
[INFO] [stdout] 384 |     let mut sensor = AiVisionSensor::new(peripherals.port_1);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^ use of undeclared type `AiVisionSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 380 + use vexide_devices::smart::ai_vision::AiVisionSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/ai_vision.rs:383:1
[INFO] [stdout]     |
[INFO] [stdout] 383 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/distance.rs - smart::distance::DistanceSensor::object (line 92) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/smart/distance.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 | use vexide::prelude::*;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/smart/distance.rs:95:3
[INFO] [stdout]    |
[INFO] [stdout] 95 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/smart/distance.rs:96:28
[INFO] [stdout]    |
[INFO] [stdout] 96 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 93 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `DistanceSensor`
[INFO] [stdout]   --> src/smart/distance.rs:97:18
[INFO] [stdout]    |
[INFO] [stdout] 97 |     let sensor = DistanceSensor::new(peripherals.port_1);
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^ use of undeclared type `DistanceSensor`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 93 + use vexide_devices::smart::distance::DistanceSensor;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]   --> src/smart/distance.rs:96:1
[INFO] [stdout]    |
[INFO] [stdout] 96 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/electromagnet.rs - smart::electromagnet::Electromagnet::current (line 139) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/electromagnet.rs:140:5
[INFO] [stdout]     |
[INFO] [stdout] 140 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/electromagnet.rs:142:3
[INFO] [stdout]     |
[INFO] [stdout] 142 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/electromagnet.rs:143:28
[INFO] [stdout]     |
[INFO] [stdout] 143 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 140 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Electromagnet`
[INFO] [stdout]    --> src/smart/electromagnet.rs:144:29
[INFO] [stdout]     |
[INFO] [stdout] 144 |     let mut electromagnet = Electromagnet::new(peripherals.port_1);
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ use of undeclared type `Electromagnet`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 140 + use vexide_devices::smart::electromagnet::Electromagnet;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Electromagnet`
[INFO] [stdout]    --> src/smart/electromagnet.rs:145:38
[INFO] [stdout]     |
[INFO] [stdout] 145 |     _ = electromagnet.set_power(1.0, Electromagnet::MAX_POWER_DURATION);
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^ use of undeclared type `Electromagnet`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 140 + use vexide_devices::smart::electromagnet::Electromagnet;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/electromagnet.rs:143:1
[INFO] [stdout]     |
[INFO] [stdout] 143 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::set_flags (line 968) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/ai_vision.rs:969:5
[INFO] [stdout]     |
[INFO] [stdout] 969 | use vexide::{prelude::*, smart::ai_vision::AiVisionFlags};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::smart::ai_vision::AiVisionFlags`
[INFO] [stdout]    --> src/smart/ai_vision.rs:969:26
[INFO] [stdout]     |
[INFO] [stdout] 969 | use vexide::{prelude::*, smart::ai_vision::AiVisionFlags};
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/ai_vision.rs:971:3
[INFO] [stdout]     |
[INFO] [stdout] 971 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/ai_vision.rs:972:28
[INFO] [stdout]     |
[INFO] [stdout] 972 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 969 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AiVisionSensor`
[INFO] [stdout]    --> src/smart/ai_vision.rs:973:22
[INFO] [stdout]     |
[INFO] [stdout] 973 |     let mut sensor = AiVisionSensor::new(peripherals.port_1);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^ use of undeclared type `AiVisionSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 969 + use vexide_devices::smart::ai_vision::AiVisionSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/ai_vision.rs:972:1
[INFO] [stdout]     |
[INFO] [stdout] 972 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/electromagnet.rs - smart::electromagnet::Electromagnet::power (line 110) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/electromagnet.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 111 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/electromagnet.rs:113:3
[INFO] [stdout]     |
[INFO] [stdout] 113 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/electromagnet.rs:114:28
[INFO] [stdout]     |
[INFO] [stdout] 114 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 111 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Electromagnet`
[INFO] [stdout]    --> src/smart/electromagnet.rs:115:29
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let mut electromagnet = Electromagnet::new(peripherals.port_1);
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ use of undeclared type `Electromagnet`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 111 + use vexide_devices::smart::electromagnet::Electromagnet;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Electromagnet`
[INFO] [stdout]    --> src/smart/electromagnet.rs:116:38
[INFO] [stdout]     |
[INFO] [stdout] 116 |     _ = electromagnet.set_power(0.5, Electromagnet::MAX_POWER_DURATION);
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^ use of undeclared type `Electromagnet`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 111 + use vexide_devices::smart::electromagnet::Electromagnet;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/electromagnet.rs:114:1
[INFO] [stdout]     |
[INFO] [stdout] 114 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/distance.rs - smart::distance::DistanceSensor::status (line 188) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/distance.rs:189:5
[INFO] [stdout]     |
[INFO] [stdout] 189 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/distance.rs:191:3
[INFO] [stdout]     |
[INFO] [stdout] 191 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/distance.rs:192:28
[INFO] [stdout]     |
[INFO] [stdout] 192 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 189 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `DistanceSensor`
[INFO] [stdout]    --> src/smart/distance.rs:193:18
[INFO] [stdout]     |
[INFO] [stdout] 193 |     let sensor = DistanceSensor::new(peripherals.port_1);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^ use of undeclared type `DistanceSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 189 + use vexide_devices::smart::distance::DistanceSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/distance.rs:192:1
[INFO] [stdout]     |
[INFO] [stdout] 192 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/electromagnet.rs - smart::electromagnet::Electromagnet::set_power (line 79) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/smart/electromagnet.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 | use vexide::prelude::*;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/smart/electromagnet.rs:82:3
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/smart/electromagnet.rs:83:28
[INFO] [stdout]    |
[INFO] [stdout] 83 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 80 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Electromagnet`
[INFO] [stdout]   --> src/smart/electromagnet.rs:84:29
[INFO] [stdout]    |
[INFO] [stdout] 84 |     let mut electromagnet = Electromagnet::new(peripherals.port_1);
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ use of undeclared type `Electromagnet`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 80 + use vexide_devices::smart::electromagnet::Electromagnet;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Electromagnet`
[INFO] [stdout]   --> src/smart/electromagnet.rs:85:38
[INFO] [stdout]    |
[INFO] [stdout] 85 |     _ = electromagnet.set_power(1.0, Electromagnet::MAX_POWER_DURATION);
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^ use of undeclared type `Electromagnet`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 80 + use vexide_devices::smart::electromagnet::Electromagnet;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]   --> src/smart/electromagnet.rs:83:1
[INFO] [stdout]    |
[INFO] [stdout] 83 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/expander.rs - smart::expander (line 21) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/smart/expander.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use vexide::prelude::*;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/smart/expander.rs:24:3
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/smart/expander.rs:25:28
[INFO] [stdout]    |
[INFO] [stdout] 25 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 22 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Peripherals`
[INFO] [stdout]   --> src/smart/expander.rs:26:23
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let peripherals = Peripherals::take().unwrap();
[INFO] [stdout]    |                       ^^^^^^^^^^^ use of undeclared type `Peripherals`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 22 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiExpander`
[INFO] [stdout]   --> src/smart/expander.rs:28:20
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let expander = AdiExpander::new(peripherals.port_1);
[INFO] [stdout]    |                    ^^^^^^^^^^^ use of undeclared type `AdiExpander`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 22 + use vexide_devices::smart::expander::AdiExpander;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiAnalogIn`
[INFO] [stdout]   --> src/smart/expander.rs:29:21
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let analog_in = AdiAnalogIn::new(expander.adi_a);
[INFO] [stdout]    |                     ^^^^^^^^^^^ use of undeclared type `AdiAnalogIn`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 22 + use vexide_devices::adi::analog::AdiAnalogIn;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]   --> src/smart/expander.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/distance.rs - smart::distance::DistanceSensor::status (line 167) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/distance.rs:170:5
[INFO] [stdout]     |
[INFO] [stdout] 170 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/distance.rs:172:3
[INFO] [stdout]     |
[INFO] [stdout] 172 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/distance.rs:173:28
[INFO] [stdout]     |
[INFO] [stdout] 173 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 168 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `DistanceSensor`
[INFO] [stdout]    --> src/smart/distance.rs:174:18
[INFO] [stdout]     |
[INFO] [stdout] 174 |     let sensor = DistanceSensor::new(peripherals.port_1);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^ use of undeclared type `DistanceSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 168 + use vexide_devices::smart::distance::DistanceSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]    --> src/smart/distance.rs:181:9
[INFO] [stdout]     |
[INFO] [stdout] 181 |         sleep(Duration::from_millis(10)).await;
[INFO] [stdout]     |         ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 168 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/distance.rs:173:1
[INFO] [stdout]     |
[INFO] [stdout] 173 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::set_detection_mode (line 880) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/ai_vision.rs:881:5
[INFO] [stdout]     |
[INFO] [stdout] 881 | use vexide::{prelude::*, smart::ai_vision::AiVisionDetectionMode};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::smart::ai_vision::AiVisionDetectionMode`
[INFO] [stdout]    --> src/smart/ai_vision.rs:881:26
[INFO] [stdout]     |
[INFO] [stdout] 881 | use vexide::{prelude::*, smart::ai_vision::AiVisionDetectionMode};
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/ai_vision.rs:883:3
[INFO] [stdout]     |
[INFO] [stdout] 883 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/ai_vision.rs:884:28
[INFO] [stdout]     |
[INFO] [stdout] 884 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 881 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AiVisionSensor`
[INFO] [stdout]    --> src/smart/ai_vision.rs:885:22
[INFO] [stdout]     |
[INFO] [stdout] 885 |     let mut sensor = AiVisionSensor::new(peripherals.port_1);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^ use of undeclared type `AiVisionSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 881 + use vexide_devices::smart::ai_vision::AiVisionSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/ai_vision.rs:884:1
[INFO] [stdout]     |
[INFO] [stdout] 884 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/electromagnet.rs - smart::electromagnet::Electromagnet::status (line 196) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/electromagnet.rs:197:5
[INFO] [stdout]     |
[INFO] [stdout] 197 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/electromagnet.rs:199:3
[INFO] [stdout]     |
[INFO] [stdout] 199 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/electromagnet.rs:200:28
[INFO] [stdout]     |
[INFO] [stdout] 200 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 197 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Electromagnet`
[INFO] [stdout]    --> src/smart/electromagnet.rs:201:25
[INFO] [stdout]     |
[INFO] [stdout] 201 |     let electromagnet = Electromagnet::new(peripherals.port_1);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^ use of undeclared type `Electromagnet`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 197 + use vexide_devices::smart::electromagnet::Electromagnet;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/electromagnet.rs:200:1
[INFO] [stdout]     |
[INFO] [stdout] 200 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::set_apriltag_family (line 907) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/ai_vision.rs:908:5
[INFO] [stdout]     |
[INFO] [stdout] 908 | use vexide::{prelude::*, smart::ai_vision::AprilTagFamily};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::smart::ai_vision::AprilTagFamily`
[INFO] [stdout]    --> src/smart/ai_vision.rs:908:26
[INFO] [stdout]     |
[INFO] [stdout] 908 | use vexide::{prelude::*, smart::ai_vision::AprilTagFamily};
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/ai_vision.rs:910:3
[INFO] [stdout]     |
[INFO] [stdout] 910 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/ai_vision.rs:911:28
[INFO] [stdout]     |
[INFO] [stdout] 911 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 908 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AiVisionSensor`
[INFO] [stdout]    --> src/smart/ai_vision.rs:912:22
[INFO] [stdout]     |
[INFO] [stdout] 912 |     let mut sensor = AiVisionSensor::new(peripherals.port_1);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^ use of undeclared type `AiVisionSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 908 + use vexide_devices::smart::ai_vision::AiVisionSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/ai_vision.rs:911:1
[INFO] [stdout]     |
[INFO] [stdout] 911 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/gps.rs - smart::gps::GpsSensor::error (line 795) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:796:5
[INFO] [stdout]     |
[INFO] [stdout] 796 | use vexide::{math::Point2, prelude::*};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::math::Point2`
[INFO] [stdout]    --> src/smart/gps.rs:796:14
[INFO] [stdout]     |
[INFO] [stdout] 796 | use vexide::{math::Point2, prelude::*};
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:798:3
[INFO] [stdout]     |
[INFO] [stdout] 798 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:799:28
[INFO] [stdout]     |
[INFO] [stdout] 799 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 796 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `GpsSensor`
[INFO] [stdout]    --> src/smart/gps.rs:800:15
[INFO] [stdout]     |
[INFO] [stdout] 800 |     let gps = GpsSensor::new(
[INFO] [stdout]     |               ^^^^^^^^^ use of undeclared type `GpsSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 796 + use vexide_devices::smart::gps::GpsSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/gps.rs:799:1
[INFO] [stdout]     |
[INFO] [stdout] 799 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/electromagnet.rs - smart::electromagnet::Electromagnet::temperature (line 168) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/electromagnet.rs:169:5
[INFO] [stdout]     |
[INFO] [stdout] 169 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/electromagnet.rs:171:3
[INFO] [stdout]     |
[INFO] [stdout] 171 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/electromagnet.rs:172:28
[INFO] [stdout]     |
[INFO] [stdout] 172 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 169 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Electromagnet`
[INFO] [stdout]    --> src/smart/electromagnet.rs:173:25
[INFO] [stdout]     |
[INFO] [stdout] 173 |     let electromagnet = Electromagnet::new(peripherals.port_1);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^ use of undeclared type `Electromagnet`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 169 + use vexide_devices::smart::electromagnet::Electromagnet;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/electromagnet.rs:172:1
[INFO] [stdout]     |
[INFO] [stdout] 172 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::colors (line 518) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/ai_vision.rs:519:5
[INFO] [stdout]     |
[INFO] [stdout] 519 | use vexide::{color::Color, prelude::*, smart::ai_vision::AiVisionColor};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `vexide::color::Color`, `vexide::smart::ai_vision::AiVisionColor`
[INFO] [stdout]    --> src/smart/ai_vision.rs:519:14
[INFO] [stdout]     |
[INFO] [stdout] 519 | use vexide::{color::Color, prelude::*, smart::ai_vision::AiVisionColor};
[INFO] [stdout]     |              ^^^^^^^^^^^^              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/ai_vision.rs:521:3
[INFO] [stdout]     |
[INFO] [stdout] 521 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/ai_vision.rs:522:28
[INFO] [stdout]     |
[INFO] [stdout] 522 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 519 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AiVisionSensor`
[INFO] [stdout]    --> src/smart/ai_vision.rs:523:22
[INFO] [stdout]     |
[INFO] [stdout] 523 |     let mut sensor = AiVisionSensor::new(peripherals.port_1);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^ use of undeclared type `AiVisionSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 519 + use vexide_devices::smart::ai_vision::AiVisionSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/ai_vision.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/gps.rs - smart::gps::GpsSensor::acceleration (line 688) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:691:5
[INFO] [stdout]     |
[INFO] [stdout] 691 | use vexide::{math::Point2, prelude::*};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::math::Point2`
[INFO] [stdout]    --> src/smart/gps.rs:691:14
[INFO] [stdout]     |
[INFO] [stdout] 691 | use vexide::{math::Point2, prelude::*};
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:693:3
[INFO] [stdout]     |
[INFO] [stdout] 693 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:694:28
[INFO] [stdout]     |
[INFO] [stdout] 694 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 689 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `GpsSensor`
[INFO] [stdout]    --> src/smart/gps.rs:697:15
[INFO] [stdout]     |
[INFO] [stdout] 697 |     let gps = GpsSensor::new(
[INFO] [stdout]     |               ^^^^^^^^^ use of undeclared type `GpsSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 689 + use vexide_devices::smart::gps::GpsSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:713:9
[INFO] [stdout]     |
[INFO] [stdout] 713 |         sleep(Duration::from_millis(10)).await;
[INFO] [stdout]     |         ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 689 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/gps.rs:694:1
[INFO] [stdout]     |
[INFO] [stdout] 694 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/gps.rs - smart::gps::GpsSensor::heading (line 323) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:326:5
[INFO] [stdout]     |
[INFO] [stdout] 326 | use vexide::{math::Point2, prelude::*};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::math::Point2`
[INFO] [stdout]    --> src/smart/gps.rs:326:14
[INFO] [stdout]     |
[INFO] [stdout] 326 | use vexide::{math::Point2, prelude::*};
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:328:3
[INFO] [stdout]     |
[INFO] [stdout] 328 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:329:28
[INFO] [stdout]     |
[INFO] [stdout] 329 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 324 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `GpsSensor`
[INFO] [stdout]    --> src/smart/gps.rs:332:15
[INFO] [stdout]     |
[INFO] [stdout] 332 |     let gps = GpsSensor::new(
[INFO] [stdout]     |               ^^^^^^^^^ use of undeclared type `GpsSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 324 + use vexide_devices::smart::gps::GpsSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/smart/gps.rs:340:44
[INFO] [stdout]     |
[INFO] [stdout] 340 |         println!("Heading is {} degrees.", heading.as_degrees());
[INFO] [stdout]     |                                            ^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/gps.rs:329:1
[INFO] [stdout]     |
[INFO] [stdout] 329 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::set_color (line 413) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/ai_vision.rs:414:5
[INFO] [stdout]     |
[INFO] [stdout] 414 | use vexide::{color::Color, prelude::*, smart::ai_vision::AiVisionColor};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `vexide::color::Color`, `vexide::smart::ai_vision::AiVisionColor`
[INFO] [stdout]    --> src/smart/ai_vision.rs:414:14
[INFO] [stdout]     |
[INFO] [stdout] 414 | use vexide::{color::Color, prelude::*, smart::ai_vision::AiVisionColor};
[INFO] [stdout]     |              ^^^^^^^^^^^^              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/ai_vision.rs:416:3
[INFO] [stdout]     |
[INFO] [stdout] 416 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/ai_vision.rs:417:28
[INFO] [stdout]     |
[INFO] [stdout] 417 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 414 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AiVisionSensor`
[INFO] [stdout]    --> src/smart/ai_vision.rs:418:22
[INFO] [stdout]     |
[INFO] [stdout] 418 |     let mut sensor = AiVisionSensor::new(peripherals.port_1);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^ use of undeclared type `AiVisionSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 414 + use vexide_devices::smart::ai_vision::AiVisionSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/ai_vision.rs:417:1
[INFO] [stdout]     |
[INFO] [stdout] 417 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::temperature (line 1046) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     --> src/smart/ai_vision.rs:1047:5
[INFO] [stdout]      |
[INFO] [stdout] 1047 | use vexide::prelude::*;
[INFO] [stdout]      |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]      |
[INFO] [stdout]      = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     --> src/smart/ai_vision.rs:1049:3
[INFO] [stdout]      |
[INFO] [stdout] 1049 | #[vexide::main]
[INFO] [stdout]      |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]     --> src/smart/ai_vision.rs:1050:28
[INFO] [stdout]      |
[INFO] [stdout] 1050 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]      |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]      |
[INFO] [stdout] 1047 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AiVisionSensor`
[INFO] [stdout]     --> src/smart/ai_vision.rs:1051:18
[INFO] [stdout]      |
[INFO] [stdout] 1051 |     let sensor = AiVisionSensor::new(peripherals.port_1);
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^ use of undeclared type `AiVisionSensor`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]      |
[INFO] [stdout] 1047 + use vexide_devices::smart::ai_vision::AiVisionSensor;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]     --> src/smart/ai_vision.rs:1054:9
[INFO] [stdout]      |
[INFO] [stdout] 1054 |         sleep(AiVisionSensor::UPDATE_INTERVAL).await;
[INFO] [stdout]      |         ^^^^^ not found in this scope
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]      |
[INFO] [stdout] 1047 + use std::thread::sleep;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AiVisionSensor`
[INFO] [stdout]     --> src/smart/ai_vision.rs:1054:15
[INFO] [stdout]      |
[INFO] [stdout] 1054 |         sleep(AiVisionSensor::UPDATE_INTERVAL).await;
[INFO] [stdout]      |               ^^^^^^^^^^^^^^ use of undeclared type `AiVisionSensor`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]      |
[INFO] [stdout] 1047 + use vexide_devices::smart::ai_vision::AiVisionSensor;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]     --> src/smart/ai_vision.rs:1050:1
[INFO] [stdout]      |
[INFO] [stdout] 1050 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/distance.rs - smart::distance::DistanceSensor::new (line 46) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/smart/distance.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | use vexide::prelude::*;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/smart/distance.rs:49:3
[INFO] [stdout]    |
[INFO] [stdout] 49 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/smart/distance.rs:50:28
[INFO] [stdout]    |
[INFO] [stdout] 50 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 47 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `DistanceSensor`
[INFO] [stdout]   --> src/smart/distance.rs:51:18
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let sensor = DistanceSensor::new(peripherals.port_1);
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^ use of undeclared type `DistanceSensor`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 47 + use vexide_devices::smart::distance::DistanceSensor;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]   --> src/smart/distance.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/electromagnet.rs - smart::electromagnet::Electromagnet::new (line 45) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/smart/electromagnet.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | use vexide::prelude::*;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/smart/electromagnet.rs:50:3
[INFO] [stdout]    |
[INFO] [stdout] 50 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/smart/electromagnet.rs:51:28
[INFO] [stdout]    |
[INFO] [stdout] 51 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 46 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Electromagnet`
[INFO] [stdout]   --> src/smart/electromagnet.rs:52:29
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let mut electromagnet = Electromagnet::new(peripherals.port_1);
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ use of undeclared type `Electromagnet`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 46 + use vexide_devices::smart::electromagnet::Electromagnet;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Electromagnet`
[INFO] [stdout]   --> src/smart/electromagnet.rs:54:38
[INFO] [stdout]    |
[INFO] [stdout] 54 |     _ = electromagnet.set_power(1.0, Electromagnet::MAX_POWER_DURATION);
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^ use of undeclared type `Electromagnet`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 46 + use vexide_devices::smart::electromagnet::Electromagnet;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]   --> src/smart/electromagnet.rs:51:1
[INFO] [stdout]    |
[INFO] [stdout] 51 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/gps.rs - smart::gps::GpsSensor::euler (line 584) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:587:5
[INFO] [stdout]     |
[INFO] [stdout] 587 | use vexide::{math::Point2, prelude::*};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::math::Point2`
[INFO] [stdout]    --> src/smart/gps.rs:587:14
[INFO] [stdout]     |
[INFO] [stdout] 587 | use vexide::{math::Point2, prelude::*};
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:589:3
[INFO] [stdout]     |
[INFO] [stdout] 589 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:590:28
[INFO] [stdout]     |
[INFO] [stdout] 590 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 585 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `GpsSensor`
[INFO] [stdout]    --> src/smart/gps.rs:593:15
[INFO] [stdout]     |
[INFO] [stdout] 593 |     let gps = GpsSensor::new(
[INFO] [stdout]     |               ^^^^^^^^^ use of undeclared type `GpsSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 585 + use vexide_devices::smart::gps::GpsSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/gps.rs:590:1
[INFO] [stdout]     |
[INFO] [stdout] 590 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/gps.rs - smart::gps::GpsSensor::gyro_rate (line 742) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:745:5
[INFO] [stdout]     |
[INFO] [stdout] 745 | use vexide::{math::Point2, prelude::*};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::math::Point2`
[INFO] [stdout]    --> src/smart/gps.rs:745:14
[INFO] [stdout]     |
[INFO] [stdout] 745 | use vexide::{math::Point2, prelude::*};
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:747:3
[INFO] [stdout]     |
[INFO] [stdout] 747 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:748:28
[INFO] [stdout]     |
[INFO] [stdout] 748 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 743 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `GpsSensor`
[INFO] [stdout]    --> src/smart/gps.rs:751:15
[INFO] [stdout]     |
[INFO] [stdout] 751 |     let gps = GpsSensor::new(
[INFO] [stdout]     |               ^^^^^^^^^ use of undeclared type `GpsSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 743 + use vexide_devices::smart::gps::GpsSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:764:9
[INFO] [stdout]     |
[INFO] [stdout] 764 |         sleep(Duration::from_millis(10)).await;
[INFO] [stdout]     |         ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 743 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/gps.rs:748:1
[INFO] [stdout]     |
[INFO] [stdout] 748 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/gps.rs - smart::gps::GpsSensor::offset (line 161) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:162:5
[INFO] [stdout]     |
[INFO] [stdout] 162 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:163:5
[INFO] [stdout]     |
[INFO] [stdout] 163 | use vexide::math::Point2;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::math::Point2`
[INFO] [stdout]    --> src/smart/gps.rs:163:5
[INFO] [stdout]     |
[INFO] [stdout] 163 | use vexide::math::Point2;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:165:3
[INFO] [stdout]     |
[INFO] [stdout] 165 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:166:28
[INFO] [stdout]     |
[INFO] [stdout] 166 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 162 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `GpsSensor`
[INFO] [stdout]    --> src/smart/gps.rs:167:19
[INFO] [stdout]     |
[INFO] [stdout] 167 |     let mut gps = GpsSensor::new(
[INFO] [stdout]     |                   ^^^^^^^^^ use of undeclared type `GpsSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 162 + use vexide_devices::smart::gps::GpsSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/gps.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::object_count (line 844) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/ai_vision.rs:845:5
[INFO] [stdout]     |
[INFO] [stdout] 845 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/ai_vision.rs:847:3
[INFO] [stdout]     |
[INFO] [stdout] 847 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/ai_vision.rs:848:28
[INFO] [stdout]     |
[INFO] [stdout] 848 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 845 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AiVisionSensor`
[INFO] [stdout]    --> src/smart/ai_vision.rs:849:22
[INFO] [stdout]     |
[INFO] [stdout] 849 |     let mut sensor = AiVisionSensor::new(peripherals.port_1);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^ use of undeclared type `AiVisionSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 845 + use vexide_devices::smart::ai_vision::AiVisionSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]    --> src/smart/ai_vision.rs:855:9
[INFO] [stdout]     |
[INFO] [stdout] 855 |         sleep(AiVisionSensor::UPDATE_INTERVAL).await;
[INFO] [stdout]     |         ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 845 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AiVisionSensor`
[INFO] [stdout]    --> src/smart/ai_vision.rs:855:15
[INFO] [stdout]     |
[INFO] [stdout] 855 |         sleep(AiVisionSensor::UPDATE_INTERVAL).await;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^ use of undeclared type `AiVisionSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 845 + use vexide_devices::smart::ai_vision::AiVisionSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/ai_vision.rs:848:1
[INFO] [stdout]     |
[INFO] [stdout] 848 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/gps.rs - smart::gps::GpsSensor::new (line 96) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/smart/gps.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 97 | use vexide::prelude::*;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/smart/gps.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 | use vexide::math::Point2;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::math::Point2`
[INFO] [stdout]   --> src/smart/gps.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 | use vexide::math::Point2;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:100:3
[INFO] [stdout]     |
[INFO] [stdout] 100 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:101:28
[INFO] [stdout]     |
[INFO] [stdout] 101 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]  97 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `GpsSensor`
[INFO] [stdout]    --> src/smart/gps.rs:104:15
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let gps = GpsSensor::new(
[INFO] [stdout]     |               ^^^^^^^^^ use of undeclared type `GpsSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]  97 + use vexide_devices::smart::gps::GpsSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/gps.rs:101:1
[INFO] [stdout]     |
[INFO] [stdout] 101 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/gps.rs - smart::gps::GpsSensor::reset_rotation (line 542) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:545:5
[INFO] [stdout]     |
[INFO] [stdout] 545 | use vexide::{math::Point2, prelude::*};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::math::Point2`
[INFO] [stdout]    --> src/smart/gps.rs:545:14
[INFO] [stdout]     |
[INFO] [stdout] 545 | use vexide::{math::Point2, prelude::*};
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:547:3
[INFO] [stdout]     |
[INFO] [stdout] 547 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:548:28
[INFO] [stdout]     |
[INFO] [stdout] 548 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 543 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `GpsSensor`
[INFO] [stdout]    --> src/smart/gps.rs:551:19
[INFO] [stdout]     |
[INFO] [stdout] 551 |     let mut gps = GpsSensor::new(
[INFO] [stdout]     |                   ^^^^^^^^^ use of undeclared type `GpsSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 543 + use vexide_devices::smart::gps::GpsSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:559:5
[INFO] [stdout]     |
[INFO] [stdout] 559 |     sleep(Duration::from_secs(2)).await;
[INFO] [stdout]     |     ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 543 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/gps.rs:548:1
[INFO] [stdout]     |
[INFO] [stdout] 548 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/expander.rs - smart::expander::AdiExpander::new (line 78) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/smart/expander.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 79 | use vexide::prelude::*;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/smart/expander.rs:81:3
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/smart/expander.rs:82:28
[INFO] [stdout]    |
[INFO] [stdout] 82 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 79 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiExpander`
[INFO] [stdout]   --> src/smart/expander.rs:83:20
[INFO] [stdout]    |
[INFO] [stdout] 83 |     let expander = AdiExpander::new(peripherals.port_1);
[INFO] [stdout]    |                    ^^^^^^^^^^^ use of undeclared type `AdiExpander`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 79 + use vexide_devices::smart::expander::AdiExpander;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiAnalogIn`
[INFO] [stdout]   --> src/smart/expander.rs:84:21
[INFO] [stdout]    |
[INFO] [stdout] 84 |     let analog_in = AdiAnalogIn::new(expander.adi_a);
[INFO] [stdout]    |                     ^^^^^^^^^^^ use of undeclared type `AdiAnalogIn`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 79 + use vexide_devices::adi::analog::AdiAnalogIn;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]   --> src/smart/expander.rs:82:1
[INFO] [stdout]    |
[INFO] [stdout] 82 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/distance.rs - smart::distance::DistanceSensor::object (line 110) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/distance.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 111 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/distance.rs:113:3
[INFO] [stdout]     |
[INFO] [stdout] 113 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/distance.rs:114:28
[INFO] [stdout]     |
[INFO] [stdout] 114 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 111 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `DistanceSensor`
[INFO] [stdout]    --> src/smart/distance.rs:115:18
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let sensor = DistanceSensor::new(peripherals.port_1);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^ use of undeclared type `DistanceSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 111 + use vexide_devices::smart::distance::DistanceSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/distance.rs:114:1
[INFO] [stdout]     |
[INFO] [stdout] 114 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/gps.rs - smart::gps::GpsSensor::set_rotation (line 498) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:499:5
[INFO] [stdout]     |
[INFO] [stdout] 499 | use vexide::{
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `vexide::math::Angle`, `vexide::math::Point2`
[INFO] [stdout]    --> src/smart/gps.rs:500:12
[INFO] [stdout]     |
[INFO] [stdout] 500 |     math::{Angle, Point2},
[INFO] [stdout]     |            ^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:504:3
[INFO] [stdout]     |
[INFO] [stdout] 504 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:505:28
[INFO] [stdout]     |
[INFO] [stdout] 505 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 499 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `GpsSensor`
[INFO] [stdout]    --> src/smart/gps.rs:508:19
[INFO] [stdout]     |
[INFO] [stdout] 508 |     let mut gps = GpsSensor::new(
[INFO] [stdout]     |                   ^^^^^^^^^ use of undeclared type `GpsSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 499 + use vexide_devices::smart::gps::GpsSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/gps.rs:505:1
[INFO] [stdout]     |
[INFO] [stdout] 505 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/gps.rs - smart::gps::GpsSensor::position (line 275) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:276:5
[INFO] [stdout]     |
[INFO] [stdout] 276 | use vexide::{math::Point2, prelude::*};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::math::Point2`
[INFO] [stdout]    --> src/smart/gps.rs:276:14
[INFO] [stdout]     |
[INFO] [stdout] 276 | use vexide::{math::Point2, prelude::*};
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:278:3
[INFO] [stdout]     |
[INFO] [stdout] 278 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:279:28
[INFO] [stdout]     |
[INFO] [stdout] 279 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 276 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `GpsSensor`
[INFO] [stdout]    --> src/smart/gps.rs:282:15
[INFO] [stdout]     |
[INFO] [stdout] 282 |     let gps = GpsSensor::new(
[INFO] [stdout]     |               ^^^^^^^^^ use of undeclared type `GpsSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 276 + use vexide_devices::smart::gps::GpsSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/gps.rs:279:1
[INFO] [stdout]     |
[INFO] [stdout] 279 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/imu.rs - smart::imu::InertialSensor::calibrate (line 184) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:187:5
[INFO] [stdout]     |
[INFO] [stdout] 187 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:205:3
[INFO] [stdout]     |
[INFO] [stdout] 205 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `InertialSensor` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:190:10
[INFO] [stdout]     |
[INFO] [stdout] 190 |     imu: InertialSensor,
[INFO] [stdout]     |          ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 185 + use vexide_devices::smart::imu::InertialSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `Compete` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:193:6
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl Compete for Robot {
[INFO] [stdout]     |      ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]     |
[INFO] [stdout] 185 + use vexide_core::competition::Compete;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:200:13
[INFO] [stdout]     |
[INFO] [stdout] 200 |             sleep(Duration::from_millis(10)).await;
[INFO] [stdout]     |             ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 185 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:206:28
[INFO] [stdout]     |
[INFO] [stdout] 206 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 185 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `InertialSensor`
[INFO] [stdout]    --> src/smart/imu.rs:207:19
[INFO] [stdout]     |
[INFO] [stdout] 207 |     let mut imu = InertialSensor::new(peripherals.port_1);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^ use of undeclared type `InertialSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 185 + use vexide_devices::smart::imu::InertialSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0405, E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0405`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/gps.rs - smart::gps::GpsSensor::set_data_interval (line 869) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:872:5
[INFO] [stdout]     |
[INFO] [stdout] 872 | use vexide::{math::Point2, prelude::*};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::math::Point2`
[INFO] [stdout]    --> src/smart/gps.rs:872:14
[INFO] [stdout]     |
[INFO] [stdout] 872 | use vexide::{math::Point2, prelude::*};
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:874:3
[INFO] [stdout]     |
[INFO] [stdout] 874 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:875:28
[INFO] [stdout]     |
[INFO] [stdout] 875 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 870 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `GpsSensor`
[INFO] [stdout]    --> src/smart/gps.rs:876:19
[INFO] [stdout]     |
[INFO] [stdout] 876 |     let mut gps = GpsSensor::new(
[INFO] [stdout]     |                   ^^^^^^^^^ use of undeclared type `GpsSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 870 + use vexide_devices::smart::gps::GpsSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/gps.rs:875:1
[INFO] [stdout]     |
[INFO] [stdout] 875 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/gps.rs - smart::gps::GpsSensor::reset_heading (line 410) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:413:5
[INFO] [stdout]     |
[INFO] [stdout] 413 | use vexide::{math::Point2, prelude::*};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::math::Point2`
[INFO] [stdout]    --> src/smart/gps.rs:413:14
[INFO] [stdout]     |
[INFO] [stdout] 413 | use vexide::{math::Point2, prelude::*};
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:415:3
[INFO] [stdout]     |
[INFO] [stdout] 415 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:416:28
[INFO] [stdout]     |
[INFO] [stdout] 416 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 411 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `GpsSensor`
[INFO] [stdout]    --> src/smart/gps.rs:419:19
[INFO] [stdout]     |
[INFO] [stdout] 419 |     let mut gps = GpsSensor::new(
[INFO] [stdout]     |                   ^^^^^^^^^ use of undeclared type `GpsSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 411 + use vexide_devices::smart::gps::GpsSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:427:5
[INFO] [stdout]     |
[INFO] [stdout] 427 |     sleep(Duration::from_secs(2)).await;
[INFO] [stdout]     |     ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 411 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/gps.rs:416:1
[INFO] [stdout]     |
[INFO] [stdout] 416 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/imu.rs - smart::imu::InertialSensor::calibrate (line 162) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:163:5
[INFO] [stdout]     |
[INFO] [stdout] 163 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:165:3
[INFO] [stdout]     |
[INFO] [stdout] 165 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:166:28
[INFO] [stdout]     |
[INFO] [stdout] 166 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 163 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `InertialSensor`
[INFO] [stdout]    --> src/smart/imu.rs:167:22
[INFO] [stdout]     |
[INFO] [stdout] 167 |     let mut sensor = InertialSensor::new(peripherals.port_1);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^ use of undeclared type `InertialSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 163 + use vexide_devices::smart::imu::InertialSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/imu.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/gps.rs - smart::gps::GpsSensor::set_offset (line 221) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:222:5
[INFO] [stdout]     |
[INFO] [stdout] 222 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:223:5
[INFO] [stdout]     |
[INFO] [stdout] 223 | use vexide::math::Point2;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::math::Point2`
[INFO] [stdout]    --> src/smart/gps.rs:223:5
[INFO] [stdout]     |
[INFO] [stdout] 223 | use vexide::math::Point2;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:225:3
[INFO] [stdout]     |
[INFO] [stdout] 225 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:226:28
[INFO] [stdout]     |
[INFO] [stdout] 226 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 222 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `GpsSensor`
[INFO] [stdout]    --> src/smart/gps.rs:227:19
[INFO] [stdout]     |
[INFO] [stdout] 227 |     let mut gps = GpsSensor::new(
[INFO] [stdout]     |                   ^^^^^^^^^ use of undeclared type `GpsSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 222 + use vexide_devices::smart::gps::GpsSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/gps.rs:226:1
[INFO] [stdout]     |
[INFO] [stdout] 226 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/gps.rs - smart::gps::GpsSensor::quaternion (line 636) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:639:5
[INFO] [stdout]     |
[INFO] [stdout] 639 | use vexide::{math::Point2, prelude::*};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::math::Point2`
[INFO] [stdout]    --> src/smart/gps.rs:639:14
[INFO] [stdout]     |
[INFO] [stdout] 639 | use vexide::{math::Point2, prelude::*};
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:641:3
[INFO] [stdout]     |
[INFO] [stdout] 641 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:642:28
[INFO] [stdout]     |
[INFO] [stdout] 642 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 637 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `GpsSensor`
[INFO] [stdout]    --> src/smart/gps.rs:645:15
[INFO] [stdout]     |
[INFO] [stdout] 645 |     let gps = GpsSensor::new(
[INFO] [stdout]     |               ^^^^^^^^^ use of undeclared type `GpsSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 637 + use vexide_devices::smart::gps::GpsSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/gps.rs:642:1
[INFO] [stdout]     |
[INFO] [stdout] 642 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/imu.rs - smart::imu::InertialSensor::is_calibrating (line 710) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:711:5
[INFO] [stdout]     |
[INFO] [stdout] 711 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:713:3
[INFO] [stdout]     |
[INFO] [stdout] 713 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:714:28
[INFO] [stdout]     |
[INFO] [stdout] 714 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 711 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `InertialSensor`
[INFO] [stdout]    --> src/smart/imu.rs:715:18
[INFO] [stdout]     |
[INFO] [stdout] 715 |     let sensor = InertialSensor::new(peripherals.port_1);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^ use of undeclared type `InertialSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 711 + use vexide_devices::smart::imu::InertialSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/imu.rs:714:1
[INFO] [stdout]     |
[INFO] [stdout] 714 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/imu.rs - smart::imu::InertialSensor::acceleration (line 628) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:631:5
[INFO] [stdout]     |
[INFO] [stdout] 631 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:633:3
[INFO] [stdout]     |
[INFO] [stdout] 633 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:634:28
[INFO] [stdout]     |
[INFO] [stdout] 634 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 629 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `InertialSensor`
[INFO] [stdout]    --> src/smart/imu.rs:635:22
[INFO] [stdout]     |
[INFO] [stdout] 635 |     let mut sensor = InertialSensor::new(peripherals.port_1);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^ use of undeclared type `InertialSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 629 + use vexide_devices::smart::imu::InertialSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:649:9
[INFO] [stdout]     |
[INFO] [stdout] 649 |         sleep(Duration::from_millis(10)).await;
[INFO] [stdout]     |         ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 629 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/smart/imu.rs:638:5
[INFO] [stdout]     |
[INFO] [stdout] 638 |     sensor.calibrate().await.unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/imu.rs:634:1
[INFO] [stdout]     |
[INFO] [stdout] 634 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/imu.rs - smart::imu::InertialSensor::euler (line 476) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:479:5
[INFO] [stdout]     |
[INFO] [stdout] 479 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:481:3
[INFO] [stdout]     |
[INFO] [stdout] 481 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:482:28
[INFO] [stdout]     |
[INFO] [stdout] 482 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 477 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `InertialSensor`
[INFO] [stdout]    --> src/smart/imu.rs:483:22
[INFO] [stdout]     |
[INFO] [stdout] 483 |     let mut sensor = InertialSensor::new(peripherals.port_1);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^ use of undeclared type `InertialSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 477 + use vexide_devices::smart::imu::InertialSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:489:5
[INFO] [stdout]     |
[INFO] [stdout] 489 |     sleep(Duration::from_secs(2)).await;
[INFO] [stdout]     |     ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 477 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/smart/imu.rs:486:5
[INFO] [stdout]     |
[INFO] [stdout] 486 |     sensor.calibrate().await.unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/imu.rs:482:1
[INFO] [stdout]     |
[INFO] [stdout] 482 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/imu.rs - smart::imu::InertialSensor::new (line 114) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:117:3
[INFO] [stdout]     |
[INFO] [stdout] 117 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:118:28
[INFO] [stdout]     |
[INFO] [stdout] 118 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 115 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `InertialSensor`
[INFO] [stdout]    --> src/smart/imu.rs:119:18
[INFO] [stdout]     |
[INFO] [stdout] 119 |     let sensor = InertialSensor::new(peripherals.port_1);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^ use of undeclared type `InertialSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 115 + use vexide_devices::smart::imu::InertialSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/imu.rs:118:1
[INFO] [stdout]     |
[INFO] [stdout] 118 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/gps.rs - smart::gps::GpsSensor::status (line 831) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:832:5
[INFO] [stdout]     |
[INFO] [stdout] 832 | use vexide::{math::Point2, prelude::*};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::math::Point2`
[INFO] [stdout]    --> src/smart/gps.rs:832:14
[INFO] [stdout]     |
[INFO] [stdout] 832 | use vexide::{math::Point2, prelude::*};
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:834:3
[INFO] [stdout]     |
[INFO] [stdout] 834 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:835:28
[INFO] [stdout]     |
[INFO] [stdout] 835 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 832 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `GpsSensor`
[INFO] [stdout]    --> src/smart/gps.rs:836:15
[INFO] [stdout]     |
[INFO] [stdout] 836 |     let gps = GpsSensor::new(
[INFO] [stdout]     |               ^^^^^^^^^ use of undeclared type `GpsSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 832 + use vexide_devices::smart::gps::GpsSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/gps.rs:835:1
[INFO] [stdout]     |
[INFO] [stdout] 835 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/imu.rs - smart::imu::InertialSensor::rotation (line 358) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:361:5
[INFO] [stdout]     |
[INFO] [stdout] 361 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:363:3
[INFO] [stdout]     |
[INFO] [stdout] 363 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:364:28
[INFO] [stdout]     |
[INFO] [stdout] 364 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 359 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `InertialSensor`
[INFO] [stdout]    --> src/smart/imu.rs:365:22
[INFO] [stdout]     |
[INFO] [stdout] 365 |     let mut sensor = InertialSensor::new(peripherals.port_1);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^ use of undeclared type `InertialSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 359 + use vexide_devices::smart::imu::InertialSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:371:5
[INFO] [stdout]     |
[INFO] [stdout] 371 |     sleep(Duration::from_secs(2)).await;
[INFO] [stdout]     |     ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 359 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/smart/imu.rs:368:5
[INFO] [stdout]     |
[INFO] [stdout] 368 |     sensor.calibrate().await.unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/smart/imu.rs:376:13
[INFO] [stdout]     |
[INFO] [stdout] 376 |             rotation.as_degrees()
[INFO] [stdout]     |             ^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/imu.rs:364:1
[INFO] [stdout]     |
[INFO] [stdout] 364 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/imu.rs - smart::imu::InertialSensor::physical_orientation (line 768) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:769:5
[INFO] [stdout]     |
[INFO] [stdout] 769 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:771:3
[INFO] [stdout]     |
[INFO] [stdout] 771 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:772:28
[INFO] [stdout]     |
[INFO] [stdout] 772 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 769 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `InertialSensor`
[INFO] [stdout]    --> src/smart/imu.rs:773:22
[INFO] [stdout]     |
[INFO] [stdout] 773 |     let mut sensor = InertialSensor::new(peripherals.port_1);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^ use of undeclared type `InertialSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 769 + use vexide_devices::smart::imu::InertialSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/smart/imu.rs:775:8
[INFO] [stdout]     |
[INFO] [stdout] 775 |     if sensor.calibrate().await.is_ok() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/imu.rs:772:1
[INFO] [stdout]     |
[INFO] [stdout] 772 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/imu.rs - smart::imu::InertialSensor::reset_heading (line 318) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:321:5
[INFO] [stdout]     |
[INFO] [stdout] 321 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:323:3
[INFO] [stdout]     |
[INFO] [stdout] 323 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:324:28
[INFO] [stdout]     |
[INFO] [stdout] 324 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 319 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `InertialSensor`
[INFO] [stdout]    --> src/smart/imu.rs:325:22
[INFO] [stdout]     |
[INFO] [stdout] 325 |     let mut sensor = InertialSensor::new(peripherals.port_1);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^ use of undeclared type `InertialSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 319 + use vexide_devices::smart::imu::InertialSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:331:5
[INFO] [stdout]     |
[INFO] [stdout] 331 |     sleep(Duration::from_secs(2)).await;
[INFO] [stdout]     |     ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 319 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/smart/imu.rs:328:5
[INFO] [stdout]     |
[INFO] [stdout] 328 |     sensor.calibrate().await.unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/imu.rs:324:1
[INFO] [stdout]     |
[INFO] [stdout] 324 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/imu.rs - smart::imu::InertialSensor::reset_rotation (line 436) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:439:5
[INFO] [stdout]     |
[INFO] [stdout] 439 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:441:3
[INFO] [stdout]     |
[INFO] [stdout] 441 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:442:28
[INFO] [stdout]     |
[INFO] [stdout] 442 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 437 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `InertialSensor`
[INFO] [stdout]    --> src/smart/imu.rs:443:22
[INFO] [stdout]     |
[INFO] [stdout] 443 |     let mut sensor = InertialSensor::new(peripherals.port_1);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^ use of undeclared type `InertialSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 437 + use vexide_devices::smart::imu::InertialSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:449:5
[INFO] [stdout]     |
[INFO] [stdout] 449 |     sleep(Duration::from_secs(2)).await;
[INFO] [stdout]     |     ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 437 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/smart/imu.rs:446:5
[INFO] [stdout]     |
[INFO] [stdout] 446 |     sensor.calibrate().await.unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/imu.rs:442:1
[INFO] [stdout]     |
[INFO] [stdout] 442 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/imu.rs - smart::imu::InertialSensor::gyro_rate (line 579) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:582:5
[INFO] [stdout]     |
[INFO] [stdout] 582 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:584:3
[INFO] [stdout]     |
[INFO] [stdout] 584 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:585:28
[INFO] [stdout]     |
[INFO] [stdout] 585 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 580 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `InertialSensor`
[INFO] [stdout]    --> src/smart/imu.rs:586:22
[INFO] [stdout]     |
[INFO] [stdout] 586 |     let mut sensor = InertialSensor::new(peripherals.port_1);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^ use of undeclared type `InertialSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 580 + use vexide_devices::smart::imu::InertialSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:597:9
[INFO] [stdout]     |
[INFO] [stdout] 597 |         sleep(Duration::from_millis(10)).await;
[INFO] [stdout]     |         ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 580 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/smart/imu.rs:589:5
[INFO] [stdout]     |
[INFO] [stdout] 589 |     sensor.calibrate().await.unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/imu.rs:585:1
[INFO] [stdout]     |
[INFO] [stdout] 585 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/imu.rs - smart::imu::InertialSensor::set_heading (line 284) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:285:5
[INFO] [stdout]     |
[INFO] [stdout] 285 | use vexide::{math::Angle, prelude::*};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::math::Angle`
[INFO] [stdout]    --> src/smart/imu.rs:285:14
[INFO] [stdout]     |
[INFO] [stdout] 285 | use vexide::{math::Angle, prelude::*};
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:287:3
[INFO] [stdout]     |
[INFO] [stdout] 287 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:288:28
[INFO] [stdout]     |
[INFO] [stdout] 288 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 285 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `InertialSensor`
[INFO] [stdout]    --> src/smart/imu.rs:289:22
[INFO] [stdout]     |
[INFO] [stdout] 289 |     let mut sensor = InertialSensor::new(peripherals.port_1);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^ use of undeclared type `InertialSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 285 + use vexide_devices::smart::imu::InertialSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/imu.rs:288:1
[INFO] [stdout]     |
[INFO] [stdout] 288 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/imu.rs - smart::imu::InertialSensor::is_auto_calibrated (line 740) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:741:5
[INFO] [stdout]     |
[INFO] [stdout] 741 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:743:3
[INFO] [stdout]     |
[INFO] [stdout] 743 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:744:28
[INFO] [stdout]     |
[INFO] [stdout] 744 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 741 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `InertialSensor`
[INFO] [stdout]    --> src/smart/imu.rs:745:18
[INFO] [stdout]     |
[INFO] [stdout] 745 |     let sensor = InertialSensor::new(peripherals.port_1);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^ use of undeclared type `InertialSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 741 + use vexide_devices::smart::imu::InertialSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/imu.rs:744:1
[INFO] [stdout]     |
[INFO] [stdout] 744 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/gps.rs - smart::gps::GpsSensor::rotation (line 455) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:458:5
[INFO] [stdout]     |
[INFO] [stdout] 458 | use vexide::{math::Point2, prelude::*};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::math::Point2`
[INFO] [stdout]    --> src/smart/gps.rs:458:14
[INFO] [stdout]     |
[INFO] [stdout] 458 | use vexide::{math::Point2, prelude::*};
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:460:3
[INFO] [stdout]     |
[INFO] [stdout] 460 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:461:28
[INFO] [stdout]     |
[INFO] [stdout] 461 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 456 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `GpsSensor`
[INFO] [stdout]    --> src/smart/gps.rs:464:15
[INFO] [stdout]     |
[INFO] [stdout] 464 |     let gps = GpsSensor::new(
[INFO] [stdout]     |               ^^^^^^^^^ use of undeclared type `GpsSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 456 + use vexide_devices::smart::gps::GpsSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/smart/gps.rs:474:13
[INFO] [stdout]     |
[INFO] [stdout] 474 |             rotation.as_degrees()
[INFO] [stdout]     |             ^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/gps.rs:461:1
[INFO] [stdout]     |
[INFO] [stdout] 461 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/link.rs - smart::link::RadioLink::write_capacity (line 138) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/link.rs:141:5
[INFO] [stdout]     |
[INFO] [stdout] 141 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/link.rs:143:3
[INFO] [stdout]     |
[INFO] [stdout] 143 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/link.rs:144:28
[INFO] [stdout]     |
[INFO] [stdout] 144 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 139 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `RadioLink`
[INFO] [stdout]    --> src/smart/link.rs:145:20
[INFO] [stdout]     |
[INFO] [stdout] 145 |     let mut link = RadioLink::open(peripherals.port_1, "643A", LinkType::Manager);
[INFO] [stdout]     |                    ^^^^^^^^^ use of undeclared type `RadioLink`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 139 + use vexide_devices::smart::link::RadioLink;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `LinkType`
[INFO] [stdout]    --> src/smart/link.rs:145:64
[INFO] [stdout]     |
[INFO] [stdout] 145 |     let mut link = RadioLink::open(peripherals.port_1, "643A", LinkType::Manager);
[INFO] [stdout]     |                                                                ^^^^^^^^ use of undeclared type `LinkType`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 139 + use vexide_devices::smart::link::LinkType;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/link.rs:144:1
[INFO] [stdout]     |
[INFO] [stdout] 144 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/imu.rs - smart::imu::InertialSensor::heading (line 239) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:242:5
[INFO] [stdout]     |
[INFO] [stdout] 242 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:244:3
[INFO] [stdout]     |
[INFO] [stdout] 244 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:245:28
[INFO] [stdout]     |
[INFO] [stdout] 245 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 240 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `InertialSensor`
[INFO] [stdout]    --> src/smart/imu.rs:246:22
[INFO] [stdout]     |
[INFO] [stdout] 246 |     let mut sensor = InertialSensor::new(peripherals.port_1);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^ use of undeclared type `InertialSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 240 + use vexide_devices::smart::imu::InertialSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:252:5
[INFO] [stdout]     |
[INFO] [stdout] 252 |     sleep(Duration::from_secs(2)).await;
[INFO] [stdout]     |     ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 240 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/smart/imu.rs:249:5
[INFO] [stdout]     |
[INFO] [stdout] 249 |     sensor.calibrate().await.unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/smart/imu.rs:255:44
[INFO] [stdout]     |
[INFO] [stdout] 255 |         println!("Heading is {} degrees.", heading.as_degrees());
[INFO] [stdout]     |                                            ^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/imu.rs:245:1
[INFO] [stdout]     |
[INFO] [stdout] 245 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/gps.rs - smart::gps::GpsSensor::set_heading (line 367) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:368:5
[INFO] [stdout]     |
[INFO] [stdout] 368 | use vexide::{
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `vexide::math::Angle`, `vexide::math::Point2`
[INFO] [stdout]    --> src/smart/gps.rs:369:12
[INFO] [stdout]     |
[INFO] [stdout] 369 |     math::{Angle, Point2},
[INFO] [stdout]     |            ^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:373:3
[INFO] [stdout]     |
[INFO] [stdout] 373 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:374:28
[INFO] [stdout]     |
[INFO] [stdout] 374 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 368 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `GpsSensor`
[INFO] [stdout]    --> src/smart/gps.rs:377:19
[INFO] [stdout]     |
[INFO] [stdout] 377 |     let mut gps = GpsSensor::new(
[INFO] [stdout]     |                   ^^^^^^^^^ use of undeclared type `GpsSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 368 + use vexide_devices::smart::gps::GpsSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/gps.rs:374:1
[INFO] [stdout]     |
[INFO] [stdout] 374 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/imu.rs - smart::imu::InertialStatus::physical_orientation (line 896) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:897:5
[INFO] [stdout]     |
[INFO] [stdout] 897 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:899:3
[INFO] [stdout]     |
[INFO] [stdout] 899 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:900:28
[INFO] [stdout]     |
[INFO] [stdout] 900 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 897 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `InertialSensor`
[INFO] [stdout]    --> src/smart/imu.rs:901:22
[INFO] [stdout]     |
[INFO] [stdout] 901 |     let mut sensor = InertialSensor::new(peripherals.port_1);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^ use of undeclared type `InertialSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 897 + use vexide_devices::smart::imu::InertialSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/smart/imu.rs:903:8
[INFO] [stdout]     |
[INFO] [stdout] 903 |     if sensor.calibrate().await.is_ok() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/smart/imu.rs:907:17
[INFO] [stdout]     |
[INFO] [stdout] 907 |                 status.physical_orientation()
[INFO] [stdout]     |                 ^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/imu.rs:900:1
[INFO] [stdout]     |
[INFO] [stdout] 900 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/imu.rs - smart::imu::InertialSensor::set_rotation (line 402) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:403:5
[INFO] [stdout]     |
[INFO] [stdout] 403 | use vexide::{math::Angle, prelude::*};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::math::Angle`
[INFO] [stdout]    --> src/smart/imu.rs:403:14
[INFO] [stdout]     |
[INFO] [stdout] 403 | use vexide::{math::Angle, prelude::*};
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:405:3
[INFO] [stdout]     |
[INFO] [stdout] 405 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:406:28
[INFO] [stdout]     |
[INFO] [stdout] 406 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 403 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `InertialSensor`
[INFO] [stdout]    --> src/smart/imu.rs:407:22
[INFO] [stdout]     |
[INFO] [stdout] 407 |     let mut sensor = InertialSensor::new(peripherals.port_1);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^ use of undeclared type `InertialSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 403 + use vexide_devices::smart::imu::InertialSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/imu.rs:406:1
[INFO] [stdout]     |
[INFO] [stdout] 406 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/imu.rs - smart::imu::InertialSensor::set_data_interval (line 806) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:807:5
[INFO] [stdout]     |
[INFO] [stdout] 807 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:809:3
[INFO] [stdout]     |
[INFO] [stdout] 809 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:810:28
[INFO] [stdout]     |
[INFO] [stdout] 810 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 807 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `InertialSensor`
[INFO] [stdout]    --> src/smart/imu.rs:811:22
[INFO] [stdout]     |
[INFO] [stdout] 811 |     let mut sensor = InertialSensor::new(peripherals.port_1);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^ use of undeclared type `InertialSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 807 + use vexide_devices::smart::imu::InertialSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `InertialSensor`
[INFO] [stdout]    --> src/smart/imu.rs:814:34
[INFO] [stdout]     |
[INFO] [stdout] 814 |     _ = sensor.set_data_interval(InertialSensor::MIN_DATA_INTERVAL);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ use of undeclared type `InertialSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 807 + use vexide_devices::smart::imu::InertialSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/imu.rs:810:1
[INFO] [stdout]     |
[INFO] [stdout] 810 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/mod.rs - smart::SmartDevice::port_number (line 89) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/smart/mod.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 | use vexide::prelude::*;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/smart/mod.rs:92:3
[INFO] [stdout]    |
[INFO] [stdout] 92 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/smart/mod.rs:93:28
[INFO] [stdout]    |
[INFO] [stdout] 93 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 90 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `InertialSensor`
[INFO] [stdout]   --> src/smart/mod.rs:94:18
[INFO] [stdout]    |
[INFO] [stdout] 94 |     let sensor = InertialSensor::new(peripherals.port_1);
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^ use of undeclared type `InertialSensor`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 90 + use vexide_devices::smart::imu::InertialSensor;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]   --> src/smart/mod.rs:93:1
[INFO] [stdout]    |
[INFO] [stdout] 93 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/imu.rs - smart::imu::InertialSensor::status (line 680) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:681:5
[INFO] [stdout]     |
[INFO] [stdout] 681 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:683:3
[INFO] [stdout]     |
[INFO] [stdout] 683 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:684:28
[INFO] [stdout]     |
[INFO] [stdout] 684 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 681 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `InertialSensor`
[INFO] [stdout]    --> src/smart/imu.rs:685:18
[INFO] [stdout]     |
[INFO] [stdout] 685 |     let sensor = InertialSensor::new(peripherals.port_1);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^ use of undeclared type `InertialSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 681 + use vexide_devices::smart::imu::InertialSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/smart/imu.rs:688:34
[INFO] [stdout]     |
[INFO] [stdout] 688 |         println!("Status: {:b}", status.bits());
[INFO] [stdout]     |                                  ^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/imu.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/mod.rs - smart::SmartPort::number (line 247) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/mod.rs:248:5
[INFO] [stdout]     |
[INFO] [stdout] 248 | use vexide::smart::SmartPort;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/mod.rs - smart::SmartDevice::is_connected (line 119) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/mod.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/mod.rs:122:3
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/mod.rs:123:28
[INFO] [stdout]     |
[INFO] [stdout] 123 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 120 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `InertialSensor`
[INFO] [stdout]    --> src/smart/mod.rs:124:18
[INFO] [stdout]     |
[INFO] [stdout] 124 |     let sensor = InertialSensor::new(peripherals.port_1);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^ use of undeclared type `InertialSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 120 + use vexide_devices::smart::imu::InertialSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/mod.rs:123:1
[INFO] [stdout]     |
[INFO] [stdout] 123 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/link.rs - smart::link::RadioLink::is_linked (line 164) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/link.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 167 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/link.rs:169:3
[INFO] [stdout]     |
[INFO] [stdout] 169 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/link.rs:170:28
[INFO] [stdout]     |
[INFO] [stdout] 170 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 165 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `RadioLink`
[INFO] [stdout]    --> src/smart/link.rs:171:20
[INFO] [stdout]     |
[INFO] [stdout] 171 |     let mut link = RadioLink::open(peripherals.port_1, "643A", LinkType::Manager);
[INFO] [stdout]     |                    ^^^^^^^^^ use of undeclared type `RadioLink`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 165 + use vexide_devices::smart::link::RadioLink;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `LinkType`
[INFO] [stdout]    --> src/smart/link.rs:171:64
[INFO] [stdout]     |
[INFO] [stdout] 171 |     let mut link = RadioLink::open(peripherals.port_1, "643A", LinkType::Manager);
[INFO] [stdout]     |                                                                ^^^^^^^^ use of undeclared type `LinkType`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 165 + use vexide_devices::smart::link::LinkType;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/link.rs:170:1
[INFO] [stdout]     |
[INFO] [stdout] 170 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/mod.rs - smart (line 39) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/smart/mod.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | use vexide::prelude::*;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/smart/mod.rs:42:3
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/smart/mod.rs:43:28
[INFO] [stdout]    |
[INFO] [stdout] 43 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 40 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Motor`
[INFO] [stdout]   --> src/smart/mod.rs:45:26
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let mut left_motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]    |                          ^^^^^ use of undeclared type `Motor`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 40 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Gearset`
[INFO] [stdout]   --> src/smart/mod.rs:45:57
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let mut left_motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]    |                                                         ^^^^^^^ use of undeclared type `Gearset`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 40 + use vexide_devices::smart::motor::Gearset;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Direction`
[INFO] [stdout]   --> src/smart/mod.rs:45:73
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let mut left_motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]    |                                                                         ^^^^^^^^^ use of undeclared type `Direction`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 40 + use vexide_devices::math::Direction;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Motor`
[INFO] [stdout]   --> src/smart/mod.rs:46:27
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut right_motor = Motor::new(peripherals.port_10, Gearset::Green, Direction::Forward);
[INFO] [stdout]    |                           ^^^^^ use of undeclared type `Motor`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 40 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Gearset`
[INFO] [stdout]   --> src/smart/mod.rs:46:59
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut right_motor = Motor::new(peripherals.port_10, Gearset::Green, Direction::Forward);
[INFO] [stdout]    |                                                           ^^^^^^^ use of undeclared type `Gearset`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 40 + use vexide_devices::smart::motor::Gearset;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Direction`
[INFO] [stdout]   --> src/smart/mod.rs:46:75
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut right_motor = Motor::new(peripherals.port_10, Gearset::Green, Direction::Forward);
[INFO] [stdout]    |                                                                           ^^^^^^^^^ use of undeclared type `Direction`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 40 + use vexide_devices::math::Direction;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `InertialSensor`
[INFO] [stdout]   --> src/smart/mod.rs:49:19
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let mut imu = InertialSensor::new(peripherals.port_6);
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^ use of undeclared type `InertialSensor`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 40 + use vexide_devices::smart::imu::InertialSensor;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]   --> src/smart/mod.rs:43:1
[INFO] [stdout]    |
[INFO] [stdout] 43 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 11 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/link.rs - smart::link::RadioLink::unread_bytes (line 106) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/link.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/link.rs:111:3
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/link.rs:112:28
[INFO] [stdout]     |
[INFO] [stdout] 112 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 107 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `RadioLink`
[INFO] [stdout]    --> src/smart/link.rs:113:20
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let mut link = RadioLink::open(peripherals.port_1, "643A", LinkType::Manager);
[INFO] [stdout]     |                    ^^^^^^^^^ use of undeclared type `RadioLink`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 107 + use vexide_devices::smart::link::RadioLink;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `LinkType`
[INFO] [stdout]    --> src/smart/link.rs:113:64
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let mut link = RadioLink::open(peripherals.port_1, "643A", LinkType::Manager);
[INFO] [stdout]     |                                                                ^^^^^^^^ use of undeclared type `LinkType`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 107 + use vexide_devices::smart::link::LinkType;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/link.rs:112:1
[INFO] [stdout]     |
[INFO] [stdout] 112 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/mod.rs - smart::SmartPort::device_type (line 268) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/mod.rs:269:5
[INFO] [stdout]     |
[INFO] [stdout] 269 | use vexide::smart::SmartPort;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::gearset (line 521) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:522:5
[INFO] [stdout]     |
[INFO] [stdout] 522 | use vexide::{prelude::*, smart::motor::Gearset};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::smart::motor::Gearset`
[INFO] [stdout]    --> src/smart/motor.rs:522:26
[INFO] [stdout]     |
[INFO] [stdout] 522 | use vexide::{prelude::*, smart::motor::Gearset};
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Motor` in this scope
[INFO] [stdout]    --> src/smart/motor.rs:524:26
[INFO] [stdout]     |
[INFO] [stdout] 524 | fn print_gearset(motor: &Motor) {
[INFO] [stdout]     |                          ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 521 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/link.rs - smart::link::RadioLink::open (line 67) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/smart/link.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 | use vexide::prelude::*;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/smart/link.rs:70:3
[INFO] [stdout]    |
[INFO] [stdout] 70 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/smart/link.rs:71:28
[INFO] [stdout]    |
[INFO] [stdout] 71 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 68 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `RadioLink`
[INFO] [stdout]   --> src/smart/link.rs:72:16
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let link = RadioLink::open(peripherals.port_1, "643A", LinkType::Manager);
[INFO] [stdout]    |                ^^^^^^^^^ use of undeclared type `RadioLink`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 68 + use vexide_devices::smart::link::RadioLink;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `LinkType`
[INFO] [stdout]   --> src/smart/link.rs:72:60
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let link = RadioLink::open(peripherals.port_1, "643A", LinkType::Manager);
[INFO] [stdout]    |                                                            ^^^^^^^^ use of undeclared type `LinkType`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 68 + use vexide_devices::smart::link::LinkType;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]   --> src/smart/link.rs:71:1
[INFO] [stdout]    |
[INFO] [stdout] 71 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/mod.rs - smart::SmartPort::new (line 228) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/mod.rs:229:5
[INFO] [stdout]     |
[INFO] [stdout] 229 | use vexide::smart::SmartPort;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/imu.rs - smart::imu::InertialSensor::quaternion (line 528) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:531:5
[INFO] [stdout]     |
[INFO] [stdout] 531 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:533:3
[INFO] [stdout]     |
[INFO] [stdout] 533 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:534:28
[INFO] [stdout]     |
[INFO] [stdout] 534 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 529 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `InertialSensor`
[INFO] [stdout]    --> src/smart/imu.rs:535:22
[INFO] [stdout]     |
[INFO] [stdout] 535 |     let mut sensor = InertialSensor::new(peripherals.port_1);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^ use of undeclared type `InertialSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 529 + use vexide_devices::smart::imu::InertialSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:541:5
[INFO] [stdout]     |
[INFO] [stdout] 541 |     sleep(Duration::from_secs(2)).await;
[INFO] [stdout]     |     ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 529 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/smart/imu.rs:538:5
[INFO] [stdout]     |
[INFO] [stdout] 538 |     sensor.calibrate().await.unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/imu.rs:534:1
[INFO] [stdout]     |
[INFO] [stdout] 534 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/mod.rs - smart (line 21) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/smart/mod.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use vexide::prelude::*;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/smart/mod.rs:24:3
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/smart/mod.rs:25:28
[INFO] [stdout]    |
[INFO] [stdout] 25 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 22 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]   --> src/smart/mod.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::current_limit (line 1057) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     --> src/smart/motor.rs:1058:5
[INFO] [stdout]      |
[INFO] [stdout] 1058 | use vexide::prelude::*;
[INFO] [stdout]      |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]      |
[INFO] [stdout]      = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     --> src/smart/motor.rs:1060:3
[INFO] [stdout]      |
[INFO] [stdout] 1060 | #[vexide::main]
[INFO] [stdout]      |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]     --> src/smart/motor.rs:1061:28
[INFO] [stdout]      |
[INFO] [stdout] 1061 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]      |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]      |
[INFO] [stdout] 1058 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Motor`
[INFO] [stdout]     --> src/smart/motor.rs:1062:17
[INFO] [stdout]      |
[INFO] [stdout] 1062 |     let motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]      |                 ^^^^^ use of undeclared type `Motor`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]      |
[INFO] [stdout] 1058 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Gearset`
[INFO] [stdout]     --> src/smart/motor.rs:1062:48
[INFO] [stdout]      |
[INFO] [stdout] 1062 |     let motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]      |                                                ^^^^^^^ use of undeclared type `Gearset`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]      |
[INFO] [stdout] 1058 + use vexide_devices::smart::motor::Gearset;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Direction`
[INFO] [stdout]     --> src/smart/motor.rs:1062:64
[INFO] [stdout]      |
[INFO] [stdout] 1062 |     let motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]      |                                                                ^^^^^^^^^ use of undeclared type `Direction`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]      |
[INFO] [stdout] 1058 + use vexide_devices::math::Direction;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]     --> src/smart/motor.rs:1061:1
[INFO] [stdout]      |
[INFO] [stdout] 1061 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/mod.rs - smart::SmartDevice::device_type (line 104) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/mod.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 | use vexide::{prelude::*, smart::SmartDeviceType};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::smart::SmartDeviceType`
[INFO] [stdout]    --> src/smart/mod.rs:105:26
[INFO] [stdout]     |
[INFO] [stdout] 105 | use vexide::{prelude::*, smart::SmartDeviceType};
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/mod.rs:107:3
[INFO] [stdout]     |
[INFO] [stdout] 107 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/mod.rs:108:28
[INFO] [stdout]     |
[INFO] [stdout] 108 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 105 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `InertialSensor`
[INFO] [stdout]    --> src/smart/mod.rs:109:18
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let sensor = InertialSensor::new(peripherals.port_1);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^ use of undeclared type `InertialSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 105 + use vexide_devices::smart::imu::InertialSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/mod.rs:108:1
[INFO] [stdout]     |
[INFO] [stdout] 108 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::direction (line 587) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:588:5
[INFO] [stdout]     |
[INFO] [stdout] 588 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Motor` in this scope
[INFO] [stdout]    --> src/smart/motor.rs:590:34
[INFO] [stdout]     |
[INFO] [stdout] 590 | fn print_motor_direction(motor: &Motor) {
[INFO] [stdout]     |                                  ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 587 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Direction`
[INFO] [stdout]    --> src/smart/motor.rs:592:9
[INFO] [stdout]     |
[INFO] [stdout] 592 |         Direction::Forward => println!("Motor is set to forwards"),
[INFO] [stdout]     |         ^^^^^^^^^ use of undeclared type `Direction`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 587 + use vexide_devices::math::Direction;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Direction`
[INFO] [stdout]    --> src/smart/motor.rs:593:9
[INFO] [stdout]     |
[INFO] [stdout] 593 |         Direction::Reverse => println!("Motor is set to reverse"),
[INFO] [stdout]     |         ^^^^^^^^^ use of undeclared type `Direction`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 587 + use vexide_devices::math::Direction;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::brake (line 331) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:332:5
[INFO] [stdout]     |
[INFO] [stdout] 332 | use vexide::{prelude::*, smart::motor::BrakeMode};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::smart::motor::BrakeMode`
[INFO] [stdout]    --> src/smart/motor.rs:332:26
[INFO] [stdout]     |
[INFO] [stdout] 332 | use vexide::{prelude::*, smart::motor::BrakeMode};
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:334:3
[INFO] [stdout]     |
[INFO] [stdout] 334 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/motor.rs:335:28
[INFO] [stdout]     |
[INFO] [stdout] 335 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 332 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Motor`
[INFO] [stdout]    --> src/smart/motor.rs:336:21
[INFO] [stdout]     |
[INFO] [stdout] 336 |     let mut motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]     |                     ^^^^^ use of undeclared type `Motor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 332 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Gearset`
[INFO] [stdout]    --> src/smart/motor.rs:336:52
[INFO] [stdout]     |
[INFO] [stdout] 336 |     let mut motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]     |                                                    ^^^^^^^ use of undeclared type `Gearset`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 332 + use vexide_devices::smart::motor::Gearset;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Direction`
[INFO] [stdout]    --> src/smart/motor.rs:336:68
[INFO] [stdout]     |
[INFO] [stdout] 336 |     let mut motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]     |                                                                    ^^^^^^^^^ use of undeclared type `Direction`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 332 + use vexide_devices::math::Direction;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/motor.rs:335:1
[INFO] [stdout]     |
[INFO] [stdout] 335 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::is_over_current (line 1384) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     --> src/smart/motor.rs:1385:5
[INFO] [stdout]      |
[INFO] [stdout] 1385 | use vexide::prelude::*;
[INFO] [stdout]      |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]      |
[INFO] [stdout]      = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     --> src/smart/motor.rs:1387:3
[INFO] [stdout]      |
[INFO] [stdout] 1387 | #[vexide::main]
[INFO] [stdout]      |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]     --> src/smart/motor.rs:1388:28
[INFO] [stdout]      |
[INFO] [stdout] 1388 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]      |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]      |
[INFO] [stdout] 1385 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Motor`
[INFO] [stdout]     --> src/smart/motor.rs:1389:21
[INFO] [stdout]      |
[INFO] [stdout] 1389 |     let mut motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]      |                     ^^^^^ use of undeclared type `Motor`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]      |
[INFO] [stdout] 1385 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Gearset`
[INFO] [stdout]     --> src/smart/motor.rs:1389:52
[INFO] [stdout]      |
[INFO] [stdout] 1389 |     let mut motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]      |                                                    ^^^^^^^ use of undeclared type `Gearset`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]      |
[INFO] [stdout] 1385 + use vexide_devices::smart::motor::Gearset;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Direction`
[INFO] [stdout]     --> src/smart/motor.rs:1389:68
[INFO] [stdout]      |
[INFO] [stdout] 1389 |     let mut motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]      |                                                                    ^^^^^^^^^ use of undeclared type `Direction`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]      |
[INFO] [stdout] 1385 + use vexide_devices::math::Direction;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]     --> src/smart/motor.rs:1397:9
[INFO] [stdout]      |
[INFO] [stdout] 1397 |         sleep(Motor::UPDATE_INTERVAL).await;
[INFO] [stdout]      |         ^^^^^ not found in this scope
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]      |
[INFO] [stdout] 1385 + use std::thread::sleep;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Motor`
[INFO] [stdout]     --> src/smart/motor.rs:1397:15
[INFO] [stdout]      |
[INFO] [stdout] 1397 |         sleep(Motor::UPDATE_INTERVAL).await;
[INFO] [stdout]      |               ^^^^^ use of undeclared type `Motor`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]      |
[INFO] [stdout] 1385 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]     --> src/smart/motor.rs:1388:1
[INFO] [stdout]      |
[INFO] [stdout] 1388 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 9 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::current (line 989) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:990:5
[INFO] [stdout]     |
[INFO] [stdout] 990 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:992:3
[INFO] [stdout]     |
[INFO] [stdout] 992 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/motor.rs:993:28
[INFO] [stdout]     |
[INFO] [stdout] 993 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 990 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Motor`
[INFO] [stdout]    --> src/smart/motor.rs:994:21
[INFO] [stdout]     |
[INFO] [stdout] 994 |     let mut motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]     |                     ^^^^^ use of undeclared type `Motor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 990 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Gearset`
[INFO] [stdout]    --> src/smart/motor.rs:994:52
[INFO] [stdout]     |
[INFO] [stdout] 994 |     let mut motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]     |                                                    ^^^^^^^ use of undeclared type `Gearset`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 990 + use vexide_devices::smart::motor::Gearset;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Direction`
[INFO] [stdout]    --> src/smart/motor.rs:994:68
[INFO] [stdout]     |
[INFO] [stdout] 994 |     let mut motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]     |                                                                    ^^^^^^^^^ use of undeclared type `Direction`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 990 + use vexide_devices::math::Direction;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]    --> src/smart/motor.rs:999:9
[INFO] [stdout]     |
[INFO] [stdout] 999 |         sleep(Motor::UPDATE_INTERVAL).await;
[INFO] [stdout]     |         ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 990 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Motor`
[INFO] [stdout]    --> src/smart/motor.rs:999:15
[INFO] [stdout]     |
[INFO] [stdout] 999 |         sleep(Motor::UPDATE_INTERVAL).await;
[INFO] [stdout]     |               ^^^^^ use of undeclared type `Motor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 990 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/motor.rs:993:1
[INFO] [stdout]     |
[INFO] [stdout] 993 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 9 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::max_voltage (line 1227) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     --> src/smart/motor.rs:1228:5
[INFO] [stdout]      |
[INFO] [stdout] 1228 | use vexide::prelude::*;
[INFO] [stdout]      |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]      |
[INFO] [stdout]      = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     --> src/smart/motor.rs:1229:5
[INFO] [stdout]      |
[INFO] [stdout] 1229 | use vexide::smart::PortError;
[INFO] [stdout]      |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]      |
[INFO] [stdout]      = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::smart::PortError`
[INFO] [stdout]     --> src/smart/motor.rs:1229:5
[INFO] [stdout]      |
[INFO] [stdout] 1229 | use vexide::smart::PortError;
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Motor` in this scope
[INFO] [stdout]     --> src/smart/motor.rs:1231:39
[INFO] [stdout]      |
[INFO] [stdout] 1231 | fn run_motor_at_max_speed(motor: &mut Motor) -> Result<(), PortError> {
[INFO] [stdout]      |                                       ^^^^^ not found in this scope
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]      |
[INFO] [stdout] 1227 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::position (line 666) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:667:5
[INFO] [stdout]     |
[INFO] [stdout] 667 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:669:3
[INFO] [stdout]     |
[INFO] [stdout] 669 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/motor.rs:670:28
[INFO] [stdout]     |
[INFO] [stdout] 670 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 667 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Motor`
[INFO] [stdout]    --> src/smart/motor.rs:671:17
[INFO] [stdout]     |
[INFO] [stdout] 671 |     let motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]     |                 ^^^^^ use of undeclared type `Motor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 667 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Gearset`
[INFO] [stdout]    --> src/smart/motor.rs:671:48
[INFO] [stdout]     |
[INFO] [stdout] 671 |     let motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]     |                                                ^^^^^^^ use of undeclared type `Gearset`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 667 + use vexide_devices::smart::motor::Gearset;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Direction`
[INFO] [stdout]    --> src/smart/motor.rs:671:64
[INFO] [stdout]     |
[INFO] [stdout] 671 |     let motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]     |                                                                ^^^^^^^^^ use of undeclared type `Direction`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 667 + use vexide_devices::math::Direction;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]    --> src/smart/motor.rs:675:9
[INFO] [stdout]     |
[INFO] [stdout] 675 |         sleep(Motor::UPDATE_INTERVAL).await;
[INFO] [stdout]     |         ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 667 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Motor`
[INFO] [stdout]    --> src/smart/motor.rs:675:15
[INFO] [stdout]     |
[INFO] [stdout] 675 |         sleep(Motor::UPDATE_INTERVAL).await;
[INFO] [stdout]     |               ^^^^^ use of undeclared type `Motor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 667 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/motor.rs:670:1
[INFO] [stdout]     |
[INFO] [stdout] 670 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 9 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::is_exp (line 1185) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     --> src/smart/motor.rs:1186:5
[INFO] [stdout]      |
[INFO] [stdout] 1186 | use vexide::prelude::*;
[INFO] [stdout]      |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]      |
[INFO] [stdout]      = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     --> src/smart/motor.rs:1188:3
[INFO] [stdout]      |
[INFO] [stdout] 1188 | #[vexide::main]
[INFO] [stdout]      |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]     --> src/smart/motor.rs:1189:28
[INFO] [stdout]      |
[INFO] [stdout] 1189 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]      |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]      |
[INFO] [stdout] 1186 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Motor`
[INFO] [stdout]     --> src/smart/motor.rs:1190:17
[INFO] [stdout]      |
[INFO] [stdout] 1190 |     let motor = Motor::new_exp(peripherals.port_1, Direction::Forward);
[INFO] [stdout]      |                 ^^^^^ use of undeclared type `Motor`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]      |
[INFO] [stdout] 1186 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Direction`
[INFO] [stdout]     --> src/smart/motor.rs:1190:52
[INFO] [stdout]      |
[INFO] [stdout] 1190 |     let motor = Motor::new_exp(peripherals.port_1, Direction::Forward);
[INFO] [stdout]      |                                                    ^^^^^^^^^ use of undeclared type `Direction`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]      |
[INFO] [stdout] 1186 + use vexide_devices::math::Direction;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]     --> src/smart/motor.rs:1189:1
[INFO] [stdout]      |
[INFO] [stdout] 1189 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::new (line 204) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:205:5
[INFO] [stdout]     |
[INFO] [stdout] 205 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:207:3
[INFO] [stdout]     |
[INFO] [stdout] 207 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/motor.rs:208:28
[INFO] [stdout]     |
[INFO] [stdout] 208 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 205 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Motor`
[INFO] [stdout]    --> src/smart/motor.rs:209:17
[INFO] [stdout]     |
[INFO] [stdout] 209 |     let motor = Motor::new(peripherals.port_1, Gearset::Red, Direction::Forward);
[INFO] [stdout]     |                 ^^^^^ use of undeclared type `Motor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 205 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Gearset`
[INFO] [stdout]    --> src/smart/motor.rs:209:48
[INFO] [stdout]     |
[INFO] [stdout] 209 |     let motor = Motor::new(peripherals.port_1, Gearset::Red, Direction::Forward);
[INFO] [stdout]     |                                                ^^^^^^^ use of undeclared type `Gearset`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 205 + use vexide_devices::smart::motor::Gearset;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Direction`
[INFO] [stdout]    --> src/smart/motor.rs:209:62
[INFO] [stdout]     |
[INFO] [stdout] 209 |     let motor = Motor::new(peripherals.port_1, Gearset::Red, Direction::Forward);
[INFO] [stdout]     |                                                              ^^^^^^^^^ use of undeclared type `Direction`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 205 + use vexide_devices::math::Direction;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Motor`
[INFO] [stdout]    --> src/smart/motor.rs:211:37
[INFO] [stdout]     |
[INFO] [stdout] 211 |     assert_eq!(motor.max_voltage(), Motor::V5_MAX_VOLTAGE);
[INFO] [stdout]     |                                     ^^^^^ use of undeclared type `Motor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 205 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/motor.rs:208:1
[INFO] [stdout]     |
[INFO] [stdout] 208 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::is_over_temperature (line 1349) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     --> src/smart/motor.rs:1350:5
[INFO] [stdout]      |
[INFO] [stdout] 1350 | use vexide::{prelude::*, smart::motor::BrakeMode};
[INFO] [stdout]      |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]      |
[INFO] [stdout]      = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::smart::motor::BrakeMode`
[INFO] [stdout]     --> src/smart/motor.rs:1350:26
[INFO] [stdout]      |
[INFO] [stdout] 1350 | use vexide::{prelude::*, smart::motor::BrakeMode};
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     --> src/smart/motor.rs:1352:3
[INFO] [stdout]      |
[INFO] [stdout] 1352 | #[vexide::main]
[INFO] [stdout]      |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]     --> src/smart/motor.rs:1353:28
[INFO] [stdout]      |
[INFO] [stdout] 1353 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]      |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]      |
[INFO] [stdout] 1350 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Motor`
[INFO] [stdout]     --> src/smart/motor.rs:1354:21
[INFO] [stdout]      |
[INFO] [stdout] 1354 |     let mut motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]      |                     ^^^^^ use of undeclared type `Motor`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]      |
[INFO] [stdout] 1350 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Gearset`
[INFO] [stdout]     --> src/smart/motor.rs:1354:52
[INFO] [stdout]      |
[INFO] [stdout] 1354 |     let mut motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]      |                                                    ^^^^^^^ use of undeclared type `Gearset`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]      |
[INFO] [stdout] 1350 + use vexide_devices::smart::motor::Gearset;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Direction`
[INFO] [stdout]     --> src/smart/motor.rs:1354:68
[INFO] [stdout]      |
[INFO] [stdout] 1354 |     let mut motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]      |                                                                    ^^^^^^^^^ use of undeclared type `Direction`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]      |
[INFO] [stdout] 1350 + use vexide_devices::math::Direction;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]     --> src/smart/motor.rs:1364:9
[INFO] [stdout]      |
[INFO] [stdout] 1364 |         sleep(Motor::UPDATE_INTERVAL).await;
[INFO] [stdout]      |         ^^^^^ not found in this scope
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]      |
[INFO] [stdout] 1350 + use std::thread::sleep;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Motor`
[INFO] [stdout]     --> src/smart/motor.rs:1364:15
[INFO] [stdout]      |
[INFO] [stdout] 1364 |         sleep(Motor::UPDATE_INTERVAL).await;
[INFO] [stdout]      |               ^^^^^ use of undeclared type `Motor`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]      |
[INFO] [stdout] 1350 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]     --> src/smart/motor.rs:1353:1
[INFO] [stdout]      |
[INFO] [stdout] 1353 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 10 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::power (line 902) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:903:5
[INFO] [stdout]     |
[INFO] [stdout] 903 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:905:3
[INFO] [stdout]     |
[INFO] [stdout] 905 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/motor.rs:906:28
[INFO] [stdout]     |
[INFO] [stdout] 906 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 903 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Motor`
[INFO] [stdout]    --> src/smart/motor.rs:907:17
[INFO] [stdout]     |
[INFO] [stdout] 907 |     let motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]     |                 ^^^^^ use of undeclared type `Motor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 903 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Gearset`
[INFO] [stdout]    --> src/smart/motor.rs:907:48
[INFO] [stdout]     |
[INFO] [stdout] 907 |     let motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]     |                                                ^^^^^^^ use of undeclared type `Gearset`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 903 + use vexide_devices::smart::motor::Gearset;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Direction`
[INFO] [stdout]    --> src/smart/motor.rs:907:64
[INFO] [stdout]     |
[INFO] [stdout] 907 |     let motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]     |                                                                ^^^^^^^^^ use of undeclared type `Direction`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 903 + use vexide_devices::math::Direction;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]    --> src/smart/motor.rs:910:9
[INFO] [stdout]     |
[INFO] [stdout] 910 |         sleep(Motor::UPDATE_INTERVAL).await;
[INFO] [stdout]     |         ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 903 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Motor`
[INFO] [stdout]    --> src/smart/motor.rs:910:15
[INFO] [stdout]     |
[INFO] [stdout] 910 |         sleep(Motor::UPDATE_INTERVAL).await;
[INFO] [stdout]     |               ^^^^^ use of undeclared type `Motor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 903 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/motor.rs:906:1
[INFO] [stdout]     |
[INFO] [stdout] 906 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 9 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::is_v5 (line 1205) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     --> src/smart/motor.rs:1206:5
[INFO] [stdout]      |
[INFO] [stdout] 1206 | use vexide::prelude::*;
[INFO] [stdout]      |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]      |
[INFO] [stdout]      = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     --> src/smart/motor.rs:1208:3
[INFO] [stdout]      |
[INFO] [stdout] 1208 | #[vexide::main]
[INFO] [stdout]      |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]     --> src/smart/motor.rs:1209:28
[INFO] [stdout]      |
[INFO] [stdout] 1209 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]      |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]      |
[INFO] [stdout] 1206 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Motor`
[INFO] [stdout]     --> src/smart/motor.rs:1210:17
[INFO] [stdout]      |
[INFO] [stdout] 1210 |     let motor = Motor::new(peripherals.port_1, Gearset::Red, Direction::Forward);
[INFO] [stdout]      |                 ^^^^^ use of undeclared type `Motor`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]      |
[INFO] [stdout] 1206 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Gearset`
[INFO] [stdout]     --> src/smart/motor.rs:1210:48
[INFO] [stdout]      |
[INFO] [stdout] 1210 |     let motor = Motor::new(peripherals.port_1, Gearset::Red, Direction::Forward);
[INFO] [stdout]      |                                                ^^^^^^^ use of undeclared type `Gearset`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]      |
[INFO] [stdout] 1206 + use vexide_devices::smart::motor::Gearset;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Direction`
[INFO] [stdout]     --> src/smart/motor.rs:1210:62
[INFO] [stdout]      |
[INFO] [stdout] 1210 |     let motor = Motor::new(peripherals.port_1, Gearset::Red, Direction::Forward);
[INFO] [stdout]      |                                                              ^^^^^^^^^ use of undeclared type `Direction`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]      |
[INFO] [stdout] 1206 + use vexide_devices::math::Direction;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]     --> src/smart/motor.rs:1209:1
[INFO] [stdout]      |
[INFO] [stdout] 1209 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::is_driver_over_current (line 1450) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     --> src/smart/motor.rs:1451:5
[INFO] [stdout]      |
[INFO] [stdout] 1451 | use vexide::prelude::*;
[INFO] [stdout]      |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]      |
[INFO] [stdout]      = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     --> src/smart/motor.rs:1453:3
[INFO] [stdout]      |
[INFO] [stdout] 1453 | #[vexide::main]
[INFO] [stdout]      |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]     --> src/smart/motor.rs:1454:28
[INFO] [stdout]      |
[INFO] [stdout] 1454 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]      |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]      |
[INFO] [stdout] 1451 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Motor`
[INFO] [stdout]     --> src/smart/motor.rs:1455:21
[INFO] [stdout]      |
[INFO] [stdout] 1455 |     let mut motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]      |                     ^^^^^ use of undeclared type `Motor`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]      |
[INFO] [stdout] 1451 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Gearset`
[INFO] [stdout]     --> src/smart/motor.rs:1455:52
[INFO] [stdout]      |
[INFO] [stdout] 1455 |     let mut motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]      |                                                    ^^^^^^^ use of undeclared type `Gearset`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]      |
[INFO] [stdout] 1451 + use vexide_devices::smart::motor::Gearset;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Direction`
[INFO] [stdout]     --> src/smart/motor.rs:1455:68
[INFO] [stdout]      |
[INFO] [stdout] 1455 |     let mut motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]      |                                                                    ^^^^^^^^^ use of undeclared type `Direction`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]      |
[INFO] [stdout] 1451 + use vexide_devices::math::Direction;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]     --> src/smart/motor.rs:1463:9
[INFO] [stdout]      |
[INFO] [stdout] 1463 |         sleep(Motor::UPDATE_INTERVAL).await;
[INFO] [stdout]      |         ^^^^^ not found in this scope
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]      |
[INFO] [stdout] 1451 + use std::thread::sleep;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Motor`
[INFO] [stdout]     --> src/smart/motor.rs:1463:15
[INFO] [stdout]      |
[INFO] [stdout] 1463 |         sleep(Motor::UPDATE_INTERVAL).await;
[INFO] [stdout]      |               ^^^^^ use of undeclared type `Motor`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]      |
[INFO] [stdout] 1451 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]     --> src/smart/motor.rs:1454:1
[INFO] [stdout]      |
[INFO] [stdout] 1454 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 9 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::set_position_target (line 354) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:355:5
[INFO] [stdout]     |
[INFO] [stdout] 355 | use vexide::{math::Angle, prelude::*};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::math::Angle`
[INFO] [stdout]    --> src/smart/motor.rs:355:14
[INFO] [stdout]     |
[INFO] [stdout] 355 | use vexide::{math::Angle, prelude::*};
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:357:3
[INFO] [stdout]     |
[INFO] [stdout] 357 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/motor.rs:359:28
[INFO] [stdout]     |
[INFO] [stdout] 359 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 355 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Motor`
[INFO] [stdout]    --> src/smart/motor.rs:360:21
[INFO] [stdout]     |
[INFO] [stdout] 360 |     let mut motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]     |                     ^^^^^ use of undeclared type `Motor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 355 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Gearset`
[INFO] [stdout]    --> src/smart/motor.rs:360:52
[INFO] [stdout]     |
[INFO] [stdout] 360 |     let mut motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]     |                                                    ^^^^^^^ use of undeclared type `Gearset`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 355 + use vexide_devices::smart::motor::Gearset;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Direction`
[INFO] [stdout]    --> src/smart/motor.rs:360:68
[INFO] [stdout]     |
[INFO] [stdout] 360 |     let mut motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]     |                                                                    ^^^^^^^^^ use of undeclared type `Direction`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 355 + use vexide_devices::math::Direction;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/motor.rs:359:1
[INFO] [stdout]     |
[INFO] [stdout] 359 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::is_driver_fault (line 1417) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     --> src/smart/motor.rs:1418:5
[INFO] [stdout]      |
[INFO] [stdout] 1418 | use vexide::prelude::*;
[INFO] [stdout]      |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]      |
[INFO] [stdout]      = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     --> src/smart/motor.rs:1420:3
[INFO] [stdout]      |
[INFO] [stdout] 1420 | #[vexide::main]
[INFO] [stdout]      |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]     --> src/smart/motor.rs:1421:28
[INFO] [stdout]      |
[INFO] [stdout] 1421 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]      |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]      |
[INFO] [stdout] 1418 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Motor`
[INFO] [stdout]     --> src/smart/motor.rs:1422:21
[INFO] [stdout]      |
[INFO] [stdout] 1422 |     let mut motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]      |                     ^^^^^ use of undeclared type `Motor`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]      |
[INFO] [stdout] 1418 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Gearset`
[INFO] [stdout]     --> src/smart/motor.rs:1422:52
[INFO] [stdout]      |
[INFO] [stdout] 1422 |     let mut motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]      |                                                    ^^^^^^^ use of undeclared type `Gearset`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]      |
[INFO] [stdout] 1418 + use vexide_devices::smart::motor::Gearset;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Direction`
[INFO] [stdout]     --> src/smart/motor.rs:1422:68
[INFO] [stdout]      |
[INFO] [stdout] 1422 |     let mut motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]      |                                                                    ^^^^^^^^^ use of undeclared type `Direction`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]      |
[INFO] [stdout] 1418 + use vexide_devices::math::Direction;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]     --> src/smart/motor.rs:1430:9
[INFO] [stdout]      |
[INFO] [stdout] 1430 |         sleep(Motor::UPDATE_INTERVAL).await;
[INFO] [stdout]      |         ^^^^^ not found in this scope
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]      |
[INFO] [stdout] 1418 + use std::thread::sleep;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Motor`
[INFO] [stdout]     --> src/smart/motor.rs:1430:15
[INFO] [stdout]      |
[INFO] [stdout] 1430 |         sleep(Motor::UPDATE_INTERVAL).await;
[INFO] [stdout]      |               ^^^^^ use of undeclared type `Motor`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]      |
[INFO] [stdout] 1418 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]     --> src/smart/motor.rs:1421:1
[INFO] [stdout]      |
[INFO] [stdout] 1421 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 9 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::set_gearset (line 556) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:557:5
[INFO] [stdout]     |
[INFO] [stdout] 557 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:559:3
[INFO] [stdout]     |
[INFO] [stdout] 559 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/motor.rs:560:28
[INFO] [stdout]     |
[INFO] [stdout] 560 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 557 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Motor`
[INFO] [stdout]    --> src/smart/motor.rs:562:21
[INFO] [stdout]     |
[INFO] [stdout] 562 |     let mut motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]     |                     ^^^^^ use of undeclared type `Motor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 557 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Gearset`
[INFO] [stdout]    --> src/smart/motor.rs:562:52
[INFO] [stdout]     |
[INFO] [stdout] 562 |     let mut motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]     |                                                    ^^^^^^^ use of undeclared type `Gearset`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 557 + use vexide_devices::smart::motor::Gearset;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Direction`
[INFO] [stdout]    --> src/smart/motor.rs:562:68
[INFO] [stdout]     |
[INFO] [stdout] 562 |     let mut motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]     |                                                                    ^^^^^^^^^ use of undeclared type `Direction`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 557 + use vexide_devices::math::Direction;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Gearset`
[INFO] [stdout]    --> src/smart/motor.rs:565:23
[INFO] [stdout]     |
[INFO] [stdout] 565 |     motor.set_gearset(Gearset::Red).unwrap();
[INFO] [stdout]     |                       ^^^^^^^ use of undeclared type `Gearset`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 557 + use vexide_devices::smart::motor::Gearset;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/motor.rs:560:1
[INFO] [stdout]     |
[INFO] [stdout] 560 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::motor_type (line 1166) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     --> src/smart/motor.rs:1167:5
[INFO] [stdout]      |
[INFO] [stdout] 1167 | use vexide::{prelude::*, smart::motor::MotorType};
[INFO] [stdout]      |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]      |
[INFO] [stdout]      = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::smart::motor::MotorType`
[INFO] [stdout]     --> src/smart/motor.rs:1167:26
[INFO] [stdout]      |
[INFO] [stdout] 1167 | use vexide::{prelude::*, smart::motor::MotorType};
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Motor` in this scope
[INFO] [stdout]     --> src/smart/motor.rs:1169:29
[INFO] [stdout]      |
[INFO] [stdout] 1169 | fn print_motor_type(motor: &Motor) {
[INFO] [stdout]      |                             ^^^^^ not found in this scope
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]      |
[INFO] [stdout] 1166 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::set_position (line 715) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:716:5
[INFO] [stdout]     |
[INFO] [stdout] 716 | use vexide::{math::Angle, prelude::*};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::math::Angle`
[INFO] [stdout]    --> src/smart/motor.rs:716:14
[INFO] [stdout]     |
[INFO] [stdout] 716 | use vexide::{math::Angle, prelude::*};
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:718:3
[INFO] [stdout]     |
[INFO] [stdout] 718 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/motor.rs:719:28
[INFO] [stdout]     |
[INFO] [stdout] 719 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 716 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Motor`
[INFO] [stdout]    --> src/smart/motor.rs:720:21
[INFO] [stdout]     |
[INFO] [stdout] 720 |     let mut motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]     |                     ^^^^^ use of undeclared type `Motor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 716 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Gearset`
[INFO] [stdout]    --> src/smart/motor.rs:720:52
[INFO] [stdout]     |
[INFO] [stdout] 720 |     let mut motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]     |                                                    ^^^^^^^ use of undeclared type `Gearset`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 716 + use vexide_devices::smart::motor::Gearset;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Direction`
[INFO] [stdout]    --> src/smart/motor.rs:720:68
[INFO] [stdout]     |
[INFO] [stdout] 720 |     let mut motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]     |                                                                    ^^^^^^^^^ use of undeclared type `Direction`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 716 + use vexide_devices::math::Direction;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/motor.rs:719:1
[INFO] [stdout]     |
[INFO] [stdout] 719 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::new_exp (line 224) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:225:5
[INFO] [stdout]     |
[INFO] [stdout] 225 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:227:3
[INFO] [stdout]     |
[INFO] [stdout] 227 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/motor.rs:228:28
[INFO] [stdout]     |
[INFO] [stdout] 228 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 225 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Motor`
[INFO] [stdout]    --> src/smart/motor.rs:229:17
[INFO] [stdout]     |
[INFO] [stdout] 229 |     let motor = Motor::new_exp(peripherals.port_1, Direction::Forward);
[INFO] [stdout]     |                 ^^^^^ use of undeclared type `Motor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 225 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Direction`
[INFO] [stdout]    --> src/smart/motor.rs:229:52
[INFO] [stdout]     |
[INFO] [stdout] 229 |     let motor = Motor::new_exp(peripherals.port_1, Direction::Forward);
[INFO] [stdout]     |                                                    ^^^^^^^^^ use of undeclared type `Direction`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 225 + use vexide_devices::math::Direction;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Motor`
[INFO] [stdout]    --> src/smart/motor.rs:231:37
[INFO] [stdout]     |
[INFO] [stdout] 231 |     assert_eq!(motor.max_voltage(), Motor::EXP_MAX_VOLTAGE);
[INFO] [stdout]     |                                     ^^^^^ use of undeclared type `Motor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 225 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/motor.rs:228:1
[INFO] [stdout]     |
[INFO] [stdout] 228 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::raw_position (line 793) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:794:5
[INFO] [stdout]     |
[INFO] [stdout] 794 | use vexide::prelude::*;
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:796:3
[INFO] [stdout]     |
[INFO] [stdout] 796 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/motor.rs:797:28
[INFO] [stdout]     |
[INFO] [stdout] 797 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 794 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Motor`
[INFO] [stdout]    --> src/smart/motor.rs:798:17
[INFO] [stdout]     |
[INFO] [stdout] 798 |     let motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]     |                 ^^^^^ use of undeclared type `Motor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 794 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Gearset`
[INFO] [stdout]    --> src/smart/motor.rs:798:48
[INFO] [stdout]     |
[INFO] [stdout] 798 |     let motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]     |                                                ^^^^^^^ use of undeclared type `Gearset`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 794 + use vexide_devices::smart::motor::Gearset;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Direction`
[INFO] [stdout]    --> src/smart/motor.rs:798:64
[INFO] [stdout]     |
[INFO] [stdout] 798 |     let motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]     |                                                                ^^^^^^^^^ use of undeclared type `Direction`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 794 + use vexide_devices::math::Direction;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]    --> src/smart/motor.rs:803:9
[INFO] [stdout]     |
[INFO] [stdout] 803 |         sleep(Motor::UPDATE_INTERVAL).await;
[INFO] [stdout]     |         ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 794 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Motor`
[INFO] [stdout]    --> src/smart/motor.rs:803:15
[INFO] [stdout]     |
[INFO] [stdout] 803 |         sleep(Motor::UPDATE_INTERVAL).await;
[INFO] [stdout]     |               ^^^^^ use of undeclared type `Motor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 794 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/motor.rs:797:1
[INFO] [stdout]     |
[INFO] [stdout] 797 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 9 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::efficiency (line 1023) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     --> src/smart/motor.rs:1024:5
[INFO] [stdout]      |
[INFO] [stdout] 1024 | use vexide::prelude::*;
[INFO] [stdout]      |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]      |
[INFO] [stdout]      = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     --> src/smart/motor.rs:1026:3
[INFO] [stdout]      |
[INFO] [stdout] 1026 | #[vexide::main]
[INFO] [stdout]      |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]     --> src/smart/motor.rs:1027:28
[INFO] [stdout]      |
[INFO] [stdout] 1027 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]      |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]      |
[INFO] [stdout] 1024 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Motor`
[INFO] [stdout]     --> src/smart/motor.rs:1028:21
[INFO] [stdout]      |
[INFO] [stdout] 1028 |     let mut motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]      |                     ^^^^^ use of undeclared type `Motor`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]      |
[INFO] [stdout] 1024 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Gearset`
[INFO] [stdout]     --> src/smart/motor.rs:1028:52
[INFO] [stdout]      |
[INFO] [stdout] 1028 |     let mut motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]      |                                                    ^^^^^^^ use of undeclared type `Gearset`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]      |
[INFO] [stdout] 1024 + use vexide_devices::smart::motor::Gearset;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Direction`
[INFO] [stdout]     --> src/smart/motor.rs:1028:68
[INFO] [stdout]      |
[INFO] [stdout] 1028 |     let mut motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]      |                                                                    ^^^^^^^^^ use of undeclared type `Direction`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]      |
[INFO] [stdout] 1024 + use vexide_devices::math::Direction;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]     --> src/smart/motor.rs:1033:9
[INFO] [stdout]      |
[INFO] [stdout] 1033 |         sleep(Motor::UPDATE_INTERVAL).await;
[INFO] [stdout]      |         ^^^^^ not found in this scope
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]      |
[INFO] [stdout] 1024 + use std::thread::sleep;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Motor`
[INFO] [stdout]     --> src/smart/motor.rs:1033:15
[INFO] [stdout]      |
[INFO] [stdout] 1033 |         sleep(Motor::UPDATE_INTERVAL).await;
[INFO] [stdout]      |               ^^^^^ use of undeclared type `Motor`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]      |
[INFO] [stdout] 1024 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]     --> src/smart/motor.rs:1027:1
[INFO] [stdout]      |
[INFO] [stdout] 1027 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 9 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::set_target (line 421) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:424:5
[INFO] [stdout]     |
[INFO] [stdout] 424 | use vexide::{
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `vexide::smart::motor::BrakeMode`, `vexide::smart::motor::MotorControl`
[INFO] [stdout]    --> src/smart/motor.rs:426:20
[INFO] [stdout]     |
[INFO] [stdout] 426 |     smart::motor::{BrakeMode, MotorControl},
[INFO] [stdout]     |                    ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:429:3
[INFO] [stdout]     |
[INFO] [stdout] 429 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/motor.rs:430:28
[INFO] [stdout]     |
[INFO] [stdout] 430 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 422 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Motor`
[INFO] [stdout]    --> src/smart/motor.rs:431:21
[INFO] [stdout]     |
[INFO] [stdout] 431 |     let mut motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]     |                     ^^^^^ use of undeclared type `Motor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 422 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Gearset`
[INFO] [stdout]    --> src/smart/motor.rs:431:52
[INFO] [stdout]     |
[INFO] [stdout] 431 |     let mut motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]     |                                                    ^^^^^^^ use of undeclared type `Gearset`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 422 + use vexide_devices::smart::motor::Gearset;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Direction`
[INFO] [stdout]    --> src/smart/motor.rs:431:68
[INFO] [stdout]     |
[INFO] [stdout] 431 |     let mut motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]     |                                                                    ^^^^^^^^^ use of undeclared type `Direction`
[INFO] [stdout]     |
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 431 -     let mut motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout] 431 +     let mut motor = Motor::new(peripherals.port_1, Gearset::Green, Duration::Forward);
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 422 + use vexide_devices::math::Direction;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]    --> src/smart/motor.rs:433:5
[INFO] [stdout]     |
[INFO] [stdout] 433 |     sleep(Duration::from_secs(1)).await;
[INFO] [stdout]     |     ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 422 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/motor.rs:430:1
[INFO] [stdout]     |
[INFO] [stdout] 430 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 9 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::set_profiled_velocity (line 383) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:384:5
[INFO] [stdout]     |
[INFO] [stdout] 384 | use vexide::{math::Angle, prelude::*};
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::math::Angle`
[INFO] [stdout]    --> src/smart/motor.rs:384:14
[INFO] [stdout]     |
[INFO] [stdout] 384 | use vexide::{math::Angle, prelude::*};
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:386:3
[INFO] [stdout]     |
[INFO] [stdout] 386 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/motor.rs:387:28
[INFO] [stdout]     |
[INFO] [stdout] 387 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 384 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Motor`
[INFO] [stdout]    --> src/smart/motor.rs:388:21
[INFO] [stdout]     |
[INFO] [stdout] 388 |     let mut motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]     |                     ^^^^^ use of undeclared type `Motor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 384 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Gearset`
[INFO] [stdout]    --> src/smart/motor.rs:388:52
[INFO] [stdout]     |
[INFO] [stdout] 388 |     let mut motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]     |                                                    ^^^^^^^ use of undeclared type `Gearset`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 384 + use vexide_devices::smart::motor::Gearset;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Direction`
[INFO] [stdout]    --> src/smart/motor.rs:388:68
[INFO] [stdout]     |
[INFO] [stdout] 388 |     let mut motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]     |                                                                    ^^^^^^^^^ use of undeclared type `Direction`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 384 + use vexide_devices::math::Direction;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/motor.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::faults (line 1312) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     --> src/smart/motor.rs:1313:5
[INFO] [stdout]      |
[INFO] [stdout] 1313 | use vexide::{prelude::*, smart::motor::MotorFaults};
[INFO] [stdout]      |     ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]      |
[INFO] [stdout]      = help: if you wanted to use a crate named `vexide`, use `cargo add vexide` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vexide::smart::motor::MotorFaults`
[INFO] [stdout]     --> src/smart/motor.rs:1313:26
[INFO] [stdout]      |
[INFO] [stdout] 1313 | use vexide::{prelude::*, smart::motor::MotorFaults};
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     --> src/smart/motor.rs:1315:3
[INFO] [stdout]      |
[INFO] [stdout] 1315 | #[vexide::main]
[INFO] [stdout]      |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Peripherals` in this scope
[INFO] [stdout]     --> src/smart/motor.rs:1316:28
[INFO] [stdout]      |
[INFO] [stdout] 1316 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]      |                            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]      |
[INFO] [stdout] 1313 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Motor`
[INFO] [stdout]     --> src/smart/motor.rs:1317:17
[INFO] [stdout]      |
[INFO] [stdout] 1317 |     let motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]      |                 ^^^^^ use of undeclared type `Motor`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]      |
[INFO] [stdout] 1313 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Gearset`
[INFO] [stdout]     --> src/smart/motor.rs:1317:48
[INFO] [stdout]      |
[INFO] [stdout] 1317 |     let motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]      |                                                ^^^^^^^ use of undeclared type `Gearset`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]      |
[INFO] [stdout] 1313 + use vexide_devices::smart::motor::Gearset;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Direction`
[INFO] [stdout]     --> src/smart/motor.rs:1317:64
[INFO] [stdout]      |
[INFO] [stdout] 1317 |     let motor = Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward);
[INFO] [stdout]      |                                                                ^^^^^^^^^ use of undeclared type `Direction`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]      |
[INFO] [stdout] 1313 + use vexide_devices::math::Direction;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]     --> src/smart/motor.rs:1325:9
[INFO] [stdout]      |
[INFO] [stdout] 1325 |         sleep(Motor::UPDATE_INTERVAL).await;
[INFO] [stdout]      |         ^^^^^ not found in this scope
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]      |
[INFO] [stdout] 1313 + use std::thread::sleep;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Motor`
[INFO] [stdout]     --> src/smart/motor.rs:1325:15
[INFO] [stdout]      |
[INFO] [stdout] 1325 |         sleep(Motor::UPDATE_INTERVAL).await;
[INFO] [stdout]      |               ^^^^^ use of undeclared type `Motor`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]      |
[INFO] [stdout] 1313 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]     --> src/smart/motor.rs:1316:1
[INFO] [stdout]      |
[INFO] [stdout] 1316 | async fn main(peripherals: Peripherals) {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 10 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[WARN] too many lines in the log, truncating it
