profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/pfn/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.

pfn/keepasshttp 1746

KeePass plugin to expose password entries securely (256bit AES/CBC) over HTTP

pfn/iota 21

IO Type for Android + modern, functional UI language

pfn/advanced-keyguard-manager 13

https://play.google.com/store/apps/details?id=com.hanhuy.android.bluetooth.keyguard

pfn/android-conversions 11

Automatic implicit conversions and extensions functions for the Android framework in Scala

pfn/hdhr 7

HDHomeRun Java API and Viewer Application

pfn/advanced-audio-manager 6

Audio Volume Management Application

pfn/android-futures 5

A port of Scala Futures to Android+Java

pfn/android-common 4

Some common scala libs for android

pfn/ffbecalc 3

Unit Calculator for Final Fantasy Brave Exvius

pfn/android-tvm 2

Simple android loan calculator

PullRequestReviewEvent

pull request commentbigtreetech/BIGTREETECH-TouchScreenFirmware

RRF:M575 no longer requires RRF compatible marlin

@Subcircuit if your PR implements #1979 then mark it as resolved

@digant73 it does not yet, easy to implement once this PR is merged, but that's additional work that isn't in this PR

Subcircuit

comment created time in 9 days

pull request commentbigtreetech/BIGTREETECH-TouchScreenFirmware

RRF:M575 no longer requires RRF compatible marlin

Oh do you have a solution yet? When I have time try to solve it

I haven't been able to solve it yet @Subcircuit , I would appreciate the help. I'm not working on solving it any time soon.

Subcircuit

comment created time in 10 days

pull request commentbigtreetech/BIGTREETECH-TouchScreenFirmware

RRF:M575 no longer requires RRF compatible marlin

fair enough, possibly consider renaming it to rrf_starting_print

All right

by the way, when I was testing the file list sorting feature(M20 S3), I found that Json would freeze when parsing more files (about 6 files or more) and display "loding...". Even if I increase the dmaL2Cache space to 4096

there's some serious memory issues I haven't been able to solve yet; happens more often on M20 S3 mode for me (which I've disabled) -- the problem isn't dmaL2Cache, I'm thinking there's some memory leak happening as a result of saving and copying the filename/display_name stuff

Subcircuit

comment created time in 11 days

PullRequestReviewEvent

Pull request review commentbigtreetech/BIGTREETECH-TouchScreenFirmware

RRF:M575 no longer requires RRF compatible marlin

 void ParseACKJsonParser::value(const char *value)     case mbox_timeo:       m291_timeo = strtod((char *)value, NULL) * 1000;       break;+    case resp:+      if (strstr(value, (char *)"Steps/"))       //parse M92+      {+        if ((value = strstr(value, (char *)"X: ")) != NULL ) setParameter(P_STEPS_PER_MM, AXIS_INDEX_X,  atoi(value + 3));+        if ((value = strstr(value, (char *)"Y: ")) != NULL ) setParameter(P_STEPS_PER_MM, AXIS_INDEX_Y,  atoi(value + 3));+        if ((value = strstr(value, (char *)"Z: ")) != NULL ) setParameter(P_STEPS_PER_MM, AXIS_INDEX_Z,  atoi(value + 3));+        if ((value = strstr(value, (char *)"E: ")) != NULL ) setParameter(P_STEPS_PER_MM, AXIS_INDEX_E0, atoi(value + 3));+      }+      else if ((string_start = strstr(value, (char *)"RepRapFirmware")) != NULL)    // parse M115+      {+        setupMachine();+        string_end = strstr(string_start, "ELECTRONICS");+        infoSetFirmwareName((uint8_t *)string_start, string_end-string_start);+      }+      else if ((string_start = strstr(value, (char *)"access point")) != NULL)    //parse M552 +      {+        string_end = strstr(string_start, ",");+        string_start += 13;+        infoSetAccessPoint((uint8_t *)string_start,  string_end-string_start);++        if ((string_start = strstr(string_start, (char *)"IP address")) != NULL)+        {+          string_end = strstr(string_start, "\\n");+          string_start += 11;+          infoSetIPAddress((uint8_t *)string_start,  string_end-string_start);+        }+      }+      else if ((string_start = strstr(value, (char *)"printing byte")) != NULL)       // parse M27  {"seq":21,"resp":"SD printing byte 1226/5040433\n"}+      {+        string_end = strstr(string_start, (char *)"/");+        setPrintProgress(atoi(string_start + 14), atoi(string_end + 1));+      }+      else if (strstr(value, (char *)"Auto tuning heater") && strstr(value, (char *)"completed"))+      {+        pidUpdateStatus(true);+      }+      else if (strstr(value, (char *)"Error: M303") || (strstr(value, (char *)"Auto tune of heater") && strstr(value, (char *)"failed")))+      {+        pidUpdateStatus(false);+      }++      break;+    case result:+        strcpy(infoFile.title, value);+        setPrintHost(true);+        // setPrintResume(false);

I think the setPrintResume is here only to ensure the pause state is removed if any, doesn't hurt to leave it, I believe.

Subcircuit

comment created time in 11 days

PullRequestReviewEvent

Pull request review commentbigtreetech/BIGTREETECH-TouchScreenFirmware

RRF:M575 no longer requires RRF compatible marlin

 void ParseACKJsonParser::value(const char *value)     case mbox_timeo:       m291_timeo = strtod((char *)value, NULL) * 1000;       break;+    case resp:+      if (strstr(value, (char *)"Steps/"))       //parse M92+      {+        if ((value = strstr(value, (char *)"X: ")) != NULL ) setParameter(P_STEPS_PER_MM, AXIS_INDEX_X,  atoi(value + 3));+        if ((value = strstr(value, (char *)"Y: ")) != NULL ) setParameter(P_STEPS_PER_MM, AXIS_INDEX_Y,  atoi(value + 3));+        if ((value = strstr(value, (char *)"Z: ")) != NULL ) setParameter(P_STEPS_PER_MM, AXIS_INDEX_Z,  atoi(value + 3));+        if ((value = strstr(value, (char *)"E: ")) != NULL ) setParameter(P_STEPS_PER_MM, AXIS_INDEX_E0, atoi(value + 3));+      }+      else if ((string_start = strstr(value, (char *)"RepRapFirmware")) != NULL)    // parse M115+      {+        setupMachine();+        string_end = strstr(string_start, "ELECTRONICS");+        infoSetFirmwareName((uint8_t *)string_start, string_end-string_start);+      }+      else if ((string_start = strstr(value, (char *)"access point")) != NULL)    //parse M552 +      {+        string_end = strstr(string_start, ",");+        string_start += 13;+        infoSetAccessPoint((uint8_t *)string_start,  string_end-string_start);++        if ((string_start = strstr(string_start, (char *)"IP address")) != NULL)+        {+          string_end = strstr(string_start, "\\n");+          string_start += 11;+          infoSetIPAddress((uint8_t *)string_start,  string_end-string_start);+        }+      }+      else if ((string_start = strstr(value, (char *)"printing byte")) != NULL)       // parse M27  {"seq":21,"resp":"SD printing byte 1226/5040433\n"}+      {+        string_end = strstr(string_start, (char *)"/");+        setPrintProgress(atoi(string_start + 14), atoi(string_end + 1));+      }+      else if (strstr(value, (char *)"Auto tuning heater") && strstr(value, (char *)"completed"))+      {+        pidUpdateStatus(true);+      }+      else if (strstr(value, (char *)"Error: M303") || (strstr(value, (char *)"Auto tune of heater") && strstr(value, (char *)"failed")))+      {+        pidUpdateStatus(false);+      }++      break;+    case result:

This alone is kind of dangerous, it would be good to add a new variable into RRFStatusControl: starting_print, set it to true at mustStoreCmd("M409 K\"job.file.fileName\"\n"); and set it false here. This case should only run if starting_print.

Create new set/is functions as needed

Subcircuit

comment created time in 11 days

PullRequestReviewEvent

push eventpfn/BIGTREETECH-TouchScreenFirmware

Antonino Di Guardo

commit sha 4b705a4e1f2640db1a44d11672e1596ffcf1a4f7

Implemented #2132 + config.ini cleanup + bugfix/code optimization (#2146)

view details

bigtreetech

commit sha 0eacf539bf27e879daa9694089e76098af6331cc

Update prebuilt binaries and config

view details

Gurmeet Athwal

commit sha ac0b9ea9520f38a33940c653470dcf91799bba9c

Reduce global variable in Serial connection settings (#2147)

view details

bigtreetech

commit sha c349a51ce590fc457c348dea9b1b7b2ae329b275

Update prebuilt binaries and config

view details

Zs.Antal

commit sha 5f393a165f37bf5eccfd47783a9bc85c548064cf

Hungarian language update (#2149)

view details

bigtreetech

commit sha 67183b137f1698a1065cfb4fc52938ca5bf56546

Update prebuilt binaries and config

view details

Perry

commit sha 891396531a74047eca5477d46705f3361e8abc92

RRF: enable A-Z, Z-A, oldest and newest sort in print menu (#2150) * RRF: enable A-Z, Z-A, oldest and newest sort in print menu * Adds `stream_handler` to requestCommandInfo to support >5K payloads * Adds M20 S3 parsing support to RRFM20Parser * Unsolved: The parser is tested to work, however using M20 S3 from the streaming request variant causes the firmware to crash. Testing using the usual `cmd_rev_buf` mechanism works fine * Adjusts scope of parser/handler in RRFParseACK * Unlocks icon/grid mode print job listing, fixes #1981 * Resets macro menu cur_page to 0 upon entry (fixes state between print and macro menus) * Remove M20 S3 support * Ran out of RAM on 48K devices * The additional `timestamp` field on M20_LIST_ITEM killed the budget * Relies on implicit ordering from M20 S2 to be by-date * Revert "Remove M20 S3 support" This reverts commit c4752316bb9132f72d27e23b83209e147ebce8ae. * Reduce globals footprint of JSON parsing * Use a single, global JsonStreamingParser instance * Add a flag to support M20 S3 in request_M20_rrf * Allocate RRFM20Parser on-demand (infrequent use should not be global) * Switch fully to streaming response handling for RRFM20Parser * Fix some memory issues with M20 S3 parsing * Change timestamp field from char* to uint32_t * Deallocate display_name if is_directory * Don't allocate display_name if it's not different from filename

view details

kisslorand

commit sha 16bdb7672992ca5b80bbbddbf0a1cf02e5ef63fb

Bugfix - shadow characters in Layer-field (#2152)

view details

Antonino Di Guardo

commit sha 8ec1248f45b379763c90fc2028896f703586c7c6

Hungarian language fix (#2154)

view details

Perry

commit sha 15569351f1e46a21d2fb02e0c24a2cd606e846e4

RRF: support load/unload menu via load/unload macros (#2155)

view details

Perry

commit sha ef0305b7f9c26ee546054c2af75da9ab6ad85b04

RRF: remove unused Settings -> Machine -> Custom (#2161)

view details

Peter

commit sha f9a3b37e29ccb62046ba05f10ebf5151046f1f91

THEME_Rep Rap Firmware Dark theme (#2162)

view details

Radek

commit sha 84e298b885a64884105be8758138957c2256e2e8

Czech language translation (#2163)

view details

Perry

commit sha b330e98e7a88de4fbcdd1e2c1702d00ce228c203

RRF: Remove M118 requirement for print status updates (#2164) * Automatically determine print status from M408 requests

view details

BigTreeTech

commit sha 862097a8905dc49207cecde592a039ae98563774

tweak fix

view details

bigtreetech

commit sha 93adb6edc1afedbd80fc954ee052d230da22caa3

Update prebuilt binaries and config

view details

Antonino Di Guardo

commit sha 0f89ae5b3882af8ef6ac6165f3a48418c40370a7

Optimized parsing in interfaceCmd.c and parseACK.c + configurable M109/M190 (#2156)

view details

bigtreetech

commit sha 9243f26b8c39110a500942e23a44db8e09c320ec

Update prebuilt binaries and config

view details

Perry

commit sha 7a51c459d8bbaad6f18d782bff83ade8aa265ad5

RRF: support printing > busy > idle state transition (#2166)

view details

Perry

commit sha 43819d654a1092f6cebf739908e21cc88ddf1588

RRF: don't try to show gcode previews (#2167) Avoid logic trying to load gcode previews in printing menu, some TFTs crash because of it.

view details

push time in 12 days

Pull request review commentbigtreetech/BIGTREETECH-TouchScreenFirmware

RRF:M575 no longer requires RRF compatible marlin

 void parseACK(void)         }         hasFilamentData = true;       }-      else if (infoMachineSettings.onboardSD == ENABLED &&-               ack_seen(infoMachineSettings.firmwareType != FW_REPRAPFW ? "File opened:" : "job.file.fileName"))+      else if (infoMachineSettings.onboardSD == ENABLED && ack_seen("File opened:"))       {         char * fileEndString;-        if (infoMachineSettings.firmwareType != FW_REPRAPFW)-        {-          // Marlin-          fileEndString = " Size:";  // File opened: 1A29A~1.GCO Size: 6974-        }-        else-        {-          // RRF-          ack_seen("result\":\"0:/gcodes/");  // {"key":"job.file.fileName","flags": "","result":"0:/gcodes/pig-4H.gcode"}

It looks like this was removed without a corresponding handler to set the job file name?

Can we create a new parser to handle this message and set the print job name?

Subcircuit

comment created time in 12 days

Pull request review commentbigtreetech/BIGTREETECH-TouchScreenFirmware

RRF:M575 no longer requires RRF compatible marlin

 void ParseACKJsonParser::endDocument() void ParseACKJsonParser::value(const char *value) {   uint32_t seq;+  char *string_end;+  char *string_start;   switch (state)   {-    case fan_percent:-      if (index != 0 && index <= infoSettings.fan_count) // index 0 is an alias for default tool fan+    case status:+      rrfStatusSet(value[0]);+      break;+    case heaters:+      if (index == 0 )

please remove whitespace after 0

Subcircuit

comment created time in 12 days

Pull request review commentbigtreetech/BIGTREETECH-TouchScreenFirmware

RRF:M575 no longer requires RRF compatible marlin

 void loopCheckHeater(void)         break;       if (requestCommandInfoIsRunning())  // To avoid colision in Gcode response processing         break;-      if (storeCmd("M105\n") == false)+      if ((infoMachineSettings.firmwareType != FW_REPRAPFW) && storeCmd("M105\n") == false)

While editing this line, it'd be good to do !storeCmd(...) and elide the == false

Subcircuit

comment created time in 12 days

Pull request review commentbigtreetech/BIGTREETECH-TouchScreenFirmware

RRF:M575 no longer requires RRF compatible marlin

 static void resetRequestCommandInfo( bool request_M21(void) {   const char * sdString = (infoMachineSettings.firmwareType == FW_REPRAPFW) ? "card mounted " : "SD card ";-  const char * errString1 = (infoMachineSettings.firmwareType == FW_REPRAPFW) ? "Error" : "No SD card";+  const char * endstring = (infoMachineSettings.firmwareType == FW_REPRAPFW) ? "capacity" : "ok";

It looks like request_M21 will no longer be used if RRF? Would it be a good idea to remove RRF conditional checks from here?

Subcircuit

comment created time in 12 days

Pull request review commentbigtreetech/BIGTREETECH-TouchScreenFirmware

RRF:M575 no longer requires RRF compatible marlin

 void rrfStatusSet(char status)           case 'I':             // parseACK will take care of going to the print screen             mustStoreCmd("M409 K\"job.file.fileName\"\n");+            setPrintHost(true);

This should probably be deferred until the response of M409 before we start the print status display?

I would think along the lines of a new function in gcode.c like rrf_request_job_name(...) that would invoke its own parser and launch the job

Subcircuit

comment created time in 12 days

Pull request review commentbigtreetech/BIGTREETECH-TouchScreenFirmware

RRF:M575 no longer requires RRF compatible marlin

 void ParseACKJsonParser::value(const char *value)     case mbox_timeo:       m291_timeo = strtod((char *)value, NULL) * 1000;       break;+    case resp:+      if (strstr(value, (char *)"Steps/"))       //parse M92+      {+        if ((value = strstr(value, (char *)"X: ")) != NULL ) setParameter(P_STEPS_PER_MM, AXIS_INDEX_X,  atoi(value + 3));+        if ((value = strstr(value, (char *)"Y: ")) != NULL ) setParameter(P_STEPS_PER_MM, AXIS_INDEX_Y,  atoi(value + 3));+        if ((value = strstr(value, (char *)"Z: ")) != NULL ) setParameter(P_STEPS_PER_MM, AXIS_INDEX_Z,  atoi(value + 3));+        if ((value = strstr(value, (char *)"E: ")) != NULL ) setParameter(P_STEPS_PER_MM, AXIS_INDEX_E0, atoi(value + 3));+      }+      else if ((string_start = strstr(value, (char *)"RepRapFirmware")) != NULL)    // parse M115+      {+        setupMachine();+        string_end = strstr(string_start, "ELECTRONICS");+        infoSetFirmwareName((uint8_t *)string_start, string_end-string_start);+      }+      else if ((string_start = strstr(value, (char *)"access point")) != NULL)    //parse M552 +      {+        string_end = strstr(string_start, ",");+        string_start += 13;+        infoSetAccessPoint((uint8_t *)string_start,  string_end-string_start);++        if ((string_start = strstr(string_start, (char *)"IP address")) != NULL)+        {+          string_end = strstr(string_start, "\\n");+          string_start += 11;+          infoSetIPAddress((uint8_t *)string_start,  string_end-string_start);+        }+      }+      else if ((string_start = strstr(value, (char *)"printing byte")) != NULL)       // parse M27  {"seq":21,"resp":"SD printing byte 1226/5040433\n"}+      {+        string_end = strstr(string_start, (char *)"/");+        setPrintProgress(atoi(string_start + 14), atoi(string_end + 1));+      }+      else if (strstr(value, (char *)"Cancelled printing"))    //{"seq":488,"resp":"Cancelled printing file 0:/gcodes/test.gcode, print time was 0h 1m\n"}+      {+        setPrintAbort();+      }+      else if (strstr(value, (char *)"Finished printing"))   //{"seq":1222,"resp":"Finished printing file 0:/gcodes/text.gcode, print time was 0h 0m\n"}+      {+        setPrintHost(false);+        printComplete();+      }+      else if (strstr(value, (char *)"Auto tuning heater") && strstr(value, (char *)"completed"))+      {+        pidUpdateStatus(true);+      }+      else if (strstr(value, (char *)"Error: M303") || strstr(value, (char *)"Auto tune of heater") && strstr(value, (char *)"failed"))+      {+        pidUpdateStatus(false);+      }++      break;+     case none:       break;+    default:

Are there unhandled cases here? I'd prefer to leave default out as the enum lets us know if we're missing any handling.

Subcircuit

comment created time in 12 days

Pull request review commentbigtreetech/BIGTREETECH-TouchScreenFirmware

RRF:M575 no longer requires RRF compatible marlin

 void ParseACKJsonParser::value(const char *value)     case mbox_timeo:       m291_timeo = strtod((char *)value, NULL) * 1000;       break;+    case resp:+      if (strstr(value, (char *)"Steps/"))       //parse M92+      {+        if ((value = strstr(value, (char *)"X: ")) != NULL ) setParameter(P_STEPS_PER_MM, AXIS_INDEX_X,  atoi(value + 3));+        if ((value = strstr(value, (char *)"Y: ")) != NULL ) setParameter(P_STEPS_PER_MM, AXIS_INDEX_Y,  atoi(value + 3));+        if ((value = strstr(value, (char *)"Z: ")) != NULL ) setParameter(P_STEPS_PER_MM, AXIS_INDEX_Z,  atoi(value + 3));+        if ((value = strstr(value, (char *)"E: ")) != NULL ) setParameter(P_STEPS_PER_MM, AXIS_INDEX_E0, atoi(value + 3));+      }+      else if ((string_start = strstr(value, (char *)"RepRapFirmware")) != NULL)    // parse M115+      {+        setupMachine();+        string_end = strstr(string_start, "ELECTRONICS");+        infoSetFirmwareName((uint8_t *)string_start, string_end-string_start);+      }+      else if ((string_start = strstr(value, (char *)"access point")) != NULL)    //parse M552 +      {+        string_end = strstr(string_start, ",");+        string_start += 13;+        infoSetAccessPoint((uint8_t *)string_start,  string_end-string_start);++        if ((string_start = strstr(string_start, (char *)"IP address")) != NULL)+        {+          string_end = strstr(string_start, "\\n");+          string_start += 11;+          infoSetIPAddress((uint8_t *)string_start,  string_end-string_start);+        }+      }+      else if ((string_start = strstr(value, (char *)"printing byte")) != NULL)       // parse M27  {"seq":21,"resp":"SD printing byte 1226/5040433\n"}+      {+        string_end = strstr(string_start, (char *)"/");+        setPrintProgress(atoi(string_start + 14), atoi(string_end + 1));+      }+      else if (strstr(value, (char *)"Cancelled printing"))    //{"seq":488,"resp":"Cancelled printing file 0:/gcodes/test.gcode, print time was 0h 1m\n"}

This can be removed as it's handled by RRFStatusControl in the P -> I state transition

Subcircuit

comment created time in 12 days

Pull request review commentbigtreetech/BIGTREETECH-TouchScreenFirmware

RRF:M575 no longer requires RRF compatible marlin

 void ParseACKJsonParser::value(const char *value)     case mbox_timeo:       m291_timeo = strtod((char *)value, NULL) * 1000;       break;+    case resp:

I'm not a super big fan of this, but it looks like there's no good solution here :(

It seems there's no real way to correlate the seq with the request that was sent

Subcircuit

comment created time in 12 days

Pull request review commentbigtreetech/BIGTREETECH-TouchScreenFirmware

RRF:M575 no longer requires RRF compatible marlin

 void ParseACKJsonParser::endDocument() void ParseACKJsonParser::value(const char *value) {   uint32_t seq;+  char *string_end;+  char *string_start;   switch (state)   {-    case fan_percent:-      if (index != 0 && index <= infoSettings.fan_count) // index 0 is an alias for default tool fan+    case status:+      rrfStatusSet(value[0]);+      break;+    case heaters:+      if (index == 0 )       {-        fanSetPercent(index - 1, strtod((char *)value, NULL) + 0.5f);+        heatSetCurrentTemp(BED, strtod((char *)value, NULL) + 0.5f);+      }+      else if (index <= INVALID_HEATER)+      {+        heatSetCurrentTemp(index - 1, strtod((char *)value, NULL) + 0.5f);+      }+      break;+    case active:+      if (index == 0 )

ditto whitespace after 0

Subcircuit

comment created time in 12 days

Pull request review commentbigtreetech/BIGTREETECH-TouchScreenFirmware

RRF:M575 no longer requires RRF compatible marlin

 void ParseACKJsonParser::value(const char *value)     case mbox_timeo:       m291_timeo = strtod((char *)value, NULL) * 1000;       break;+    case resp:+      if (strstr(value, (char *)"Steps/"))       //parse M92+      {+        if ((value = strstr(value, (char *)"X: ")) != NULL ) setParameter(P_STEPS_PER_MM, AXIS_INDEX_X,  atoi(value + 3));+        if ((value = strstr(value, (char *)"Y: ")) != NULL ) setParameter(P_STEPS_PER_MM, AXIS_INDEX_Y,  atoi(value + 3));+        if ((value = strstr(value, (char *)"Z: ")) != NULL ) setParameter(P_STEPS_PER_MM, AXIS_INDEX_Z,  atoi(value + 3));+        if ((value = strstr(value, (char *)"E: ")) != NULL ) setParameter(P_STEPS_PER_MM, AXIS_INDEX_E0, atoi(value + 3));+      }+      else if ((string_start = strstr(value, (char *)"RepRapFirmware")) != NULL)    // parse M115+      {+        setupMachine();+        string_end = strstr(string_start, "ELECTRONICS");+        infoSetFirmwareName((uint8_t *)string_start, string_end-string_start);+      }+      else if ((string_start = strstr(value, (char *)"access point")) != NULL)    //parse M552 +      {+        string_end = strstr(string_start, ",");+        string_start += 13;+        infoSetAccessPoint((uint8_t *)string_start,  string_end-string_start);++        if ((string_start = strstr(string_start, (char *)"IP address")) != NULL)+        {+          string_end = strstr(string_start, "\\n");+          string_start += 11;+          infoSetIPAddress((uint8_t *)string_start,  string_end-string_start);+        }+      }+      else if ((string_start = strstr(value, (char *)"printing byte")) != NULL)       // parse M27  {"seq":21,"resp":"SD printing byte 1226/5040433\n"}+      {+        string_end = strstr(string_start, (char *)"/");+        setPrintProgress(atoi(string_start + 14), atoi(string_end + 1));+      }+      else if (strstr(value, (char *)"Cancelled printing"))    //{"seq":488,"resp":"Cancelled printing file 0:/gcodes/test.gcode, print time was 0h 1m\n"}+      {+        setPrintAbort();+      }+      else if (strstr(value, (char *)"Finished printing"))   //{"seq":1222,"resp":"Finished printing file 0:/gcodes/text.gcode, print time was 0h 0m\n"}

This can also be removed for the same reason as above.

Subcircuit

comment created time in 12 days

PullRequestReviewEvent

issue commentbigtreetech/BIGTREETECH-TouchScreenFirmware

[FR] M117 support for RRF

Looks like the changes in #2171 will enable this to happen pretty easily

bttguy

comment created time in 13 days

PullRequestReviewEvent

Pull request review commentbigtreetech/BIGTREETECH-TouchScreenFirmware

RRF:M575 no longer requires RRF compatible marlin

 static uint32_t expire_time = 0;  static void m291_confirm(void) {-  if (m291_mode > 1) mustStoreCmd("M292 P0\n");+  if (m291_mode >= 1) mustStoreCmd("M292 P0\n");

Nice, I remember messing this up but forgetting to fix it

Subcircuit

comment created time in 14 days

PullRequestReviewEvent
PullRequestReviewEvent

issue commentbigtreetech/BIGTREETECH-TouchScreenFirmware

[FR] M117 support for RRF

This does not seem possible without switching to PanelDue mode; and that requires a large amount of rework

bttguy

comment created time in 15 days

pull request commentbigtreetech/BIGTREETECH-TouchScreenFirmware

Updated Matrix and new Rep Rap Material Theme

Could you please also update the readme in this section https://github.com/bigtreetech/BIGTREETECH-TouchScreenFirmware#tft-screen-configuration-and-support-for-rrf to remove:

Start.g Changes Add the following line in your start.g file to allow the screen to know when a job has started. M409 K"job.file.fileName"

Stop.g Changes Add the following line in your stop.g file to allow the screen to know when a job has stopped. M118 P2 S"//action:cancel" M0 also need to be added to your stop gcode in your slicer to allow stop.g to be ran.

Pause.g Changes Add the following line in your pause.g file to allow the screen to know when a job has been aused. M118 P2 S"//action::paused"

Cancel.g Changes Add the following line in your cancel.g file to allow the screen to know when a job has been cancelled. M118 P2 S"//action::prompt_begin Resuming"

oldman4U

comment created time in 16 days

PR opened bigtreetech/BIGTREETECH-TouchScreenFirmware

RRF: don't try to show gcode previews

Requirements

No new requirements

Description

Avoid logic trying to load gcode previews in printing menu, some TFTs crash because of it. Only skipped for RRF

Benefits

Improves stability of the print menu for RRF users

PR Status

Ready to merge

Testing

Verified working on others' BTT TFT35 V3

+1 -1

0 comment

1 changed file

pr created time in 18 days

create barnchpfn/BIGTREETECH-TouchScreenFirmware

branch : no-print-menu-preview

created branch time in 18 days