PanelDueFirmware 3.2-RC3 released
-
I just set up my 5i with an BTT SKR 1.4 Turbo using 3.2-RC3 together with all the other betas (DWC, DSF, FW).
At least for me, M300 doesn't result in any sound coming out of the PanelDue, even though it does beep when I am pressing some of the buttons.
Am I missing anything there?
-
@docbobo I would say M300 is processed by the board, not the panel. If Your board has no "beeper" then no sound
-
@BoA Well, the documentation seems to say
Play beep sound, use to notify events like the end of printing. If an LCD device is attached to RepRapFirmware, a sound is played via the add-on touch screen control panel. Else the web interface will play a beep sound.
-
@docbobo Yes,
M300
are supposed to be played by PanelDue. I have to investigate the problem because it worked when I tested a while back. -
@wilriker Let me know if there's anything I can do.
BTW, when running mesh compensation, I noticed that coordinates for X Y Z were updating the screen, even though it was in sleep mode. Doesn't seem to happen while printing.
-
@docbobo I am not sure, but isn't the board responsible for sending this M300 to panel to make it beeping?
-
@docbobo said in PanelDueFirmware 3.2-RC3 released:
@wilriker Let me know if there's anything I can do.
Will let you know if that's necessary, thanks.
BTW, when running mesh compensation, I noticed that coordinates for X Y Z were updating the screen, even though it was in sleep mode. Doesn't seem to happen while printing.
I am not exactly sure if I understand what you mean. Du you mean it's waking up the panel from screensaver when running mesh compensation?
If so, here's the small list of what will wait up the panel from screensaver:
- Incoming message pop-up
- Machine state changed e.g. Idle to Busy or Printing to Paused, etc.
-
@wilriker no, itβs not waking up the panel. It was mostly black, just the numbers for x, y, and z were appearing.
-
@docbobo - I've seen this as well..
@wilriker - I've had the PanelDue not display an M291 S3 command like I described earlier several times today. There is no pattern to it that I've been able to find. However, I can say with certainty that it is still occurring.
Like I mentioned before, it's within my homez.g file as interaction is expected when beginning a print.
Thanks
-
@docbobo Thanks for reporting. I'll investigate that.
-
@oozeBot said in PanelDueFirmware 3.2-RC3 released:
@wilriker - I've had the PanelDue not display an M291 S3 command like I described earlier several times today. There is no pattern to it that I've been able to find. However, I can say with certainty that it is still occurring.
Like I mentioned before, it's within my homez.g file as interaction is expected when beginning a print.
Thanks
I need more information about your setup, please. Duet 2 or Duet 3 and standalone or with DSF?
Also in which state is the machine when this pop-up should occur? Idle, Busy, something else? -
@wilriker we are using Duet 3 / RPi combos running 3.2b1 and the PanelDue is on 3.2-RC3+1. I just had it happen again on a machine that had been turned off overnight. What I didn't catch was the state reported in the top right corner of the PanelDue, but I believe it was "Printing". I feel sure this will happen again today, so I'll report back.
I will point out that I didn't notice this nearly as often (or at all?) on the earlier betas.. it feels new to 3.2-RC3+1. Thanks
-
@oozeBot The state does not have to be from PanelDue. In fact it might even be wrong there. Please check the state in DWC while the dialog is still open.
3.2-RC3+1 fixed a bug where these dialogs would not disappear if closed somewhere else, e.g. DWC. This seems to have introduced a regression as it seems.
-
Just noticed the following in my DSF output:
[error] Failed to merge JSON: {"key":"","flags":"d99fn","result":{"boards":[{"mcuTemp":{},"vIn":{}}],"fans":[{"actualValue":0,"requestedValue":0,"rpm":-1},{"actualValue":1.00,"requestedValue":1.00,"rpm":-1}],"heat":{"heaters":[{"active":0,"current":61.0,"standby":0,"state":"off"},{"active":0,"current":84.5,"standby":0,"state":"off"}]},"inputs":[{"feedRate":50.0,"lineNumber":0,"state":"idle"},{"feedRate":50.0,"lineNumber":0,"state":"idle"},{"feedRate":50.0,"lineNumber":0,"state":"idle"},{"feedRate":50.0,"lineNumber":0,"state":"idle"},{"feedRate":50.0,"lineNumber":205,"state":"idle"},{"feedRate":50.0,"lineNumber":151,"state":"idle"},{"feedRate":50.0,"lineNumber":0,"state":"idle"},{"feedRate":50.0,"lineNumber":0,"state":"idle"},{"feedRate":50.0,"lineNumber":0,"state":"idle"},{"feedRate":50.0,"lineNumber":0,"state":"idle"},{"feedRate":50.0,"lineNumber":0,"state":"idle"},{"feedRate":50.0,"lineNumber":0,"state":"idle"}],"job":{"duration":null,"filePosition":0,"layerTime":null,"timesLeft":{"filament":null,"file":null,"layer":null}},"move":{"axes":[{"homed":false,"machinePosition":0,"userPosition":0},{"homed":false,"machinePosition":0,"userPosition":0},{"homed":false,"machinePosition":0,"userPosition":0}],"currentMove":{"acceleration":0,"deceleration":0,"laserPwm":null,"requestedSpeed":0,"topSpeed System.Text.Json.JsonReaderException: Expected end of string, but instead reached end of data. LineNumber: 0 | BytePositionInLine: 1280. at System.Text.Json.ThrowHelper.ThrowJsonReaderException(Utf8JsonReader& json, ExceptionResource resource, Byte nextByte, ReadOnlySpan`1 bytes) at System.Text.Json.Utf8JsonReader.ConsumeString() at System.Text.Json.Utf8JsonReader.ConsumePropertyName() at System.Text.Json.Utf8JsonReader.ConsumeNextToken(Byte marker) at System.Text.Json.Utf8JsonReader.ConsumeNextTokenOrRollback(Byte marker) at System.Text.Json.Utf8JsonReader.ReadSingleSegment() at System.Text.Json.Utf8JsonReader.Read() at System.Text.Json.JsonDocument.Parse(ReadOnlySpan`1 utf8JsonSpan, Utf8JsonReader reader, MetadataDb& database, StackRowStack& stack) at System.Text.Json.JsonDocument.Parse(ReadOnlyMemory`1 utf8Json, JsonReaderOptions readerOptions, Byte[] extraRentedBytes) at System.Text.Json.JsonDocument.Parse(ReadOnlyMemory`1 utf8Json, JsonDocumentOptions options) at DuetControlServer.Model.Updater.Run() in /home/christian/Duet3D/DuetSoftwareFramework/src/DuetControlServer/Model/Updater.cs:line 100
I also have that on startup for some other keys, e.g. "inputs" and "move". But the one above is reoccurring. It stop when the PanelDue's screensaver is on.
Some more system info:
M115 FIRMWARE_NAME: RepRapFirmware for LPC176x based Boards FIRMWARE_VERSION: 3.2-beta1_2 ELECTRONICS: LPC176x FIRMWARE_DATE: 2020-09-15b1
Board: biquskr_1.4 (LPCSBC) DSF Version: 3.2.0-beta1+1
-
@docbobo When the screensaver is active it reduces update poll rate from 1Hz to 0.25Hz. So this rather looks to me as if the LPC build has issues with available RAM or better: cleanly handling the lack of available output buffers.
-
@wilriker I look after the LPC port and have a couple of questions if you can spare some time...
- Is the panelDue causing any extra json requests to be sent to DSF, or is it just likely that having both the panelDue and DSF making requests is putting extra strain on the available buffer space?
- What are the assumptions made about available output buffers (if any)?
- It seems odd that a partial response is being sent to DSF. Is that what you would expect if the system runs out of output buffers? I would have thought that it would make more sense to assemble all of a json response before sending it?
The LPC port uses the same mechanism for handling a lack of buffers as does the Duet ports, so it seems likely that if the LPC has problems then in other circumstances (under heavy load or whatever) the Duet versions will hit the same problem. We do have a smaller number of buffers defined (16), but that is the same as number used by some other Duet hardware (that using SAM3XA mcus), but perhaps those Duets will never be used with an SBC?
-
@gloomyandy said in PanelDueFirmware 3.2-RC3 released:
Duet hardware (that using SAM3XA mcus), but perhaps those Duets will never be used with an SBC?
I cant answer the other questions, but the old SAM3X MCUs wont be supported connected to an SBC. Its close to the resource limit on Duet 2s using SAM4s
-
@T3P3Tony said in PanelDueFirmware 3.2-RC3 released:
I cant answer the other questions, but the old SAM3X MCUs wont be supported connected to an SBC. Its close to the resource limit on Duet 2s using SAM4s
Thanks for the information Tony. I suspected that might well be the case!
-
@gloomyandy said in PanelDueFirmware 3.2-RC3 released:
Is the panelDue causing any extra json requests to be sent to DSF, or is it just likely that having both the panelDue and DSF making requests is putting extra strain on the available buffer space?
PanelDueFirmware 3.2 requests the frequently-changing parts of the object model using M409; whereas earlier firmware uses M408 to get the status response. The data returned by M409 is almost certainly larger than the data that was returned by M408, so it's more likely to cause a shortage of output buffers.
The code is supposed to detect when output buffer overflow occurs, and when that happens return {err:-1} instead of an incomplete response, to avoid JSON parse errors. Maybe that change hasn't reached your fork yet; or maybe there are some conditions under which that overflow detection doesn't work properly.
BTW we are looking to release RRF 3.2beta2 on Monday or Tuesday.
HTH David
-
@dc42 Thanks for the update. The current 3.2 LPC fork is based on the Duet3D 3.2-beta2 (as released) version not sure if the checks you mention are present in that or not. I see there have been a lot of changes in the SBC interface for beta2. I will be integrating/testing those as soon as beta2 is released and will investigate this further once I have the beta2 changes.