forked from moggieuk/Happy-Hare
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTODO
60 lines (46 loc) · 3.58 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
1. Inattention watchdog that autmatically executes recovery if user doesn't react -- better than disabling heaters and killing print. Use this to replace current retry X times option.
2. From User: Here are the parameters that would go in install.sh (using "MELLOW_FLY_ERCF" (supports canbus):
This board might be something similar to canbus_uuid: nnnnnnnnnnn instead of serial: xxx.
(The board can be used in either USB or canbus mode)
PIN[MELLOW_FLY_ERCF,gear_uart_pin]="ercf:gpio9";
PIN[MELLOW_FLY_ERCF,gear_step_pin]="ercf:gpio7";
PIN[MELLOW_FLY_ERCF,gear_dir_pin]="!ercf:gpio8";
PIN[MELLOW_FLY_ERCF,gear_enable_pin]="!ercf:gpio6";
PIN[MELLOW_FLY_ERCF,gear_diag_pin]="ercf:gpio23";
PIN[MELLOW_FLY_ERCF,selector_uart_pin]="ercf:gpio0";
PIN[MELLOW_FLY_ERCF,selector_step_pin]="ercf:gpio2";
PIN[MELLOW_FLY_ERCF,selector_dir_pin]="!ercf:gpio1";
PIN[MELLOW_FLY_ERCF,selector_enable_pin]="!ercf:gpio3";
PIN[MELLOW_FLY_ERCF,selector_diag_pin]="^ercf:gpio22";
PIN[MELLOW_FLY_ERCF,selector_endstop_pin]="ercf:gpio20";
PIN[MELLOW_FLY_ERCF,servo_pin]="ercf:gpio21";
PIN[MELLOW_FLY_ERCF,encoder_pin]="ercf:gpio15";
3. DONE gneu: On runout.. add option to unload tool to fully unload past the gate... so it can't accidently reload on next mmu_check_gates
4. DONE gneu: Need to use ES groups for initial load if desired gate is empty!
5. DONE gneu: When MMU_REMAP_TTG, ensure marked gate is "Unknown" status if not specified with AVAILABLE=xxx
6. Gate calibration - maybe throw away the first measure unless the gate is buffered for more accurate results
7. Make servo movement integration faster with option to pass printtime() to servo move so time is not currenttime to avoid toolhead.wait()
8. Turn spool group into Class... that fetches filament from first gate in group, but tacks that it has move to new gate. On print end, reset the TTG map back to what is what at start of print. start print should snapshot, endless_spool update in print, end print should restore. What about manual changes to TTG during a print? these really shouldn't be restore/overwitten at end of print.
Complete Type A MMU support
===========================
1. Update servo methods to leverage the current gate (or pass it in?). If None, then use default (single servo)
2. Make gate and extruder sensor homing also automatically go backward to home
3. Make extruder homing optional ... could blindly load bowden then home to nozzle!
4. Add home to nozzle option .. either a hard distance or endstop
IDEA: Parhaps all filament moves could be:
a) blind movement (optionally encoder verified)
b) home to sensor (some virtual sensors like collision)
5. Ensure servo move is part of filament move step (I think it is)
6. Put all selector movement into new Class called "mmm_selector.py"? or mmu_toolhead.py?
7. Put all filament drive movement into new Class called "mmu_filament_driver.py" or mmu_toolhead.py?
8. Add pre-gate sensor support .. essentially a runout sensor with insertion logic to auto load (during print only if Type B or C.
9. Use pre-gate sensor to detect filament for MMU_GATE_MAP - insertion logic could at least do that.
Type B & C MMU support
=======================
1. Add multiple gear stepper support
2. Add optional per gear servo with config movement
3. Each gear stepper needs it's own rotation distance
3a. Smart convert of gear ratios to rotation distance... update to work with rotation distance instead of ratio?
4. Need per gear stepper servos.
4a. mmu_servo should "inherit" base servo settings so it could be as easy and just specifying `pin` or least only the differences.
5. Could multiple gear steppers also inhert settings from the base...?