seveibar/nema17-stepper-motor-driver-tmc2209-usb-pd

RP2040-based USB-C PD stepper-motor controller with TMC2209 drive, AS5600 position feedback, TMP102 thermal shutdown, current/voltage telemetry, RGB status LED, and protected buzzer alarm circuitry.

Version
0.2.0
License
unset
Stars
0

reports/firmware-tests.log

$ python3 -m unittest discover -s firmware -p 'test_*.py' -v
test_buzzer_starts_and_closes_silent (test_feedback.FeedbackTests.test_buzzer_starts_and_closes_silent) ... ok
test_reject_bad_magnet_and_stale_angle (test_feedback.FeedbackTests.test_reject_bad_magnet_and_stale_angle) ... ok
test_single_turn_angle_and_mask (test_feedback.FeedbackTests.test_single_turn_angle_and_mask) ... ok
test_warning_and_shutdown_alarm (test_feedback.FeedbackTests.test_warning_and_shutdown_alarm) ... ok
test_zero_wrap_is_volatile (test_feedback.FeedbackTests.test_zero_wrap_is_volatile) ... ok
test_adc_conversion_at_known_voltage_and_current (test_power_status.PowerStatusTests.test_adc_conversion_at_known_voltage_and_current) ... ok
test_adc_invalid_inputs (test_power_status.PowerStatusTests.test_adc_invalid_inputs) ... ok
test_fallback_overvoltage_and_overcurrent_rejected (test_power_status.PowerStatusTests.test_fallback_overvoltage_and_overcurrent_rejected) ... ok
test_led_color_order_and_brightness_limit (test_power_status.PowerStatusTests.test_led_color_order_and_brightness_limit) ... ok
test_led_timing_matches_manufacturer (test_power_status.PowerStatusTests.test_led_timing_matches_manufacturer) ... ok
test_reference_and_zero_calibration (test_power_status.PowerStatusTests.test_reference_and_zero_calibration) ... ok
test_arm_uses_fresh_temperature_and_checks_driver_fault (test_thermal.AdapterTests.test_arm_uses_fresh_temperature_and_checks_driver_fault) ... ok
test_boot_and_sensor_failure_hold_enable_low (test_thermal.AdapterTests.test_boot_and_sensor_failure_hold_enable_low) ... ok
test_exit_and_stop_clear_enable_and_coil_inputs (test_thermal.AdapterTests.test_exit_and_stop_clear_enable_and_coil_inputs) ... ok
test_interrupt_latches_even_after_alert_has_recovered (test_thermal.AdapterTests.test_interrupt_latches_even_after_alert_has_recovered) ... ok
test_pd_voltage_drop_stops_and_requires_manual_rearm (test_thermal.AdapterTests.test_pd_voltage_drop_stops_and_requires_manual_rearm) ... ok
test_supply_overcurrent_stops (test_thermal.AdapterTests.test_supply_overcurrent_stops) ... ok
test_bad_temperature_format_is_rejected (test_thermal.ProtectionTests.test_bad_temperature_format_is_rejected) ... ok
test_faults_stop_motor_and_never_auto_resume (test_thermal.ProtectionTests.test_faults_stop_motor_and_never_auto_resume) ... ok
test_sensor_register_byte_order_and_signed_temperature (test_thermal.ProtectionTests.test_sensor_register_byte_order_and_signed_temperature) ... ok
test_sensor_reset_mode_corruption_and_missing_sensor (test_thermal.ProtectionTests.test_sensor_reset_mode_corruption_and_missing_sensor) ... ok
test_startup_requires_valid_sensor_and_explicit_arm (test_thermal.ProtectionTests.test_startup_requires_valid_sensor_and_explicit_arm) ... ok
test_status_bits_are_read_only_and_do_not_mask_configuration_errors (test_thermal.ProtectionTests.test_status_bits_are_read_only_and_do_not_mask_configuration_errors) ... ok
test_warning_trip_and_strict_cooldown_with_manual_rearm (test_thermal.ProtectionTests.test_warning_trip_and_strict_cooldown_with_manual_rearm) ... ok
test_bad_crc (test_tmc2209.ProtocolTests.test_bad_crc) ... ok
test_echo_and_configuration (test_tmc2209.ProtocolTests.test_echo_and_configuration) ... ok
test_known_crc_vector (test_tmc2209.ProtocolTests.test_known_crc_vector) ... ok
test_rejected_write_and_wrap (test_tmc2209.ProtocolTests.test_rejected_write_and_wrap) ... ok
test_reset_thermal_short_and_wrong_part (test_tmc2209.ProtocolTests.test_reset_thermal_short_and_wrong_part) ... ok

----------------------------------------------------------------------
Ran 29 tests in 0.005s

OK