WIP - Fix up SD / FD media handling#27815
WIP - Fix up SD / FD media handling#27815thinkyhead merged 3 commits intoMarlinFirmware:bugfix-2.1.xfrom
Conversation
e32d361 to
7307f02
Compare
a7f3797 to
f1a95af
Compare
|
tested directly from f1a95af can note additional minor points. if SD without USB at boot inserted
otherwise
|
9680c8e to
4e46d01
Compare
Yeah, that commit doesn't have all of the pieces we want yet, so the prior commit is probably more interesting. It mostly keeps the previous menu layout but adds the updated individual drives. The USB Flash drive doesn't return I updated the strings to only show "USB" or "SD" on generic media messages when the type of drive is known. Serial messages that hosts might depend on can't be altered, but clarifying messages may be emitted. For now I don't want to change too much about the configuration,, but I do want to fix a possible reboot issue when inserting a USB Stick, and I want to rework the menu to be more simple. The main menu should show "Print from SD >" and "Print from Flash Drive >" when both drives are present (whether mounted or not). They can just be mounted as-needed as they are with the current "Media Select" screen. "Remove Media" isn't necessarily needed to eject mounted media when we can detect removal. "Change Media" basically only exists for media with no SD Detect. I'll continue to mess around to get down to as few logical options as possible and then we'll see how much we miss the older layout. |
3f26f4e to
c2f4416
Compare
|
|
c2f4416 to
421fa55
Compare
|
IMHO: think "Active media device" must be always only one. at print time - must no any interference occurs. at host-transfers - also only one operation ... no parallel. even when shared to host - i see not a case that must go in parallel with printing operation from another media . even if current cpu is enough for such - multitasking here is not a primary point, and multicard - more resource intensive (especially ram-requirements can grow drastically) preparing for new print from other card ? may be ... but still must make good considerations about that ... who wants jerky prints ... as some timeouts/locks on card processes possible in-between ... P.S. currently Volume sharing to host is not working for me (somewhat was once long time ago, but was not possible to reproduce - currently always off as that hanging PC explorer ... and breaks com-over-usb) P.P.S. |
24f7948 to
a58eddb
Compare
It's not working for me either, but I haven't looked at CDC + MSC yet in conjunction with these updates or tested to see if it works with some older version of Marlin. I will test this tonight to see if it works when |
a58eddb to
7c2b79b
Compare
|
volume sharing is interesting and woud nice to see, |
|
I re-tested a build using the "MSC" environment with
So, I need to continue working on implementing the best behavior and make sure it complies with considerations we discussed long ago in #14325. |
|
has tried too on last commit here - result: when NO_SD_HOST_DRIVE is undefined + no matter then what is with MULTI_VOLUME or DEFAULT_SHARED_VOLUME |
I also saw the slowdown which implies too much processing is bogging down the main thread |
c89091b to
a86dad3
Compare
a86dad3 to
091de64
Compare
|
I went back to test Marlin code from last week before any recent media-related changes were made and it manifested the same problems with media sharing causing sluggish menus. So there are no new problems introduced by this PR, which is now reduced down to a rework of mounted media states and menu appearance. We can investigate a cleaner implementation of MSC volume sharing in a separate PR. First important steps include…
|
Update
CardReader::manage_mediato handle more than one device insertion / removal in a logical manner.release()only when the "selected" (and mounted) media is removed.Improve UI for Multiple Volumes:
Followup to #21344 by @rhapsodyv