Closed Dids closed 2 years ago
Unfortunately MPC is a no go with Jyers UI at the moment.
Marlin/src/lcd/e3v2/jyersui/dwin.cpp: In static member function 'static void CrealityDWINClass::Menu_Item_Handler(uint8_t, uint8_t, bool)':
Marlin/src/lcd/e3v2/jyersui/dwin.cpp:2005:56: error: 'hotend_info_t' {aka 'struct MPCHeaterInfo'} has no member named 'pid'
2005 | Draw_Float(thermalManager.temp_hotend[0].pid.Kp, row, false, 100);
| ^~~
Marlin/src/lcd/e3v2/jyersui/dwin.cpp:2008:58: error: 'hotend_info_t' {aka 'struct MPCHeaterInfo'} has no member named 'pid'
2008 | Modify_Value(thermalManager.temp_hotend[0].pid.Kp, 0, 5000, 100, thermalManager.updatePID);
| ^~~
Marlin/src/lcd/e3v2/jyersui/dwin.cpp:2008:95: error: 'class Temperature' has no member named 'updatePID'
2008 | Modify_Value(thermalManager.temp_hotend[0].pid.Kp, 0, 5000, 100, thermalManager.updatePID);
| ^~~~~~~~~
In file included from Marlin/src/lcd/e3v2/jyersui/dwin.cpp:37:
Marlin/src/lcd/e3v2/jyersui/dwin.cpp:2013:69: error: 'hotend_info_t' {aka 'struct MPCHeaterInfo'} has no member named 'pid'
2013 | Draw_Float(unscalePID_i(thermalManager.temp_hotend[0].pid.Ki), row, false, 100);
| ^~~
Marlin/src/lcd/e3v2/jyersui/../../../module/temperature.h:196:35: note: in definition of macro 'unscalePID_i'
196 | #define unscalePID_i(i) ( float(i) / PID_dT )
| ^
Marlin/src/lcd/e3v2/jyersui/dwin.cpp:2016:58: error: 'hotend_info_t' {aka 'struct MPCHeaterInfo'} has no member named 'pid'
2016 | Modify_Value(thermalManager.temp_hotend[0].pid.Ki, 0, 5000, 100, thermalManager.updatePID);
| ^~~
compilation terminated due to -fmax-errors=5.
*** [.pio/build/STM32G0B1RE_btt/src/src/lcd/e3v2/jyersui/dwin.cpp.o] Error 1
In a very recent commit, MPC was added as a potentially much better alternative to PID.
Enabling it should be straightforward, however it is still largely untested and there doesn't seem to be any UI support for it yet, at least not for DWIN/Jyers UI, which we would need to patch ourselves, or submit a PR upstream, unless someone else beats us to it.