Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tests: improvements around idler homing #344

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

gudnimg
Copy link
Collaborator

@gudnimg gudnimg commented Dec 27, 2024

The changes were made in #337 but I'm creating this separate PR since these changes apply to the current main branch.

Changes:

  1. Remove SimulateIdlerHoming call in Load Filament error recovery. The homing is never invalidated in this state machine. Instead we should be simulating the idler engaging on the slot with the error.
  2. Fix an issue in the unit tests where if homing fails with state mm::MovableBase::HomingFailed then the unit test will timeout. Also added checks for mm::MovableBase::HomeForward and mm::MovableBase::HomeBack.
  3. Simplify SimulateFailedHomeFirstTime, it was attempting to homing the idler and selector at the same time... which is forbidden today. Instead, simulate a successful idler homing, and proceed to simulate a failed selector homing.

The idler is only put on hold, and resumed after a user event is seen.

We must ensure the idler is engaged before feeding to FINDA.
We never home Idler and Selector at the same time. I think we did early perhaps, but now the selector always waits
for the idler homing to be valid.
Add handling for HomingFailed which can cause the tests
to timeout.

Add checks for HomeForward and HomeBack
Copy link

All values in bytes. Δ Delta to base

ΔFlash ΔSRAM Used Flash Used SRAM Free Flash Free SRAM
0 0 28132 1667 540 893

Copy link

Automated Test Code Coverage Report

View details...

File Lines Exec Cover
src/application.cpp 169 14 8%
src/application.h 3 3 100%
src/hal/circular_buffer.h 52 52 100%
src/hal/eeprom.h 1 0 0%
src/hal/gpio.h 18 7 38%
src/hal/progmem.h 6 6 100%
src/hal/tmc2130.cpp 113 9 7%
src/hal/tmc2130.h 31 27 87%
src/logic/command_base.cpp 139 118 84%
src/logic/command_base.h 4 3 75%
src/logic/cut_filament.cpp 117 80 68%
src/logic/eject_filament.cpp 77 60 77%
src/logic/feed_to_bondtech.cpp 60 57 95%
src/logic/feed_to_bondtech.h 1 1 100%
src/logic/feed_to_finda.cpp 48 45 93%
src/logic/feed_to_finda.h 1 1 100%
src/logic/home.cpp 18 12 66%
src/logic/load_filament.cpp 85 77 90%
src/logic/load_filament.h 1 0 0%
src/logic/move_selector.cpp 21 0 0%
src/logic/no_command.h 2 1 50%
src/logic/retract_from_finda.cpp 27 21 77%
src/logic/retract_from_finda.h 1 1 100%
src/logic/set_mode.cpp 5 0 0%
src/logic/set_mode.h 1 0 0%
src/logic/start_up.cpp 38 26 68%
src/logic/start_up.h 4 4 100%
src/logic/tool_change.cpp 108 82 75%
src/logic/unload_filament.cpp 76 69 90%
src/logic/unload_to_finda.cpp 40 39 97%
src/logic/unload_to_finda.h 1 1 100%
src/modules/axisunit.h 21 21 100%
src/modules/buttons.cpp 11 11 100%
src/modules/buttons.h 7 7 100%
src/modules/crc.h 13 13 100%
src/modules/debouncer.cpp 28 24 85%
src/modules/debouncer.h 7 7 100%
src/modules/finda.cpp 7 3 42%
src/modules/finda.h 2 2 100%
src/modules/fsensor.cpp 6 6 100%
src/modules/fsensor.h 3 3 100%
src/modules/globals.cpp 47 42 89%
src/modules/globals.h 34 24 70%
src/modules/idler.cpp 89 82 92%
src/modules/idler.h 12 12 100%
src/modules/leds.cpp 44 42 95%
src/modules/leds.h 16 15 93%
src/modules/math.h 6 6 100%
src/modules/motion.cpp 59 40 67%
src/modules/motion.h 66 64 96%
src/modules/movable_base.cpp 73 69 94%
src/modules/movable_base.h 16 16 100%
src/modules/permanent_storage.cpp 144 89 61%
src/modules/protocol.cpp 216 184 85%
src/modules/protocol.h 72 70 97%
src/modules/pulley.cpp 33 25 75%
src/modules/pulley.h 8 5 62%
src/modules/pulse_gen.cpp 95 89 93%
src/modules/pulse_gen.h 53 51 96%
src/modules/selector.cpp 69 62 89%
src/modules/selector.h 5 5 100%
src/modules/speed_table.h 26 24 92%
src/modules/user_input.cpp 39 39 100%
src/modules/user_input.h 12 12 100%
src/modules/voltage.cpp 4 0 0%
src/registers.cpp 104 37 35%
src/unit.h 12 12 100%
TOTAL 2727 2029 74%

TOTAL: 2727 lines of code, 2029 lines executed, 74% covered.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant