Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Smoothieware List SD and Play SD functionality #30

Open
ghost opened this issue Jun 1, 2017 · 19 comments
Open

Smoothieware List SD and Play SD functionality #30

ghost opened this issue Jun 1, 2017 · 19 comments

Comments

@ghost
Copy link

ghost commented Jun 1, 2017

websocket -> listSD -> runs a http://smoothieware.org/console-commands#ls, (try and get results recursively? even if it means manually going deeper) -> Returns ws event to frontend with array of files.

Frontends displays list of files with a PLAY button
Play button sends ws event to lw.comm-server: to http://smoothieware.org/console-commands#play

@cprezzi
Copy link
Member

cprezzi commented Jun 4, 2017

If we do that, we should also make file upload available, even if it is dead slow.

@ghost
Copy link
Author

ghost commented Jun 4, 2017 via email

@ghost
Copy link
Author

ghost commented Jun 4, 2017 via email

@cprezzi
Copy link
Member

cprezzi commented Jun 6, 2017

I have started implementing SD support for Smoothieware and MarlinKimbra in branch SD_support :)

@ghost
Copy link
Author

ghost commented Jul 3, 2017

Couple checklists to SD implementation

[ ] track progress: https://github.com/openhardwarecoza/CoPrint/blob/gh-pages/public/js/socketcomms.js#L152 (when running sd, same as playing, disable jog, show progress (instead of queue) etc)

[ ] reenable jog etc once done running sd job

[ ] custom icons for gcode, config, firmware (just makes it more user friendly

[ ] upload

[ ] list sd files

[ ] select a file to play it

[ ] ability to abort /pause job while running off sd (existing buttons)

@ghost
Copy link
Author

ghost commented Jul 3, 2017

Bonus points. Can we also make it work over the Telnet implementation? I am still working on the esp8266 bridge (boards came in last week) (:

@ghost
Copy link
Author

ghost commented Jul 3, 2017

Cool, i see @cprezzi already has pause, stop, progress, even rm and mv https://github.com/LaserWeb/lw.comm-server/blob/SD_support/server.js#L2157 in backend. So the above notes was more useful for @jorgerobles (; for frontend

@jorgerobles
Copy link
Contributor

Sorry I was away. Gonna review all the thread

@ghost
Copy link
Author

ghost commented Jul 3, 2017

Hehe yeah sorry, some of it happened in #30 too

@jorgerobles
Copy link
Contributor

image

@jorgerobles
Copy link
Contributor

@jorgerobles
Copy link
Contributor

@cprezzi if can prepare the file tree as https://github.com/woodpig07/react-nested-file-tree will be fine
Don't worry for nesting. you could do only current directory and will sort out working.
@openhardwarecoza I will try to resemble coprint, as this component is very flexible.

@ghost
Copy link
Author

ghost commented Jul 3, 2017 via email

@cprezzi
Copy link
Member

cprezzi commented Jul 3, 2017

I think Peter is right about performance. It could be very slow to recursively scan the whole SD card to build the tree object for the filemanager.

@jorgerobles
Copy link
Contributor

jorgerobles commented Jul 4, 2017 via email

@cprezzi
Copy link
Member

cprezzi commented Jul 4, 2017

@jorgerobles Does it make sense to use this lib, if we don't need the tree feature? I don't like unnecessary dependencies (overhead). We just need a list with buttons. I think I'll try to implements Peters list in the modal dialog ;)

@jorgerobles
Copy link
Contributor

@cprezzi this lib does not force be recursive. It's easy to show a single folder contents without recursion, and folderClickHandler could do whatever is needed,

  • as loading the inner folder showing recursion; or
  • wipe painted data and show the inner folder.

In either way, performance will not be a problem. The first way should update the state contents of the opened branch upon loading. The second way will replace all the state data, bringing the same "one folder" appearance.

@jorgerobles
Copy link
Contributor

Anyway.. is your call 😄

@cprezzi
Copy link
Member

cprezzi commented Jul 4, 2017

I was concerned about the performance of the serial communication, not the frontend component.
We'll see what I can make out of it ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants