{"action":"created","issue":{"url":"https://api.github.com/repos/ErikZalm/Marlin/issues/416","labels_url":"https://api.github.com/repos/ErikZalm/Marlin/issues/416/labels{/name}","comments_url":"https://api.github.com/repos/ErikZalm/Marlin/issues/416/comments","events_url":"https://api.github.com/repos/ErikZalm/Marlin/issues/416/events","html_url":"https://github.com/ErikZalm/Marlin/issues/416","id":11855769,"number":416,"title":"M500 doesn't always save properly when done midprint","user":{"login":"buzztiaan","id":940336,"avatar_url":"https://avatars.githubusercontent.com/u/940336?v=3","gravatar_id":"","url":"https://api.github.com/users/buzztiaan","html_url":"https://github.com/buzztiaan","followers_url":"https://api.github.com/users/buzztiaan/followers","following_url":"https://api.github.com/users/buzztiaan/following{/other_user}","gists_url":"https://api.github.com/users/buzztiaan/gists{/gist_id}","starred_url":"https://api.github.com/users/buzztiaan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/buzztiaan/subscriptions","organizations_url":"https://api.github.com/users/buzztiaan/orgs","repos_url":"https://api.github.com/users/buzztiaan/repos","events_url":"https://api.github.com/users/buzztiaan/events{/privacy}","received_events_url":"https://api.github.com/users/buzztiaan/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ErikZalm/Marlin/labels/Verified+bug","name":"Verified bug","color":"e11d21"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/ErikZalm/Marlin/milestones/1","labels_url":"https://api.github.com/repos/ErikZalm/Marlin/milestones/1/labels","id":915895,"number":1,"title":"Bug Fixing Round 1","description":"Clearing the first 4 issues labeled verified bug. Initial 2 months to get them done. Can be adjusted if timeframe is not fair.","creator":{"login":"boelle","id":3832239,"avatar_url":"https://avatars.githubusercontent.com/u/3832239?v=3","gravatar_id":"","url":"https://api.github.com/users/boelle","html_url":"https://github.com/boelle","followers_url":"https://api.github.com/users/boelle/followers","following_url":"https://api.github.com/users/boelle/following{/other_user}","gists_url":"https://api.github.com/users/boelle/gists{/gist_id}","starred_url":"https://api.github.com/users/boelle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/boelle/subscriptions","organizations_url":"https://api.github.com/users/boelle/orgs","repos_url":"https://api.github.com/users/boelle/repos","events_url":"https://api.github.com/users/boelle/events{/privacy}","received_events_url":"https://api.github.com/users/boelle/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":4,"state":"open","created_at":"2014-12-27T23:44:55Z","updated_at":"2015-01-02T19:15:54Z","due_on":"2015-02-27T23:00:00Z","closed_at":null},"comments":19,"created_at":"2013-03-10T18:38:56Z","updated_at":"2015-01-03T17:25:19Z","closed_at":null,"body":"M92 E700 during print.\r\nM500 during print.\r\n\r\nM503 shows Esteps now being 851 (wtf)\r\n\r\nDoesn't always happen, but i now need to doublecheck if the correct settings are saved, and resave them (often)"},"comment":{"url":"https://api.github.com/repos/ErikZalm/Marlin/issues/comments/68602267","html_url":"https://github.com/ErikZalm/Marlin/issues/416#issuecomment-68602267","issue_url":"https://api.github.com/repos/ErikZalm/Marlin/issues/416","id":68602267,"user":{"login":"alhirzel","id":324152,"avatar_url":"https://avatars.githubusercontent.com/u/324152?v=3","gravatar_id":"","url":"https://api.github.com/users/alhirzel","html_url":"https://github.com/alhirzel","followers_url":"https://api.github.com/users/alhirzel/followers","following_url":"https://api.github.com/users/alhirzel/following{/other_user}","gists_url":"https://api.github.com/users/alhirzel/gists{/gist_id}","starred_url":"https://api.github.com/users/alhirzel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alhirzel/subscriptions","organizations_url":"https://api.github.com/users/alhirzel/orgs","repos_url":"https://api.github.com/users/alhirzel/repos","events_url":"https://api.github.com/users/alhirzel/events{/privacy}","received_events_url":"https://api.github.com/users/alhirzel/received_events","type":"User","site_admin":false},"created_at":"2015-01-03T17:25:19Z","updated_at":"2015-01-03T17:25:19Z","body":"I am not 100% familiar with the code here but it is very important to know all sources of interrupts if we're going to do this... I've listed what I know about, any others maybe buried in libraries?\r\n\r\n  * extruder driving in stepper.cpp:TIMER0_COMPA_vect\r\n  * stepper driving in stepper.cpp:TIMER1_COMPA_vect\r\n  * hotend/hotbed control, reading filament width in temperature.cpp:TIMER0_COMPB_vect\r\n  * 4000ms watchdog timer in watchdog.cpp:WDT_vect\r\n\r\n@thawkins - if I understand, you're proposing that we forecast times when the stepper and extruder drivers will be in motion for 500ms so we have a safe EEPROM window in which we can disable interrupts, kick the EEPROM then sei() and be on our way. We would leave the watchdog running and disable the temp control for this time. Sound about right?"}}