Dummy 3D printer with Marlin for testing Pulsar Extruder - ProUI errors
June 08, 2022 01:10PM
Dear community,

I am creating a bench for testing the Pulsar extruder from Dyze design (One nozzle - 3 heaters). I am using an Arduino Mega with RAMPS 1.4 and I have connected everything with the instructions provided in the documentation: [docs.dyzedesign.com].

In order to work with the RAMPS board I have wired everything such as:

Heaters:
D8: Nozzle
D9: Bottom
D10: Top

Temp. sensors
A3: Nozzle
A4: Bottom
A9: Top

For the stepper driver I am using an external stepper driver provided and the Pulse, Dir and Enable have been taken from E0 pins.

Software side:

I want to use the arduino in order to send manual gcodes in order to heat, check temperature and extrude only by means of USB serial communication.
Hence I have downloaded Marlin firmware and modified the files accordingly with: [docs.dyzedesign.com].
I have chosen the Motherboard in Configuration.h:
BOARD_RAMPS_14_EEB // Because I have 3 heaters and this works with 2
For LCD I have uncommented in Configuration.h:
#define G3D_PANEL
#define SDSUPPORT
#define SD_CHECK_AND_RETRY

Modified the pins_RAMPS.h file:
#ifndef MOSFET_A_PIN
#define MOSFET_A_PIN 10
#endif
#ifndef MOSFET_B_PIN
#define MOSFET_B_PIN 9
#endif
#ifndef MOSFET_C_PIN
#define MOSFET_C_PIN 8
#endif
#ifndef MOSFET_D_PIN
#define MOSFET_D_PIN -1
#endif

#define HEATER_0_PIN MOSFET_A_PIN

#if FET_ORDER_EFB // Hotend, Fan, Bed
#define HEATER_BED_PIN MOSFET_C_PIN
#elif FET_ORDER_EEF // Hotend, Hotend, Fan
#define HEATER_1_PIN MOSFET_B_PIN
#elif FET_ORDER_EEB // Hotend, Hotend, Bed
#define HEATER_1_PIN MOSFET_B_PIN
#define HEATER_2_PIN MOSFET_C_PIN
#define HEATER_BED_PIN MOSFET_C_PIN


When I compile with Arduino these errors show:
Arduino:1.8.19 (Linux), Scheda:"Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)"











In file included from /home/kappa95/Scaricati/Marlin-2.0.x-PULSAR/Marlin/src/lcd/e3v2/proui/gcode_preview.cpp:45:0:
/home/kappa95/Scaricati/Marlin-2.0.x-PULSAR/Marlin/src/lcd/e3v2/proui/dwin_defines.h:45:4: error: #error "LIMITED_MAX_FR_EDITING is required with ProUI."
   #error "LIMITED_MAX_FR_EDITING is required with ProUI."
    ^~~~~
/home/kappa95/Scaricati/Marlin-2.0.x-PULSAR/Marlin/src/lcd/e3v2/proui/dwin_defines.h:48:4: error: #error "LIMITED_MAX_ACCEL_EDITING is required with ProUI."
   #error "LIMITED_MAX_ACCEL_EDITING is required with ProUI."
    ^~~~~
/home/kappa95/Scaricati/Marlin-2.0.x-PULSAR/Marlin/src/lcd/e3v2/proui/dwin_defines.h:54:4: error: #error "FILAMENT_RUNOUT_SENSOR is required with ProUI."
   #error "FILAMENT_RUNOUT_SENSOR is required with ProUI."
    ^~~~~
/home/kappa95/Scaricati/Marlin-2.0.x-PULSAR/Marlin/src/lcd/e3v2/proui/dwin_defines.h:57:4: error: #error "INDIVIDUAL_AXIS_HOMING_SUBMENU is required with ProUI."
   #error "INDIVIDUAL_AXIS_HOMING_SUBMENU is required with ProUI."
    ^~~~~
/home/kappa95/Scaricati/Marlin-2.0.x-PULSAR/Marlin/src/lcd/e3v2/proui/dwin_defines.h:60:4: error: #error "LCD_SET_PROGRESS_MANUALLY is required with ProUI."
   #error "LCD_SET_PROGRESS_MANUALLY is required with ProUI."
    ^~~~~
/home/kappa95/Scaricati/Marlin-2.0.x-PULSAR/Marlin/src/lcd/e3v2/proui/dwin_defines.h:63:4: error: #error "STATUS_MESSAGE_SCROLLING is required with ProUI."
   #error "STATUS_MESSAGE_SCROLLING is required with ProUI."
    ^~~~~
/home/kappa95/Scaricati/Marlin-2.0.x-PULSAR/Marlin/src/lcd/e3v2/proui/dwin_defines.h:66:4: error: #error "BAUD_RATE_GCODE is required with ProUI."
   #error "BAUD_RATE_GCODE is required with ProUI."
    ^~~~~
/home/kappa95/Scaricati/Marlin-2.0.x-PULSAR/Marlin/src/lcd/e3v2/proui/dwin_defines.h:69:4: error: #error "SOUND_MENU_ITEM is required with ProUI."
   #error "SOUND_MENU_ITEM is required with ProUI."
    ^~~~~
/home/kappa95/Scaricati/Marlin-2.0.x-PULSAR/Marlin/src/lcd/e3v2/proui/dwin_defines.h:72:4: error: #error "PRINTCOUNTER is required with ProUI."
   #error "PRINTCOUNTER is required with ProUI."
    ^~~~~
/home/kappa95/Scaricati/Marlin-2.0.x-PULSAR/Marlin/src/lcd/e3v2/proui/gcode_preview.cpp: In function 'void Preview_DrawFromSD()':
/home/kappa95/Scaricati/Marlin-2.0.x-PULSAR/Marlin/src/lcd/e3v2/proui/gcode_preview.cpp:241:5: error: 'wait_for_user' was not declared in this scope
     wait_for_user = false;
     ^~~~~~~~~~~~~
exit status 1
Errore durante la compilazione per la scheda Arduino Mega or Mega 2560.
Attachments:
open | download - Configuration.h (111.6 KB)
open | download - Configuration_adv.h (174.5 KB)
open | download - pins_RAMPS.h (27.6 KB)
All the items preceded by #error are configuration items that need to be enabled.

Correct the configuration items and then recompile. Chances are the wait_for_user error will disappear after the corrections.
Re: Dummy 3D printer with Marlin for testing Pulsar Extruder - ProUI errors
June 08, 2022 06:50PM
You say you enabled #define G3D_PANEL as your display

You shouldn't get any errrors relating to proui with that.

The issue is the developer of the proui does not use Arduino IDE. Every time they add to their code they break compiling on Arduino IDE...

Platformio uses source filtering and knows not to look at the .cpp files that are not in use. Arduino IDE compiles every single file, taking way longer, and breaking if steps have not been taken to filter out the unused code another way.

In Marlin/src/lcd/e3v2/proui/gcode_preview.cpp

Add this to the top of the file

#include "../../../inc/MarlinConfigPre.h"
#if ENABLED(DWIN_LCD_PROUI)

and this to the bottom of the file.

#endif // DWIN_LCD_PROUI


Like this [github.com]

This will be fixed in Marlin shortly

Edited 5 time(s). Last edit at 06/08/2022 07:29PM by Dust.
Re: Dummy 3D printer with Marlin for testing Pulsar Extruder - ProUI errors
June 10, 2022 08:18AM
I solved the compiling problem using PlatformIO extension on VScode. Now when I turn on connecting only the Arduino+RAMPS with USB i get the message error: "Err: E3 MAXTEMP Printer Halted Please Reset". In order to add the sensor temperature pins I have added in the Configuration.h the following lines:
// TEMP PINS
#define TEMP_0_PIN A3
#define TEMP_1_PIN A4
#define TEMP_2_PIN A9

I measured with the Voltmeter the Signals arriving to the arduinos and all of them are: 1.4V which corresponds to about 20°C (which is my room temperature).
What I have wrong?
Attachments:
open | download - Configuration.h (111.6 KB)
open | download - Configuration_adv.h (174.5 KB)
open | download - pins_RAMPS.h (27.6 KB)
open | download - extruder_wiring.png (430.2 KB)
I think the temperature pins should be defined using the digital pin numbers. Try this:

// TEMP PINS
#define TEMP_0_PIN 57  //A3
#define TEMP_1_PIN 58  //A4
#define TEMP_2_PIN 63  //A9

Also, I think that the T0, T1 and T2 inputs have a reputation as having less noise on them. If you run into noisy readings you may want to try them.
Re: Dummy 3D printer with Marlin for testing Pulsar Extruder - ProUI errors
June 11, 2022 01:20AM
No it should be analog pin names but like this

// TEMP PINS
#define TEMP_0_PIN 3 // Analog Input
#define TEMP_1_PIN 4 // Analog Input
#define TEMP_2_PIN 9 // Analog Input
Agreed - that's how the T0, T1 & T2 are called out in pins_ramps.h.
Sorry, only registered users may post in this forum.

Click here to login