{"action":"created","issue":{"url":"https://api.github.com/repos/repetier/Repetier-Firmware/issues/878","repository_url":"https://api.github.com/repos/repetier/Repetier-Firmware","labels_url":"https://api.github.com/repos/repetier/Repetier-Firmware/issues/878/labels{/name}","comments_url":"https://api.github.com/repos/repetier/Repetier-Firmware/issues/878/comments","events_url":"https://api.github.com/repos/repetier/Repetier-Firmware/issues/878/events","html_url":"https://github.com/repetier/Repetier-Firmware/issues/878","id":456701792,"node_id":"MDU6SXNzdWU0NTY3MDE3OTI=","number":878,"title":"Error freeze all extruders when installing k or L factor >0 (v1.03, v1.04dev)","user":{"login":"Goodfeat","id":44455128,"node_id":"MDQ6VXNlcjQ0NDU1MTI4","avatar_url":"https://avatars2.githubusercontent.com/u/44455128?v=4","gravatar_id":"","url":"https://api.github.com/users/Goodfeat","html_url":"https://github.com/Goodfeat","followers_url":"https://api.github.com/users/Goodfeat/followers","following_url":"https://api.github.com/users/Goodfeat/following{/other_user}","gists_url":"https://api.github.com/users/Goodfeat/gists{/gist_id}","starred_url":"https://api.github.com/users/Goodfeat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Goodfeat/subscriptions","organizations_url":"https://api.github.com/users/Goodfeat/orgs","repos_url":"https://api.github.com/users/Goodfeat/repos","events_url":"https://api.github.com/users/Goodfeat/events{/privacy}","received_events_url":"https://api.github.com/users/Goodfeat/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2019-06-17T00:57:18Z","updated_at":"2019-06-17T22:53:20Z","closed_at":null,"author_association":"NONE","body":"Hello. I caught a new bug on firmware 1.03 and 1.04.\r\n\r\nThe error is connected with the K-factor and L-factor. \r\nIf you set one of the factor > 0, an error may occur that causes all extruders to hang. The extruder will not respond to any commands. \r\nIn this case, only the power off helps. Another forced reset helps several times in a row.\r\n\r\nAt first I thought that this drivers overheat. However, when the extruders freeze, the signals to the driver outputs also do not pass (step, dir).\r\n\r\nOn firmware 1.04 it appears almost instantly. On firmware 1.03 this may appear after several switchings of the extruder (T1> T0> T1> T0 ...)\r\n\r\nAn interesting fact: when the extruders freeze, the extruder counter continues to count the filament feed.\r\n\r\nI suppose that the hangup is connected with the calculations of the K or L coefficients. Probably one of the variables is out of range.\r\nFor some reason, the firmware stops generating impulses to the driver. But it continues to count the amount of spent plastic\r\nPerhaps in the firmware one of the flags can not perform a reset.\r\n\r\nWhat could be the cause of the extruder freeze? What place in the code could theoretically cause extruders to hang when the coefficient is on?\r\n\r\n(Delta printer, ruramps, Arduino DUE, driver LV8729 XYZ 640 step/mm, E0 / E1 2223 step/mm)\r\n\r\n\\\\------------\r\nIn the following code, I tried to set the Flag to false during a freeze.\r\n\r\nPrinter.h\r\n```\r\nstatic INLINE void setAdvanceActivated (uint8_t b) {\r\nflag0 = (b? flag0 | PRINTER_FLAG0_SEPERATE_EXTRUDER_INT: flag0 & ~ PRINTER_FLAG0_SEPERATE_EXTRUDER_INT);\r\n          Com :: printF (PSTR (\"setAdvanceActivated\"), b);\r\nCom :: println ();\r\n     }\r\n```\r\n\r\nFlag is set to true during firmware initialization \r\nIf you disable it after initialization, the extruder works fine. But I did not check while printing\r\nWhy can this flag cause such freezes and what role does it play in the firmware?     \r\n"},"comment":{"url":"https://api.github.com/repos/repetier/Repetier-Firmware/issues/comments/502880067","html_url":"https://github.com/repetier/Repetier-Firmware/issues/878#issuecomment-502880067","issue_url":"https://api.github.com/repos/repetier/Repetier-Firmware/issues/878","id":502880067,"node_id":"MDEyOklzc3VlQ29tbWVudDUwMjg4MDA2Nw==","user":{"login":"Goodfeat","id":44455128,"node_id":"MDQ6VXNlcjQ0NDU1MTI4","avatar_url":"https://avatars2.githubusercontent.com/u/44455128?v=4","gravatar_id":"","url":"https://api.github.com/users/Goodfeat","html_url":"https://github.com/Goodfeat","followers_url":"https://api.github.com/users/Goodfeat/followers","following_url":"https://api.github.com/users/Goodfeat/following{/other_user}","gists_url":"https://api.github.com/users/Goodfeat/gists{/gist_id}","starred_url":"https://api.github.com/users/Goodfeat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Goodfeat/subscriptions","organizations_url":"https://api.github.com/users/Goodfeat/orgs","repos_url":"https://api.github.com/users/Goodfeat/repos","events_url":"https://api.github.com/users/Goodfeat/events{/privacy}","received_events_url":"https://api.github.com/users/Goodfeat/received_events","type":"User","site_admin":false},"created_at":"2019-06-17T22:53:20Z","updated_at":"2019-06-17T22:53:20Z","author_association":"NONE","body":"Thanks for the answer,\r\nI relied heavily on DUE's computational abilities, and I really thought that Due's performance would be enough to calculate such large values.\r\nI thought ~ 2000 was small enough for the printer to process well.\r\nI had a 1:40 gearbox before the extruder 1: 3. An insane value EXT0_STEPS_PER_MM> 24,000 was committed. Nevertheless, the Arduino DUE processed this value as well. But before that I did not use the L-factor. Therefore, step = 2000 seemed to me a rather low value .\r\nNow I understand that for some calculations like Linear advanced performance may not be enough.\r\n\r\nI realized that I needed to experiment with the values ​​of STEP_DOUBLER_FREQUENCY\r\nThank you for sharing your experience)"}}
{"actor":{"display_login":"Goodfeat"}}