GithubHelp home page GithubHelp logo

openneptune3d / opennept4une Goto Github PK

View Code? Open in Web Editor NEW
304.0 36.0 34.0 8.08 MB

Transform your Neptune 4 3D printer with OpenNept4une, a collection of scripts designed to replace the manufacturer's software, reverting to the original open-source projects for enhanced performance, reliability, and features.

License: GNU General Public License v3.0

Shell 89.69% Python 10.31%

opennept4une's Introduction

OpenNept4une Logo

OpenNept4une

De-Elegoo-izing the Neptune 4 Series 3D Printers


📥 Download ⚙️ Installation 💬 Discord Server
Releases Wiki Discord

Credits: (Community Members)

Phillip Thelen, barrenechea, SQUIRRELYMOOSE, DanDonut & Jaerax


Image Features

  • Support for all Neptune 4 series models
  • Custom Armbian Image (24.2.0 Bookworm with Linux kernel 6.1.67) (Credit)
  • Klipper v0.12 installed + Easy MCU flash
  • Updatable services, packages & firmware (No need for Elegoo Firmware Updates going forward)
  • TouchScreen Support BETA (More responsive)
  • All Elegoo Services Removed (No Z-Axis Issues)
  • Orca Slicer Profiles Provided
  • Adaptive Meshing Configured
  • Easy WiFi config
  • Simplified and highly modified printer.cfg
  • Preconfigured LED, Bed Leveling & PID Calibration Macros
  • Screws Tilt Adjust Configured
  • Axis Twist Compensation Configured
  • Firmware Retraction configured
  • Linux Host CPU & MCU temperature monitoring in Fluidd
  • Improved mainboard cooling/fan control
  • Crowsnest V4.X (Main) w/ ustreamer (Webcam service)

OpenNept4une Main-Page OpenNept4une Advanced-Page

Included Projects:

opennept4une's People

Contributors

halfmanbear avatar phillipthelen avatar barrenechea avatar somebody-somewhere-over-the-rainbow avatar tylerjet avatar kristian avatar zlokomatic avatar d1554573r avatar mowtox avatar

Stargazers

 avatar  avatar  avatar Aleksey Bogomolov avatar Johannes Martinez Calzada avatar luisillo avatar Geist avatar  avatar  avatar Heol Fief avatar longyap avatar  avatar  avatar Andrew Simmons avatar  avatar  avatar Kendall Smith avatar Nickollas Aranha avatar JhonyAristizabal avatar Kevin Belk avatar Victor Sych avatar Ginobeano avatar Julien Dutriaux avatar Jako avatar  avatar Scott Surovich avatar Christoph avatar Connor McAllister avatar Eduardo Poernbacher avatar  avatar Bill Blight avatar  avatar  avatar Tiago Sousa avatar Tompudex avatar Dave avatar Fernando Mumbach avatar Jacob avatar RogueWizardry avatar  avatar  avatar Jon Goss avatar Rob Reid avatar  avatar Mike Fisher avatar Mason Turner avatar mcbabo avatar  avatar Leo avatar Emil Jørgensen avatar  avatar Luis Dias avatar  avatar Nathan Schultz avatar  avatar Shiv Trivedi avatar Jens Roth avatar  avatar Taha Hawa avatar Christopher Martin avatar  avatar Rami Abraham avatar Barrett Kepler avatar Evgenii Komissarov avatar  avatar  avatar Lübbe Onken avatar Pouria Mousavizadeh Tehrani avatar Aleksey avatar Michael Sayapin avatar Pseudo avatar Xerzzh avatar  avatar  avatar  avatar  avatar Shiro avatar Drivenapollo avatar  avatar Hossam Elwahsh avatar  avatar Andre avatar Ahmed Shaalan avatar invispace avatar Neville Nieman avatar Marcelo Belli avatar Luca avatar Danila Valkovets avatar Franky avatar Mattes Rötschke avatar Ataa avatar Dylan Mazurek avatar  avatar Gabriel C. avatar Dan Marrable avatar DavidM. avatar  avatar VBits avatar  avatar  avatar

Watchers

 avatar  avatar  avatar Andrey Zhornyak avatar Florian Meier avatar Rodrigo D. L. avatar  avatar Justin avatar  avatar Bartek avatar Thomas SAMTER avatar  avatar alldone avatar  avatar Steve Sixty-Four avatar  avatar TheMeanCanEHdian avatar Steve Leary avatar Hamish Barjonas avatar Sergio Sánchez Vallés avatar Dan Urson avatar  avatar  avatar itsKooldown avatar  avatar Lorenz Uhlig avatar Bado avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

opennept4une's Issues

front USB-C port - can it be enabled and be used

i read somewhere at the front USB-C port is for internal use by the manufacturer and not usable as standard USB, was wondering if the port could be enabled and used, and if it provides enough power for a big tree tech LCD screen for Klipper screen

QUSTION:using screen?

screen uses uart protocol to comminucate with printer so if we change screen firmware and make custom firmware for screen to use it with printer.
i cant remember the website for screen details.

MCU Flash does not persists power outages

I've flashed the mcu according to the manual and everything is working afterward even after switching off the printer via the power switch, but once I pull the power cord the printer does start up, but Klpper seems not to be able to connect to MCU.
I've also tried to fash the provided firmware from GIT and the stored stock firmware without success. Fashing is finalizing fine, but No connection possible from Klipper.
Restarting Klipper-MCU service does have the same effect.
Anything I can do here?

FYI Mainsail.cfg & fluid.cfg are not in sync

a few differences between the two files
ie line 79-80 one says Pause the other Resume

and fluid.cfg has a few more sections of definitions and code

not sure if these differences are because of the way the 2 GUI's operate or if the cfg files are just not synced up..

Make value displays on main screen tappable

Tapping the different values could bring up either a dialog for quick adjustments or the corresponding page (PAGE_PREPARE_MOVE for positions and PAGE_PREPARE_TEMP for temperatures).

N4Plus Update configs & create Orca profiles

N4 Plus printer.cfg doesn't currently use the standardised layout of the other cfgs.

Additionaly OrcaSlicer have included a default profile for this printer.

Therefore, we can now create a customised profile for users to import (like the other models).

Objectives:

  • Reformat the N4Plus printer.cfg to match others

  • Create improved N4Plus OrcaSlicer profile

Display stops updating when probing bed before print start

When a print is started the screen stops updating when adaptive meshing starts.

The screen doesn't freeze as the little animations for the bed temp and Fan still moves, but no new information is shown.

This is using the latest OpenNept4une and Display connector (Stable) is of 10 minutes ago. Both updated through the script.

Klipper and everything else is updated through KIAUH.

It is possible to manipulate other thing through the screen while printing like the LEDs. However the button doesn't change. But that could be a separate issue (It's BETA after all)

Attached is a picture of a print in progress (Temp Tower).
20240208_112731_small

Stepper Motor Current Variation

printer.cfg.txt

Both of my stepper motors are the 1.2A model (confirmed on side of each motor), however in my original printer.cfg (attached, only changed extruder rotation_distance) the run_current values for steppers x and y respectively are set to 1.0 and 1.1.

I selected 1.2A during the install script, but I noticed a high pitch whirring out of both motors when running the BED_LEVEL_SCREWS_TUNE macro. After bumping my stepper motors currents back down to the values in my original printer.cfg the noise is mostly gone.

Is there anything else I need to do? Anything I can provide to help out with the project?

Clarify Behavior of Printer Configuration Updates (Option 1)

There's a need to clearly communicate to users that choosing Option 1 for installing or updating the printer.cfg file will overwrite existing configurations.

Currently a backup of the old printer.cfg is created in the same directory (~/printer_data/config/) as backup-printer.cfg.bak.

Although it's important to clearly inform the users that a backup of the current configuration will be automatically created in the same directory.

Currently if the updater runs a second time the first backup-printer.cfg.bak will be overwritten.
An interactive naming scheme to avoid overwriting backups would be a good idea.

Summary:

  • Clear warnings of cfg overwrite & backup of current
  • Additional user confirmation prompt
  • Iterative naming scheme for backup files to avoid overwriting

No flash (Method 2) De-elegoo script fix

It's no suprise but I hate this and might remove it ultimately.

Chores:
Remove Https curl links in this script. Replace with cp path commands to move files from the locally cloned git repo.

Insert a command to remove the original elegoo /etc/udev/rules.d usb automount rule as conflicts with the new one.

Add a kernel specific flag check (mks string in uname line in /boot/.Open...) to not apply the kernel timing fix for virtual Rpi install script as this breaks things.

Try upgrade elegoo image to bookworm so python3-venv (3.7) is upgraded to 3.11 to allow display_connector and crowsnet to function. (This will probably make the 🧱 potential of this script increase 10x)

PID Tuner outer and inner bed

Correct me if im wrong only the Pro has to bed heaters, so shouldn't the printer.cfg for the other three models ###comment out [gcode_macro PID_Tune_Inner_BED] and [gcode_macro PID_Tune_Outer_BED], and just have [gcode_macro PID_Tune_BED]

Neptune4Pro(0.8A)printer.cfg and Neptune4Pro(1.2A)printer.cfg differing not only in motor currents

Almost at the end, the 0.8A version contains two copies of what looks like the same Code sequence (in an unhealthy copy-paste pattern) while the 1.2A one is lacking this:

< gcode:[gcode_macro PRINT_END]
516,540d516
<     M400                    ; wait for buffer to clear
<     TURN_OFF_HEATERS
<     G92 E0              ; zero the extruder
<     G91               ; Relative positioning
<     G1 E-2 F2700            ; Retract a bit
<     G1 X5 Y5 F3000            ; Wipe out
<     G1 E-2 Z0.2 F1600           ; Retract and raise Z
<     G1 Z4 F3000              ; Raise Z more
<     G90               ; Absolute positioning
<     G1 X0 Y230            ; Present print
<     M107              ; turn off fan
<     M84[gcode_macro PRINT_END]
< gcode:
<     M400                    ; wait for buffer to clear
<     TURN_OFF_HEATERS
<     G92 E0              ; zero the extruder
<     G91               ; Relative positioning
<     G1 E-2 F2700            ; Retract a bit
<     G1 X5 Y5 F3000            ; Wipe out
<     G1 E-2 Z0.2 F1600           ; Retract and raise Z
<     G1 Z4 F3000              ; Raise Z more
<     G90               ; Absolute positioning
<     G1 X0 Y230            ; Present print
<     M107              ; turn off fan
<     M84

filament run out code flawed

sensor working fine on runout, the print pauses and toolhead parks
but then shuts down the extruder heater with M104 S0

but when you reload filament and hit resume nothing happens... this is because of
of this code in the resume macro
{% if etemp > 0 %}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={etemp|int - 4} MAXIMUM={etemp|int + 10} ; wait for hotend to heat back up
{% endif %}
This section waits for the hotend to heat back up to its previous temperature before resuming the print. However, if the hotend was turned off during the pause (as mentioned above), then nothing will happen..

so instead of M104 S0 i changed it to M104 S160....

and then in the resume code i modified this
{% if etemp > 0 %}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={etemp|int - 4} MAXIMUM={etemp|int + 10} ; Wait for hotend to reach near target temperature
{% endif %}

to this
{% if etemp > 0 %}
SET_HEATER_TEMPERATURE HEATER=extruder TARGET={etemp|int} ; Heat the hotend back up to the original temperature
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={etemp|int - 4} MAXIMUM={etemp|int + 10} ; Wait for hotend to reach near target temperature
{% endif %}

both are temporary fixes until the problem is addressed through an update..

I hope i'm right and not the only one experiencing this problem, also i couldn't find a reason but it also seemed that the bed was cooling down also, but i couldn't find any code that was causing that, so just to be safe i added M140 S{printer.heater_bed.target} to the Pause macro...

Also i get 2 idle_timeout messages i assume the 7200 is to give me 2 hours to change the filament and once the filament is changed it reverts back to 600 for protection for any other idle reasons

Allow updating through the touch screen

Bring back the update button on the About screen and make it run opennept4une update_repository. Ideally should show a progress indicator and prompt for confirmation if there is an update and ask if the user wants to apply it.

Excited to try this!

No issue, I just want to say this is exactly what I was searching the internet to do on a Neptune 4 Pro I recently purchased. I'm new to 3D printing, so for me the Elegoo is a respectable first go at it. It seemed to me that upgrades from the manufacturer are more involved because of the custom firmware image it uses. Looking forward to De-Elegoo-ing!

Kernel Panic / boot issue - Neptune4+Pro-v0.1.5-ZNP-K1-V1.0.img - cannot boot after installing image

Running an N4Pro With ZNP K1 V1.0 and installed the Neptune4+Pro-v0.1.5-ZNP-K1-V1.0.img.

I get the following output from serial over USB:

DDR version 1.16 20190528
ID:0x805 N
In
DDR3
333MHz
Bus Width=32 Col=10 Bank=8 Row=15 CS=1 Die Bus-Width=16 Size=1024MB
ddrconfig:1
OUT
Boot1 Release Time: May 13 2019 17:34:36, version: 2.50
ChipType = 0x11, 233
mmc2:cmd19,100
SdmmcInit=2 0
BootCapSize=2000
UserCapSize=7456MB
FwPartOffset=2000 , 2000
SdmmcInit=0 NOT PRESENT
StorageInit ok = 11429
Raw SecureMode = 0
SecureInit read PBA: 0x4
SecureInit read PBA: 0x404
SecureInit read PBA: 0x804
SecureInit read PBA: 0xc04
SecureInit read PBA: 0x1004
SecureInit ret = 0, SecureMode = 0
atags_set_bootdev: ret:(0)
GPT 0x337a9f0 signature is wrong
recovery gpt...
GPT 0x337a9f0 signature is wrong
recovery gpt fail!
LoadTrust Addr:0x4000
No find bl30.bin
No find bl32.bin
Load uboot, ReadLba = 2000
Load OK, addr=0x200000, size=0xb78e0
RunBL31 0x40000
INFO:    Preloader serial: 2
NOTICE:  BL31: v1.3(debug):403e0b816
NOTICE:  BL31: Built : 14:13:08, Aug 11 2020
NOTICE:  BL31:Rockchip release version: v1.3
INFO:    ARM GICv2 driver initialized
INFO:    Using opteed sec cpu_context!
INFO:    boot cpu mask: 1
INFO:    plat_rockchip_pmu_init: pd status 0xe
INFO:    BL31: Initializing runtime services
WARNING: No OPTEE provided by BL2 boot loader, Booting device without OPTEE initialization. SMC`s destined for OPTEE will return SMC_UNK
ERROR:   Error initializing runtime service opteed_fast
INFO:    BL31: Preparing for EL3 exit to normal world
INFO:    Entry point address = 0x200000
INFO:    SPSR = 0x3c9


U-Boot 2022.07-armbian (Dec 13 2023 - 17:09:44 +0000)

Model: Makerbase mkspi
DRAM:  1022 MiB
PMIC:  RK8050 (on=0x10, off=0x00)
Core:  228 devices, 23 uclasses, devicetree: separate
MMC:   mmc@ff500000: 1, mmc@ff520000: 0
Loading Environment from MMC... Card did not respond to voltage select! : -110
*** Warning - No block device, using default environment

In:    serial@ff130000
Out:   serial@ff130000
Err:   serial@ff130000
Model: Makerbase mkspi
Net:   No ethernet found.

Hit any key to stop autoboot:  0
Card did not respond to voltage select! : -110
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1...
Found U-Boot script /boot.scr
3548 bytes read in 3 ms (1.1 MiB/s)
## Executing script at 00500000
Boot script loaded from mmc 0:1
190 bytes read in 2 ms (92.8 KiB/s)
21622691 bytes read in 490 ms (42.1 MiB/s)
29729280 bytes read in 672 ms (42.2 MiB/s)
64614 bytes read in 7 ms (8.8 MiB/s)
2698 bytes read in 5 ms (526.4 KiB/s)
Applying kernel provided DT fixup script (rockchip-fixup.scr)
## Executing script at 09000000
Unknown command 'kaslrseed' - try 'help'
Moving Image from 0x2080000 to 0x2200000, end=3f00000
## Loading init Ramdisk from Legacy Image at 06000000 ...
   Image Name:   uInitrd
   Image Type:   AArch64 Linux RAMDisk Image (gzip compressed)
   Data Size:    21622627 Bytes = 20.6 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 01f00000
   Booting using the fdt blob at 0x1f00000
   Loading Ramdisk to 3ca80000, end 3df1ef63 ... OK
   Loading Device Tree to 000000003ca07000, end 000000003ca7ffff ... OK

Starting kernel ...

efi_free_pool: illegal free 0x000000003cf21040
efi_free_pool: illegal free 0x000000003cf1e040
efi_free_pool: illegal free 0x000000003cf1c040

done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
Begin: Running /scripts/local-premount ... Scanning for Btrfs filesystems
done.
Begin: Will now check root file system ... fsck from util-linux 2.38.1
[/sbin/fsck.ext4 (1) -- /dev/mmcblk1p2] fsck.ext4 -a -C0 /dev/mmcblk1p2
armbi_root: clean, 100666/434720 files, 1117369/1798144 blocks
done.
done.
Begin: Running /scripts/local-bottom ... done.
Begin: Running /scripts/init-bottom ... done.
[    5.700904] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00007f00
/sbin/init: error while loading shared libraries: /usr/lib/aarch[    5.701621] CPU: 3 PID: 1 Comm: init Not tainted 6.1.67-current-rockchip64 #2
[    5.702729] Hardware name: Makerbase mks-pi (DT)d ELF header

[    5.703645] Call trace:
[    5.703877]  dump_backtrace+0xd8/0x130
[    5.704236]  show_stack+0x18/0x30
[    5.704551]  dump_stack_lvl+0x68/0x84
[    5.704903]  dump_stack+0x18/0x34
[    5.705221]  panic+0x184/0x35c
[    5.705513]  do_exit+0x9b8/0x9c0
[    5.705820]  do_group_exit+0x34/0x90
[    5.706157]  __arm64_sys_exit_group+0x18/0x20
[    5.706564]  invoke_syscall+0x48/0x114
[    5.706926]  el0_svc_common.constprop.0+0x44/0xfc
[    5.707371]  do_el0_svc+0x30/0xd0
[    5.707691]  el0_svc+0x2c/0x84
[    5.707989]  el0t_64_sync_handler+0xbc/0x140
[    5.708395]  el0t_64_sync+0x18c/0x190
[    5.708745] SMP: stopping secondary CPUs
[    5.709175] Kernel Offset: disabled
[    5.709498] CPU features: 0x00000,00800080,0000421b
[    5.709948] Memory Limit: none
[    5.710241] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x00007f00 ]---

Was able to boot into armbian with the base image V0.1.6 from the Armbian-ZNP-K1-build repo.

Currently installing V0.1.4 to the emmc to see if that one is fine as i believe that is the one i was running previously without issue.

Support Klipper Job Queue

If additional prints are queued, the printer could offer to start the next job instead of offering to reprint the last one.

Simplify Repository Update and Branch Management

Summary:
Combine the current functions in (dev branch) OpenNept4une.sh, into a unified workflow for more efficient repo updates and branch switching (git & within moonraker.conf update manager).

insert_update_manager()
process_repo_update()
update_repo()
toggle_branch() 

Objective:
Streamline repository update and branch management processes.Enhance code maintainability and readability.

Handle M600 Color change on display

Similar to #102. This is already possible by just tapping the regular resume button. Having some info about removing and re-inserting the filament as well as temperature display and maybe a button to extrude some filament to get the new color fully through the heating system would be nice.

HOST overheating when not printing

I get the following error after my 4 Pro sits for 10-20 minutes powered on but not printing. The only thing I can do is turn it off and wait for it to cool down. This never happened before on stock firmware. Any suggestions?

HOST temperature 83.5 above maximum temperature of 80.0.
Once the underlying issue is corrected, use the
"FIRMWARE_RESTART" command to reset the firmware, reload the
config, and restart the host software.
Printer is shutdown

screw tilt adjust on display obstructed

the retry button obscures the values and ccw cw on the 2 middle screw measurements... on right can't tell if it says ccw or cw, on the left i cant see the last digit, also back left and back middle says center, also bed starts to cool down between tries, so you gotta wait for it to heat up in between adjustments... should stay hot for at least 3 minutes between tries, also message at bottom says probing screws (0/4) i think it should say (0/14) = 2 taps for each spot (total spots 7) count starts at (0/4) ends with (14/4) should be (14/14)..... no clue what red and green numbers mean certainly not a consistent representation of cw and ccw

Suggested Instructions clarification

Step 2 Flash your eMMC with the latest OpenNept4une release image. Missing any information on how to do this, i used raspberry pi image software, and winged it. Others might not be so lucky, also a link to something other then Aliexpress explaining how to remove old emmc chip proper attachment to usb adapter etx

Screws tilt adjustments does not display values & hints when they in red zone

Installed it on Neptune 4.
Started the screw tuning and after probing it does not show any hints on screen.
At the beginning I thought everything is good as the bed is aligned (it was aligned before flashing OpenNeptune3D):
PXL_20240212_104306324

Print failed and later I noticed that in web UI it actually shows a popup with red values. Started to tune it up and when reach "green zone" it is displayed on screen.
PXL_20240212_105729390

So for now it is impossible for me to adjust screws without web UI.

Fluidd / Klipper Calibration

is this really needed?

do we need any additional hardware? (i guess so)
Mellow Fly-ADXL345 ... any recommendations?

Handle Filament Runout during print

Currently the display does mostly handle the case that filament runs out by switching the "Pause" button to the "Resume" button.
The screen does however have specific pages for this state that shows some instructions as well as the option to resume the print once the new filament is inserted.

Support running Input shaper from display

At least on Plus and Max models we can offer input shaper from the display. I still need to look into how exactly the Flow and UX for that is.
Could also try to detect if the normal and pro model have the definitions for input shaper in the printer config to then also offer it there. But that's a bit more involved.

TMC 'stepper_y Overtemp error

Hello,

I installed to openNept4une source today on my 4 Max, everything went well until i was starting a test print.
About 45% in the print the printer stopped and turned off.
The error message in fluidd web interface is : TMC 'stepper_y' reports error: DRV_STATUS: 001901c3 otpw=1(OvertempWarning!) ot=1(OvertempError!) ola=1(OpenLoad_A!) olb=1(OpenLoad_B!) t120=1 cs_actual=25

How to fix this?

I see that the stealthchop_threshold, run and hold current on stepper motor Y is a bit different from the printer.cfg I had with Elegoo's firmware.

Wiki - Create Page on setting BED_MESH= in OrcaSlicer Start Gcode

Inform users that Print_Start default meshing behaviour can be changed via BED_MESH= in OrcaSlicer Start Gcode

BED_MESH=full
BED_MESH=adaptive
BED_MESH=default

;Nozzle diameter = [nozzle_diameter]
;Filament type = [filament_type]
;Filament name = [filament_vendor] 
;Filament weight = [filament_density]
PRINT_START BED_TEMP=[hot_plate_temp_initial_layer] EXTRUDER_TEMP=[nozzle_temperature_initial_layer] AREA_START={first_layer_print_min[0]},{first_layer_print_min[1]} AREA_END={first_layer_print_max[0]},{first_layer_print_max[1]} BED_MESH=adaptive

Fix displaying current and target temperature for non-Pro models on Prepare Temp screen

The Screens used for PAGE_PREPARE_TEMP and PAGE_PRINTING_FILAMENT by the Pro includes a label for current and target temperature each (probably because of the changed layout bc of the segmented bed). The equivalent pages for the non-Pro display both values in the same field separated by a /. Currently the display connector can not join two values into one field, so the label currently only displays the current temperature and the target temp is only shown in the text field above. I almost have the changes finished to join multiple values into one label, which would enable this to be done.

pause on runout...

I dont understand something, the Pause on filament runout is working fine, the print pauses for me to reload filament, but the strange thing is i was looking at printer.cfg file and i see Filament Sensor section Pause on runout is set to false, how is that possible it's set to false but it's still doing it's job..

#####################################################################

Filament sensor

#####################################################################

[filament_switch_sensor fila]
pause_on_runout: False
runout_gcode:
M600
insert_gcode:
event_delay: 3.0
pause_delay: 1.0
switch_pin: PA12

user_settings.cfg

I've noticed that OpenNeptune for Klipper now supports a new file for user custom macros, which is a great addition. However, I have a concern regarding the prioritization of settings in this file compared to the printer.cfg.

For example, if we define a custom [gcode_macro END_TUNE] with a different song in printer.cfg, we would lose it whenever we run an update using ~/OpenNept4une/OpenNept4une.sh. But, if user_settings.cfg had priority, by putting a custom [gcode_macro END_TUNE] in user_settings.cfg, it would remain untouched and override the default END_TUNE. Similarly, if we put:
[extruder]
nozzle_diameter: 0.8

in user_settings.cfg, it should override the corresponding setting in printer.cfg.

I appreciate all the tweaks you're making to improve the functionality of these printers. However, if we have our own settings we prefer, wouldn't it be better to keep them in a separate file like user_settings.cfg and not interfere with the more critical settings in printer.cfg? Alternatively, if user_settings.cfg cannot be set up to have priority over printer.cfg, then perhaps it could be eliminated, and a file called openneptune.cfg could be created where your updates would go, leaving printer.cfg simpler for the user to customize. I believe this is how other Klipper mods work, like KAMP, where the main code is in KAMP.cfg and any overrides are put in printer.cfg.

Add option on display to shut down printer

Need to find a place.

Ideas:

  1. create a new "button" in the top corner of the main page
  2. change text on one of the menu items we don't use

Should show a dialog/page that offers selection from "Shut Down", "Restart". Maybe split by "Host" and "Firmware" like fluid does.
If doing a shutdown, it should also try to display when it is safe to cut the power if possible.

Idea: Initial OpenNept4une Setup through Screen

I don't know if we have enough control to achieve such a workflow, but it would be nice to leverage the screen to do the initial setup.

Idea:
The display service could detect no specific printer settings. If so, it could display a Setup page:

  • It should request for the printer model (N4, N4Pro, N4Plus, N4Max)
  • It should request for the printer variation (0.8, 1.2)
  • It should request for the motherboard revision (v1.0, v1.1, v2.0)

Once the info is gathered, the display service could leave the screen in some loading state, trigger some bash script setting the printer with the specific .dtb, printer configs, and trigger a reboot so the patches are applied.

This should be helpful mainly when flashing a fresh OpenNept4une image into the user's eMMC.

Enable GitHub Discussions?

Considering the Stock Klipper install thread over Discord has 3300+ messages, GitHub Discussions may be something to consider... Although only some people over Discord are used to GitHub, it's understandable if we don't go with it.

Either that or this project may deserve its own Discord server? 😄

LAN connectivity issue

I have my printer (N4) in garage and it is connected to home network through LAN port (LAN <=> WiFi extender <=> Main WiFi router).
When I want to print I'm turning on the extender and printer simultaneously with one wall socket switch.
However, the printer with OpenNeptune is loading faster than the WiFi extender and as a result -- it does not have IP (from DHCP).
If I unplug LAN cable from printer and plug it in again it still do not get IP.
As a result, now I have to turn ON extender first, wait till it is loaded and only then turn ON the printer.

With original Elegoo firmware everything works with no issues -- I turning ON both devices simultaneously and after a while I can access the printer over LAN.

Can linux networking be adjusted for such situation?

Thanks.

Feature Request Touchscreen - Probe Screws individually

As for now we use the screw_tilt_calculate feature to manually level the bed.
So you start the macro, wait until all 4 screws are probed and adjust the leveleing knobs accordingly to the resullt.
But for me its quite hard to know what "20 Minutes" are for example. So you are guessing somehow how much to turn. Then you restart the macro and do it all over again until the result is good enough for you. Thats quite time consuming.

So I would love a feature that allows you to probe each screw individually via the touchscreen and you get back the probing results in realtime. So first you probe your reference screw (e.g screw_1). Lets say the result is 1.53. Next you probe screw_2. Whilte getting the probing result on screen you can turn the leveling knobs until the result is 1.53 as well. Next you probe scew_3 and so on.

Manual leveling the bed by probing each screw/corner individually would be much faster and more precise. I made a sketch to get the idea.

This guy has this in his tool "bed leveler 5000" (skip to minute 5:30 in the video):
https://www.youtube.com/watch?v=JBGN3U0C2LM&ab_channel=S%26MMakers

screw_tilt_advanced

MCU Protocol error

I just went through the step-by-step installation and after finishing I got this error.

I have a NP4, V1.0 PCB version.

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.