You are not logged in.
Don't think so, i set it to unlimited before and as you see at 152 htreads the printer crashed.
It crashed with the clean distribution too.
The two things i changed before it worked were:
- Try a different Raspi 3 Board
- Install image fron NanoDLP website.
the default ulimit that i have now is at around 7000 without problems.
Hi!
I did some more tests. Changed my Pi and installed image from NanoDLP Website. Now it finally works!!
For comparison, this is the statistics now:
layer 1 - 56 threads
...
layer 2376 - 93 threads
this was the stats before:
layer 1 - 24 threads
...
layer 592 - 152 threads - CRASH
So it's much better! No crashes so far.
Nevertheless the thread count is climbing, so i imagine if i left the printer on and printed 10k layer prints, it might still crash.
Although at this time it's only speculation, if the crashes were due to high thread count..152 is not much..
Anyways, all good now
I did just that and it worked, still no luck in crash avoidance.
Now i'm changing the hardware itself. Using official printer Image you provide on the homepage.
Hello Shahin,
since my crashes didn't stop, i proceeded with installing on a fresh raspbian image.
now i get the error:
./printer: error while loading shared libraries: libGLESv2.so: cannot open shared object file: No such file or directory
i've searched and found this thread:
https://www.nanodlp.com/forum/viewtopic.php?id=691
It's about aome other Pi variant. I have Rpi3. What am I doing wrong?
Cheers,
Adam
Both limit switch fields have the same ID, so only the last one gets saved.
If i set something for top switch and nothing for bottom switch, then nothing is saved for top.
many weeks later, here it is:
pi@adam-dlp:~ $ ulimit -u
6829
OK, i will investigate further, thanks. I had to do some prints really quick, so there was no time to look into it and i switched it back. Will report as soon as i know sth.
Cheers^^
Hi,
when i set the above option, then no matter what i do in Z axis control, the motor always moves down. At least it started doing so when i started a print and ran into my hard stop at the build plate. I couldn't move it up anymore.
I set it to "Ënable on boot" and it works normally again.
This is what the log says:
2017/08/17 17:51:44.752771 {"Layer":"1","module":"Terminal","level":"Notice","msg":"Terminal Reader Activated"}
2017/08/17 17:51:44.959574 {"Layer":"1","module":"WIFI","level":"Warning","msg":"WIFI interface wlan0 detected"}
2017/08/17 17:51:45.007546 {"Layer":"1","module":"WIFI","level":"Warning","msg":"Connecting to **********"}
2017/08/17 17:53:07.563046 {"Layer":"1","module":"GPIO","level":"Notice","msg":"Break Lock"}
2017/08/17 17:53:31.786662 {"Layer":"1","module":"GPIO","level":"Notice","msg":"Break Lock"}
2017/08/17 17:53:31.788320 {"Layer":"1","module":"GPIO","level":"Notice","msg":"Break Lock"}
2017/08/17 17:53:34.368479 {"Layer":"1","module":"GPIO","level":"Notice","msg":"Break Lock"}
2017/08/17 17:53:35.286304 {"Layer":"1","module":"GPIO","level":"Notice","msg":"Break Lock"}
2017/08/17 17:53:36.054281 {"Layer":"1","module":"GPIO","level":"Notice","msg":"Break Lock"}
2017/08/17 17:53:36.876507 {"Layer":"1","module":"GPIO","level":"Notice","msg":"Break Lock"}
2017/08/17 17:53:37.548541 {"Layer":"1","module":"GPIO","level":"Notice","msg":"Break Lock"}
2017/08/17 17:53:38.137631 {"Layer":"1","module":"GPIO","level":"Notice","msg":"Break Lock"}
2017/08/17 17:53:38.726522 {"Layer":"1","module":"GPIO","level":"Notice","msg":"Break Lock"}
2017/08/17 17:53:39.315712 {"Layer":"1","module":"GPIO","level":"Notice","msg":"Break Lock"}
2017/08/17 17:53:39.850291 {"Layer":"1","module":"GPIO","level":"Notice","msg":"Break Lock"}
2017/08/17 17:53:42.448347 {"Layer":"1","module":"GPIO","level":"Notice","msg":"Break Lock"}
2017/08/17 17:55:03.007278 {"Layer":"1","module":"GPIO","level":"Notice","msg":"Break Lock"}
2017/08/17 17:56:05.137154 {"Layer":"1","module":"GPIO","level":"Notice","msg":"Break Lock"}
2017/08/17 17:56:09.345900 {"Layer":"1","module":"GPIO","level":"Notice","msg":"Break Lock"}
2017/08/17 17:56:25.683436 {"Layer":"1","module":"Printer","level":"Warning","msg":"Restarting"}
sure, i will send you as soon as i'm back home and the pi is running and try the command
unfortunately it crashed again after 675 layers:
2017/07/21 00:57:07.739106 {"Layer":"674","module":"Image","level":"Warning","msg":"Display layer public/plates/2/674.png"}
2017/07/21 00:57:20.856009 {"Layer":"675","module":"Image","level":"Warning","msg":"Display layer public/plates/2/675.png"}
runtime/cgo: pthread_create failed: Resource temporarily unavailable
SIGABRT: abort
PC=0x76c40f70 m=73 sigcode=4294967290
Build 1566
I only got "runtime/cgo: pthread_create failed: Resource temporarily unavailable" so far, will try some long prints with the new version and see what happens
What do you mean by Net keyword?
nice, thanks. I will try syscall in shutter before moving to GPIO.
hi Shahin,
i haven't noticed anything strange. it's 1round 17 processes. Yes, still syscall but in the last versions there were no problems.
Thought that this might be an issue with the new version.
I am trying to go away from syscall and do the projector LED via shutter GPIO pin in the future.
Hi,
unfortunately i got a crash after 800 layers on ver 1524.
2017/06/15 18:18:41.361843 {"Layer":"814","module":"Image","level":"Warning","msg":"Display layer public/plates/83/814.png"}
2017/06/15 18:18:53.495758 {"Layer":"815","module":"Image","level":"Warning","msg":"Display layer public/plates/83/815.png"}
2017/06/15 18:19:05.945199 {"Layer":"816","module":"Image","level":"Warning","msg":"Display layer public/plates/83/816.png"}
2017/06/15 18:19:18.254352 {"Layer":"817","module":"Image","level":"Warning","msg":"Display layer public/plates/83/817.png"}
2017/06/15 18:19:30.636066 {"Layer":"818","module":"Image","level":"Warning","msg":"Display layer public/plates/83/818.png"}
2017/06/15 18:19:42.696160 {"Layer":"819","module":"Image","level":"Warning","msg":"Display layer public/plates/83/819.png"}
2017/06/15 18:19:54.847755 {"Layer":"820","module":"Image","level":"Warning","msg":"Display layer public/plates/83/820.png"}
runtime/cgo: pthread_create failed: Resource temporarily unavailable
SIGABRT: abort
PC=0x76c28f70 m=27 sigcode=4294967290goroutine 0 [idle]:
goroutine 34 [syscall]:
runtime.notetsleepg(0x6aeab4, 0x55d563e, 0x0, 0x1)
/usr/local/go/src/runtime/lock_futex.go:205 +0x2c fp=0x10b0e794 sp=0x10b0e77c
runtime.timerproc()
/usr/local/go/src/runtime/time.go:209 +0x464 fp=0x10b0e7ec sp=0x10b0e794
runtime.goexit()
/usr/local/go/src/runtime/asm_arm.s:1017 +0x4 fp=0x10b0e7ec sp=0x10b0e7ec
created by runtime.addtimerLocked
/usr/local/go/src/runtime/time.go:116 +0x124goroutine 1 [IO wait, 28 minutes]:
net.runtime_pollWait(0x740c1188, 0x72, 0x0)
/usr/local/go/src/runtime/netpoll.go:164 +0x44
net.(*pollDesc).wait(0x10b9583c, 0x72, 0x685460, 0x10db63a0)
/usr/local/go/src/net/fd_poll_runtime.go:75 +0x28
net.(*pollDesc).waitRead(0x10b9583c, 0xffffffff, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:80 +0x24
net.(*netFD).accept(0x10b95800, 0x0, 0x686ce0, 0x10db63a0)
/usr/local/go/src/net/fd_unix.go:430 +0x15c
net.(*TCPListener).accept(0x10a0e910, 0x24c430, 0x10d1fcbc, 0x62694)
/usr/local/go/src/net/tcpsock_posix.go:136 +0x20
net.(*TCPListener).Accept(0x10a0e910, 0x4b73c8, 0x10bd0a80, 0x6899b0, 0x10b8b860)
/usr/local/go/src/net/tcpsock.go:228 +0x3c
net/http.(*Server).Serve(0x10a0a700, 0x689168, 0x10a0e910, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:2643 +0x1ac
github.com/tylerb/graceful.(*Server).Serve(0x10af84d0, 0x689168, 0x10a0e910, 0x689168, 0x10a0e910)
/home/pi/go/src/github.com/tylerb/graceful/graceful.go:307 +0x2c4
github.com/tylerb/graceful.(*Server).ListenAndServe(0x10af84d0, 0x4a8688, 0x1f)
/home/pi/go/src/github.com/tylerb/graceful/graceful.go:147 +0x78
github.com/labstack/echo.(*Echo).StartServer(0x10b06370, 0x10a0a700, 0x1, 0x10b8c418)
/home/pi/go/src/github.com/labstack/echo/echo.go:554 +0x35c
main.webInit()
/home/pi/printer/app/routes.go:155 +0x3038
main.main()
/home/pi/printer/app/server.go:79 +0x248goroutine 17 [syscall, 181 minutes, locked to thread]:
runtime.goexit()
/usr/local/go/src/runtime/asm_arm.s:1017 +0x4goroutine 19 [syscall, 181 minutes]:
os/signal.signal_recv(0x0)
/usr/local/go/src/runtime/sigqueue.go:116 +0x154
os/signal.loop()
/usr/local/go/src/os/signal/signal_unix.go:22 +0x14
created by os/signal.init.1
/usr/local/go/src/os/signal/signal_unix.go:28 +0x30goroutine 4 [chan receive]:
main.(*StatusStruct).FindIP(0x6aeec8)
/home/pi/printer/app/db.go:563 +0x60
created by main.(*StatusStruct).Load
/home/pi/printer/app/db.go:543 +0x50goroutine 15683 [sleep]:
time.Sleep(0x8ec2f, 0x0)
/usr/local/go/src/runtime/time.go:59 +0x10c
projects/printer/app/move.(*speedStruct).traditionalCalc(0x10aa80a0)
/home/pi/go/src/projects/printer/app/move/speed.go:111 +0xbc
projects/printer/app/move.(*speedStruct).calc(0x10aa80a0)
/home/pi/go/src/projects/printer/app/move/speed.go:79 +0x2c
created by projects/printer/app/move.ZAxisMove
/home/pi/go/src/projects/printer/app/move/move.go:43 +0x27cgoroutine 11 [sleep]:
time.Sleep(0x5f5e100, 0x0)
/usr/local/go/src/runtime/time.go:59 +0x10c
main.(*termStruct).readLine(0x6ae8c0, 0x8, 0x435400, 0x10a648e0)
/home/pi/printer/app/term.go:48 +0x2b8
main.(*termStruct).Reader(0x6ae8c0)
/home/pi/printer/app/term.go:37 +0xa8
created by main.main
/home/pi/printer/app/server.go:57 +0x134goroutine 12 [chan receive]:
main.(*monitorStruct).watch(0x6bdf18)
/home/pi/printer/app/slice-monitor.go:46 +0x7c
created by main.main
/home/pi/printer/app/server.go:58 +0x150goroutine 14 [chan receive]:
projects/printer/app/hw/monitor.Monitor()
/home/pi/go/src/projects/printer/app/hw/monitor/monitor_linux.go:33 +0x7c
created by main.main
/home/pi/printer/app/server.go:64 +0x260goroutine 50 [select, 26 minutes]:
github.com/tylerb/graceful.(*Server).manageConnections(0x10af84d0, 0x10b95900, 0x10b95940, 0x10b95980, 0x10b959c0, 0x10b95a00, 0x10b95a40)
/home/pi/go/src/github.com/tylerb/graceful/graceful.go:364 +0x6a8
created by github.com/tylerb/graceful.(*Server).Serve
/home/pi/go/src/github.com/tylerb/graceful/graceful.go:295 +0x224goroutine 51 [select, 181 minutes, locked to thread]:
runtime.gopark(0x4b7704, 0x0, 0x49b045, 0x6, 0x18, 0x2)
/usr/local/go/src/runtime/proc.go:271 +0xfc
runtime.selectgoImpl(0x10bac7a0, 0x0, 0xc)
/usr/local/go/src/runtime/select.go:423 +0x119c
runtime.selectgo(0x10bac7a0)
/usr/local/go/src/runtime/select.go:238 +0x10
runtime.ensureSigM.func1()
/usr/local/go/src/runtime/signal_unix.go:434 +0x2bc
runtime.goexit()
/usr/local/go/src/runtime/asm_arm.s:1017 +0x4goroutine 52 [chan receive, 181 minutes]:
github.com/tylerb/graceful.(*Server).handleInterrupt(0x10af84d0, 0x10b95a80, 0x10b95b80, 0x689168, 0x10a0e910)
/home/pi/go/src/github.com/tylerb/graceful/graceful.go:419 +0x38
created by github.com/tylerb/graceful.(*Server).Serve
/home/pi/go/src/github.com/tylerb/graceful/graceful.go:303 +0x2a4goroutine 35 [chan receive]:
main.wifiStatus()
/home/pi/printer/app/wireless.go:80 +0xf4
created by main.wifiConnect
/home/pi/printer/app/wireless.go:23 +0xc4goroutine 1775 [sleep]:
time.Sleep(0x8da14, 0x0)
/usr/local/go/src/runtime/time.go:59 +0x10c
projects/printer/app/move.ZAxisMove(0xc80, 0x2ff01, 0x8f1b6, 0x0, 0xee6b28, 0x0, 0xc0b, 0x4b724c, 0x0, 0x0, ...)
/home/pi/go/src/projects/printer/app/move/move.go:61 +0x528
main.gpioInterface(0xc80, 0x6aef01, 0x320, 0x0, 0x3b5300, 0x6aef28)
/home/pi/printer/app/move.go:106 +0x53c
main.rise(0xc80, 0x320, 0x0, 0x6aee00, 0x334)
/home/pi/printer/app/move.go:59 +0x3c
main.riseMicron(0xbb8, 0x320, 0x0, 0x0, 0x36)
/home/pi/printer/app/move.go:63 +0x8c
main.moveToWaitPosition()
/home/pi/printer/app/move.go:44 +0x98
main.printLayer(0x334, 0x335)
/home/pi/printer/app/printing.go:236 +0x560
main.startPlate(0x53, 0x1)
/home/pi/printer/app/printing.go:96 +0x1a4
created by main.printerStart
/home/pi/printer/app/web.go:660 +0x118goroutine 84 [IO wait]:
net.runtime_pollWait(0x740c1020, 0x72, 0x0)
/usr/local/go/src/runtime/netpoll.go:164 +0x44
net.(*pollDesc).wait(0x10af69fc, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:75 +0x28
net.(*pollDesc).waitRead(0x10af69fc, 0x10b85adc, 0x400)
/usr/local/go/src/net/fd_poll_runtime.go:80 +0x24
net.(*netFD).readFrom(0x10af69c0, 0x10b85adc, 0x400, 0x400, 0x0, 0x0, 0x0, 0x6876b8, 0x685460)
/usr/local/go/src/net/fd_unix.go:277 +0x13c
net.(*UDPConn).readFrom(0x10b7c8b0, 0x10b85adc, 0x400, 0x400, 0x4, 0x4, 0x194f8444, 0x4)
/usr/local/go/src/net/udpsock_posix.go:47 +0x38
net.(*UDPConn).ReadFromUDP(0x10b7c8b0, 0x10b85adc, 0x400, 0x400, 0x194f8400, 0xe2, 0x0, 0x0)
/usr/local/go/src/net/udpsock.go:97 +0x58
projects/printer/app/ssdp.Server(0x10af2860, 0x5, 0x10b1c467, 0x8)
/home/pi/go/src/projects/printer/app/ssdp/ssdp.go:57 +0x164
created by main.afterIP
/home/pi/printer/app/server.go:101 +0x8cgoroutine 86 [sleep]:
time.Sleep(0xf8475800, 0xd)
/usr/local/go/src/runtime/time.go:59 +0x10c
main.updateControlPanel()
/home/pi/printer/app/server.go:201 +0x28
created by main.afterIP
/home/pi/printer/app/server.go:103 +0xe8trap 0x0
error 0x0
oldmask 0x0
r0 0x0
r1 0x415
r2 0x6
r3 0x0
r4 0x76d39094
r5 0x677ff460
r6 0x0
r7 0x10c
r8 0x1
r9 0x34
r10 0x10f0e0f0
fp 0x677fec04
ip 0x677ff920
sp 0x677fead0
lr 0x76c28f44
pc 0x76c28f70
cpsr 0x20000010
fault 0x0
as a side note, it would be really interesting to see a sequence diagram of all the actions during print.
Hi,
contrary to previous versions, now with 1524 the syscall "before each layer" is done before the axis moves down. is it intended?
previously:
..... -> syscall before -> expose -> syscall after -> move up -> move down -> .....
now (v 1524):
..... -> syscall before -> move down -> expose -> syscall after -> move up -> .....
cheers^^
do you use it? does it work well?
Hi shahin,
I've recently run multiple 12+hours prints and even with external command execution, no problems whatsoever!
In the name of the comunity, thanks again for this outstanding piece of software!
Cheers!
Thank you!!
Heyho,
this may seem like a small feature, but could save some clicks during preparation.
Would it be possible to auto-name the plate by filename? just pre-fill the "name" field:
plate_xyz.stl -> plate_xyz
i always keep my filenames tidy for archiving so there is no need to rename the plates. I don't know if others would profit from that feature though..
cheers^^
It's the projector. Quite expensive, but every pixel is usable, and it has intergrated precalibrated mask.
https://datatree3d.com/uvlightengines/
Lots of new pictures and information
thanks!
exactly, for a simple version you would not need to have knowledge about volumetric structure. You could solve this by using the existing dimming, but instead of dimmed pixels just overlay a static hexagonal pattern. It won't be pretty but it would do it's job. getting the resin out is a pain though. A every hollow pillar is closed, you would need one hole per cell which is not practical when using a simple infill.