Commit Graph

149 Commits

Author SHA1 Message Date
3d-gussner 0d8b3ceee1 Change MMU2 to MMU3 2023-06-28 06:44:54 +02:00
Alex Voinea 41b8279805
Fix eeprom table addresses 2023-04-13 11:34:18 +02:00
Alex Voinea f333d36e47
Use a different location as a kill message pending flag
The old implementation would fail if the message was in progmem at address 0xffff or 0x0000 (both unlikely). It would also fail if the eeprom was initialized to some other random value, which could have been dangerous when displayed as a full screen message.
2023-04-13 10:57:00 +02:00
Alex Voinea 2aca89d6dc
Update eeprom documentation 2023-04-13 10:57:00 +02:00
Alex Voinea f388d8abb6
postponed kill() message with softReset 2023-04-13 10:57:00 +02:00
Guðni Már Gilbert 768319f1e7 optimisation: cleanup print statistics
Change in memory:
Flash: -104 bytes
SRAM: 0 bytes
2023-04-05 11:16:54 +02:00
Yuri D'Elia d1ff728e4f TM: future-proofing for incompatible model upgrades
Introduce a model version. This is initialized at "1" and doesn't
require any upgrade/downgrade checks since it's currently
retro-compatible.
2023-02-17 15:01:59 +01:00
Yuri D'Elia 38b1e64687 TM: Allocate new eeprom parameters for PTC handling 2023-02-17 15:01:59 +01:00
D.R.racer 9b64d122dc Disable MMU2S by default
On printers without the MMU no error screen should occur and no attempts of communication with the MMU should be performed -> EEPROM_MMU_ENABLED should default to 0.

PFW-1418
2023-02-17 12:53:07 +01:00
Guðni Már Gilbert 99761bdff7 optimisation: re-use adjust_bed_reset()
Move the code into eeprom.cpp since we're only working with EEPROM

Change in memory:
Flash: -42 bytes
SRAM: 0 bytes
2023-02-08 08:01:55 +01:00
Guðni Már Gilbert b28aa6f42a PFW-1471 Rename 'Toolchange count' to 'Material changes'
Added the string to our message so it can be translated

Change in memory:
Flash: -10 bytes
SRAM: 0 bytes
2023-02-06 08:33:40 +01:00
3d-gussner ba3ee0b4c6 Fix few values 2023-01-02 15:11:01 +01:00
3d-gussner 20634a3852 Update calibration status v2 documentation 2023-01-02 15:11:01 +01:00
Yuri D'Elia 9a018230ce Replace calibration state with a new calibration bitmap
- Move calibration status/declarations to util.h
- Allows to query the status of each step independently without assuming
  any order
- Allows to extend the calibration with new steps transparently
2022-12-30 14:14:01 +01:00
Yuri D'Elia 2552fee4c7 eeprom: Fix EEPROM_HEAT_BED_ON_LOAD_FILAMENT debug offset in docs 2022-12-30 14:14:01 +01:00
Yuri D'Elia 0c042440ee eeprom: Document new calibration state 2022-12-12 18:25:17 +01:00
Panayiotis-git c75c81ce4f Do not heat the bed, on load/unload
If during a paused print, the preheat is canceled, keep the bed target temperature
Display bed temperatures only if bed is also heated
Remove not needed variables nTargetOld and nTargetBedOld from the mFilamentItem function
Define new Setting "HeatBedOnLoad" [Yes/No]
2022-12-04 19:26:34 +02:00
Alex Voinea ef83fefce1 More optimization 2022-11-18 14:50:07 +01:00
Alex Voinea 8f4ac82273 eeprom_init_default also returns the read/default value 2022-11-18 14:50:07 +01:00
Alex Voinea b317786110 More configuration store savings
flash: -94B
RAM: 0B
2022-11-18 14:50:07 +01:00
Alex Voinea 5305dbd299 Sheet name initialization improvements
The code looks better, but it takes a bit more flash. I prefer it like this
flash: +20B
ram: 0B
2022-11-18 14:50:07 +01:00
Alex Voinea 771f833a44 Implement eeprom dword functions 2022-11-18 14:50:07 +01:00
Alex Voinea ca943cceec Split the increment function into increment and add
No size difference since the compiler did a good job optimizing the inc argument (always 1 before).
2022-11-18 14:50:07 +01:00
D.R.racer 455c29e78b Optimize EEPROM usage/functions 2022-11-18 14:50:07 +01:00
Guðni Már Gilbert 0af7d28074 PFW-1397 Allocate EEPROM memory for toolchange counter 2022-11-08 13:49:40 +01:00
3d-gussner eaaf1d6872 Rename Sheets
- `Satin 1` to `Satin  `
- `Satin 2` to `NylonPA`
2022-10-18 10:20:01 +02:00
Tomáš Jozífek 233174cf86 Fill the doc for the EEPROM value at 0x0DA1 - active_sheet 2022-10-07 11:59:57 +02:00
3d-gussner bab83704a1 Fix Typo 0X0 to 0x0 2022-10-06 13:23:16 +02:00
3d-gussner 1a8f18318c Add Temp Model eeprom documentation 2022-09-28 18:15:23 +02:00
3d-gussner 302e4b679c replace tab with spaces 2022-09-28 17:37:46 +02:00
3d-gussner 37cde856e9 Rename Auto_deplete to Spool_join
Fix some missing MSG_ c= r=
2022-09-16 16:25:47 +02:00
D.R.racer 09cb9c6ecd Fixup after rebase + discussion 2022-09-16 10:22:38 +02:00
VintagePC 73c486cc2f - Fix DisableMMU button on FW incompat
5823c14
- Implement eeprom var, fix reset
2022-09-16 10:22:38 +02:00
Alex Voinea 340bc87110 Checkpoint: jam detection 2022-09-16 10:20:32 +02:00
Alex Voinea d2bfe422f1 Separate runout and enabled settings 2022-09-16 10:17:04 +02:00
Alex Voinea b27c8b50e0 Fix power panic handling 2022-08-24 20:19:26 +03:00
Alex Voinea 05bd1ba57f Multi-segment pause resume initial 2022-08-24 20:19:26 +03:00
Yuri D'Elia 6832ec7648 Allow to save/restore temperature model settings
This currently bypasses the ConfigurationStore, which doesn't fit the
malin model nicely.

temp_model is using it's own private copy directly.

But maybe we should change this in the future.
2022-07-25 17:30:22 +02:00
Yuri D'Elia e37435b53f Merge remote-tracking branch 'upstream/MK3_3.11.1' into mk311_sync 2022-07-04 16:14:23 +02:00
Yuri D'Elia 64f646a8a4 Add notices about Sheet::bed_temp and Sheet::pinda_temp being unused
There is a potential for 2*8 bytes of extra sparse eeprom space, plus a
few bytes saved if we remove the update calls, so add a notice that
these values are currently only written-to, but never actually used.
2022-05-11 11:15:36 +02:00
Alex Voinea a6331d22c8 Remove ancient SNMM code in the MK3 branch 2022-02-15 15:58:33 +01:00
3d-gussner 8d0af30aa7 Update doxygen documentation 2022-02-07 19:41:14 +01:00
DRracer 6188870c2e
Merge pull request #3157 from wavexx/improve_d2
Add extra debugging functions & crash analysis
2021-06-22 07:37:30 +02:00
metacollin 8a7dd08116 Fixed C++ bug 2021-06-21 07:05:17 +02:00
Yuri D'Elia e28301f391 Report crash also in MK2.5, fix stack_error abuse
Rename EEPROM_CRASH_ACKNOWLEDGED to EEPROM_FW_CRASH_FLAG.

Use EEPROM_FW_CRASH_FLAG to always set the last crash reason, which
simplifies handling between the online/offline variants.

Make stack_error safe, by setting the flag and restarting immediately,
so that the error can be shown after restart.
2021-06-12 14:41:54 +02:00
Yuri D'Elia c089ac5341 Implement EMERGENCY_DUMP for offline analysis
If EMERGENCY_DUMP is defined, crash and dump using the new xflash dump
functionality instead of just continuing with an error message.

When an emergency crash is stored, the first restart after a crash
displays a message that debug data is available and to contact support
to submit the crash for analysis.
2021-06-08 16:42:43 +02:00
Panayiotis-git 3c63ddaafd Fix the eeprom address documentation 2021-05-22 17:09:55 +03:00
Marek Bel aa45091400
Scale extruder motor current linearly with speed. (#2813)
Scale extruder motor current linearly with speed.

49% less heating when running at low speed and standstill, 4% more torque at maximum extrusion rate (15mm^3/s), 15% more torque in high speed movements (un/retractions).

StealthChop mode is used for low speeds (below 900mm/min)
spreadCycle is used above. Transition speed is well above maximum extrusion rate of 15mm^3/s (275mm/min) so mode transition is not expected to be visible on printed surface.

StealthChop is expected to improve printed surface quality (less artifacts).

Warning you can burn extruder motor if it is not the same impedance as original Prusa i3 Extruder stepper motor. There is no current feedback in low speed so lower impedance motor can be burned by over current.

Even there is no direct current feedback, there is no risk for original motor thermal runaway, as motor resistance increases with temperature, current decreases.

Standstill peak phase current is expected to be 500 mA and linearly increase with speed to 970 mA at 900mm/min where spreadCycle constant current regulation takes over and keeps peak current at 805 mA to maximum speed possible.

As motor heating increases with current squared, lowering low speed current from 700mA to 500mA decreases heating 49% in thate mode, where motor spends most of the time.

Enable E-motor cool mode in farm mode only (and experimental menu) - the experimental menu is visible AND the EEPROM_ECOOL variable has a value of the universal answer to all problems of the universe - i.e. two conditions must be met at the start of the FW to enable the E-cool mode. If the user enables the experimental menu, sets the E-cool mode and disables the menu afterwards, on the next start of the FW the E-cool mode will be DISABLED. This is still subject to discussion how much obscure (security through obscurity) we'd like this option to have .

Additional stuff:
* Add serial debug msg to verify if E-cool mode is on
* Avoid access to E-cool mode switch on machines without TMC2130
* Do not allow only M907 E in case of E-cool mode+warn the user on the serial line that the command was skipped

Co-authored-by: D.R.racer <drracer@drracer.eu>
2021-04-23 16:06:28 +02:00
DRracer 98643825dc
Merge pull request #3055 from awenelo/add-satin-sheet
Add satin sheets
2021-04-22 07:13:32 +02:00
Voinea Dragos 7356cd0811 EEPROM_JOB_ID 2021-04-09 08:09:51 +02:00