{"action":"created","issue":{"url":"https://api.github.com/repos/AnHardt/Marlin/issues/67","repository_url":"https://api.github.com/repos/AnHardt/Marlin","labels_url":"https://api.github.com/repos/AnHardt/Marlin/issues/67/labels{/name}","comments_url":"https://api.github.com/repos/AnHardt/Marlin/issues/67/comments","events_url":"https://api.github.com/repos/AnHardt/Marlin/issues/67/events","html_url":"https://github.com/AnHardt/Marlin/pull/67","id":191596797,"number":67,"title":"Glcdtests241116","user":{"login":"AnHardt","id":211931,"avatar_url":"https://avatars.githubusercontent.com/u/211931?v=3","gravatar_id":"","url":"https://api.github.com/users/AnHardt","html_url":"https://github.com/AnHardt","followers_url":"https://api.github.com/users/AnHardt/followers","following_url":"https://api.github.com/users/AnHardt/following{/other_user}","gists_url":"https://api.github.com/users/AnHardt/gists{/gist_id}","starred_url":"https://api.github.com/users/AnHardt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AnHardt/subscriptions","organizations_url":"https://api.github.com/users/AnHardt/orgs","repos_url":"https://api.github.com/users/AnHardt/repos","events_url":"https://api.github.com/users/AnHardt/events{/privacy}","received_events_url":"https://api.github.com/users/AnHardt/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2016-11-24T22:14:59Z","updated_at":"2016-11-25T00:23:38Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/AnHardt/Marlin/pulls/67","html_url":"https://github.com/AnHardt/Marlin/pull/67","diff_url":"https://github.com/AnHardt/Marlin/pull/67.diff","patch_url":"https://github.com/AnHardt/Marlin/pull/67.patch"},"body":"Todays test of the GLCD enhacements\r\n\r\nRCBugFix Status screen\r\n2 Stripes 77ms\r\n4 Stripes 86ms\r\n8 Stripes 110ms\r\n\r\nSelective rendering\r\n2 Stripes 75ms\r\n4 Stripes 76ms\r\n8 Stripes 85ms\r\n\r\nSelective + unroll\r\n2 Stripes 78ms\r\n\r\nSelective + unroll + decrease delay\r\n2 Stripes 76ms\r\n\r\nSelective  + decrease delay\r\n2 Stripes 73ms\r\n\r\n\r\nDetailed timings in the commits comments.\r\n\r\nConclusion:\r\nSelective rendering is a small win for the two stripe ST7920 but makes a huge difference for displays with more stripes. Go for it.\r\nUnrolling the loops seems to make the updates a tiny bit slower. Don't merge.\r\nDecreasing the 10µs-delay to 5Ms speeds up ~2ms per complete update. Today i could not go below 5µs. If we should do that - with the original 10 µseconds and a big fat warning - decrease on your own risk.\r\n\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/AnHardt/Marlin/issues/comments/262859051","html_url":"https://github.com/AnHardt/Marlin/pull/67#issuecomment-262859051","issue_url":"https://api.github.com/repos/AnHardt/Marlin/issues/67","id":262859051,"user":{"login":"AnHardt","id":211931,"avatar_url":"https://avatars.githubusercontent.com/u/211931?v=3","gravatar_id":"","url":"https://api.github.com/users/AnHardt","html_url":"https://github.com/AnHardt","followers_url":"https://api.github.com/users/AnHardt/followers","following_url":"https://api.github.com/users/AnHardt/following{/other_user}","gists_url":"https://api.github.com/users/AnHardt/gists{/gist_id}","starred_url":"https://api.github.com/users/AnHardt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AnHardt/subscriptions","organizations_url":"https://api.github.com/users/AnHardt/orgs","repos_url":"https://api.github.com/users/AnHardt/repos","events_url":"https://api.github.com/users/AnHardt/events{/privacy}","received_events_url":"https://api.github.com/users/AnHardt/received_events","type":"User","site_admin":false},"created_at":"2016-11-25T00:23:38Z","updated_at":"2016-11-25T00:23:38Z","body":"Save about 15ms !!! by replacing the inverse coordinate box by a frame.\r\n```\r\n  if (PAGE_CONTAINS(30, 39)) {\r\n    //u8g.drawBox(0, 30, LCD_PIXEL_WIDTH, INFO_FONT_HEIGHT + 2); // 10: 30-39  9: 30-37 !!!!!!!!!\r\n    u8g.drawFrame(0, 30, LCD_PIXEL_WIDTH, INFO_FONT_HEIGHT + 2); // 10: 30-39  9: 30-37\r\n\r\n    if (PAGE_CONTAINS(XYZ_BASELINE - INFO_FONT_HEIGHT + 1, XYZ_BASELINE)) {\r\n\r\n      // Generate the strings only once\r\n      if (remake_strings) {\r\n        remake_strings = false;\r\n        strcpy(xstring, ftostr4sign(current_position[X_AXIS]));\r\n        strcpy(ystring, ftostr4sign(current_position[Y_AXIS]));\r\n        strcpy(zstring, ftostr52sp(current_position[Z_AXIS] + 0.00001));\r\n      }\r\n\r\n      //u8g.setColorIndex(0); // white on black                   !!!!\r\n\r\n      u8g.setPrintPos(2, XYZ_BASELINE);\r\n      _draw_axis_label(X_AXIS, PSTR(MSG_X), blink);\r\n      u8g.setPrintPos(10, XYZ_BASELINE);\r\n      lcd_print(xstring);\r\n\r\n      u8g.setPrintPos(43, XYZ_BASELINE);\r\n      _draw_axis_label(Y_AXIS, PSTR(MSG_Y), blink);\r\n      u8g.setPrintPos(51, XYZ_BASELINE);\r\n      lcd_print(ystring);\r\n\r\n      u8g.setPrintPos(83, XYZ_BASELINE);\r\n      _draw_axis_label(Z_AXIS, PSTR(MSG_Z), blink);\r\n      u8g.setPrintPos(91, XYZ_BASELINE);\r\n      lcd_print(zstring);\r\n\r\n      //u8g.setColorIndex(1); // black on white                        !!!!!\r\n    }\r\n\r\n```\r\n![picture 9](https://cloud.githubusercontent.com/assets/211931/20611577/8a86ed5e-b2ad-11e6-877c-893e7a50f55b.jpg)\r\n"}}
{"actor":{"display_login":"AnHardt"}}