[INFO] fetching crate vexide-devices 0.8.0-alpha.2...
[INFO] testing vexide-devices-0.8.0-alpha.2 against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-8
[INFO] extracting crate vexide-devices 0.8.0-alpha.2 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate vexide-devices 0.8.0-alpha.2
[INFO] finished tweaking crates.io crate vexide-devices 0.8.0-alpha.2
[INFO] tweaked toml for crates.io crate vexide-devices 0.8.0-alpha.2 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate vexide-devices 0.8.0-alpha.2 on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate vexide-devices 0.8.0-alpha.2 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" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fd41a00e9f82d99273d23412d8a01ebc370a0db3f69128970713e6a542c7a94d
[INFO] running `Command { std: "docker" "start" "-a" "fd41a00e9f82d99273d23412d8a01ebc370a0db3f69128970713e6a542c7a94d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fd41a00e9f82d99273d23412d8a01ebc370a0db3f69128970713e6a542c7a94d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fd41a00e9f82d99273d23412d8a01ebc370a0db3f69128970713e6a542c7a94d", kill_on_drop: false }`
[INFO] [stdout] fd41a00e9f82d99273d23412d8a01ebc370a0db3f69128970713e6a542c7a94d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9b8b73ae0687e0f1158c56abc0e64c9542dff5903c6faa236af392614a96cc0a
[INFO] running `Command { std: "docker" "start" "-a" "9b8b73ae0687e0f1158c56abc0e64c9542dff5903c6faa236af392614a96cc0a", kill_on_drop: false }`
[INFO] [stderr]    Compiling bytemuck v1.23.1
[INFO] [stderr]    Compiling libm v0.2.15
[INFO] [stderr]    Compiling vex-sdk v0.27.1
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling bitflags v2.9.1
[INFO] [stderr]    Compiling mint v0.5.9
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]    Compiling rgb v0.8.51
[INFO] [stderr]    Compiling smart-leds-trait v0.3.1
[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-alpha.2
[INFO] [stderr]    Compiling snafu v0.8.6
[INFO] [stderr]    Compiling vexide-devices v0.8.0-alpha.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.17s
[INFO] running `Command { std: "docker" "inspect" "9b8b73ae0687e0f1158c56abc0e64c9542dff5903c6faa236af392614a96cc0a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9b8b73ae0687e0f1158c56abc0e64c9542dff5903c6faa236af392614a96cc0a", kill_on_drop: false }`
[INFO] [stdout] 9b8b73ae0687e0f1158c56abc0e64c9542dff5903c6faa236af392614a96cc0a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c7228714740c0fa3fb4f2caaf902a536a0704a5003a2dd3c3f80c1216277a86b
[INFO] running `Command { std: "docker" "start" "-a" "c7228714740c0fa3fb4f2caaf902a536a0704a5003a2dd3c3f80c1216277a86b", kill_on_drop: false }`
[INFO] [stderr]    Compiling vexide-devices v0.8.0-alpha.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.34s
[INFO] running `Command { std: "docker" "inspect" "c7228714740c0fa3fb4f2caaf902a536a0704a5003a2dd3c3f80c1216277a86b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c7228714740c0fa3fb4f2caaf902a536a0704a5003a2dd3c3f80c1216277a86b", kill_on_drop: false }`
[INFO] [stdout] c7228714740c0fa3fb4f2caaf902a536a0704a5003a2dd3c3f80c1216277a86b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 36f98baa6521f590932607ca67da3f008012aee267d2503e3a62b7c5644bb0bb
[INFO] running `Command { std: "docker" "start" "-a" "36f98baa6521f590932607ca67da3f008012aee267d2503e3a62b7c5644bb0bb", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.07s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vexide_devices-0e0b6fbccbddbb21)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test color::test::convert_from_raw ... ok
[INFO] [stdout] test color::test::convert_to_raw ... 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::non_modular ... ok
[INFO] [stdout] test math::test::negate ... ok
[INFO] [stdout] test math::test::zero_is_actually_zero ... ok
[INFO] [stderr]    Doc-tests vexide_devices
[INFO] [stdout] test math::test::add_subtract ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 227 tests
[INFO] [stdout] test src/adi/digital.rs - adi::digital::AdiDigitalOut::set_high (line 317) ... FAILED
[INFO] [stdout] test src/adi/encoder.rs - adi::encoder::AdiOpticalEncoder (line 69) ... FAILED
[INFO] [stdout] test src/adi/gyroscope.rs - adi::gyroscope::AdiGyroscope::is_calibrating (line 130) ... FAILED
[INFO] [stdout] test src/adi/encoder.rs - adi::encoder::AdiEncoder<TICKS_PER_REVOLUTION>::reset_position (line 256) ... FAILED
[INFO] [stdout] test src/adi/gyroscope.rs - adi::gyroscope::AdiGyroscope::calibrate (line 158) ... FAILED
[INFO] [stdout] test src/adi/digital.rs - adi::digital::AdiDigitalOut::toggle (line 378) ... FAILED
[INFO] [stdout] test src/adi/digital.rs - adi::digital::AdiDigitalOut::new (line 157) ... FAILED
[INFO] [stdout] test src/adi/light_sensor.rs - adi::light_sensor::AdiLightSensor::new (line 39) ... FAILED
[INFO] [stdout] test src/adi/line_tracker.rs - adi::line_tracker::AdiLineTracker::raw_reflectivity (line 122) ... FAILED
[INFO] [stdout] test src/adi/light_sensor.rs - adi::light_sensor::AdiLightSensor::raw_brightness (line 105) ... FAILED
[INFO] [stdout] test src/adi/light_sensor.rs - adi::light_sensor::AdiLightSensor::brightness (line 72) ... FAILED
[INFO] [stdout] test src/adi/encoder.rs - adi::encoder::AdiEncoder<TICKS_PER_REVOLUTION>::new (line 103) ... FAILED
[INFO] [stdout] test src/adi/digital.rs - adi::digital::AdiDigitalOut::set_low (line 346) ... FAILED
[INFO] [stdout] test src/adi/motor.rs - adi::motor::AdiMotor::stop (line 217) ... FAILED
[INFO] [stdout] test src/adi/line_tracker.rs - adi::line_tracker::AdiLineTracker::new (line 56) ... FAILED
[INFO] [stdout] test src/adi/digital.rs - adi::digital::AdiDigitalOut::set_level (line 220) ... FAILED
[INFO] [stdout] test src/adi/encoder.rs - adi::encoder::AdiEncoder<TICKS_PER_REVOLUTION>::set_position (line 214) ... FAILED
[INFO] [stdout] test src/adi/line_tracker.rs - adi::line_tracker::AdiLineTracker::reflectivity (line 89) ... FAILED
[INFO] [stdout] test src/adi/gyroscope.rs - adi::gyroscope::AdiGyroscope::new (line 101) ... FAILED
[INFO] [stdout] test src/adi/gyroscope.rs - adi::gyroscope::AdiGyroscope::yaw (line 188) ... FAILED
[INFO] [stdout] test src/adi/motor.rs - adi::motor::AdiMotor::raw_output (line 177) ... FAILED
[INFO] [stdout] test src/adi/potentiometer.rs - adi::potentiometer::AdiPotentiometer::new (line 56) ... FAILED
[INFO] [stdout] test src/adi/motor.rs - adi::motor::AdiMotor::output (line 149) ... FAILED
[INFO] [stdout] test src/adi/range_finder.rs - adi::range_finder::AdiRangeFinder::distance (line 128) ... FAILED
[INFO] [stdout] test src/adi/potentiometer.rs - adi::potentiometer::AdiPotentiometer::angle (line 110) ... FAILED
[INFO] [stdout] test src/adi/servo.rs - adi::servo::AdiServo::set_raw_target (line 116) ... FAILED
[INFO] [stdout] test src/adi/digital.rs - adi::digital::AdiDigitalOut::level (line 259) ... FAILED
[INFO] [stdout] test src/adi/servo.rs - adi::servo::AdiServo::new (line 50) ... FAILED
[INFO] [stdout] test src/adi/servo.rs - adi::servo::AdiServo::set_target (line 83) ... FAILED
[INFO] [stdout] test src/adi/motor.rs - adi::motor::AdiMotor::set_raw_output (line 115) ... FAILED
[INFO] [stdout] test src/adi/motor.rs - adi::motor::AdiMotor::new (line 48) ... FAILED
[INFO] [stdout] test src/adi/encoder.rs - adi::encoder::AdiEncoder<TICKS_PER_REVOLUTION>::position (line 173) ... FAILED
[INFO] [stdout] test src/controller.rs - controller::Controller::connection (line 832) ... FAILED
[INFO] [stdout] test src/battery.rs - battery::current (line 54) ... FAILED
[INFO] [stdout] test src/battery.rs - battery::voltage (line 70) ... FAILED
[INFO] [stdout] test src/controller.rs - controller::Controller::battery_capacity (line 860) ... FAILED
[INFO] [stdout] test src/controller.rs - controller::Controller::id (line 678) ... FAILED
[INFO] [stdout] test src/controller.rs - controller::Controller::battery_level (line 888) ... FAILED
[INFO] [stdout] test src/adi/pwm.rs - adi::pwm::AdiPwmOut::set_output (line 74) ... FAILED
[INFO] [stdout] test src/battery.rs - battery::temperature (line 34) ... FAILED
[INFO] [stdout] test src/display.rs - display::Display::draw_text (line 753) ... FAILED
[INFO] [stdout] test src/adi/digital.rs - adi::digital::AdiDigitalOut::with_initial_level (line 183) ... FAILED
[INFO] [stdout] test src/controller.rs - controller::ControllerScreen::clear_line (line 311) ... FAILED
[INFO] [stdout] test src/battery.rs - battery::capacity (line 17) ... FAILED
[INFO] [stdout] test src/controller.rs - controller::ControllerScreen::try_clear_screen (line 430) ... FAILED
[INFO] [stdout] test src/controller.rs - controller::Controller::state (line 711) ... FAILED
[INFO] [stdout] test src/controller.rs - controller::Controller::try_rumble (line 976) ... FAILED
[INFO] [stdout] test src/adi/motor.rs - adi::motor::AdiMotor::set_output (line 88) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 16) ... FAILED
[INFO] [stdout] test src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::color (line 671) ... FAILED
[INFO] [stdout] test src/controller.rs - controller::ControllerScreen::clear_screen (line 394) ... FAILED
[INFO] [stdout] test src/peripherals.rs - peripherals (line 49) ... FAILED
[INFO] [stdout] test src/adi/range_finder.rs - adi::range_finder::AdiRangeFinder::new (line 64) ... FAILED
[INFO] [stdout] test src/controller.rs - controller::Controller::rumble (line 939) ... FAILED
[INFO] [stdout] test src/controller.rs - controller::ControllerScreen::set_text (line 477) ... FAILED
[INFO] [stdout] test src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::color_codes (line 574) ... FAILED
[INFO] [stdout] test src/controller.rs - controller::ControllerScreen::try_set_text (line 523) ... FAILED
[INFO] [stdout] test src/adi/pwm.rs - adi::pwm::AdiPwmOut::new (line 44) ... FAILED
[INFO] [stdout] test src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::colors (line 726) ... FAILED
[INFO] [stdout] test src/peripherals.rs - peripherals (line 38) ... FAILED
[INFO] [stdout] test src/controller.rs - controller::ControllerScreen::try_clear_line (line 352) ... FAILED
[INFO] [stdout] test src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::flags (line 803) ... FAILED
[INFO] [stdout] test src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::object_count (line 1052) ... FAILED
[INFO] [stdout] test src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::set_detection_mode (line 768) ... FAILED
[INFO] [stdout] test src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::set_flags (line 829) ... FAILED
[INFO] [stdout] test src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::new (line 374) ... FAILED
[INFO] [stdout] test src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::set_color (line 615) ... FAILED
[INFO] [stdout] test src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::set_apriltag_family (line 907) ... FAILED
[INFO] [stdout] test src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::temperature (line 403) ... FAILED
[INFO] [stdout] test src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::set_color_code (line 438) ... FAILED
[INFO] [stdout] test src/smart/electromagnet.rs - smart::electromagnet::Electromagnet::new (line 44) ... FAILED
[INFO] [stdout] test src/smart/distance.rs - smart::distance::DistanceSensor::object (line 91) ... FAILED
[INFO] [stdout] test src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::objects (line 944) ... FAILED
[INFO] [stdout] test src/smart/distance.rs - smart::distance::DistanceSensor::object (line 106) ... FAILED
[INFO] [stdout] test src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::color_code (line 516) ... FAILED
[INFO] [stdout] test src/smart/distance.rs - smart::distance::DistanceSensor::status (line 156) ... FAILED
[INFO] [stdout] test src/smart/expander.rs - smart::expander::AdiExpander::new (line 74) ... FAILED
[INFO] [stdout] test src/smart/electromagnet.rs - smart::electromagnet::Electromagnet::temperature (line 162) ... FAILED
[INFO] [stdout] test src/smart/distance.rs - smart::distance::DistanceSensor::new (line 48) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 28) ... FAILED
[INFO] [stdout] test src/smart/expander.rs - smart::expander (line 21) ... FAILED
[INFO] [stdout] test src/smart/gps.rs - smart::gps::GpsSensor::quaternion (line 508) ... FAILED
[INFO] [stdout] test src/smart/electromagnet.rs - smart::electromagnet::Electromagnet::status (line 189) ... FAILED
[INFO] [stdout] test src/smart/gps.rs - smart::gps::GpsSensor::error (line 309) ... FAILED
[INFO] [stdout] test src/smart/gps.rs - smart::gps::GpsSensor::heading (line 378) ... FAILED
[INFO] [stdout] test src/smart/electromagnet.rs - smart::electromagnet::Electromagnet::power (line 106) ... FAILED
[INFO] [stdout] test src/smart/electromagnet.rs - smart::electromagnet::Electromagnet::current (line 134) ... FAILED
[INFO] [stdout] test src/smart/gps.rs - smart::gps::GpsSensor::new (line 91) ... FAILED
[INFO] [stdout] test src/smart/distance.rs - smart::distance::DistanceSensor::status (line 176) ... FAILED
[INFO] [stdout] test src/smart/gps.rs - smart::gps::GpsSensor::set_heading (line 791) ... FAILED
[INFO] [stdout] test src/smart/gps.rs - smart::gps::GpsSensor::set_rotation (line 751) ... FAILED
[INFO] [stdout] test src/smart/electromagnet.rs - smart::electromagnet::Electromagnet::set_power (line 76) ... FAILED
[INFO] [stdout] test src/smart/gps.rs - smart::gps::GpsSensor::acceleration (line 561) ... FAILED
[INFO] [stdout] test src/smart/gps.rs - smart::gps::GpsSensor::set_offset (line 210) ... FAILED
[INFO] [stdout] test src/smart/gps.rs - smart::gps::GpsSensor::euler (line 458) ... FAILED
[INFO] [stdout] test src/smart/imu.rs - smart::imu::InertialSensor::calibrate (line 270) ... FAILED
[INFO] [stdout] test src/smart/gps.rs - smart::gps::GpsSensor::reset_rotation (line 711) ... FAILED
[INFO] [stdout] test src/smart/gps.rs - smart::gps::GpsSensor::rotation (line 422) ... FAILED
[INFO] [stdout] test src/smart/imu.rs - smart::imu::InertialSensor::acceleration (line 573) ... FAILED
[INFO] [stdout] test src/smart/gps.rs - smart::gps::GpsSensor::position (line 260) ... FAILED
[INFO] [stdout] test src/smart/gps.rs - smart::gps::GpsSensor::reset_heading (line 671) ... FAILED
[INFO] [stdout] test src/smart/gps.rs - smart::gps::GpsSensor::gyro_rate (line 615) ... FAILED
[INFO] [stdout] test src/smart/gps.rs - smart::gps::GpsSensor::offset (line 153) ... FAILED
[INFO] [stdout] test src/smart/imu.rs - smart::imu::InertialSensor::is_auto_calibrated (line 205) ... FAILED
[INFO] [stdout] test src/smart/gps.rs - smart::gps::GpsSensor::status (line 342) ... FAILED
[INFO] [stdout] test src/smart/imu.rs - smart::imu::InertialSensor::rotation (line 344) ... FAILED
[INFO] [stdout] test src/smart/imu.rs - smart::imu::InertialSensor::reset_heading (line 628) ... FAILED
[INFO] [stdout] test src/smart/imu.rs - smart::imu::InertialSensor::gyro_rate (line 521) ... FAILED
[INFO] [stdout] test src/smart/imu.rs - smart::imu::InertialStatus::physical_orientation (line 860) ... FAILED
[INFO] [stdout] test src/smart/imu.rs - smart::imu::InertialSensor::heading (line 382) ... FAILED
[INFO] [stdout] test src/smart/imu.rs - smart::imu::InertialSensor::euler (line 472) ... FAILED
[INFO] [stdout] test src/smart/imu.rs - smart::imu::InertialSensor::calibrate (line 292) ... FAILED
[INFO] [stdout] test src/smart/imu.rs - smart::imu::InertialSensor::new (line 114) ... FAILED
[INFO] [stdout] test src/smart/link.rs - smart::link::RadioLink::open (line 67) ... FAILED
[INFO] [stdout] test src/smart/mod.rs - smart (line 20) ... FAILED
[INFO] [stdout] test src/smart/imu.rs - smart::imu::InertialSensor::set_data_interval (line 770) ... FAILED
[INFO] [stdout] test src/smart/imu.rs - smart::imu::InertialSensor::physical_orientation (line 232) ... FAILED
[INFO] [stdout] test src/smart/gps.rs - smart::gps::GpsSensor::set_data_interval (line 833) ... FAILED
[INFO] [stdout] test src/smart/mod.rs - smart::SmartDevice::is_connected (line 93) ... FAILED
[INFO] [stdout] test src/smart/mod.rs - smart::SmartPort::device_type (line 225) ... FAILED
[INFO] [stdout] test src/smart/imu.rs - smart::imu::InertialSensor::set_heading (line 733) ... FAILED
[INFO] [stdout] test src/smart/mod.rs - smart::SmartPort::new (line 189) ... FAILED
[INFO] [stdout] test src/smart/imu.rs - smart::imu::InertialSensor::quaternion (line 420) ... FAILED
[INFO] [stdout] test src/smart/imu.rs - smart::imu::InertialSensor::set_rotation (line 702) ... FAILED
[INFO] [stdout] test src/smart/link.rs - smart::link::RadioLink::is_linked (line 160) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::current_limit (line 1053) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::brake (line 308) ... FAILED
[INFO] [stdout] test src/smart/link.rs - smart::link::RadioLink::unread_bytes (line 106) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::efficiency (line 885) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::direction (line 1355) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::current (line 853) ... FAILED
[INFO] [stdout] test src/smart/imu.rs - smart::imu::InertialSensor::reset_rotation (line 665) ... FAILED
[INFO] [stdout] test src/smart/mod.rs - smart::SmartDevice::device_type (line 82) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::is_driver_over_current (line 1290) ... FAILED
[INFO] [stdout] test src/smart/mod.rs - smart::SmartDevice::port_number (line 72) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::is_exp (line 566) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::max_voltage (line 606) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::new (line 201) ... FAILED
[INFO] [stdout] test src/smart/imu.rs - smart::imu::InertialSensor::is_calibrating (line 177) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::position (line 782) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::is_driver_fault (line 1260) ... FAILED
[INFO] [stdout] test src/smart/imu.rs - smart::imu::InertialSensor::status (line 148) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::is_over_current (line 1229) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::is_over_temperature (line 1197) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::is_v5 (line 585) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::faults (line 1162) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::motor_type (line 548) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::reset_position (line 916) ... FAILED
[INFO] [stdout] test src/smart/link.rs - smart::link::RadioLink::write_capacity (line 136) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::set_direction (line 1327) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::power (line 690) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::set_position (line 959) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::gearset (line 519) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::set_current_limit (line 993) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::set_velocity (line 336) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::set_voltage (line 364) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::new_exp (line 221) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::set_target (line 246) ... FAILED
[INFO] [stdout] test src/smart/mod.rs - smart::SmartPort::number (line 206) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::status (line 1136) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::set_profiled_velocity (line 430) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::target (line 460) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::set_voltage_limit (line 1019) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::temperature (line 1103) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::raw_position (line 821) ... FAILED
[INFO] [stdout] test src/smart/optical.rs - smart::optical::OpticalSensor::hue (line 249) ... FAILED
[INFO] [stdout] test src/smart/optical.rs - smart::optical::OpticalSensor::integration_time (line 167) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::set_gearset (line 485) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::torque (line 718) ... FAILED
[INFO] [stdout] test src/smart/optical.rs - smart::optical::OpticalSensor::brightness (line 327) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::set_voltage (line 378) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::set_position (line 948) ... FAILED
[INFO] [stdout] test src/smart/optical.rs - smart::optical::OpticalSensor::last_gesture (line 453) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::voltage_limit (line 1078) ... FAILED
[INFO] [stdout] test src/smart/optical.rs - smart::optical::OpticalSensor::status (line 513) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::velocity (line 652) ... FAILED
[INFO] [stdout] test src/smart/optical.rs - smart::optical::OpticalSensor::new (line 66) ... FAILED
[INFO] [stdout] test src/smart/optical.rs - smart::optical::OpticalSensor::proximity (line 366) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::voltage (line 745) ... FAILED
[INFO] [stdout] test src/smart/optical.rs - smart::optical::OpticalSensor::led_brightness (line 91) ... FAILED
[INFO] [stdout] test src/smart/optical.rs - smart::optical::OpticalSensor::set_integration_time (line 211) ... FAILED
[INFO] [stdout] test src/smart/rotation.rs - smart::rotation::RotationSensor::reset_position (line 212) ... FAILED
[INFO] [stdout] test src/smart/rotation.rs - smart::rotation::RotationSensor::set_direction (line 300) ... FAILED
[INFO] [stdout] test src/smart/optical.rs - smart::optical::OpticalSensor::color (line 399) ... FAILED
[INFO] [stdout] test src/smart/rotation.rs - smart::rotation::RotationSensor::direction (line 386) ... FAILED
[INFO] [stdout] test src/smart/serial.rs - smart::serial::SerialPort::clear_buffers (line 126) ... FAILED
[INFO] [stdout] test src/smart/optical.rs - smart::optical::OpticalSensor::set_led_brightness (line 120) ... FAILED
[INFO] [stdout] test src/smart/rotation.rs - smart::rotation::RotationSensor::set_data_interval (line 358) ... 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::position (line 101) ... FAILED
[INFO] [stdout] test src/smart/rotation.rs - smart::rotation::RotationSensor::set_direction (line 286) ... FAILED
[INFO] [stdout] test src/smart/serial.rs - smart::serial::SerialPort::unread_bytes (line 231) ... FAILED
[INFO] [stdout] test src/smart/serial.rs - smart::serial::SerialPort::read_byte (line 147) ... FAILED
[INFO] [stdout] test src/smart/rotation.rs - smart::rotation::RotationSensor::angle (line 141) ... FAILED
[INFO] [stdout] test src/smart/rotation.rs - smart::rotation::RotationSensor::set_position (line 240) ... FAILED
[INFO] [stdout] test src/smart/serial.rs - smart::serial::SerialPort::open (line 69) ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionCode::id (line 1184) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::set_position_target (line 405) ... FAILED
[INFO] [stdout] test src/smart/rotation.rs - smart::rotation::RotationSensor::status (line 415) ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionCode::contains_signature (line 1146) ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionCode::from_id (line 1105) ... FAILED
[INFO] [stdout] test src/smart/serial.rs - smart::serial::SerialPort::set_baud_rate (line 94) ... FAILED
[INFO] [stdout] test src/smart/serial.rs - smart::serial::SerialPort::write_byte (line 205) ... FAILED
[INFO] [stdout] test src/smart/serial.rs - smart::serial::SerialPort::peek_byte (line 177) ... FAILED
[INFO] [stdout] test src/smart/rotation.rs - smart::rotation::RotationSensor::velocity (line 177) ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionSensor::led_mode (line 635) ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionSensor::set_brightness (line 500) ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionSensor::add_code (line 337) ... FAILED
[INFO] [stdout] test src/smart/motor.rs - smart::motor::Motor::velocity (line 640) ... FAILED
[INFO] [stdout] test src/smart/optical.rs - smart::optical::OpticalSensor::saturation (line 291) ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionSensor::object_count (line 784) ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionSensor::brightness (line 401) ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionSensor::objects (line 687) ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionSensor::signature (line 236) ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionSensor::set_led_mode (line 589) ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionSensor::mode (line 885) ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionSignature::from_utility (line 1019) ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionSensor::objects (line 715) ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionSensor::set_signature (line 127) ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionCode::new (line 1084) ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionSensor::set_white_balance (line 530) ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionSensor::set_mode (line 832) ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionSignature::new (line 992) ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionSensor::new (line 85) ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionSensor::signatures (line 273) ... FAILED
[INFO] [stdout] test src/smart/serial.rs - smart::serial::SerialPort::write_capacity (line 261) ... FAILED
[INFO] [stdout] test src/smart/vision.rs - smart::vision::VisionSensor::white_balance (line 436) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/adi/digital.rs - adi::digital::AdiDigitalOut::set_high (line 317) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/digital.rs:318:5
[INFO] [stdout]     |
[INFO] [stdout] 318 | 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:320:3
[INFO] [stdout]     |
[INFO] [stdout] 320 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/digital.rs:321:28
[INFO] [stdout]     |
[INFO] [stdout] 321 | 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] 318 + 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:322:23
[INFO] [stdout]     |
[INFO] [stdout] 322 |     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] 318 + use vexide_devices::adi::digital::AdiDigitalOut;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `LogicLevel`
[INFO] [stdout]    --> src/adi/digital.rs:328:66
[INFO] [stdout]     |
[INFO] [stdout] 328 |     assert_eq!(digital_out.level().expect("couldn't get level"), LogicLevel::High);
[INFO] [stdout]     |                                                                  ^^^^^^^^^^ use of undeclared type `LogicLevel`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 318 + use vexide_devices::adi::digital::LogicLevel;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/adi/digital.rs:321:1
[INFO] [stdout]     |
[INFO] [stdout] 321 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/encoder.rs - adi::encoder::AdiOpticalEncoder (line 69) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/encoder.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 | 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:73:3
[INFO] [stdout]    |
[INFO] [stdout] 73 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/adi/encoder.rs:74:28
[INFO] [stdout]    |
[INFO] [stdout] 74 | 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] 70 + 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:75:19
[INFO] [stdout]    |
[INFO] [stdout] 75 |     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] 70 + 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:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |         sleep(AdiDevice::ADI_UPDATE_INTERVAL).await;
[INFO] [stdout]    |         ^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]    |
[INFO] [stdout] 70 + use std::thread::sleep;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiDevice`
[INFO] [stdout]   --> src/adi/encoder.rs:79:15
[INFO] [stdout]    |
[INFO] [stdout] 79 |         sleep(AdiDevice::ADI_UPDATE_INTERVAL).await;
[INFO] [stdout]    |               ^^^^^^^^^ use of undeclared type `AdiDevice`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]    |
[INFO] [stdout] 70 + use vexide_devices::adi::AdiDevice;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]   --> src/adi/encoder.rs:74:1
[INFO] [stdout]    |
[INFO] [stdout] 74 | 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: E0412, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/gyroscope.rs - adi::gyroscope::AdiGyroscope::is_calibrating (line 130) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/gyroscope.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 | 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:133:3
[INFO] [stdout]     |
[INFO] [stdout] 133 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/gyroscope.rs:134:28
[INFO] [stdout]     |
[INFO] [stdout] 134 | 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] 131 + 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:135:16
[INFO] [stdout]     |
[INFO] [stdout] 135 |     let gyro = AdiGyroscope::new(peripherals.adi_port_a());
[INFO] [stdout]     |                ^^^^^^^^^^^^ use of undeclared type `AdiGyroscope`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 131 + 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:134:1
[INFO] [stdout]     |
[INFO] [stdout] 134 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/encoder.rs - adi::encoder::AdiEncoder<TICKS_PER_REVOLUTION>::reset_position (line 256) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/encoder.rs:257:5
[INFO] [stdout]     |
[INFO] [stdout] 257 | 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:262:3
[INFO] [stdout]     |
[INFO] [stdout] 262 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/encoder.rs:263:28
[INFO] [stdout]     |
[INFO] [stdout] 263 | 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] 257 + 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:264:19
[INFO] [stdout]     |
[INFO] [stdout] 264 |     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] 257 + 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:263:1
[INFO] [stdout]     |
[INFO] [stdout] 263 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/gyroscope.rs - adi::gyroscope::AdiGyroscope::calibrate (line 158) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/gyroscope.rs:159:5
[INFO] [stdout]     |
[INFO] [stdout] 159 | 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:161:3
[INFO] [stdout]     |
[INFO] [stdout] 161 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/gyroscope.rs:162:28
[INFO] [stdout]     |
[INFO] [stdout] 162 | 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] 159 + 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:163:16
[INFO] [stdout]     |
[INFO] [stdout] 163 |     let gyro = AdiGyroscope::new(peripherals.adi_port_a());
[INFO] [stdout]     |                ^^^^^^^^^^^^ use of undeclared type `AdiGyroscope`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 159 + use vexide_devices::adi::gyroscope::AdiGyroscope;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Duration`
[INFO] [stdout]    --> src/adi/gyroscope.rs:165:73
[INFO] [stdout]     |
[INFO] [stdout] 165 |     println!("Calibration completed successfully? {:?}", gyro.calibrate(Duration::from_secs(2)).await.is_ok());
[INFO] [stdout]     |                                                                         ^^^^^^^^ use of undeclared type `Duration`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 159 + use std::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/adi/gyroscope.rs:165:58
[INFO] [stdout]     |
[INFO] [stdout] 165 |     println!("Calibration completed successfully? {:?}", 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:162:1
[INFO] [stdout]     |
[INFO] [stdout] 162 | 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, E0412, 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/digital.rs - adi::digital::AdiDigitalOut::toggle (line 378) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/digital.rs:379:5
[INFO] [stdout]     |
[INFO] [stdout] 379 | 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:382:3
[INFO] [stdout]     |
[INFO] [stdout] 382 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/digital.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] 379 + 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:384:23
[INFO] [stdout]     |
[INFO] [stdout] 384 |     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] 379 + 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:389:9
[INFO] [stdout]     |
[INFO] [stdout] 389 |         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] 379 + 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: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 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0412, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/digital.rs - adi::digital::AdiDigitalOut::new (line 157) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/digital.rs:158:5
[INFO] [stdout]     |
[INFO] [stdout] 158 | 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:161:3
[INFO] [stdout]     |
[INFO] [stdout] 161 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/digital.rs:162:28
[INFO] [stdout]     |
[INFO] [stdout] 162 | 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] 158 + 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:163:23
[INFO] [stdout]     |
[INFO] [stdout] 163 |     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] 158 + 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:168:9
[INFO] [stdout]     |
[INFO] [stdout] 168 |         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] 158 + 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:162:1
[INFO] [stdout]     |
[INFO] [stdout] 162 | 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: E0412, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[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[E0412]: 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.port_1);
[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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/line_tracker.rs - adi::line_tracker::AdiLineTracker::raw_reflectivity (line 122) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/line_tracker.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 123 | 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:125:3
[INFO] [stdout]     |
[INFO] [stdout] 125 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/line_tracker.rs:126:28
[INFO] [stdout]     |
[INFO] [stdout] 126 | 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] 123 + 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:127:24
[INFO] [stdout]     |
[INFO] [stdout] 127 |     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] 123 + 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:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |         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] 123 + 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/line_tracker.rs:130:15
[INFO] [stdout]     |
[INFO] [stdout] 130 |         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] 123 + use vexide_devices::adi;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `adi`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 130 -         sleep(vexide::adi::ADI_UPDATE_INTERVAL).await;
[INFO] [stdout] 130 +         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/line_tracker.rs:126:1
[INFO] [stdout]     |
[INFO] [stdout] 126 | 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: E0412, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/light_sensor.rs - adi::light_sensor::AdiLightSensor::raw_brightness (line 105) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/light_sensor.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 | 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:108:3
[INFO] [stdout]     |
[INFO] [stdout] 108 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/light_sensor.rs:109:28
[INFO] [stdout]     |
[INFO] [stdout] 109 | 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] 106 + 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:111:18
[INFO] [stdout]     |
[INFO] [stdout] 111 |     let sensor = AdiLightSensor::new(peripherals.port_1);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^ use of undeclared type `AdiLightSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 106 + 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:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/light_sensor.rs - adi::light_sensor::AdiLightSensor::brightness (line 72) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/light_sensor.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/light_sensor.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[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/adi/light_sensor.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] 73 + 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:78:18
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let sensor = AdiLightSensor::new(peripherals.port_1);
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^ use of undeclared type `AdiLightSensor`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 73 + 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: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 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/encoder.rs - adi::encoder::AdiEncoder<TICKS_PER_REVOLUTION>::new (line 103) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/encoder.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 | 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:109:3
[INFO] [stdout]     |
[INFO] [stdout] 109 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/encoder.rs:110:28
[INFO] [stdout]     |
[INFO] [stdout] 110 | 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] 104 + 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:111:19
[INFO] [stdout]     |
[INFO] [stdout] 111 |     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] 104 + 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:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |         sleep(AdiDevice::ADI_UPDATE_INTERVAL).await;
[INFO] [stdout]     |         ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 104 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AdiDevice`
[INFO] [stdout]    --> src/adi/encoder.rs:115:15
[INFO] [stdout]     |
[INFO] [stdout] 115 |         sleep(AdiDevice::ADI_UPDATE_INTERVAL).await;
[INFO] [stdout]     |               ^^^^^^^^^ use of undeclared type `AdiDevice`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]     |
[INFO] [stdout] 104 + use vexide_devices::adi::AdiDevice;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/adi/encoder.rs:110:1
[INFO] [stdout]     |
[INFO] [stdout] 110 | 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: E0412, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/digital.rs - adi::digital::AdiDigitalOut::set_low (line 346) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/digital.rs:347:5
[INFO] [stdout]     |
[INFO] [stdout] 347 | 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:349:3
[INFO] [stdout]     |
[INFO] [stdout] 349 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/digital.rs:350:28
[INFO] [stdout]     |
[INFO] [stdout] 350 | 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] 347 + 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:351:23
[INFO] [stdout]     |
[INFO] [stdout] 351 |     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] 347 + use vexide_devices::adi::digital::AdiDigitalOut;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `LogicLevel`
[INFO] [stdout]    --> src/adi/digital.rs:357:66
[INFO] [stdout]     |
[INFO] [stdout] 357 |     assert_eq!(digital_out.level().expect("couldn't get level"), LogicLevel::High);
[INFO] [stdout]     |                                                                  ^^^^^^^^^^ use of undeclared type `LogicLevel`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 347 + use vexide_devices::adi::digital::LogicLevel;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/adi/digital.rs:350:1
[INFO] [stdout]     |
[INFO] [stdout] 350 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/motor.rs - adi::motor::AdiMotor::stop (line 217) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/motor.rs:218:5
[INFO] [stdout]     |
[INFO] [stdout] 218 | 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:220:3
[INFO] [stdout]     |
[INFO] [stdout] 220 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/motor.rs:221:28
[INFO] [stdout]     |
[INFO] [stdout] 221 | 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] 218 + 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:223:21
[INFO] [stdout]     |
[INFO] [stdout] 223 |     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] 218 + 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:221:1
[INFO] [stdout]     |
[INFO] [stdout] 221 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/line_tracker.rs - adi::line_tracker::AdiLineTracker::new (line 56) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/line_tracker.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | 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:59:3
[INFO] [stdout]    |
[INFO] [stdout] 59 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/adi/line_tracker.rs:60:28
[INFO] [stdout]    |
[INFO] [stdout] 60 | 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] 57 + 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:61:24
[INFO] [stdout]    |
[INFO] [stdout] 61 |     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] 57 + 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:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         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] 57 + 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/line_tracker.rs:64:15
[INFO] [stdout]    |
[INFO] [stdout] 64 |         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] 57 + use vexide_devices::adi;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `adi`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 64 -         sleep(vexide::adi::ADI_UPDATE_INTERVAL).await;
[INFO] [stdout] 64 +         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/line_tracker.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | 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: E0412, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/digital.rs - adi::digital::AdiDigitalOut::set_level (line 220) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/digital.rs:221:5
[INFO] [stdout]     |
[INFO] [stdout] 221 | 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:223:3
[INFO] [stdout]     |
[INFO] [stdout] 223 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/digital.rs:224:28
[INFO] [stdout]     |
[INFO] [stdout] 224 | 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] 221 + 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:225:23
[INFO] [stdout]     |
[INFO] [stdout] 225 |     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] 221 + use vexide_devices::adi::digital::AdiDigitalOut;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `LogicLevel`
[INFO] [stdout]    --> src/adi/digital.rs:228:31
[INFO] [stdout]     |
[INFO] [stdout] 228 |     _ = digital_out.set_level(LogicLevel::High);
[INFO] [stdout]     |                               ^^^^^^^^^^ use of undeclared type `LogicLevel`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 221 + use vexide_devices::adi::digital::LogicLevel;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `LogicLevel`
[INFO] [stdout]    --> src/adi/digital.rs:231:66
[INFO] [stdout]     |
[INFO] [stdout] 231 |     assert_eq!(digital_out.level().expect("couldn't get level"), LogicLevel::High);
[INFO] [stdout]     |                                                                  ^^^^^^^^^^ use of undeclared type `LogicLevel`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 221 + use vexide_devices::adi::digital::LogicLevel;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/adi/digital.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/encoder.rs - adi::encoder::AdiEncoder<TICKS_PER_REVOLUTION>::set_position (line 214) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/encoder.rs:215:5
[INFO] [stdout]     |
[INFO] [stdout] 215 | use vexide::{prelude::*, 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[E0432]: unresolved import `vexide::math::Angle`
[INFO] [stdout]    --> src/adi/encoder.rs:215:26
[INFO] [stdout]     |
[INFO] [stdout] 215 | use vexide::{prelude::*, math::Angle};
[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:220:3
[INFO] [stdout]     |
[INFO] [stdout] 220 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/encoder.rs:221:28
[INFO] [stdout]     |
[INFO] [stdout] 221 | 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] 215 + 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:222:19
[INFO] [stdout]     |
[INFO] [stdout] 222 |     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] 215 + 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:221:1
[INFO] [stdout]     |
[INFO] [stdout] 221 | 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: E0412, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/line_tracker.rs - adi::line_tracker::AdiLineTracker::reflectivity (line 89) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/line_tracker.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/line_tracker.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[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/adi/line_tracker.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 `AdiLineTracker`
[INFO] [stdout]   --> src/adi/line_tracker.rs:94:24
[INFO] [stdout]    |
[INFO] [stdout] 94 |     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] 90 + 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:97:9
[INFO] [stdout]    |
[INFO] [stdout] 97 |         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] 90 + 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/line_tracker.rs:97:15
[INFO] [stdout]    |
[INFO] [stdout] 97 |         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] 90 + use vexide_devices::adi;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `adi`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 97 -         sleep(vexide::adi::ADI_UPDATE_INTERVAL).await;
[INFO] [stdout] 97 +         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/line_tracker.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 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0412, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/gyroscope.rs - adi::gyroscope::AdiGyroscope::new (line 101) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/gyroscope.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 | 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:104:3
[INFO] [stdout]     |
[INFO] [stdout] 104 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/gyroscope.rs:105:28
[INFO] [stdout]     |
[INFO] [stdout] 105 | 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] 102 + 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:106:16
[INFO] [stdout]     |
[INFO] [stdout] 106 |     let gyro = AdiGyroscope::new(peripherals.adi_port_a());
[INFO] [stdout]     |                ^^^^^^^^^^^^ use of undeclared type `AdiGyroscope`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 102 + use vexide_devices::adi::gyroscope::AdiGyroscope;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Duration`
[INFO] [stdout]    --> src/adi/gyroscope.rs:108:24
[INFO] [stdout]     |
[INFO] [stdout] 108 |     _ = gyro.calibrate(Duration::from_secs(2)).await;
[INFO] [stdout]     |                        ^^^^^^^^ use of undeclared type `Duration`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 102 + use std::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/adi/gyroscope.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/gyroscope.rs - adi::gyroscope::AdiGyroscope::yaw (line 188) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/gyroscope.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/adi/gyroscope.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[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/gyroscope.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 `AdiGyroscope`
[INFO] [stdout]    --> src/adi/gyroscope.rs:193:16
[INFO] [stdout]     |
[INFO] [stdout] 193 |     let gyro = AdiGyroscope::new(peripherals.adi_port_a());
[INFO] [stdout]     |                ^^^^^^^^^^^^ use of undeclared type `AdiGyroscope`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 189 + use vexide_devices::adi::gyroscope::AdiGyroscope;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Duration`
[INFO] [stdout]    --> src/adi/gyroscope.rs:194:24
[INFO] [stdout]     |
[INFO] [stdout] 194 |     _ = gyro.calibrate(Duration::from_secs(2)).await;
[INFO] [stdout]     |                        ^^^^^^^^ use of undeclared type `Duration`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 189 + use std::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/adi/gyroscope.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 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/motor.rs - adi::motor::AdiMotor::raw_output (line 177) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/motor.rs:178:5
[INFO] [stdout]     |
[INFO] [stdout] 178 | 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:180:3
[INFO] [stdout]     |
[INFO] [stdout] 180 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/motor.rs:181:28
[INFO] [stdout]     |
[INFO] [stdout] 181 | 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] 178 + 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:183:21
[INFO] [stdout]     |
[INFO] [stdout] 183 |     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] 178 + 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:181:1
[INFO] [stdout]     |
[INFO] [stdout] 181 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/potentiometer.rs - adi::potentiometer::AdiPotentiometer::new (line 56) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/potentiometer.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | 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:59:3
[INFO] [stdout]    |
[INFO] [stdout] 59 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/adi/potentiometer.rs:60:28
[INFO] [stdout]    |
[INFO] [stdout] 60 | 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] 57 + 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:61:25
[INFO] [stdout]    |
[INFO] [stdout] 61 |     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] 57 + 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:61:66
[INFO] [stdout]    |
[INFO] [stdout] 61 |     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] 57 + 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:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |         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] 57 + use std::thread::sleep;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Duration`
[INFO] [stdout]   --> src/adi/potentiometer.rs:65:15
[INFO] [stdout]    |
[INFO] [stdout] 65 |         sleep(Duration::from_millis(10)).await;
[INFO] [stdout]    |               ^^^^^^^^ use of undeclared type `Duration`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 57 + use std::time::Duration;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]   --> src/adi/potentiometer.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | 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: E0412, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/motor.rs - adi::motor::AdiMotor::output (line 149) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/motor.rs:150:5
[INFO] [stdout]     |
[INFO] [stdout] 150 | 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:152:3
[INFO] [stdout]     |
[INFO] [stdout] 152 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/motor.rs:153:28
[INFO] [stdout]     |
[INFO] [stdout] 153 | 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] 150 + 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:155:21
[INFO] [stdout]     |
[INFO] [stdout] 155 |     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] 150 + 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:153:1
[INFO] [stdout]     |
[INFO] [stdout] 153 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/range_finder.rs - adi::range_finder::AdiRangeFinder::distance (line 128) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/range_finder.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 | 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:131:3
[INFO] [stdout]     |
[INFO] [stdout] 131 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/range_finder.rs:132:28
[INFO] [stdout]     |
[INFO] [stdout] 132 | 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] 129 + 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:133:24
[INFO] [stdout]     |
[INFO] [stdout] 133 |     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] 129 + 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:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |         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] 129 + 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/range_finder.rs:140:15
[INFO] [stdout]     |
[INFO] [stdout] 140 |         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] 129 + use vexide_devices::adi;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `adi`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 140 -         sleep(vexide::adi::ADI_UPDATE_INTERVAL).await;
[INFO] [stdout] 140 +         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/range_finder.rs:132:1
[INFO] [stdout]     |
[INFO] [stdout] 132 | 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: E0412, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/potentiometer.rs - adi::potentiometer::AdiPotentiometer::angle (line 110) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/potentiometer.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/adi/potentiometer.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[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/potentiometer.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 `AdiPotentiometer`
[INFO] [stdout]    --> src/adi/potentiometer.rs:115:25
[INFO] [stdout]     |
[INFO] [stdout] 115 |     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] 111 + 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:115:66
[INFO] [stdout]     |
[INFO] [stdout] 115 |     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] 111 + 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:119:9
[INFO] [stdout]     |
[INFO] [stdout] 119 |         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] 111 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Duration`
[INFO] [stdout]    --> src/adi/potentiometer.rs:119:15
[INFO] [stdout]     |
[INFO] [stdout] 119 |         sleep(Duration::from_millis(10)).await;
[INFO] [stdout]     |               ^^^^^^^^ use of undeclared type `Duration`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 111 + use std::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/adi/potentiometer.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 8 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0412, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/servo.rs - adi::servo::AdiServo::set_raw_target (line 116) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/servo.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 117 | 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:119:3
[INFO] [stdout]     |
[INFO] [stdout] 119 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/servo.rs:120:28
[INFO] [stdout]     |
[INFO] [stdout] 120 | 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] 117 + 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:121:21
[INFO] [stdout]     |
[INFO] [stdout] 121 |     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] 117 + 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:120:1
[INFO] [stdout]     |
[INFO] [stdout] 120 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/digital.rs - adi::digital::AdiDigitalOut::level (line 259) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/digital.rs:260:5
[INFO] [stdout]     |
[INFO] [stdout] 260 | 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:262:3
[INFO] [stdout]     |
[INFO] [stdout] 262 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/digital.rs:263:28
[INFO] [stdout]     |
[INFO] [stdout] 263 | 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] 260 + 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:264:23
[INFO] [stdout]     |
[INFO] [stdout] 264 |     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] 260 + use vexide_devices::adi::digital::AdiDigitalOut;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `LogicLevel`
[INFO] [stdout]    --> src/adi/digital.rs:266:66
[INFO] [stdout]     |
[INFO] [stdout] 266 |     assert_eq!(digital_out.level().expect("couldn't get level"), LogicLevel::Low);
[INFO] [stdout]     |                                                                  ^^^^^^^^^^ use of undeclared type `LogicLevel`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 260 + use vexide_devices::adi::digital::LogicLevel;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/adi/digital.rs:263:1
[INFO] [stdout]     |
[INFO] [stdout] 263 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[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::{prelude::*, 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[E0432]: unresolved import `vexide::math::Angle`
[INFO] [stdout]   --> src/adi/servo.rs:51:26
[INFO] [stdout]    |
[INFO] [stdout] 51 | use vexide::{prelude::*, math::Angle};
[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[E0412]: 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: E0412, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/servo.rs - adi::servo::AdiServo::set_target (line 83) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/servo.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 | use vexide::{prelude::*, 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[E0432]: unresolved import `vexide::math::Angle`
[INFO] [stdout]   --> src/adi/servo.rs:84:26
[INFO] [stdout]    |
[INFO] [stdout] 84 | use vexide::{prelude::*, math::Angle};
[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:86:3
[INFO] [stdout]    |
[INFO] [stdout] 86 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/adi/servo.rs:87:28
[INFO] [stdout]    |
[INFO] [stdout] 87 | 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] 84 + 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:88:21
[INFO] [stdout]    |
[INFO] [stdout] 88 |     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] 84 + 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:87:1
[INFO] [stdout]    |
[INFO] [stdout] 87 | 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: E0412, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/motor.rs - adi::motor::AdiMotor::set_raw_output (line 115) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/motor.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 116 | 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:118:3
[INFO] [stdout]     |
[INFO] [stdout] 118 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/motor.rs:119:28
[INFO] [stdout]     |
[INFO] [stdout] 119 | 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] 116 + 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:121:21
[INFO] [stdout]     |
[INFO] [stdout] 121 |     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] 116 + 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:119:1
[INFO] [stdout]     |
[INFO] [stdout] 119 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/motor.rs - adi::motor::AdiMotor::new (line 48) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/motor.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | 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:51:3
[INFO] [stdout]    |
[INFO] [stdout] 51 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/adi/motor.rs:52:28
[INFO] [stdout]    |
[INFO] [stdout] 52 | 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] 49 + 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:54:21
[INFO] [stdout]    |
[INFO] [stdout] 54 |     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] 49 + 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:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/encoder.rs - adi::encoder::AdiEncoder<TICKS_PER_REVOLUTION>::position (line 173) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/encoder.rs:174:5
[INFO] [stdout]     |
[INFO] [stdout] 174 | use vexide::{prelude::*, 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[E0432]: unresolved import `vexide::math::Angle`
[INFO] [stdout]    --> src/adi/encoder.rs:174:26
[INFO] [stdout]     |
[INFO] [stdout] 174 | use vexide::{prelude::*, math::Angle};
[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:179:3
[INFO] [stdout]     |
[INFO] [stdout] 179 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/encoder.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] 174 + 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:181:19
[INFO] [stdout]     |
[INFO] [stdout] 181 |     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] 174 + 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:185:9
[INFO] [stdout]     |
[INFO] [stdout] 185 |         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] 174 + 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:185:15
[INFO] [stdout]     |
[INFO] [stdout] 185 |         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] 174 + use vexide_devices::adi;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `adi`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 185 -         sleep(vexide::adi::ADI_UPDATE_INTERVAL).await;
[INFO] [stdout] 185 +         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: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 8 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0412, E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/controller.rs - controller::Controller::connection (line 832) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/controller.rs:833:5
[INFO] [stdout]     |
[INFO] [stdout] 833 | 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:835:3
[INFO] [stdout]     |
[INFO] [stdout] 835 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/controller.rs:836:28
[INFO] [stdout]     |
[INFO] [stdout] 836 | 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] 833 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `ControllerConnection`
[INFO] [stdout]    --> src/controller.rs:838:35
[INFO] [stdout]     |
[INFO] [stdout] 838 |     if controller.connection() != ControllerConnection::VexNet {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^ use of undeclared type `ControllerConnection`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 833 + use vexide_devices::controller::ControllerConnection;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/controller.rs:836:1
[INFO] [stdout]     |
[INFO] [stdout] 836 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[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/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/controller.rs - controller::Controller::battery_capacity (line 860) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/controller.rs:861:5
[INFO] [stdout]     |
[INFO] [stdout] 861 | 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:863:3
[INFO] [stdout]     |
[INFO] [stdout] 863 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/controller.rs:864:28
[INFO] [stdout]     |
[INFO] [stdout] 864 | 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] 861 + 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:864:1
[INFO] [stdout]     |
[INFO] [stdout] 864 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/controller.rs - controller::Controller::id (line 678) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/controller.rs:679:5
[INFO] [stdout]     |
[INFO] [stdout] 679 | 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[E0412]: cannot find type `Controller` in this scope
[INFO] [stdout]    --> src/controller.rs:681:33
[INFO] [stdout]     |
[INFO] [stdout] 681 | 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] 678 + use vexide_devices::controller::Controller;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `ControllerId`
[INFO] [stdout]    --> src/controller.rs:685:13
[INFO] [stdout]     |
[INFO] [stdout] 685 |             ControllerId::Primary => println!("Primary Controller A Pressed"),
[INFO] [stdout]     |             ^^^^^^^^^^^^ use of undeclared type `ControllerId`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 678 + use vexide_devices::controller::ControllerId;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `ControllerId`
[INFO] [stdout]    --> src/controller.rs:686:13
[INFO] [stdout]     |
[INFO] [stdout] 686 |             ControllerId::Partner => println!("Partner Controller A Pressed"),
[INFO] [stdout]     |             ^^^^^^^^^^^^ use of undeclared type `ControllerId`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 678 + use vexide_devices::controller::ControllerId;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0412, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/controller.rs - controller::Controller::battery_level (line 888) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/controller.rs:889:5
[INFO] [stdout]     |
[INFO] [stdout] 889 | 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:891:3
[INFO] [stdout]     |
[INFO] [stdout] 891 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/controller.rs:892:28
[INFO] [stdout]     |
[INFO] [stdout] 892 | 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] 889 + 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:900:9
[INFO] [stdout]     |
[INFO] [stdout] 900 |         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] 889 + 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:900:15
[INFO] [stdout]     |
[INFO] [stdout] 900 |         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] 889 + 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:892:1
[INFO] [stdout]     |
[INFO] [stdout] 892 | 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: E0412, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/pwm.rs - adi::pwm::AdiPwmOut::set_output (line 74) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/pwm.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/pwm.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[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/adi/pwm.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 `AdiPwmOut`
[INFO] [stdout]   --> src/adi/pwm.rs:79:19
[INFO] [stdout]    |
[INFO] [stdout] 79 |     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] 75 + 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: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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[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/display.rs - display::Display::draw_text (line 753) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/display.rs:754:5
[INFO] [stdout]     |
[INFO] [stdout] 754 | 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 undeclared type `Display`
[INFO] [stdout]    --> src/display.rs:756:19
[INFO] [stdout]     |
[INFO] [stdout] 756 | let mut display = Display::new();
[INFO] [stdout]     |                   ^^^^^^^ use of undeclared type `Display`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]     |
[INFO] [stdout] 753 + use std::ffi::os_str::Display;
[INFO] [stdout]     |
[INFO] [stdout] 753 + use std::fmt::Display;
[INFO] [stdout]     |
[INFO] [stdout] 753 + use std::path::Display;
[INFO] [stdout]     |
[INFO] [stdout] 753 + use core::fmt::Display;
[INFO] [stdout]     |
[INFO] [stdout]     = and 1 other candidate
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Text`
[INFO] [stdout]    --> src/display.rs:758:12
[INFO] [stdout]     |
[INFO] [stdout] 758 | let text = Text::new("Hello, World!", TextSize::Medium, Point2::new(10, 10));
[INFO] [stdout]     |            ^^^^ use of undeclared type `Text`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 753 + use vexide_devices::display::Text;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Point2`
[INFO] [stdout]    --> src/display.rs:758:57
[INFO] [stdout]     |
[INFO] [stdout] 758 | let text = Text::new("Hello, World!", TextSize::Medium, Point2::new(10, 10));
[INFO] [stdout]     |                                                         ^^^^^^ use of undeclared type `Point2`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 753 + use mint::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 753 + use vexide_devices::math::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Rgb`
[INFO] [stdout]    --> src/display.rs:760:26
[INFO] [stdout]     |
[INFO] [stdout] 760 | display.fill_text(&text, Rgb::new(255, 0, 0), Some(Rgb::new(0, 0, 255)));
[INFO] [stdout]     |                          ^^^ use of undeclared type `Rgb`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 753 + use rgb::Rgb;
[INFO] [stdout]     |
[INFO] [stdout] 753 + use vexide_devices::color::Rgb;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Rgb`
[INFO] [stdout]    --> src/display.rs:760:52
[INFO] [stdout]     |
[INFO] [stdout] 760 | display.fill_text(&text, Rgb::new(255, 0, 0), Some(Rgb::new(0, 0, 255)));
[INFO] [stdout]     |                                                    ^^^ use of undeclared type `Rgb`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 753 + use rgb::Rgb;
[INFO] [stdout]     |
[INFO] [stdout] 753 + use vexide_devices::color::Rgb;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `TextSize`
[INFO] [stdout]    --> src/display.rs:758:39
[INFO] [stdout]     |
[INFO] [stdout] 758 | let text = Text::new("Hello, World!", TextSize::Medium, Point2::new(10, 10));
[INFO] [stdout]     |                                       ^^^^^^^^ use of undeclared type `TextSize`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[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/digital.rs - adi::digital::AdiDigitalOut::with_initial_level (line 183) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/adi/digital.rs:184:5
[INFO] [stdout]     |
[INFO] [stdout] 184 | 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:186:3
[INFO] [stdout]     |
[INFO] [stdout] 186 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/adi/digital.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] 184 + 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:188:23
[INFO] [stdout]     |
[INFO] [stdout] 188 |     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] 184 + use vexide_devices::adi::digital::AdiDigitalOut;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `LogicLevel`
[INFO] [stdout]    --> src/adi/digital.rs:188:76
[INFO] [stdout]     |
[INFO] [stdout] 188 |     let digital_out = AdiDigitalOut::with_initial_level(peripherals.adi_a, LogicLevel::High);
[INFO] [stdout]     |                                                                            ^^^^^^^^^^ use of undeclared type `LogicLevel`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 184 + use vexide_devices::adi::digital::LogicLevel;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `LogicLevel`
[INFO] [stdout]    --> src/adi/digital.rs:191:66
[INFO] [stdout]     |
[INFO] [stdout] 191 |     assert_eq!(digital_out.level().expect("couldn't get level"), LogicLevel::High);
[INFO] [stdout]     |                                                                  ^^^^^^^^^^ use of undeclared type `LogicLevel`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 184 + use vexide_devices::adi::digital::LogicLevel;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/adi/digital.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 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/controller.rs - controller::ControllerScreen::clear_line (line 311) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/controller.rs:312:5
[INFO] [stdout]     |
[INFO] [stdout] 312 | 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:314:3
[INFO] [stdout]     |
[INFO] [stdout] 314 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/controller.rs:315:28
[INFO] [stdout]     |
[INFO] [stdout] 315 | 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] 312 + 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:321:5
[INFO] [stdout]     |
[INFO] [stdout] 321 |     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] 312 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Duration`
[INFO] [stdout]    --> src/controller.rs:321:11
[INFO] [stdout]     |
[INFO] [stdout] 321 |     sleep(Duration::from_millis(500)).await;
[INFO] [stdout]     |           ^^^^^^^^ use of undeclared type `Duration`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 312 + use std::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/controller.rs:315:1
[INFO] [stdout]     |
[INFO] [stdout] 315 | 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: E0412, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[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/controller.rs - controller::ControllerScreen::try_clear_screen (line 430) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/controller.rs:431:5
[INFO] [stdout]     |
[INFO] [stdout] 431 | 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:433:3
[INFO] [stdout]     |
[INFO] [stdout] 433 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/controller.rs:434:28
[INFO] [stdout]     |
[INFO] [stdout] 434 | 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] 431 + 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:434:1
[INFO] [stdout]     |
[INFO] [stdout] 434 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/controller.rs - controller::Controller::state (line 711) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/controller.rs:712:5
[INFO] [stdout]     |
[INFO] [stdout] 712 | 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:714:3
[INFO] [stdout]     |
[INFO] [stdout] 714 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/controller.rs:715:28
[INFO] [stdout]     |
[INFO] [stdout] 715 | 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] 712 + 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:730:9
[INFO] [stdout]     |
[INFO] [stdout] 730 |         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] 712 + 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:730:15
[INFO] [stdout]     |
[INFO] [stdout] 730 |         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] 712 + use vexide_devices::controller::Controller;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected function, found macro `println`
[INFO] [stdout]    --> src/controller.rs:720:9
[INFO] [stdout]     |
[INFO] [stdout] 720 |         println("Left Stick X: {}", state.left_stick.x());
[INFO] [stdout]     |         ^^^^^^^ not a function
[INFO] [stdout]     |
[INFO] [stdout] help: use `!` to invoke the macro
[INFO] [stdout]     |
[INFO] [stdout] 720 |         println!("Left Stick X: {}", state.left_stick.x());
[INFO] [stdout]     |                +
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/controller.rs:715:1
[INFO] [stdout]     |
[INFO] [stdout] 715 | 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: E0412, E0423, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/controller.rs - controller::Controller::try_rumble (line 976) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/controller.rs:977:5
[INFO] [stdout]     |
[INFO] [stdout] 977 | 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:979:3
[INFO] [stdout]     |
[INFO] [stdout] 979 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/controller.rs:980:28
[INFO] [stdout]     |
[INFO] [stdout] 980 | 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] 977 + 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:980:1
[INFO] [stdout]     |
[INFO] [stdout] 980 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/motor.rs - adi::motor::AdiMotor::set_output (line 88) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/motor.rs:89:5
[INFO] [stdout]    |
[INFO] [stdout] 89 | 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:91:3
[INFO] [stdout]    |
[INFO] [stdout] 91 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/adi/motor.rs:92:28
[INFO] [stdout]    |
[INFO] [stdout] 92 | 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] 89 + 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:94:21
[INFO] [stdout]    |
[INFO] [stdout] 94 |     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] 89 + 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:92:1
[INFO] [stdout]    |
[INFO] [stdout] 92 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 16) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Peripherals`
[INFO] [stdout]   --> src/lib.rs:17:19
[INFO] [stdout]    |
[INFO] [stdout] 17 | 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] 16 + use vexide_devices::peripherals::Peripherals;
[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/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::color (line 671) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/ai_vision.rs:672:5
[INFO] [stdout]     |
[INFO] [stdout] 672 | 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::Rgb`, `vexide::smart::ai_vision::AiVisionColor`
[INFO] [stdout]    --> src/smart/ai_vision.rs:674:5
[INFO] [stdout]     |
[INFO] [stdout] 674 |     color::Rgb,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 675 |     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:678:3
[INFO] [stdout]     |
[INFO] [stdout] 678 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/ai_vision.rs:679:28
[INFO] [stdout]     |
[INFO] [stdout] 679 | 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] 672 + 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:680:18
[INFO] [stdout]     |
[INFO] [stdout] 680 |     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] 672 + 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:679:1
[INFO] [stdout]     |
[INFO] [stdout] 679 | 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: E0412, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/controller.rs - controller::ControllerScreen::clear_screen (line 394) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/controller.rs:395:5
[INFO] [stdout]     |
[INFO] [stdout] 395 | 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:397:3
[INFO] [stdout]     |
[INFO] [stdout] 397 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/controller.rs:398:28
[INFO] [stdout]     |
[INFO] [stdout] 398 | 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] 395 + 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:398:1
[INFO] [stdout]     |
[INFO] [stdout] 398 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[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[E0412]: 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(
[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:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |         Gearset::Green,
[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:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |         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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/range_finder.rs - adi::range_finder::AdiRangeFinder::new (line 64) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/range_finder.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 | 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:67:3
[INFO] [stdout]    |
[INFO] [stdout] 67 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/adi/range_finder.rs:68:28
[INFO] [stdout]    |
[INFO] [stdout] 68 | 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] 65 + 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:69:24
[INFO] [stdout]    |
[INFO] [stdout] 69 |     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] 65 + 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:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |         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] 65 + 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/range_finder.rs:73:15
[INFO] [stdout]    |
[INFO] [stdout] 73 |         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] 65 + use vexide_devices::adi;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `adi`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 73 -         sleep(vexide::adi::ADI_UPDATE_INTERVAL).await;
[INFO] [stdout] 73 +         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/range_finder.rs:68:1
[INFO] [stdout]    |
[INFO] [stdout] 68 | 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: E0412, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/controller.rs - controller::Controller::rumble (line 939) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/controller.rs:940:5
[INFO] [stdout]     |
[INFO] [stdout] 940 | 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:942:3
[INFO] [stdout]     |
[INFO] [stdout] 942 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/controller.rs:943:28
[INFO] [stdout]     |
[INFO] [stdout] 943 | 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] 940 + 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:943:1
[INFO] [stdout]     |
[INFO] [stdout] 943 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/controller.rs - controller::ControllerScreen::set_text (line 477) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/controller.rs:478:5
[INFO] [stdout]     |
[INFO] [stdout] 478 | 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:480:3
[INFO] [stdout]     |
[INFO] [stdout] 480 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/controller.rs:481:28
[INFO] [stdout]     |
[INFO] [stdout] 481 | 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] 478 + 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:481:1
[INFO] [stdout]     |
[INFO] [stdout] 481 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::color_codes (line 574) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/ai_vision.rs:575:5
[INFO] [stdout]     |
[INFO] [stdout] 575 | 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 import `vexide::smart::ai_vision::AiVisionColorCode`
[INFO] [stdout]    --> src/smart/ai_vision.rs:577:5
[INFO] [stdout]     |
[INFO] [stdout] 577 |     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:580:3
[INFO] [stdout]     |
[INFO] [stdout] 580 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/ai_vision.rs:581:28
[INFO] [stdout]     |
[INFO] [stdout] 581 | 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] 575 + 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:582:22
[INFO] [stdout]     |
[INFO] [stdout] 582 |     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] 575 + 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:581:1
[INFO] [stdout]     |
[INFO] [stdout] 581 | 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: E0412, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/controller.rs - controller::ControllerScreen::try_set_text (line 523) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/controller.rs:524:5
[INFO] [stdout]     |
[INFO] [stdout] 524 | 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:526:3
[INFO] [stdout]     |
[INFO] [stdout] 526 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/controller.rs:527:28
[INFO] [stdout]     |
[INFO] [stdout] 527 | 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] 524 + 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:527:1
[INFO] [stdout]     |
[INFO] [stdout] 527 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adi/pwm.rs - adi::pwm::AdiPwmOut::new (line 44) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/adi/pwm.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | 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:47:3
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/adi/pwm.rs:48:28
[INFO] [stdout]    |
[INFO] [stdout] 48 | 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] 45 + 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:49:19
[INFO] [stdout]    |
[INFO] [stdout] 49 |     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] 45 + 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:48:1
[INFO] [stdout]    |
[INFO] [stdout] 48 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::colors (line 726) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/ai_vision.rs:727:5
[INFO] [stdout]     |
[INFO] [stdout] 727 | 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::Rgb`, `vexide::smart::ai_vision::AiVisionColor`
[INFO] [stdout]    --> src/smart/ai_vision.rs:729:5
[INFO] [stdout]     |
[INFO] [stdout] 729 |     color::Rgb,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 730 |     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:733:3
[INFO] [stdout]     |
[INFO] [stdout] 733 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/ai_vision.rs:734:28
[INFO] [stdout]     |
[INFO] [stdout] 734 | 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] 727 + 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:735:18
[INFO] [stdout]     |
[INFO] [stdout] 735 |     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] 727 + 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:734:1
[INFO] [stdout]     |
[INFO] [stdout] 734 | 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: E0412, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[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[E0412]: 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/controller.rs - controller::ControllerScreen::try_clear_line (line 352) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/controller.rs:353:5
[INFO] [stdout]     |
[INFO] [stdout] 353 | 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:355:3
[INFO] [stdout]     |
[INFO] [stdout] 355 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/controller.rs:356:28
[INFO] [stdout]     |
[INFO] [stdout] 356 | 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] 353 + 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:362:5
[INFO] [stdout]     |
[INFO] [stdout] 362 |     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] 353 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Duration`
[INFO] [stdout]    --> src/controller.rs:362:11
[INFO] [stdout]     |
[INFO] [stdout] 362 |     sleep(Duration::from_millis(500)).await;
[INFO] [stdout]     |           ^^^^^^^^ use of undeclared type `Duration`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 353 + use std::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/controller.rs:356:1
[INFO] [stdout]     |
[INFO] [stdout] 356 | 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: E0412, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::flags (line 803) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/ai_vision.rs:804:5
[INFO] [stdout]     |
[INFO] [stdout] 804 | 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:806:3
[INFO] [stdout]     |
[INFO] [stdout] 806 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/ai_vision.rs:807:28
[INFO] [stdout]     |
[INFO] [stdout] 807 | 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] 804 + 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:808:18
[INFO] [stdout]     |
[INFO] [stdout] 808 |     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] 804 + 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:807:1
[INFO] [stdout]     |
[INFO] [stdout] 807 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::object_count (line 1052) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     --> src/smart/ai_vision.rs:1053:5
[INFO] [stdout]      |
[INFO] [stdout] 1053 | 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:1055:3
[INFO] [stdout]      |
[INFO] [stdout] 1055 | #[vexide::main]
[INFO] [stdout]      |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]     --> src/smart/ai_vision.rs:1056:28
[INFO] [stdout]      |
[INFO] [stdout] 1056 | 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] 1053 + 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:1057:22
[INFO] [stdout]      |
[INFO] [stdout] 1057 |     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] 1053 + 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:1060:9
[INFO] [stdout]      |
[INFO] [stdout] 1060 |         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] 1053 + 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:1060:15
[INFO] [stdout]      |
[INFO] [stdout] 1060 |         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] 1053 + 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:1056:1
[INFO] [stdout]      |
[INFO] [stdout] 1056 | 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: E0412, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::set_detection_mode (line 768) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/ai_vision.rs:769:5
[INFO] [stdout]     |
[INFO] [stdout] 769 | 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 import `vexide::smart::ai_vision::AiVisionDetectionMode`
[INFO] [stdout]    --> src/smart/ai_vision.rs:771:5
[INFO] [stdout]     |
[INFO] [stdout] 771 |     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:774:3
[INFO] [stdout]     |
[INFO] [stdout] 774 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/ai_vision.rs:775:28
[INFO] [stdout]     |
[INFO] [stdout] 775 | 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 `AiVisionSensor`
[INFO] [stdout]    --> src/smart/ai_vision.rs:776:22
[INFO] [stdout]     |
[INFO] [stdout] 776 |     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] 769 + 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:775:1
[INFO] [stdout]     |
[INFO] [stdout] 775 | 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: E0412, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::set_flags (line 829) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/ai_vision.rs:830:5
[INFO] [stdout]     |
[INFO] [stdout] 830 | 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 import `vexide::smart::ai_vision::AiVisionFlags`
[INFO] [stdout]    --> src/smart/ai_vision.rs:832:5
[INFO] [stdout]     |
[INFO] [stdout] 832 |     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:835:3
[INFO] [stdout]     |
[INFO] [stdout] 835 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/ai_vision.rs:836:28
[INFO] [stdout]     |
[INFO] [stdout] 836 | 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] 830 + 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:837:22
[INFO] [stdout]     |
[INFO] [stdout] 837 |     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] 830 + 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:836:1
[INFO] [stdout]     |
[INFO] [stdout] 836 | 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: E0412, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::new (line 374) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/ai_vision.rs:375:5
[INFO] [stdout]     |
[INFO] [stdout] 375 | 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:377:3
[INFO] [stdout]     |
[INFO] [stdout] 377 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/ai_vision.rs:378:28
[INFO] [stdout]     |
[INFO] [stdout] 378 | 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] 375 + 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:379:22
[INFO] [stdout]     |
[INFO] [stdout] 379 |     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] 375 + 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:378:1
[INFO] [stdout]     |
[INFO] [stdout] 378 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::set_color (line 615) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/ai_vision.rs:616:5
[INFO] [stdout]     |
[INFO] [stdout] 616 | 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::Rgb`, `vexide::smart::ai_vision::AiVisionColor`
[INFO] [stdout]    --> src/smart/ai_vision.rs:618:5
[INFO] [stdout]     |
[INFO] [stdout] 618 |     color::Rgb,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 619 |     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:622:3
[INFO] [stdout]     |
[INFO] [stdout] 622 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/ai_vision.rs:623:28
[INFO] [stdout]     |
[INFO] [stdout] 623 | 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] 616 + 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:624:22
[INFO] [stdout]     |
[INFO] [stdout] 624 |     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] 616 + 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:623:1
[INFO] [stdout]     |
[INFO] [stdout] 623 | 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: E0412, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[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::{
[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:910:5
[INFO] [stdout]     |
[INFO] [stdout] 910 |     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:913:3
[INFO] [stdout]     |
[INFO] [stdout] 913 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/ai_vision.rs:914:28
[INFO] [stdout]     |
[INFO] [stdout] 914 | 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:915:22
[INFO] [stdout]     |
[INFO] [stdout] 915 |     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:914:1
[INFO] [stdout]     |
[INFO] [stdout] 914 | 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: E0412, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::temperature (line 403) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/ai_vision.rs:404:5
[INFO] [stdout]     |
[INFO] [stdout] 404 | 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:406:3
[INFO] [stdout]     |
[INFO] [stdout] 406 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/ai_vision.rs:407:28
[INFO] [stdout]     |
[INFO] [stdout] 407 | 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] 404 + 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:408:18
[INFO] [stdout]     |
[INFO] [stdout] 408 |     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] 404 + 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:411:9
[INFO] [stdout]     |
[INFO] [stdout] 411 |         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] 404 + 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:411:15
[INFO] [stdout]     |
[INFO] [stdout] 411 |         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] 404 + 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:407:1
[INFO] [stdout]     |
[INFO] [stdout] 407 | 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: E0412, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::set_color_code (line 438) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/ai_vision.rs:439:5
[INFO] [stdout]     |
[INFO] [stdout] 439 | 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::Rgb`, `vexide::smart::ai_vision::AiVisionColorCode`, `vexide::smart::ai_vision::AiVisionColor`
[INFO] [stdout]    --> src/smart/ai_vision.rs:441:5
[INFO] [stdout]     |
[INFO] [stdout] 441 |     color::Rgb,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 442 |     smart::ai_vision::{AiVisionColorCode, 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:445:3
[INFO] [stdout]     |
[INFO] [stdout] 445 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/ai_vision.rs:446:28
[INFO] [stdout]     |
[INFO] [stdout] 446 | 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] 439 + 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:447:22
[INFO] [stdout]     |
[INFO] [stdout] 447 |     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] 439 + 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:446:1
[INFO] [stdout]     |
[INFO] [stdout] 446 | 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: E0412, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/electromagnet.rs - smart::electromagnet::Electromagnet::new (line 44) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/smart/electromagnet.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | 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:48:3
[INFO] [stdout]    |
[INFO] [stdout] 48 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/smart/electromagnet.rs:49:28
[INFO] [stdout]    |
[INFO] [stdout] 49 | 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] 45 + 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:50:29
[INFO] [stdout]    |
[INFO] [stdout] 50 |     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] 45 + 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:52:38
[INFO] [stdout]    |
[INFO] [stdout] 52 |     _ = 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] 45 + 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:49:1
[INFO] [stdout]    |
[INFO] [stdout] 49 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/distance.rs - smart::distance::DistanceSensor::object (line 91) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/smart/distance.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 | 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:94:3
[INFO] [stdout]    |
[INFO] [stdout] 94 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/smart/distance.rs:95:28
[INFO] [stdout]    |
[INFO] [stdout] 95 | 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] 92 + 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:96:18
[INFO] [stdout]    |
[INFO] [stdout] 96 |     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] 92 + 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:95:1
[INFO] [stdout]    |
[INFO] [stdout] 95 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::objects (line 944) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/ai_vision.rs:945:5
[INFO] [stdout]     |
[INFO] [stdout] 945 | 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 import `vexide::smart::ai_vision::AiVisionObject`
[INFO] [stdout]    --> src/smart/ai_vision.rs:947:5
[INFO] [stdout]     |
[INFO] [stdout] 947 |     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:950:3
[INFO] [stdout]     |
[INFO] [stdout] 950 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/ai_vision.rs:951:28
[INFO] [stdout]     |
[INFO] [stdout] 951 | 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] 945 + 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:952:22
[INFO] [stdout]     |
[INFO] [stdout] 952 |     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] 945 + 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:960:9
[INFO] [stdout]     |
[INFO] [stdout] 960 |         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] 945 + 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:960:15
[INFO] [stdout]     |
[INFO] [stdout] 960 |         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] 945 + 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:951:1
[INFO] [stdout]     |
[INFO] [stdout] 951 | 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: E0412, E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/distance.rs - smart::distance::DistanceSensor::object (line 106) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/distance.rs:107:5
[INFO] [stdout]     |
[INFO] [stdout] 107 | 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:109:3
[INFO] [stdout]     |
[INFO] [stdout] 109 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/distance.rs:110:28
[INFO] [stdout]     |
[INFO] [stdout] 110 | 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 `DistanceSensor`
[INFO] [stdout]    --> src/smart/distance.rs:111:18
[INFO] [stdout]     |
[INFO] [stdout] 111 |     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] 107 + 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:110:1
[INFO] [stdout]     |
[INFO] [stdout] 110 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/ai_vision.rs - smart::ai_vision::AiVisionSensor::color_code (line 516) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/ai_vision.rs:517:5
[INFO] [stdout]     |
[INFO] [stdout] 517 | 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 import `vexide::smart::ai_vision::AiVisionColorCode`
[INFO] [stdout]    --> src/smart/ai_vision.rs:519:5
[INFO] [stdout]     |
[INFO] [stdout] 519 |     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:522:3
[INFO] [stdout]     |
[INFO] [stdout] 522 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/ai_vision.rs:523:28
[INFO] [stdout]     |
[INFO] [stdout] 523 | 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] 517 + 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:524:22
[INFO] [stdout]     |
[INFO] [stdout] 524 |     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] 517 + 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:523:1
[INFO] [stdout]     |
[INFO] [stdout] 523 | 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: E0412, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/distance.rs - smart::distance::DistanceSensor::status (line 156) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/distance.rs:157:5
[INFO] [stdout]     |
[INFO] [stdout] 157 | 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:160:3
[INFO] [stdout]     |
[INFO] [stdout] 160 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/distance.rs:161:28
[INFO] [stdout]     |
[INFO] [stdout] 161 | 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] 157 + 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:162:18
[INFO] [stdout]     |
[INFO] [stdout] 162 |     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] 157 + 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:169:9
[INFO] [stdout]     |
[INFO] [stdout] 169 |         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] 157 + 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:161:1
[INFO] [stdout]     |
[INFO] [stdout] 161 | 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: E0412, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/expander.rs - smart::expander::AdiExpander::new (line 74) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/smart/expander.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/smart/expander.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[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/smart/expander.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 `AdiExpander`
[INFO] [stdout]   --> src/smart/expander.rs:79:20
[INFO] [stdout]    |
[INFO] [stdout] 79 |     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] 75 + 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:80:21
[INFO] [stdout]    |
[INFO] [stdout] 80 |     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] 75 + 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: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 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/electromagnet.rs - smart::electromagnet::Electromagnet::temperature (line 162) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/electromagnet.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/electromagnet.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[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/electromagnet.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 `Electromagnet`
[INFO] [stdout]    --> src/smart/electromagnet.rs:167:25
[INFO] [stdout]     |
[INFO] [stdout] 167 |     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] 163 + 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: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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/distance.rs - smart::distance::DistanceSensor::new (line 48) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/smart/distance.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | 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:51:3
[INFO] [stdout]    |
[INFO] [stdout] 51 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/smart/distance.rs:52:28
[INFO] [stdout]    |
[INFO] [stdout] 52 | 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] 49 + 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:53:18
[INFO] [stdout]    |
[INFO] [stdout] 53 |     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] 49 + 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:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 28) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/lib.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | 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:31:3
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/lib.rs:32:28
[INFO] [stdout]    |
[INFO] [stdout] 32 | 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] 29 + 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:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/expander.rs - smart::expander (line 21) stdout ----
[INFO] [stdout] error[E0432]: unresolved imports `vexide_devices::smart::AdiExpander`, `vexide_devices::adi::AdiAnalogIn`
[INFO] [stdout]   --> src/smart/expander.rs:23:22
[INFO] [stdout]    |
[INFO] [stdout] 23 | use vexide_devices::{smart::AdiExpander, adi::AdiAnalogIn, peripherals::Peripherals};
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^ no `AdiAnalogIn` in `adi`
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      no `AdiExpander` in `smart`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider importing this struct instead:
[INFO] [stdout]            vexide_devices::smart::expander::AdiExpander
[INFO] [stdout]    = help: consider importing this struct instead:
[INFO] [stdout]            vexide_devices::adi::analog::AdiAnalogIn
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/gps.rs - smart::gps::GpsSensor::quaternion (line 508) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:509:5
[INFO] [stdout]     |
[INFO] [stdout] 509 | 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:512:3
[INFO] [stdout]     |
[INFO] [stdout] 512 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:513:28
[INFO] [stdout]     |
[INFO] [stdout] 513 | 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] 509 + 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:516:15
[INFO] [stdout]     |
[INFO] [stdout] 516 |     let gps = GpsSensor::new(
[INFO] [stdout]     |               ^^^^^^^^^ use of undeclared type `GpsSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 509 + use vexide_devices::smart::gps::GpsSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:518:9
[INFO] [stdout]     |
[INFO] [stdout] 518 |         Point2 { x: 0.0, y: 0.0 },
[INFO] [stdout]     |         ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 509 + use mint::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 509 + use vexide_devices::math::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:519:9
[INFO] [stdout]     |
[INFO] [stdout] 519 |         Point2 { x: 0.0, y: 0.0 },
[INFO] [stdout]     |         ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 509 + use mint::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 509 + use vexide_devices::math::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/gps.rs:513:1
[INFO] [stdout]     |
[INFO] [stdout] 513 | 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: E0412, E0422, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/electromagnet.rs - smart::electromagnet::Electromagnet::status (line 189) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/electromagnet.rs:190:5
[INFO] [stdout]     |
[INFO] [stdout] 190 | 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:192:3
[INFO] [stdout]     |
[INFO] [stdout] 192 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/electromagnet.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 `Electromagnet`
[INFO] [stdout]    --> src/smart/electromagnet.rs:194:25
[INFO] [stdout]     |
[INFO] [stdout] 194 |     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] 190 + 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: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 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/gps.rs - smart::gps::GpsSensor::error (line 309) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 | 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:312:3
[INFO] [stdout]     |
[INFO] [stdout] 312 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:313:28
[INFO] [stdout]     |
[INFO] [stdout] 313 | 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] 310 + 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:314:15
[INFO] [stdout]     |
[INFO] [stdout] 314 |     let gps = GpsSensor::new(
[INFO] [stdout]     |               ^^^^^^^^^ use of undeclared type `GpsSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 310 + use vexide_devices::smart::gps::GpsSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:316:9
[INFO] [stdout]     |
[INFO] [stdout] 316 |         Point2 { x: 0.0, y: 0.0 },
[INFO] [stdout]     |         ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 310 + use mint::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 310 + use vexide_devices::math::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:317:9
[INFO] [stdout]     |
[INFO] [stdout] 317 |         Point2 { x: 0.0, y: 0.0 },
[INFO] [stdout]     |         ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 310 + use mint::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 310 + use vexide_devices::math::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `error` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:323:71
[INFO] [stdout]     |
[INFO] [stdout] 323 |         println!("Warning: GPS position accuracy is low ({}m error)", error);
[INFO] [stdout]     |                                                                       ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/gps.rs:313:1
[INFO] [stdout]     |
[INFO] [stdout] 313 | 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: E0412, E0422, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/gps.rs - smart::gps::GpsSensor::heading (line 378) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:379:5
[INFO] [stdout]     |
[INFO] [stdout] 379 | 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:382:3
[INFO] [stdout]     |
[INFO] [stdout] 382 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/gps.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] 379 + 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:386:15
[INFO] [stdout]     |
[INFO] [stdout] 386 |     let gps = GpsSensor::new(
[INFO] [stdout]     |               ^^^^^^^^^ use of undeclared type `GpsSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 379 + use vexide_devices::smart::gps::GpsSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:388:9
[INFO] [stdout]     |
[INFO] [stdout] 388 |         Point2 { x: 0.0, y: 0.0 },
[INFO] [stdout]     |         ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 379 + use mint::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 379 + use vexide_devices::math::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:389:9
[INFO] [stdout]     |
[INFO] [stdout] 389 |         Point2 { x: 0.0, y: 0.0 },
[INFO] [stdout]     |         ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 379 + use mint::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 379 + use vexide_devices::math::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `rotation` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:394:44
[INFO] [stdout]     |
[INFO] [stdout] 394 |         println!("Heading is {} degrees.", rotation);
[INFO] [stdout]     |                                            ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/gps.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 8 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0412, E0422, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/electromagnet.rs - smart::electromagnet::Electromagnet::power (line 106) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/electromagnet.rs:107:5
[INFO] [stdout]     |
[INFO] [stdout] 107 | 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:109:3
[INFO] [stdout]     |
[INFO] [stdout] 109 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/electromagnet.rs:110:28
[INFO] [stdout]     |
[INFO] [stdout] 110 | 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 `Electromagnet`
[INFO] [stdout]    --> src/smart/electromagnet.rs:111:29
[INFO] [stdout]     |
[INFO] [stdout] 111 |     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] 107 + 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:112:38
[INFO] [stdout]     |
[INFO] [stdout] 112 |     _ = 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] 107 + 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:110:1
[INFO] [stdout]     |
[INFO] [stdout] 110 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/electromagnet.rs - smart::electromagnet::Electromagnet::current (line 134) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/electromagnet.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/smart/electromagnet.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[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/electromagnet.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 `Electromagnet`
[INFO] [stdout]    --> src/smart/electromagnet.rs:139:29
[INFO] [stdout]     |
[INFO] [stdout] 139 |     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] 135 + 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:140:38
[INFO] [stdout]     |
[INFO] [stdout] 140 |     _ = 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] 135 + 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: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 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/gps.rs - smart::gps::GpsSensor::new (line 91) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/smart/gps.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 | 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:94:3
[INFO] [stdout]    |
[INFO] [stdout] 94 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/smart/gps.rs:95:28
[INFO] [stdout]    |
[INFO] [stdout] 95 | 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] 92 + 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:98:15
[INFO] [stdout]    |
[INFO] [stdout] 98 |     let gps = GpsSensor::new(
[INFO] [stdout]    |               ^^^^^^^^^ use of undeclared type `GpsSensor`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 92 + use vexide_devices::smart::gps::GpsSensor;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 |         Point2 { x: -0.225, y: 0.225 },
[INFO] [stdout]     |         ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout]  92 + use mint::Point2;
[INFO] [stdout]     |
[INFO] [stdout]  92 + use vexide_devices::math::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:106:9
[INFO] [stdout]     |
[INFO] [stdout] 106 |         Point2 { x: 0.0, y: 0.0 },
[INFO] [stdout]     |         ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout]  92 + use mint::Point2;
[INFO] [stdout]     |
[INFO] [stdout]  92 + use vexide_devices::math::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]   --> src/smart/gps.rs:95:1
[INFO] [stdout]    |
[INFO] [stdout] 95 | 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: E0412, E0422, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/distance.rs - smart::distance::DistanceSensor::status (line 176) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/distance.rs:177:5
[INFO] [stdout]     |
[INFO] [stdout] 177 | 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:179:3
[INFO] [stdout]     |
[INFO] [stdout] 179 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/distance.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 `DistanceSensor`
[INFO] [stdout]    --> src/smart/distance.rs:181:18
[INFO] [stdout]     |
[INFO] [stdout] 181 |     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] 177 + 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: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 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/gps.rs - smart::gps::GpsSensor::set_heading (line 791) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:792:5
[INFO] [stdout]     |
[INFO] [stdout] 792 | 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:794:3
[INFO] [stdout]     |
[INFO] [stdout] 794 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:795:28
[INFO] [stdout]     |
[INFO] [stdout] 795 | 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] 792 + 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:798:19
[INFO] [stdout]     |
[INFO] [stdout] 798 |     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] 792 + use vexide_devices::smart::gps::GpsSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:800:9
[INFO] [stdout]     |
[INFO] [stdout] 800 |         Point2 { x: 0.0, y: 0.0 },
[INFO] [stdout]     |         ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 792 + use mint::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 792 + use vexide_devices::math::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:801:9
[INFO] [stdout]     |
[INFO] [stdout] 801 |         Point2 { x: 0.0, y: 0.0 },
[INFO] [stdout]     |         ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 792 + use mint::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 792 + use vexide_devices::math::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/gps.rs:795:1
[INFO] [stdout]     |
[INFO] [stdout] 795 | 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: E0412, E0422, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/gps.rs - smart::gps::GpsSensor::set_rotation (line 751) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:752:5
[INFO] [stdout]     |
[INFO] [stdout] 752 | 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:754:3
[INFO] [stdout]     |
[INFO] [stdout] 754 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:755:28
[INFO] [stdout]     |
[INFO] [stdout] 755 | 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] 752 + 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:758:19
[INFO] [stdout]     |
[INFO] [stdout] 758 |     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] 752 + use vexide_devices::smart::gps::GpsSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:760:9
[INFO] [stdout]     |
[INFO] [stdout] 760 |         Point2 { x: 0.0, y: 0.0 },
[INFO] [stdout]     |         ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 752 + use mint::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 752 + use vexide_devices::math::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:761:9
[INFO] [stdout]     |
[INFO] [stdout] 761 |         Point2 { x: 0.0, y: 0.0 },
[INFO] [stdout]     |         ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 752 + use mint::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 752 + use vexide_devices::math::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/gps.rs:755:1
[INFO] [stdout]     |
[INFO] [stdout] 755 | 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: E0412, E0422, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/electromagnet.rs - smart::electromagnet::Electromagnet::set_power (line 76) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/smart/electromagnet.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 77 | 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:79:3
[INFO] [stdout]    |
[INFO] [stdout] 79 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/smart/electromagnet.rs:80:28
[INFO] [stdout]    |
[INFO] [stdout] 80 | 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] 77 + 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:81:29
[INFO] [stdout]    |
[INFO] [stdout] 81 |     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] 77 + 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:82:38
[INFO] [stdout]    |
[INFO] [stdout] 82 |     _ = 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] 77 + 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:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/gps.rs - smart::gps::GpsSensor::acceleration (line 561) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:562:5
[INFO] [stdout]     |
[INFO] [stdout] 562 | 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:565:3
[INFO] [stdout]     |
[INFO] [stdout] 565 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:566:28
[INFO] [stdout]     |
[INFO] [stdout] 566 | 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] 562 + 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:569:15
[INFO] [stdout]     |
[INFO] [stdout] 569 |     let gps = GpsSensor::new(
[INFO] [stdout]     |               ^^^^^^^^^ use of undeclared type `GpsSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 562 + use vexide_devices::smart::gps::GpsSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:571:9
[INFO] [stdout]     |
[INFO] [stdout] 571 |         Point2 { x: 0.0, y: 0.0 },
[INFO] [stdout]     |         ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 562 + use mint::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 562 + use vexide_devices::math::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:572:9
[INFO] [stdout]     |
[INFO] [stdout] 572 |         Point2 { x: 0.0, y: 0.0 },
[INFO] [stdout]     |         ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 562 + use mint::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 562 + use vexide_devices::math::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:587:9
[INFO] [stdout]     |
[INFO] [stdout] 587 |         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] 562 + 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:566:1
[INFO] [stdout]     |
[INFO] [stdout] 566 | 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: E0412, E0422, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/gps.rs - smart::gps::GpsSensor::set_offset (line 210) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:211:5
[INFO] [stdout]     |
[INFO] [stdout] 211 | 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:213:3
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:214:28
[INFO] [stdout]     |
[INFO] [stdout] 214 | 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] 211 + 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:215:19
[INFO] [stdout]     |
[INFO] [stdout] 215 |     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] 211 + use vexide_devices::smart::gps::GpsSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:222:9
[INFO] [stdout]     |
[INFO] [stdout] 222 |         Point2 { x: -0.225, y: 0.225 }, // Configure offset value
[INFO] [stdout]     |         ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 211 + use mint::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 211 + use vexide_devices::math::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:223:9
[INFO] [stdout]     |
[INFO] [stdout] 223 |         Point2 { x: 0.0, y: 0.0 },
[INFO] [stdout]     |         ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 211 + use mint::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 211 + use vexide_devices::math::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:233:24
[INFO] [stdout]     |
[INFO] [stdout] 233 |     _ = gps.set_offset(Point2 { x: 0.0, y: 0.0 });
[INFO] [stdout]     |                        ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 211 + use mint::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 211 + use vexide_devices::math::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/gps.rs:214:1
[INFO] [stdout]     |
[INFO] [stdout] 214 | 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: E0412, E0422, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/gps.rs - smart::gps::GpsSensor::euler (line 458) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:459:5
[INFO] [stdout]     |
[INFO] [stdout] 459 | 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:462:3
[INFO] [stdout]     |
[INFO] [stdout] 462 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:463:28
[INFO] [stdout]     |
[INFO] [stdout] 463 | 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] 459 + 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:466:15
[INFO] [stdout]     |
[INFO] [stdout] 466 |     let gps = GpsSensor::new(
[INFO] [stdout]     |               ^^^^^^^^^ use of undeclared type `GpsSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 459 + use vexide_devices::smart::gps::GpsSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:468:9
[INFO] [stdout]     |
[INFO] [stdout] 468 |         Point2 { x: 0.0, y: 0.0 },
[INFO] [stdout]     |         ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 459 + use mint::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 459 + use vexide_devices::math::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:469:9
[INFO] [stdout]     |
[INFO] [stdout] 469 |         Point2 { x: 0.0, y: 0.0 },
[INFO] [stdout]     |         ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 459 + use mint::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 459 + use vexide_devices::math::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/gps.rs:463:1
[INFO] [stdout]     |
[INFO] [stdout] 463 | 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: E0412, E0422, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/imu.rs - smart::imu::InertialSensor::calibrate (line 270) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:271:5
[INFO] [stdout]     |
[INFO] [stdout] 271 | 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:273:3
[INFO] [stdout]     |
[INFO] [stdout] 273 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:274:28
[INFO] [stdout]     |
[INFO] [stdout] 274 | 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] 271 + 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:275:22
[INFO] [stdout]     |
[INFO] [stdout] 275 |     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] 271 + 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:274:1
[INFO] [stdout]     |
[INFO] [stdout] 274 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/gps.rs - smart::gps::GpsSensor::reset_rotation (line 711) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:712:5
[INFO] [stdout]     |
[INFO] [stdout] 712 | 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:715:3
[INFO] [stdout]     |
[INFO] [stdout] 715 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:716:28
[INFO] [stdout]     |
[INFO] [stdout] 716 | 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] 712 + 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:719:19
[INFO] [stdout]     |
[INFO] [stdout] 719 |     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] 712 + use vexide_devices::smart::gps::GpsSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:721:9
[INFO] [stdout]     |
[INFO] [stdout] 721 |         Point2 { x: 0.0, y: 0.0 },
[INFO] [stdout]     |         ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 712 + use mint::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 712 + use vexide_devices::math::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:722:9
[INFO] [stdout]     |
[INFO] [stdout] 722 |         Point2 { x: 0.0, y: 0.0 },
[INFO] [stdout]     |         ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 712 + use mint::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 712 + use vexide_devices::math::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:727:5
[INFO] [stdout]     |
[INFO] [stdout] 727 |     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] 712 + 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:716:1
[INFO] [stdout]     |
[INFO] [stdout] 716 | 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: E0412, E0422, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/gps.rs - smart::gps::GpsSensor::rotation (line 422) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:423:5
[INFO] [stdout]     |
[INFO] [stdout] 423 | 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:426:3
[INFO] [stdout]     |
[INFO] [stdout] 426 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:427:28
[INFO] [stdout]     |
[INFO] [stdout] 427 | 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] 423 + 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:430:15
[INFO] [stdout]     |
[INFO] [stdout] 430 |     let gps = GpsSensor::new(
[INFO] [stdout]     |               ^^^^^^^^^ use of undeclared type `GpsSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 423 + use vexide_devices::smart::gps::GpsSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:432:9
[INFO] [stdout]     |
[INFO] [stdout] 432 |         Point2 { x: 0.0, y: 0.0 },
[INFO] [stdout]     |         ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 423 + use mint::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 423 + use vexide_devices::math::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:433:9
[INFO] [stdout]     |
[INFO] [stdout] 433 |         Point2 { x: 0.0, y: 0.0 },
[INFO] [stdout]     |         ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 423 + use mint::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 423 + use vexide_devices::math::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/gps.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | 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: E0412, E0422, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/imu.rs - smart::imu::InertialSensor::acceleration (line 573) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:574:5
[INFO] [stdout]     |
[INFO] [stdout] 574 | 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:577:3
[INFO] [stdout]     |
[INFO] [stdout] 577 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:578:28
[INFO] [stdout]     |
[INFO] [stdout] 578 | 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] 574 + 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:579:22
[INFO] [stdout]     |
[INFO] [stdout] 579 |     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] 574 + 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:595:9
[INFO] [stdout]     |
[INFO] [stdout] 595 |         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] 574 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/smart/imu.rs:582:5
[INFO] [stdout]     |
[INFO] [stdout] 582 |     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:578:1
[INFO] [stdout]     |
[INFO] [stdout] 578 | 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, E0412, 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::position (line 260) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:261:5
[INFO] [stdout]     |
[INFO] [stdout] 261 | 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:263:3
[INFO] [stdout]     |
[INFO] [stdout] 263 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:264:28
[INFO] [stdout]     |
[INFO] [stdout] 264 | 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] 261 + 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:267:15
[INFO] [stdout]     |
[INFO] [stdout] 267 |     let gps = GpsSensor::new(
[INFO] [stdout]     |               ^^^^^^^^^ use of undeclared type `GpsSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 261 + use vexide_devices::smart::gps::GpsSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:269:9
[INFO] [stdout]     |
[INFO] [stdout] 269 |         Point2 { x: 0.0, y: 0.0 },
[INFO] [stdout]     |         ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 261 + use mint::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 261 + use vexide_devices::math::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:270:9
[INFO] [stdout]     |
[INFO] [stdout] 270 |         Point2 { x: 0.0, y: 0.0 },
[INFO] [stdout]     |         ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 261 + use mint::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 261 + use vexide_devices::math::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/gps.rs:264:1
[INFO] [stdout]     |
[INFO] [stdout] 264 | 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: E0412, E0422, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/gps.rs - smart::gps::GpsSensor::reset_heading (line 671) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:672:5
[INFO] [stdout]     |
[INFO] [stdout] 672 | 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:675:3
[INFO] [stdout]     |
[INFO] [stdout] 675 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:676:28
[INFO] [stdout]     |
[INFO] [stdout] 676 | 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] 672 + 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:679:19
[INFO] [stdout]     |
[INFO] [stdout] 679 |     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] 672 + use vexide_devices::smart::gps::GpsSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:681:9
[INFO] [stdout]     |
[INFO] [stdout] 681 |         Point2 { x: 0.0, y: 0.0 },
[INFO] [stdout]     |         ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 672 + use mint::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 672 + use vexide_devices::math::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:682:9
[INFO] [stdout]     |
[INFO] [stdout] 682 |         Point2 { x: 0.0, y: 0.0 },
[INFO] [stdout]     |         ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 672 + use mint::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 672 + use vexide_devices::math::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:687:5
[INFO] [stdout]     |
[INFO] [stdout] 687 |     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] 672 + 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:676:1
[INFO] [stdout]     |
[INFO] [stdout] 676 | 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: E0412, E0422, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/gps.rs - smart::gps::GpsSensor::gyro_rate (line 615) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:616:5
[INFO] [stdout]     |
[INFO] [stdout] 616 | 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:619:3
[INFO] [stdout]     |
[INFO] [stdout] 619 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:620:28
[INFO] [stdout]     |
[INFO] [stdout] 620 | 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] 616 + 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:623:15
[INFO] [stdout]     |
[INFO] [stdout] 623 |     let gps = GpsSensor::new(
[INFO] [stdout]     |               ^^^^^^^^^ use of undeclared type `GpsSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 616 + use vexide_devices::smart::gps::GpsSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:625:9
[INFO] [stdout]     |
[INFO] [stdout] 625 |         Point2 { x: 0.0, y: 0.0 },
[INFO] [stdout]     |         ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 616 + use mint::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 616 + use vexide_devices::math::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:626:9
[INFO] [stdout]     |
[INFO] [stdout] 626 |         Point2 { x: 0.0, y: 0.0 },
[INFO] [stdout]     |         ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 616 + use mint::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 616 + use vexide_devices::math::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:641:9
[INFO] [stdout]     |
[INFO] [stdout] 641 |         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] 616 + 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:620:1
[INFO] [stdout]     |
[INFO] [stdout] 620 | 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: E0412, E0422, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/gps.rs - smart::gps::GpsSensor::offset (line 153) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 154 | 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:156:3
[INFO] [stdout]     |
[INFO] [stdout] 156 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:157:28
[INFO] [stdout]     |
[INFO] [stdout] 157 | 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] 154 + 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:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |     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] 154 + use vexide_devices::smart::gps::GpsSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:165:9
[INFO] [stdout]     |
[INFO] [stdout] 165 |         Point2 { x: -0.225, y: 0.225 }, // Configure offset value
[INFO] [stdout]     |         ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 154 + use mint::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 154 + use vexide_devices::math::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:166:9
[INFO] [stdout]     |
[INFO] [stdout] 166 |         Point2 { x: 0.0, y: 0.0 },
[INFO] [stdout]     |         ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 154 + use mint::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 154 + use vexide_devices::math::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:176:24
[INFO] [stdout]     |
[INFO] [stdout] 176 |     _ = gps.set_offset(Point2 { x: 0.0, y: 0.0 });
[INFO] [stdout]     |                        ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 154 + use mint::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 154 + use vexide_devices::math::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/gps.rs:157:1
[INFO] [stdout]     |
[INFO] [stdout] 157 | 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: E0412, E0422, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/imu.rs - smart::imu::InertialSensor::is_auto_calibrated (line 205) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:206:5
[INFO] [stdout]     |
[INFO] [stdout] 206 | 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:208:3
[INFO] [stdout]     |
[INFO] [stdout] 208 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:209:28
[INFO] [stdout]     |
[INFO] [stdout] 209 | 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] 206 + 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:210:18
[INFO] [stdout]     |
[INFO] [stdout] 210 |     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] 206 + 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:209:1
[INFO] [stdout]     |
[INFO] [stdout] 209 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/gps.rs - smart::gps::GpsSensor::status (line 342) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:343:5
[INFO] [stdout]     |
[INFO] [stdout] 343 | 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:345:3
[INFO] [stdout]     |
[INFO] [stdout] 345 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/gps.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 `GpsSensor`
[INFO] [stdout]    --> src/smart/gps.rs:347:15
[INFO] [stdout]     |
[INFO] [stdout] 347 |     let gps = GpsSensor::new(
[INFO] [stdout]     |               ^^^^^^^^^ use of undeclared type `GpsSensor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 343 + use vexide_devices::smart::gps::GpsSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:349:9
[INFO] [stdout]     |
[INFO] [stdout] 349 |         Point2 { x: 0.0, y: 0.0 },
[INFO] [stdout]     |         ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 343 + use mint::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 343 + use vexide_devices::math::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:350:9
[INFO] [stdout]     |
[INFO] [stdout] 350 |         Point2 { x: 0.0, y: 0.0 },
[INFO] [stdout]     |         ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 343 + use mint::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 343 + use vexide_devices::math::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/gps.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 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0412, E0422, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/imu.rs - smart::imu::InertialSensor::rotation (line 344) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:345:5
[INFO] [stdout]     |
[INFO] [stdout] 345 | 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:348:3
[INFO] [stdout]     |
[INFO] [stdout] 348 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:349:28
[INFO] [stdout]     |
[INFO] [stdout] 349 | 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] 345 + 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:350:22
[INFO] [stdout]     |
[INFO] [stdout] 350 |     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] 345 + 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:356:5
[INFO] [stdout]     |
[INFO] [stdout] 356 |     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] 345 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/smart/imu.rs:353:5
[INFO] [stdout]     |
[INFO] [stdout] 353 |     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:349:1
[INFO] [stdout]     |
[INFO] [stdout] 349 | 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, E0412, 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 628) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:629:5
[INFO] [stdout]     |
[INFO] [stdout] 629 | 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:632:3
[INFO] [stdout]     |
[INFO] [stdout] 632 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:633:28
[INFO] [stdout]     |
[INFO] [stdout] 633 | 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:634:22
[INFO] [stdout]     |
[INFO] [stdout] 634 |     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:640:5
[INFO] [stdout]     |
[INFO] [stdout] 640 |     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] 629 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/smart/imu.rs:637:5
[INFO] [stdout]     |
[INFO] [stdout] 637 |     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:633:1
[INFO] [stdout]     |
[INFO] [stdout] 633 | 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, E0412, 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 521) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:522:5
[INFO] [stdout]     |
[INFO] [stdout] 522 | 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:525:3
[INFO] [stdout]     |
[INFO] [stdout] 525 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:526:28
[INFO] [stdout]     |
[INFO] [stdout] 526 | 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] 522 + 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:527:22
[INFO] [stdout]     |
[INFO] [stdout] 527 |     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] 522 + 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:543:9
[INFO] [stdout]     |
[INFO] [stdout] 543 |         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] 522 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/smart/imu.rs:530:5
[INFO] [stdout]     |
[INFO] [stdout] 530 |     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:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | 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, E0412, 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::InertialStatus::physical_orientation (line 860) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:861:5
[INFO] [stdout]     |
[INFO] [stdout] 861 | 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:863:3
[INFO] [stdout]     |
[INFO] [stdout] 863 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:864:28
[INFO] [stdout]     |
[INFO] [stdout] 864 | 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] 861 + 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:865:18
[INFO] [stdout]     |
[INFO] [stdout] 865 |     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] 861 + use vexide_devices::smart::imu::InertialSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/smart/imu.rs:867:8
[INFO] [stdout]     |
[INFO] [stdout] 867 |     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:869:66
[INFO] [stdout]     |
[INFO] [stdout] 869 |             println!("Sensor was calibrated while facing: {:?}", 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:864:1
[INFO] [stdout]     |
[INFO] [stdout] 864 | 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, E0412, 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::heading (line 382) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:383:5
[INFO] [stdout]     |
[INFO] [stdout] 383 | 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:386:3
[INFO] [stdout]     |
[INFO] [stdout] 386 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/imu.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] 383 + 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:388:22
[INFO] [stdout]     |
[INFO] [stdout] 388 |     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] 383 + 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:394:5
[INFO] [stdout]     |
[INFO] [stdout] 394 |     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] 383 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `rotation` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:397:44
[INFO] [stdout]     |
[INFO] [stdout] 397 |         println!("Heading is {} degrees.", rotation);
[INFO] [stdout]     |                                            ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/smart/imu.rs:391:5
[INFO] [stdout]     |
[INFO] [stdout] 391 |     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: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: E0282, E0412, 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 472) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:473:5
[INFO] [stdout]     |
[INFO] [stdout] 473 | 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:476:3
[INFO] [stdout]     |
[INFO] [stdout] 476 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:477:28
[INFO] [stdout]     |
[INFO] [stdout] 477 | 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] 473 + 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:478:22
[INFO] [stdout]     |
[INFO] [stdout] 478 |     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] 473 + 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:484:5
[INFO] [stdout]     |
[INFO] [stdout] 484 |     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] 473 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/smart/imu.rs:481:5
[INFO] [stdout]     |
[INFO] [stdout] 481 |     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:477:1
[INFO] [stdout]     |
[INFO] [stdout] 477 | 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, E0412, 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::calibrate (line 292) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:293:5
[INFO] [stdout]     |
[INFO] [stdout] 293 | 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:312:3
[INFO] [stdout]     |
[INFO] [stdout] 312 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `InertialSensor` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:297:10
[INFO] [stdout]     |
[INFO] [stdout] 297 |     imu: InertialSensor,
[INFO] [stdout]     |          ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 293 + 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:300:6
[INFO] [stdout]     |
[INFO] [stdout] 300 | impl Compete for Robot {
[INFO] [stdout]     |      ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]     |
[INFO] [stdout] 293 + 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:307:13
[INFO] [stdout]     |
[INFO] [stdout] 307 |             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] 293 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:313:28
[INFO] [stdout]     |
[INFO] [stdout] 313 | 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] 293 + 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:314:19
[INFO] [stdout]     |
[INFO] [stdout] 314 |     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] 293 + 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, E0412, 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/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[E0412]: 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[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[E0412]: 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(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[E0425]: cannot find value `port_1` in this scope
[INFO] [stdout]   --> src/smart/link.rs:72:32
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let link = RadioLink::open(port_1, "643A", LinkType::Manager);
[INFO] [stdout]    |                                ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `LinkType`
[INFO] [stdout]   --> src/smart/link.rs:72:48
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let link = RadioLink::open(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 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0412, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/mod.rs - smart (line 20) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]   --> src/smart/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | 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:23:3
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[vexide::main]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]   --> src/smart/mod.rs:24:28
[INFO] [stdout]    |
[INFO] [stdout] 24 | 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] 21 + use vexide_devices::peripherals::Peripherals;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Device`
[INFO] [stdout]   --> src/smart/mod.rs:26:22
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let mut device = Device::new(peripherals.port_1, /* other parameters */);
[INFO] [stdout]    |                      ^^^^^^ use of undeclared type `Device`
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]   --> src/smart/mod.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/imu.rs - smart::imu::InertialSensor::set_data_interval (line 770) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:771:5
[INFO] [stdout]     |
[INFO] [stdout] 771 | 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:773:3
[INFO] [stdout]     |
[INFO] [stdout] 773 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:774:28
[INFO] [stdout]     |
[INFO] [stdout] 774 | 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] 771 + 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:775:22
[INFO] [stdout]     |
[INFO] [stdout] 775 |     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] 771 + 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:778:34
[INFO] [stdout]     |
[INFO] [stdout] 778 |     _ = 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] 771 + 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:774:1
[INFO] [stdout]     |
[INFO] [stdout] 774 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/imu.rs - smart::imu::InertialSensor::physical_orientation (line 232) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:233:5
[INFO] [stdout]     |
[INFO] [stdout] 233 | 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:235:3
[INFO] [stdout]     |
[INFO] [stdout] 235 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:236:28
[INFO] [stdout]     |
[INFO] [stdout] 236 | 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] 233 + 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:237:22
[INFO] [stdout]     |
[INFO] [stdout] 237 |     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] 233 + use vexide_devices::smart::imu::InertialSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/smart/imu.rs:239:8
[INFO] [stdout]     |
[INFO] [stdout] 239 |     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:236:1
[INFO] [stdout]     |
[INFO] [stdout] 236 | 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, E0412, 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_data_interval (line 833) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/gps.rs:834:5
[INFO] [stdout]     |
[INFO] [stdout] 834 | 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:837:3
[INFO] [stdout]     |
[INFO] [stdout] 837 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:838:28
[INFO] [stdout]     |
[INFO] [stdout] 838 | 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] 834 + 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:839:19
[INFO] [stdout]     |
[INFO] [stdout] 839 |     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] 834 + use vexide_devices::smart::gps::GpsSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:841:9
[INFO] [stdout]     |
[INFO] [stdout] 841 |         Point2 { x: 0.0, y: 0.0 },
[INFO] [stdout]     |         ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 834 + use mint::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 834 + use vexide_devices::math::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2` in this scope
[INFO] [stdout]    --> src/smart/gps.rs:842:9
[INFO] [stdout]     |
[INFO] [stdout] 842 |         Point2 { x: 0.0, y: 0.0 },
[INFO] [stdout]     |         ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 834 + use mint::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 834 + use vexide_devices::math::Point2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/gps.rs:838:1
[INFO] [stdout]     |
[INFO] [stdout] 838 | 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: E0412, E0422, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/mod.rs - smart::SmartDevice::is_connected (line 93) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `InertialSensor`
[INFO] [stdout]   --> src/smart/mod.rs:94:14
[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] 93 + use vexide_devices::smart::imu::InertialSensor;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `peripherals` in this scope
[INFO] [stdout]   --> src/smart/mod.rs:94:34
[INFO] [stdout]    |
[INFO] [stdout] 94 | let sensor = InertialSensor::new(peripherals.port_1)?;
[INFO] [stdout]    |                                  ^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 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/mod.rs - smart::SmartPort::device_type (line 225) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `SmartPort`
[INFO] [stdout]    --> src/smart/mod.rs:226:24
[INFO] [stdout]     |
[INFO] [stdout] 226 | let my_port = unsafe { SmartPort::new(1) };
[INFO] [stdout]     |                        ^^^^^^^^^ use of undeclared type `SmartPort`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 225 + use vexide_devices::smart::SmartPort;
[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/smart/imu.rs - smart::imu::InertialSensor::set_heading (line 733) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:734:5
[INFO] [stdout]     |
[INFO] [stdout] 734 | 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:736:3
[INFO] [stdout]     |
[INFO] [stdout] 736 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:737:28
[INFO] [stdout]     |
[INFO] [stdout] 737 | 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] 734 + 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:738:22
[INFO] [stdout]     |
[INFO] [stdout] 738 |     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] 734 + 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:737:1
[INFO] [stdout]     |
[INFO] [stdout] 737 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/mod.rs - smart::SmartPort::new (line 189) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `SmartPort`
[INFO] [stdout]    --> src/smart/mod.rs:193:24
[INFO] [stdout]     |
[INFO] [stdout] 193 | let my_port = unsafe { SmartPort::new(1) };
[INFO] [stdout]     |                        ^^^^^^^^^ use of undeclared type `SmartPort`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 189 + use vexide_devices::smart::SmartPort;
[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/smart/imu.rs - smart::imu::InertialSensor::quaternion (line 420) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:421:5
[INFO] [stdout]     |
[INFO] [stdout] 421 | 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:424:3
[INFO] [stdout]     |
[INFO] [stdout] 424 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:425:28
[INFO] [stdout]     |
[INFO] [stdout] 425 | 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] 421 + 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:426:22
[INFO] [stdout]     |
[INFO] [stdout] 426 |     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] 421 + 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:432:5
[INFO] [stdout]     |
[INFO] [stdout] 432 |     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] 421 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/smart/imu.rs:429:5
[INFO] [stdout]     |
[INFO] [stdout] 429 |     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:425:1
[INFO] [stdout]     |
[INFO] [stdout] 425 | 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, E0412, 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 702) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:703:5
[INFO] [stdout]     |
[INFO] [stdout] 703 | 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:705:3
[INFO] [stdout]     |
[INFO] [stdout] 705 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:706:28
[INFO] [stdout]     |
[INFO] [stdout] 706 | 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] 703 + 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:707:22
[INFO] [stdout]     |
[INFO] [stdout] 707 |     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] 703 + 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:706:1
[INFO] [stdout]     |
[INFO] [stdout] 706 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/link.rs - smart::link::RadioLink::is_linked (line 160) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/link.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 161 | 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:163:3
[INFO] [stdout]     |
[INFO] [stdout] 163 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/link.rs:164:28
[INFO] [stdout]     |
[INFO] [stdout] 164 | 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] 161 + 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:165:20
[INFO] [stdout]     |
[INFO] [stdout] 165 |     let mut link = RadioLink::open(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] 161 + use vexide_devices::smart::link::RadioLink;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `port_1` in this scope
[INFO] [stdout]    --> src/smart/link.rs:165:36
[INFO] [stdout]     |
[INFO] [stdout] 165 |     let mut link = RadioLink::open(port_1, "643A", LinkType::Manager);
[INFO] [stdout]     |                                    ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `LinkType`
[INFO] [stdout]    --> src/smart/link.rs:165:52
[INFO] [stdout]     |
[INFO] [stdout] 165 |     let mut link = RadioLink::open(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] 161 + 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:164:1
[INFO] [stdout]     |
[INFO] [stdout] 164 | 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: E0412, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::current_limit (line 1053) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     --> src/smart/motor.rs:1054:5
[INFO] [stdout]      |
[INFO] [stdout] 1054 | 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:1056:3
[INFO] [stdout]      |
[INFO] [stdout] 1056 | #[vexide::main]
[INFO] [stdout]      |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]     --> src/smart/motor.rs:1057:28
[INFO] [stdout]      |
[INFO] [stdout] 1057 | 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] 1054 + 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:1058:17
[INFO] [stdout]      |
[INFO] [stdout] 1058 |     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] 1054 + 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:1058:48
[INFO] [stdout]      |
[INFO] [stdout] 1058 |     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] 1054 + 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:1058:64
[INFO] [stdout]      |
[INFO] [stdout] 1058 |     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] 1054 + 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:1057:1
[INFO] [stdout]      |
[INFO] [stdout] 1057 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::brake (line 308) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:309:5
[INFO] [stdout]     |
[INFO] [stdout] 309 | 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:309:26
[INFO] [stdout]     |
[INFO] [stdout] 309 | 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:311:3
[INFO] [stdout]     |
[INFO] [stdout] 311 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/motor.rs:312:28
[INFO] [stdout]     |
[INFO] [stdout] 312 | 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] 309 + 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:313:21
[INFO] [stdout]     |
[INFO] [stdout] 313 |     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] 309 + 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:313:52
[INFO] [stdout]     |
[INFO] [stdout] 313 |     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] 309 + 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:313:68
[INFO] [stdout]     |
[INFO] [stdout] 313 |     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] 309 + 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:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | 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: E0412, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[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:107:5
[INFO] [stdout]     |
[INFO] [stdout] 107 | 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:109:3
[INFO] [stdout]     |
[INFO] [stdout] 109 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/link.rs:110:28
[INFO] [stdout]     |
[INFO] [stdout] 110 | 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:111:20
[INFO] [stdout]     |
[INFO] [stdout] 111 |     let mut link = RadioLink::open(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[E0425]: cannot find value `port_1` in this scope
[INFO] [stdout]    --> src/smart/link.rs:111:36
[INFO] [stdout]     |
[INFO] [stdout] 111 |     let mut link = RadioLink::open(port_1, "643A", LinkType::Manager);
[INFO] [stdout]     |                                    ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `LinkType`
[INFO] [stdout]    --> src/smart/link.rs:111:52
[INFO] [stdout]     |
[INFO] [stdout] 111 |     let mut link = RadioLink::open(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:110:1
[INFO] [stdout]     |
[INFO] [stdout] 110 | 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: E0412, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::efficiency (line 885) stdout ----
[INFO] [stdout] error: expected `;`, found keyword `loop`
[INFO] [stdout]    --> src/smart/motor.rs:891:51
[INFO] [stdout]     |
[INFO] [stdout] 891 |     let _ = motor.set_voltage(motor.max_voltage())
[INFO] [stdout]     |                                                   ^ help: add `;` here
[INFO] [stdout] 892 |     loop {
[INFO] [stdout]     |     ---- unexpected token
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:886:5
[INFO] [stdout]     |
[INFO] [stdout] 886 | 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:888:3
[INFO] [stdout]     |
[INFO] [stdout] 888 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/motor.rs:889:28
[INFO] [stdout]     |
[INFO] [stdout] 889 | 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] 886 + 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:890:17
[INFO] [stdout]     |
[INFO] [stdout] 890 |     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] 886 + 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:890:48
[INFO] [stdout]     |
[INFO] [stdout] 890 |     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] 886 + 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:890:64
[INFO] [stdout]     |
[INFO] [stdout] 890 |     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] 886 + 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:894:9
[INFO] [stdout]     |
[INFO] [stdout] 894 |         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] 886 + 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:894:15
[INFO] [stdout]     |
[INFO] [stdout] 894 |         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] 886 + 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:889:1
[INFO] [stdout]     |
[INFO] [stdout] 889 | 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: E0412, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::direction (line 1355) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     --> src/smart/motor.rs:1356:5
[INFO] [stdout]      |
[INFO] [stdout] 1356 | 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[E0412]: cannot find type `Motor` in this scope
[INFO] [stdout]     --> src/smart/motor.rs:1358:34
[INFO] [stdout]      |
[INFO] [stdout] 1358 | 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] 1355 + 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:1360:9
[INFO] [stdout]      |
[INFO] [stdout] 1360 |         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] 1355 + 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:1361:9
[INFO] [stdout]      |
[INFO] [stdout] 1361 |         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] 1355 + 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: E0412, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::current (line 853) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:854:5
[INFO] [stdout]     |
[INFO] [stdout] 854 | 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:856:3
[INFO] [stdout]     |
[INFO] [stdout] 856 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/motor.rs:857:28
[INFO] [stdout]     |
[INFO] [stdout] 857 | 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] 854 + 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:858:17
[INFO] [stdout]     |
[INFO] [stdout] 858 |     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] 854 + 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:858:48
[INFO] [stdout]     |
[INFO] [stdout] 858 |     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] 854 + 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:858:64
[INFO] [stdout]     |
[INFO] [stdout] 858 |     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] 854 + 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:862:9
[INFO] [stdout]     |
[INFO] [stdout] 862 |         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] 854 + 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:862:15
[INFO] [stdout]     |
[INFO] [stdout] 862 |         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] 854 + 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:857:1
[INFO] [stdout]     |
[INFO] [stdout] 857 | 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: E0412, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/imu.rs - smart::imu::InertialSensor::reset_rotation (line 665) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:666:5
[INFO] [stdout]     |
[INFO] [stdout] 666 | 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:669:3
[INFO] [stdout]     |
[INFO] [stdout] 669 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/imu.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] 666 + 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:671:22
[INFO] [stdout]     |
[INFO] [stdout] 671 |     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] 666 + 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:677:5
[INFO] [stdout]     |
[INFO] [stdout] 677 |     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] 666 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/smart/imu.rs:674:5
[INFO] [stdout]     |
[INFO] [stdout] 674 |     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: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 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0412, 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::SmartDevice::device_type (line 82) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `InertialSensor`
[INFO] [stdout]   --> src/smart/mod.rs:83:14
[INFO] [stdout]    |
[INFO] [stdout] 83 | 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] 82 + use vexide_devices::smart::imu::InertialSensor;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `peripherals` in this scope
[INFO] [stdout]   --> src/smart/mod.rs:83:34
[INFO] [stdout]    |
[INFO] [stdout] 83 | let sensor = InertialSensor::new(peripherals.port_1)?;
[INFO] [stdout]    |                                  ^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `SmartDeviceType`
[INFO] [stdout]   --> src/smart/mod.rs:84:34
[INFO] [stdout]    |
[INFO] [stdout] 84 | assert_eq!(sensor.device_type(), SmartDeviceType::Imu);
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^ use of undeclared type `SmartDeviceType`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 82 + use vexide_devices::smart::SmartDeviceType;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 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::is_driver_over_current (line 1290) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     --> src/smart/motor.rs:1291:5
[INFO] [stdout]      |
[INFO] [stdout] 1291 | 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:1293:3
[INFO] [stdout]      |
[INFO] [stdout] 1293 | #[vexide::main]
[INFO] [stdout]      |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]     --> src/smart/motor.rs:1294:28
[INFO] [stdout]      |
[INFO] [stdout] 1294 | 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] 1291 + 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:1295:21
[INFO] [stdout]      |
[INFO] [stdout] 1295 |     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] 1291 + 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:1295:52
[INFO] [stdout]      |
[INFO] [stdout] 1295 |     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] 1291 + 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:1295:68
[INFO] [stdout]      |
[INFO] [stdout] 1295 |     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] 1291 + 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:1302:9
[INFO] [stdout]      |
[INFO] [stdout] 1302 |         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] 1291 + 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:1302:15
[INFO] [stdout]      |
[INFO] [stdout] 1302 |         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] 1291 + 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:1294:1
[INFO] [stdout]      |
[INFO] [stdout] 1294 | 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: E0412, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/mod.rs - smart::SmartDevice::port_number (line 72) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `InertialSensor`
[INFO] [stdout]   --> src/smart/mod.rs:73:14
[INFO] [stdout]    |
[INFO] [stdout] 73 | 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] 72 + use vexide_devices::smart::imu::InertialSensor;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `peripherals` in this scope
[INFO] [stdout]   --> src/smart/mod.rs:73:34
[INFO] [stdout]    |
[INFO] [stdout] 73 | let sensor = InertialSensor::new(peripherals.port_1)?;
[INFO] [stdout]    |                                  ^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 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::is_exp (line 566) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:567:5
[INFO] [stdout]     |
[INFO] [stdout] 567 | 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:569:3
[INFO] [stdout]     |
[INFO] [stdout] 569 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/motor.rs:570:28
[INFO] [stdout]     |
[INFO] [stdout] 570 | 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 `Motor`
[INFO] [stdout]    --> src/smart/motor.rs:571:17
[INFO] [stdout]     |
[INFO] [stdout] 571 |     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] 567 + 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:571:52
[INFO] [stdout]     |
[INFO] [stdout] 571 |     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] 567 + 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:570:1
[INFO] [stdout]     |
[INFO] [stdout] 570 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::max_voltage (line 606) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:607:5
[INFO] [stdout]     |
[INFO] [stdout] 607 | 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[E0412]: cannot find type `Motor` in this scope
[INFO] [stdout]    --> src/smart/motor.rs:609:39
[INFO] [stdout]     |
[INFO] [stdout] 609 | fn run_motor_at_max_speed(motor: &mut Motor) {
[INFO] [stdout]     |                                       ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 606 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0412, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::new (line 201) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:202:5
[INFO] [stdout]     |
[INFO] [stdout] 202 | 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:204:3
[INFO] [stdout]     |
[INFO] [stdout] 204 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/motor.rs:205:28
[INFO] [stdout]     |
[INFO] [stdout] 205 | 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] 202 + 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:206:17
[INFO] [stdout]     |
[INFO] [stdout] 206 |     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] 202 + 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:206:48
[INFO] [stdout]     |
[INFO] [stdout] 206 |     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] 202 + 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:206:62
[INFO] [stdout]     |
[INFO] [stdout] 206 |     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] 202 + 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:208:46
[INFO] [stdout]     |
[INFO] [stdout] 208 |     assert_eq!(motor.max_voltage().unwrap(), Motor::V5_MAX_VOLTAGE);
[INFO] [stdout]     |                                              ^^^^^ use of undeclared type `Motor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 202 + 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:205:1
[INFO] [stdout]     |
[INFO] [stdout] 205 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/imu.rs - smart::imu::InertialSensor::is_calibrating (line 177) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:178:5
[INFO] [stdout]     |
[INFO] [stdout] 178 | 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:180:3
[INFO] [stdout]     |
[INFO] [stdout] 180 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:181:28
[INFO] [stdout]     |
[INFO] [stdout] 181 | 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] 178 + 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:182:18
[INFO] [stdout]     |
[INFO] [stdout] 182 |     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] 178 + 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:181:1
[INFO] [stdout]     |
[INFO] [stdout] 181 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::position (line 782) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:783:5
[INFO] [stdout]     |
[INFO] [stdout] 783 | 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:785:3
[INFO] [stdout]     |
[INFO] [stdout] 785 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/motor.rs:786:28
[INFO] [stdout]     |
[INFO] [stdout] 786 | 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] 783 + 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:787:17
[INFO] [stdout]     |
[INFO] [stdout] 787 |     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] 783 + 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:787:48
[INFO] [stdout]     |
[INFO] [stdout] 787 |     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] 783 + 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:787:64
[INFO] [stdout]     |
[INFO] [stdout] 787 |     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] 783 + 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:790:9
[INFO] [stdout]     |
[INFO] [stdout] 790 |         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] 783 + 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:790:15
[INFO] [stdout]     |
[INFO] [stdout] 790 |         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] 783 + 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:786:1
[INFO] [stdout]     |
[INFO] [stdout] 786 | 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: E0412, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::is_driver_fault (line 1260) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     --> src/smart/motor.rs:1261:5
[INFO] [stdout]      |
[INFO] [stdout] 1261 | 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:1263:3
[INFO] [stdout]      |
[INFO] [stdout] 1263 | #[vexide::main]
[INFO] [stdout]      |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]     --> src/smart/motor.rs:1264:28
[INFO] [stdout]      |
[INFO] [stdout] 1264 | 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] 1261 + 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:1265:21
[INFO] [stdout]      |
[INFO] [stdout] 1265 |     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] 1261 + 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:1265:52
[INFO] [stdout]      |
[INFO] [stdout] 1265 |     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] 1261 + 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:1265:68
[INFO] [stdout]      |
[INFO] [stdout] 1265 |     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] 1261 + 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:1272:9
[INFO] [stdout]      |
[INFO] [stdout] 1272 |         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] 1261 + 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:1272:15
[INFO] [stdout]      |
[INFO] [stdout] 1272 |         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] 1261 + 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:1264:1
[INFO] [stdout]      |
[INFO] [stdout] 1264 | 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: E0412, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/imu.rs - smart::imu::InertialSensor::status (line 148) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/imu.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 149 | 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:151:3
[INFO] [stdout]     |
[INFO] [stdout] 151 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/imu.rs:152:28
[INFO] [stdout]     |
[INFO] [stdout] 152 | 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] 149 + 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:153:18
[INFO] [stdout]     |
[INFO] [stdout] 153 |     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] 149 + use vexide_devices::smart::imu::InertialSensor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/smart/imu.rs:156:34
[INFO] [stdout]     |
[INFO] [stdout] 156 |         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:152:1
[INFO] [stdout]     |
[INFO] [stdout] 152 | 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, E0412, 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/motor.rs - smart::motor::Motor::is_over_current (line 1229) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     --> src/smart/motor.rs:1230:5
[INFO] [stdout]      |
[INFO] [stdout] 1230 | 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:1232:3
[INFO] [stdout]      |
[INFO] [stdout] 1232 | #[vexide::main]
[INFO] [stdout]      |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]     --> src/smart/motor.rs:1233:28
[INFO] [stdout]      |
[INFO] [stdout] 1233 | 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] 1230 + 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:1234:21
[INFO] [stdout]      |
[INFO] [stdout] 1234 |     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] 1230 + 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:1234:52
[INFO] [stdout]      |
[INFO] [stdout] 1234 |     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] 1230 + 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:1234:68
[INFO] [stdout]      |
[INFO] [stdout] 1234 |     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] 1230 + 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:1241:9
[INFO] [stdout]      |
[INFO] [stdout] 1241 |         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] 1230 + 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:1241:15
[INFO] [stdout]      |
[INFO] [stdout] 1241 |         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] 1230 + 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:1233:1
[INFO] [stdout]      |
[INFO] [stdout] 1233 | 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: E0412, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::is_over_temperature (line 1197) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     --> src/smart/motor.rs:1198:5
[INFO] [stdout]      |
[INFO] [stdout] 1198 | 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:1198:26
[INFO] [stdout]      |
[INFO] [stdout] 1198 | 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:1200:3
[INFO] [stdout]      |
[INFO] [stdout] 1200 | #[vexide::main]
[INFO] [stdout]      |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]     --> src/smart/motor.rs:1201:28
[INFO] [stdout]      |
[INFO] [stdout] 1201 | 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] 1198 + 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:1202:21
[INFO] [stdout]      |
[INFO] [stdout] 1202 |     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] 1198 + 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:1202:52
[INFO] [stdout]      |
[INFO] [stdout] 1202 |     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] 1198 + 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:1202:68
[INFO] [stdout]      |
[INFO] [stdout] 1202 |     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] 1198 + 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:1210:9
[INFO] [stdout]      |
[INFO] [stdout] 1210 |         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] 1198 + 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:1210:15
[INFO] [stdout]      |
[INFO] [stdout] 1210 |         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] 1198 + 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:1201:1
[INFO] [stdout]      |
[INFO] [stdout] 1201 | 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: E0412, E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::is_v5 (line 585) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:586:5
[INFO] [stdout]     |
[INFO] [stdout] 586 | 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:588:3
[INFO] [stdout]     |
[INFO] [stdout] 588 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/motor.rs:589:28
[INFO] [stdout]     |
[INFO] [stdout] 589 | 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] 586 + 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:590:17
[INFO] [stdout]     |
[INFO] [stdout] 590 |     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] 586 + 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:590:49
[INFO] [stdout]     |
[INFO] [stdout] 590 |     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] 586 + 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:590:63
[INFO] [stdout]     |
[INFO] [stdout] 590 |     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] 586 + 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:589:1
[INFO] [stdout]     |
[INFO] [stdout] 589 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::faults (line 1162) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     --> src/smart/motor.rs:1163:5
[INFO] [stdout]      |
[INFO] [stdout] 1163 | 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:1165:3
[INFO] [stdout]      |
[INFO] [stdout] 1165 | #[vexide::main]
[INFO] [stdout]      |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]     --> src/smart/motor.rs:1166:28
[INFO] [stdout]      |
[INFO] [stdout] 1166 | 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] 1163 + 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:1167:17
[INFO] [stdout]      |
[INFO] [stdout] 1167 |     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] 1163 + 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:1167:48
[INFO] [stdout]      |
[INFO] [stdout] 1167 |     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] 1163 + 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:1167:64
[INFO] [stdout]      |
[INFO] [stdout] 1167 |     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] 1163 + use vexide_devices::math::Direction;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `MotorFaults`
[INFO] [stdout]     --> src/smart/motor.rs:1172:28
[INFO] [stdout]      |
[INFO] [stdout] 1172 |         if faults.contains(MotorFaults::OVER_TEMPERATURE) {
[INFO] [stdout]      |                            ^^^^^^^^^^^ use of undeclared type `MotorFaults`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]      |
[INFO] [stdout] 1163 + use vexide_devices::smart::motor::MotorFaults;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]     --> src/smart/motor.rs:1175:9
[INFO] [stdout]      |
[INFO] [stdout] 1175 |         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] 1163 + 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:1175:15
[INFO] [stdout]      |
[INFO] [stdout] 1175 |         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] 1163 + 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:1166:1
[INFO] [stdout]      |
[INFO] [stdout] 1166 | 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: E0412, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::motor_type (line 548) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:549:5
[INFO] [stdout]     |
[INFO] [stdout] 549 | 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[E0412]: cannot find type `Motor` in this scope
[INFO] [stdout]    --> src/smart/motor.rs:551:29
[INFO] [stdout]     |
[INFO] [stdout] 551 | 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] 548 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `MotorType`
[INFO] [stdout]    --> src/smart/motor.rs:553:9
[INFO] [stdout]     |
[INFO] [stdout] 553 |         MotorType::Exp => println!("Motor is a 5.5W EXP Smart Motor"),
[INFO] [stdout]     |         ^^^^^^^^^ use of undeclared type `MotorType`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 548 + use vexide_devices::smart::motor::MotorType;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `MotorType`
[INFO] [stdout]    --> src/smart/motor.rs:554:9
[INFO] [stdout]     |
[INFO] [stdout] 554 |         MotorType::V5 => println!("Motor is an 11W V5 Smart Motor"),
[INFO] [stdout]     |         ^^^^^^^^^ use of undeclared type `MotorType`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 548 + use vexide_devices::smart::motor::MotorType;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0412, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::reset_position (line 916) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:917:5
[INFO] [stdout]     |
[INFO] [stdout] 917 | 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:919:3
[INFO] [stdout]     |
[INFO] [stdout] 919 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/motor.rs:920:28
[INFO] [stdout]     |
[INFO] [stdout] 920 | 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] 917 + 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:921:21
[INFO] [stdout]     |
[INFO] [stdout] 921 |     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] 917 + 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:921:52
[INFO] [stdout]     |
[INFO] [stdout] 921 |     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] 917 + 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:921:68
[INFO] [stdout]     |
[INFO] [stdout] 921 |     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] 917 + use vexide_devices::math::Direction;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Angle`
[INFO] [stdout]    --> src/smart/motor.rs:923:35
[INFO] [stdout]     |
[INFO] [stdout] 923 |         motor.set_position_target(Angle::from_degrees(10.0), 200).unwrap();
[INFO] [stdout]     |                                   ^^^^^ use of undeclared type `Angle`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 917 + use vexide_devices::math::Angle;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]    --> src/smart/motor.rs:924:9
[INFO] [stdout]     |
[INFO] [stdout] 924 |         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] 917 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Duration`
[INFO] [stdout]    --> src/smart/motor.rs:924:15
[INFO] [stdout]     |
[INFO] [stdout] 924 |         sleep(Duration::from_secs(1)).await;
[INFO] [stdout]     |               ^^^^^^^^ use of undeclared type `Duration`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 917 + use std::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/motor.rs:920:1
[INFO] [stdout]     |
[INFO] [stdout] 920 | 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: E0412, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/link.rs - smart::link::RadioLink::write_capacity (line 136) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/link.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 | 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:139:3
[INFO] [stdout]     |
[INFO] [stdout] 139 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/link.rs:140:28
[INFO] [stdout]     |
[INFO] [stdout] 140 | 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] 137 + 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:141:20
[INFO] [stdout]     |
[INFO] [stdout] 141 |     let mut link = RadioLink::open(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] 137 + use vexide_devices::smart::link::RadioLink;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `port_1` in this scope
[INFO] [stdout]    --> src/smart/link.rs:141:36
[INFO] [stdout]     |
[INFO] [stdout] 141 |     let mut link = RadioLink::open(port_1, "643A", LinkType::Manager);
[INFO] [stdout]     |                                    ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `LinkType`
[INFO] [stdout]    --> src/smart/link.rs:141:52
[INFO] [stdout]     |
[INFO] [stdout] 141 |     let mut link = RadioLink::open(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] 137 + 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:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 | 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: E0412, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::set_direction (line 1327) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     --> src/smart/motor.rs:1328:5
[INFO] [stdout]      |
[INFO] [stdout] 1328 | 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:1330:3
[INFO] [stdout]      |
[INFO] [stdout] 1330 | #[vexide::main]
[INFO] [stdout]      |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]     --> src/smart/motor.rs:1331:28
[INFO] [stdout]      |
[INFO] [stdout] 1331 | 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] 1328 + 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:1332:21
[INFO] [stdout]      |
[INFO] [stdout] 1332 |     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] 1328 + 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:1332:52
[INFO] [stdout]      |
[INFO] [stdout] 1332 |     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] 1328 + 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:1332:68
[INFO] [stdout]      |
[INFO] [stdout] 1332 |     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] 1328 + 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:1333:25
[INFO] [stdout]      |
[INFO] [stdout] 1333 |     motor.set_direction(Direction::Reverse).unwrap();
[INFO] [stdout]      |                         ^^^^^^^^^ use of undeclared type `Direction`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]      |
[INFO] [stdout] 1328 + 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:1331:1
[INFO] [stdout]      |
[INFO] [stdout] 1331 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::power (line 690) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:691:5
[INFO] [stdout]     |
[INFO] [stdout] 691 | 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:693:3
[INFO] [stdout]     |
[INFO] [stdout] 693 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/motor.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] 691 + 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:695:17
[INFO] [stdout]     |
[INFO] [stdout] 695 |     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] 691 + 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:695:48
[INFO] [stdout]     |
[INFO] [stdout] 695 |     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] 691 + 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:695:64
[INFO] [stdout]     |
[INFO] [stdout] 695 |     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] 691 + 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:698:9
[INFO] [stdout]     |
[INFO] [stdout] 698 |         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] 691 + 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:698:15
[INFO] [stdout]     |
[INFO] [stdout] 698 |         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] 691 + 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: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 9 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0412, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::set_position (line 959) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:960:5
[INFO] [stdout]     |
[INFO] [stdout] 960 | 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:962:3
[INFO] [stdout]     |
[INFO] [stdout] 962 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/motor.rs:963:28
[INFO] [stdout]     |
[INFO] [stdout] 963 | 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] 960 + 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:964:21
[INFO] [stdout]     |
[INFO] [stdout] 964 |     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] 960 + 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:964:52
[INFO] [stdout]     |
[INFO] [stdout] 964 |     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] 960 + 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:964:68
[INFO] [stdout]     |
[INFO] [stdout] 964 |     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] 960 + use vexide_devices::math::Direction;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Angle`
[INFO] [stdout]    --> src/smart/motor.rs:965:24
[INFO] [stdout]     |
[INFO] [stdout] 965 |     motor.set_position(Angle::from_degrees(0.0)).unwrap();
[INFO] [stdout]     |                        ^^^^^ use of undeclared type `Angle`
[INFO] [stdout]     |
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 960 + use vexide_devices::math::Angle;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/motor.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::gearset (line 519) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:520:5
[INFO] [stdout]     |
[INFO] [stdout] 520 | 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[E0412]: cannot find type `Motor` in this scope
[INFO] [stdout]    --> src/smart/motor.rs:522:26
[INFO] [stdout]     |
[INFO] [stdout] 522 | 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] 519 + 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:528:9
[INFO] [stdout]     |
[INFO] [stdout] 528 |         Gearset::Green => println!("Motor is using the green gearset"),
[INFO] [stdout]     |         ^^^^^^^ use of undeclared type `Gearset`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 519 + use vexide_devices::smart::motor::Gearset;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Gearset`
[INFO] [stdout]    --> src/smart/motor.rs:529:9
[INFO] [stdout]     |
[INFO] [stdout] 529 |         Gearset::Red => println!("Motor is using the red gearset"),
[INFO] [stdout]     |         ^^^^^^^ use of undeclared type `Gearset`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 519 + use vexide_devices::smart::motor::Gearset;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Gearset`
[INFO] [stdout]    --> src/smart/motor.rs:530:9
[INFO] [stdout]     |
[INFO] [stdout] 530 |         Gearset::Blue => println!("Motor is using the blue gearset"),
[INFO] [stdout]     |         ^^^^^^^ use of undeclared type `Gearset`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 519 + use vexide_devices::smart::motor::Gearset;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0412, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::set_current_limit (line 993) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:994:5
[INFO] [stdout]     |
[INFO] [stdout] 994 | 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:996:3
[INFO] [stdout]     |
[INFO] [stdout] 996 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/motor.rs:997:28
[INFO] [stdout]     |
[INFO] [stdout] 997 | 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] 994 + 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:998:21
[INFO] [stdout]     |
[INFO] [stdout] 998 |     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] 994 + 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:998:52
[INFO] [stdout]     |
[INFO] [stdout] 998 |     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] 994 + 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:998:68
[INFO] [stdout]     |
[INFO] [stdout] 998 |     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] 994 + 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:997:1
[INFO] [stdout]     |
[INFO] [stdout] 997 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::set_velocity (line 336) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:337:5
[INFO] [stdout]     |
[INFO] [stdout] 337 | 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:339:3
[INFO] [stdout]     |
[INFO] [stdout] 339 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/motor.rs:340:28
[INFO] [stdout]     |
[INFO] [stdout] 340 | 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] 337 + 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:341:21
[INFO] [stdout]     |
[INFO] [stdout] 341 |     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] 337 + 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:341:52
[INFO] [stdout]     |
[INFO] [stdout] 341 |     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] 337 + 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:341:68
[INFO] [stdout]     |
[INFO] [stdout] 341 |     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] 337 + 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:343:5
[INFO] [stdout]     |
[INFO] [stdout] 343 |     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] 337 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Duration`
[INFO] [stdout]    --> src/smart/motor.rs:343:11
[INFO] [stdout]     |
[INFO] [stdout] 343 |     sleep(Duration::from_secs(1)).await;
[INFO] [stdout]     |           ^^^^^^^^ use of undeclared type `Duration`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 337 + use std::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/motor.rs:340:1
[INFO] [stdout]     |
[INFO] [stdout] 340 | 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: E0412, E0425, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::set_voltage (line 364) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:365:5
[INFO] [stdout]     |
[INFO] [stdout] 365 | 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:367:3
[INFO] [stdout]     |
[INFO] [stdout] 367 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/motor.rs:368:28
[INFO] [stdout]     |
[INFO] [stdout] 368 | 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] 365 + 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:369:24
[INFO] [stdout]     |
[INFO] [stdout] 369 |     let mut v5_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] 365 + 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:369:55
[INFO] [stdout]     |
[INFO] [stdout] 369 |     let mut v5_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] 365 + 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:369:71
[INFO] [stdout]     |
[INFO] [stdout] 369 |     let mut v5_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] 365 + 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:370:25
[INFO] [stdout]     |
[INFO] [stdout] 370 |     let mut exp_motor = Motor::new_exp(peripherals.port_2, Direction::Forward);
[INFO] [stdout]     |                         ^^^^^ use of undeclared type `Motor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 365 + 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:370:60
[INFO] [stdout]     |
[INFO] [stdout] 370 |     let mut exp_motor = Motor::new_exp(peripherals.port_2, Direction::Forward);
[INFO] [stdout]     |                                                            ^^^^^^^^^ use of undeclared type `Direction`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 365 + 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:368:1
[INFO] [stdout]     |
[INFO] [stdout] 368 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::new_exp (line 221) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.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/motor.rs:224:3
[INFO] [stdout]     |
[INFO] [stdout] 224 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/motor.rs:225:28
[INFO] [stdout]     |
[INFO] [stdout] 225 | 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 `Motor`
[INFO] [stdout]    --> src/smart/motor.rs:226:17
[INFO] [stdout]     |
[INFO] [stdout] 226 |     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] 222 + 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:226:52
[INFO] [stdout]     |
[INFO] [stdout] 226 |     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] 222 + 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:228:46
[INFO] [stdout]     |
[INFO] [stdout] 228 |     assert_eq!(motor.max_voltage().unwrap(), Motor::EXP_MAX_VOLTAGE);
[INFO] [stdout]     |                                              ^^^^^ use of undeclared type `Motor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 222 + 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:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | 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: E0412, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::set_target (line 246) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:247:5
[INFO] [stdout]     |
[INFO] [stdout] 247 | use vexide::{prelude::*, smart::motor::{BrakeMode, MotorControl}};
[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:247:41
[INFO] [stdout]     |
[INFO] [stdout] 247 | use vexide::{prelude::*, 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:249:3
[INFO] [stdout]     |
[INFO] [stdout] 249 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/motor.rs:250:28
[INFO] [stdout]     |
[INFO] [stdout] 250 | 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] 247 + 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:251:21
[INFO] [stdout]     |
[INFO] [stdout] 251 |     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] 247 + 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:251:52
[INFO] [stdout]     |
[INFO] [stdout] 251 |     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] 247 + 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:251:68
[INFO] [stdout]     |
[INFO] [stdout] 251 |     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] 247 + 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:253:5
[INFO] [stdout]     |
[INFO] [stdout] 253 |     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] 247 + use std::thread::sleep;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Duration`
[INFO] [stdout]    --> src/smart/motor.rs:253:11
[INFO] [stdout]     |
[INFO] [stdout] 253 |     sleep(Duration::from_secs(1)).await;
[INFO] [stdout]     |           ^^^^^^^^ use of undeclared type `Duration`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 247 + use std::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/motor.rs:250:1
[INFO] [stdout]     |
[INFO] [stdout] 250 | 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: E0412, E0425, E0432, E0433, E0752.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/mod.rs - smart::SmartPort::number (line 206) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `SmartPort`
[INFO] [stdout]    --> src/smart/mod.rs:207:24
[INFO] [stdout]     |
[INFO] [stdout] 207 | let my_port = unsafe { SmartPort::new(1) };
[INFO] [stdout]     |                        ^^^^^^^^^ use of undeclared type `SmartPort`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 206 + use vexide_devices::smart::SmartPort;
[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/smart/motor.rs - smart::motor::Motor::status (line 1136) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]     --> src/smart/motor.rs:1137:5
[INFO] [stdout]      |
[INFO] [stdout] 1137 | 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[E0412]: cannot find type `Motor` in this scope
[INFO] [stdout]     --> src/smart/motor.rs:1139:26
[INFO] [stdout]      |
[INFO] [stdout] 1139 | fn is_motor_busy(motor: &Motor) -> bool {
[INFO] [stdout]      |                          ^^^^^ not found in this scope
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]      |
[INFO] [stdout] 1136 + use vexide_devices::smart::motor::Motor;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `MotorStatus`
[INFO] [stdout]     --> src/smart/motor.rs:1140:38
[INFO] [stdout]      |
[INFO] [stdout] 1140 |     motor.status().unwrap().contains(MotorStatus::BUSY)
[INFO] [stdout]      |                                      ^^^^^^^^^^^ use of undeclared type `MotorStatus`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]      |
[INFO] [stdout] 1136 + use vexide_devices::smart::motor::MotorStatus;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0412, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/smart/motor.rs - smart::motor::Motor::set_profiled_velocity (line 430) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `vexide`
[INFO] [stdout]    --> src/smart/motor.rs:431:5
[INFO] [stdout]     |
[INFO] [stdout] 431 | 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:433:3
[INFO] [stdout]     |
[INFO] [stdout] 433 | #[vexide::main]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `vexide`
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Peripherals` in this scope
[INFO] [stdout]    --> src/smart/motor.rs:434:28
[INFO] [stdout]     |
[INFO] [stdout] 434 | 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] 431 + 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:435:21
[INFO] [stdout]     |
[INFO] [stdout] 435 |     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] 431 + 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:435:52
[INFO] [stdout]     |
[INFO] [stdout] 435 |     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] 431 + 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:435:68
[INFO] [stdout]     |
[INFO] [stdout] 435 |     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] 431 + use vexide_devices::math::Direction;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `MotorControl`
[INFO] [stdout]    --> src/smart/motor.rs:437:30
[INFO] [stdout]     |
[INFO] [stdout] 437 |     let _ = motor.set_target(MotorControl::Position(Angle::from_degrees(90.0), 200));
[INFO] [stdout]     |                              ^^^^^^^^^^^^ use of undeclared type `MotorControl`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 431 + use vexide_devices::smart::motor::MotorControl;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Angle`
[INFO] [stdout]    --> src/smart/motor.rs:437:53
[INFO] [stdout]     |
[INFO] [stdout] 437 |     let _ = motor.set_target(MotorControl::Position(Angle::from_degrees(90.0), 200));
[INFO] [stdout]     |                                                     ^^^^^ use of undeclared type `Angle`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 431 + use vexide_devices::math::Angle;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/smart/motor.rs:434:1
[INFO] [stdout]     |
[WARN] too many lines in the log, truncating it
