2017년 8월 23일 수요일

3D 프린터 원격제어 - 4편 (OctoPrint 로 시작시 30초 멈춤 문제 해결)

OctoPrint 동작을 확인하는 기쁨도 잠시 출력할때마다 start code 가 실행된 후 30초 멈춤 현상이 있다는 것을 안 이상 이것을 해결하고 가야 했다.

우선 report 된 issues 들을 모두 뒤져 봤다.

https://github.com/foosel/OctoPrint/issues

많은 내용중에 우선 lockup, hang 에 관한 키워드로 검색을 하다가 우연히 'Infinite loop' 라는 문장을 발견했다.

꽤 오래된 bug 였고 이미 Closed 된 놈이었는데, 아무리 봐도 Core200 의 30초 멈춤 현상과 관련이 있어 보였다.

OctoPrint 설정상 문제가 발생시 처리하는 Timeout 설정이 30초로 되어 있기 때문에 infinite loop 을 걸렸을 경우 30초에서 끊어 버릴 수 있기 때문이다.

그래서 Core200 의 start code 를 살펴 봤더니, 카페에서 제공되는 Core200 의 start code 말미레 "M117 Printing...." 라는 line 이 있었고 이게 의심이 되어 주석 처리를 했더니!!!

잘 동작하는 것이 아닌가!

뜨어 ... Closed 된 저 이슈는 이 문제와는 다르게 resolve 되었지만 어쨌든 덕분에 M117 이 제대로 먹지 않는 다는 것을 발견했으니 고마워 해야 할까...

여튼. 이제 문제없이 OctoPrint 가 잘 동작한다. start 시 멈춤 없는 깔끔한 영상을 보라~
결국 해결책은 Core200 의 Start code 에서 M117 을 제거해 주는 것으로 마무리 됐다.

댓글 없음: