Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
todo [2020/07/01 22:10]
arthur
todo [2021/03/21 21:24] (current)
arthur
Line 21: Line 21:
 <callout type="success" icon="true" title=" Step generation improvements"> <callout type="success" icon="true" title=" Step generation improvements">
  
-[https://github.com/wolfmanjm Jim Morris] is working on several improvements on the step generation in Smoothie, including [[https://github.com/Smoothieware/Smoothieware/issues/82|removing on_gcode_execute]] and [[https://github.com/Smoothieware/Smoothieware/issues/107|doing acceleration every step]] instead of on a fixed clock as we do now, as well as many other small changes.+[[https://github.com/wolfmanjm|Jim Morris]] is working on several improvements on the step generation in Smoothie, including [[https://github.com/Smoothieware/Smoothieware/issues/82|removing on_gcode_execute]] and [[https://github.com/Smoothieware/Smoothieware/issues/107|doing acceleration every step]] instead of on a fixed clock as we do now, as well as many other small changes.
  
 This is expected to result in a much saner codebase, smoothness/performance improvements, and to make it easier to implement some new features, like S-curve acceleration, 6-axis support and some extruder features. This is expected to result in a much saner codebase, smoothness/performance improvements, and to make it easier to implement some new features, like S-curve acceleration, 6-axis support and some extruder features.
Line 32: Line 32:
 <callout type="primary" icon="true" title=" S-curve acceleration"> <callout type="primary" icon="true" title=" S-curve acceleration">
  
-[https://github.com/wolfmanjm Jim Morris] is planning on implementing 7th order acceleration into Smoothie.+[[https://github.com/wolfmanjm|Jim Morris]] is planning on implementing 7th order acceleration into Smoothie.
  
 See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained for an explanation of what this is. See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained for an explanation of what this is.
  
 See also this proposed implementation: https://github.com/PymZoR/S-curve-Planner See also this proposed implementation: https://github.com/PymZoR/S-curve-Planner
 +
 +Also, there has been some discussions of implementing a PNP-specific planner, that would loose axis sync ( not required on Pick and Place machines ), but thanks to this simplifying it a lot, would then be much easier to implement S-curve for.
 +
 </callout> </callout>
 <callout type="success" icon="true" title=" Recursive file playing"> <callout type="success" icon="true" title=" Recursive file playing">
Line 44: Line 47:
 Not only would it be convenient, it'd also make it much easier to implement macros and tool changing routines. Not only would it be convenient, it'd also make it much easier to implement macros and tool changing routines.
  
-The current status of this work can be seen at : https://github.com/Smoothieware/Smoothieware/compare/recursive?expand=1+The current status of this work can be seen at : https://github.com/Smoothieware/Smoothieware/compare/recursive?expand=1
  
 </callout> </callout>
 +
 +
 +<callout type="success" icon="true" title="New debug commands">
 +
 +One feature that's been requested and that would be neat to have in some situations, is a "pin" command, allowing you to set/read any pin, even if it's not defined in a switch. This would not be meant for "normal" day-to-day use (you have switch for this), but would save some time/effort when debugging some hardware or config issues.
 +
 +[[https://hackaday.com/2021/03/21/arduino-cli-for-i-o-pin-testing/|This]] Arduino sketch could be good inspiration.
 +
 +</callout>
 +
 <callout type="success" icon="true" title=" 6-axis support"> <callout type="success" icon="true" title=" 6-axis support">
  
Line 58: Line 71:
 <callout type="success" icon="true" title=" PanelDue support"> <callout type="success" icon="true" title=" PanelDue support">
  
-[https://github.com/chrisbrent Chris Brent] is working on implementing support for the [[http://www.think3dprint3d.com/PanelDue|Paneldue]] into Smoothie ( specifically the M408 G-code, which will also be useful for web interface projects ).+[[https://github.com/chrisbrent|Chris Brent]] is working on implementing support for the [[http://www.think3dprint3d.com/PanelDue|Paneldue]] into Smoothie ( specifically the M408 G-code, which will also be useful for web interface projects ).
  
 You can follow the progress at https://github.com/Smoothieware/Smoothieware/pull/798 You can follow the progress at https://github.com/Smoothieware/Smoothieware/pull/798
Line 81: Line 94:
 However, it's not clear yet if this would be fast enough to be comfortable to use, and it's not possible to use files while a file on the SD card is playing, so that is a problem that would need to be solved ( possibly by having a separate, simpler system while playing files ). However, it's not clear yet if this would be fast enough to be comfortable to use, and it's not possible to use files while a file on the SD card is playing, so that is a problem that would need to be solved ( possibly by having a separate, simpler system while playing files ).
  
-You can see a specification for this new idea here : https://is.gd/VlsYq3+You can see a specification for this new idea here : https://is.gd/VlsYq3
  
 Jarek Szczepański is currently looking into implementing this, but any help is very very welcome. Jarek Szczepański is currently looking into implementing this, but any help is very very welcome.
Line 93: Line 106:
 <callout type="warning" icon="true" title=" Fix thermocouple SPI problem"> <callout type="warning" icon="true" title=" Fix thermocouple SPI problem">
  
-There is a problem in Smoothie right now where SPI thermocouple boards is called in interrupts, when it shouldn't. Amongst other things it prevents using several thermocouple boards at the same time.+There is a problem in Smoothie right now where SPI thermocouple boards is called in interrupts, when it shouldn't. Amongst other things it prevents using several thermocouple boards at the same time.
  
-[https://github.com/greyltc Grey Christoforo] has worked on fixing the issue here : https://github.com/Smoothieware/Smoothieware/pull/891 but his work needs testing. If you have a Max31855 thermocouple board, please test his work so it can be merged !+[[https://github.com/greyltc|Grey Christoforo]] has worked on fixing the issue here : https://github.com/Smoothieware/Smoothieware/pull/891 but his work needs testing. If you have a Max31855 thermocouple board, please test his work so it can be merged !
 </callout> </callout>
 <callout type="primary" icon="true" title=" Extruder JKN advance"> <callout type="primary" icon="true" title=" Extruder JKN advance">
Line 123: Line 136:
 There is some work that needs to be done in order to properly support [[https://www.youtube.com/watch?v=9MAoRSXqEfg|automated tool changing]]. There is some work that needs to be done in order to properly support [[https://www.youtube.com/watch?v=9MAoRSXqEfg|automated tool changing]].
  
-[https://github.com/arthurwolf Arthur] is planning on working on this sometime around July 2016. Any help is extremely welcome.+[[https://github.com/arthurwolf|Arthur]] is planning on working on this sometime around July 2016. Any help is extremely welcome.
  
-A first step towards tool changing is to implement recursive file playing. Work on that is ongoing [[https://github.com/Smoothieware/Smoothieware/tree/recursive|here]].+A first step towards tool changing is to implement recursive file playing. Work on that is ongoing [[https://github.com/Smoothieware/Smoothieware/tree/recursive|here]].
 </callout> </callout>
  
Line 138: Line 151:
 <callout type="primary" icon="true" title=" LUA scripting"> <callout type="primary" icon="true" title=" LUA scripting">
  
-[https://en.wikipedia.org/wiki/Lua_(programming_language) Lua] is a very simple programming language. It's quite commonly used to add "scripting" support to applications. An idea that has been floating around ( for v2 Smoothie ) would be to experiment with ( we don't know if it's possible ) adding a LUA interpreter to Smoothie. It'd have to be simple enough that it doesn't take too much RAM, but if it were made to work, it'd add the ability to create scripts that Smoothie would trigger when it receives specific Gcodes, or when specific internal events occur. Those scripts could check for variables, send Gcodes internally, activate external peripherals etc. This would be an extremely powerful tool, but we don't know if it's feasible, and would like to find out. +[[https://en.wikipedia.org/wiki/Lua_(programming_language)|Lua]] is a very simple programming language. It's quite commonly used to add "scripting" support to applications. An idea that has been floating around ( for v2 Smoothie ) would be to experiment with ( we don't know if it's possible ) adding a LUA interpreter to Smoothie. It'd have to be simple enough that it doesn't take too much RAM, but if it were made to work, it'd add the ability to create scripts that Smoothie would trigger when it receives specific Gcodes, or when specific internal events occur. Those scripts could check for variables, send Gcodes internally, activate external peripherals etc. This would be an extremely powerful tool, but we don't know if it's feasible, and would like to find out. 
  
 </callout> </callout>
Line 144: Line 157:
 <callout type="primary" icon="true" title="New error reporting system"> <callout type="primary" icon="true" title="New error reporting system">
  
-We are working on a new system to report errors in a more consistant and useful manner, see the [[https://docs.google.com/document/d/16J-TbTM1v5mIs1aVF4OaIIJ-3PRYd82V65SvI577pcM/edit?usp=sharing|specification here]]+We are working on a new system to report errors in a more consistant and useful manner, see the [[https://docs.google.com/document/d/16J-TbTM1v5mIs1aVF4OaIIJ-3PRYd82V65SvI577pcM/edit?usp=sharing|specification here]]
 + 
 +Additionally, a[[error| complete list of all firmware errors]] has been drafted, and the page along with a bit of javascript magic, is intended to allow the firmware to link ( via short-form links ) directly to complete documentation about any error that just occurred ( as well as to log said errors, also in short-form manner ).
  
 </callout> </callout>
Line 165: Line 180:
 == Smoothie2 firmware == Smoothie2 firmware
  
-[https://github.com/Smoothieware/Smoothie2 Smoothie2] is a port of the Smoothieware firmware to the [[http://smoothieware.org/blog_13|Smoothieboard v2 hardware]]. [[http://smoothieware.org/blog_15|Second update on v2 hardware]]+[[https://github.com/Smoothieware/Smoothie2|Smoothie2]] is a port of the Smoothieware firmware to the [[http://smoothieware.org/blog_13|Smoothieboard v2 hardware]]. [[http://smoothieware.org/blog_15|Second update on v2 hardware]]
  
 Basic functions such as serial communication, configuration, planning and step generation, have been ported, but many others like temperature control, USB, Ethernet, SD card support, etc, are still missing. We need your help moving the project forward. Basic functions such as serial communication, configuration, planning and step generation, have been ported, but many others like temperature control, USB, Ethernet, SD card support, etc, are still missing. We need your help moving the project forward.
Line 209: Line 224:
 == Smoothie2 hardware == Smoothie2 hardware
  
-[https://github.com/logxen Mark Cooper] is designing the Smoothieboard v2, v2-pro, and v2-mini boards, in Kicad, so that is pretty much covered for now.+[[https://github.com/logxen|Mark Cooper]] is designing the Smoothieboard v2, v2-pro, and v2-mini boards, in Kicad, so that is pretty much covered for now.
  
 The boards are now in alpha, once the alpha board has been tested, a beta board will be designed, and the files for it will be published. At that time we'll need help reviewing the design. If you are interested, [[mailto:wolf.arthur@gmail.com|contact us]]. The boards are now in alpha, once the alpha board has been tested, a beta board will be designed, and the files for it will be published. At that time we'll need help reviewing the design. If you are interested, [[mailto:wolf.arthur@gmail.com|contact us]].
  
-Other projects related to the v2 hardware : +Other projects related to the v2 hardware : 
  
 <callout type="success" icon="true" title=" Extension boards"> <callout type="success" icon="true" title=" Extension boards">
Line 221: Line 236:
 To do this, we plan on having a set of standard connectors ( based on the gadgeteer pinout ) :  To do this, we plan on having a set of standard connectors ( based on the gadgeteer pinout ) : 
  
-[[=image http://files.channel9.msdn.com/wlwimages/1932b237046e4743a4e79e6800c0220f/image%5B2%5D-3.png]]+<html> 
 +<!-- Original Wikidot-time syntax, auto-replaced: «<html> 
 +<!-- Original Wikidot-time syntax, auto-replaced: «[[=image http://files.channel9.msdn.com/wlwimages/1932b237046e4743a4e79e6800c0220f/image%5B2%5D-3.png]]» --> 
 +<img src="/_media///external/http.files.channel9.msdn.com.wlwimages.1932b237046e4743a4e79e6800c0220f.image.5b2.5d.3.png" class="img-responsive center-block" undefined> 
 +</html>» --> 
 +<img src="/_media//external/http.files.channel9.msdn.com.wlwimages.1932b237046e4743a4e79e6800c0220f.image.5b2.5d.3.png" class="img-responsive center-block" undefined> 
 +</html>
  
 and a very varied set and extension boards that'd plug easily into those connectors, for a very large variety of sensors, actuators, and peripherals. and a very varied set and extension boards that'd plug easily into those connectors, for a very large variety of sensors, actuators, and peripherals.
Line 236: Line 257:
 You can find the specification for this project here : https://is.gd/peaDqc You can find the specification for this project here : https://is.gd/peaDqc
  
-[https://github.com/kliment Kliment Yanev] ( of Pronterface and Teacup fame ) is currently working on this. Any help welcome !+[[https://github.com/kliment|Kliment Yanev]] ( of Pronterface and Teacup fame ) is currently working on this. Any help welcome !
  
 Preview : http://i.imgur.com/TFH1bHX.png Preview : http://i.imgur.com/TFH1bHX.png
Line 250: Line 271:
 Graphics, diagrams, and videos, are also very welcome. Graphics, diagrams, and videos, are also very welcome.
  
-A few documentation-related projects you might be interested in : +A few documentation-related projects you might be interested in : 
 * [[https://github.com/Bouni/|Bouni]] makes very nice [[https://github.com/Bouni/smoothieboard-graphics|Smoothie graphics]]. * [[https://github.com/Bouni/|Bouni]] makes very nice [[https://github.com/Bouni/smoothieboard-graphics|Smoothie graphics]].
-* Anthony made a very complete definition file for the configuration options for use in software : https://github.com/arthurwolf/fabrica/pull/4+* Anthony made a very complete definition file for the configuration options for use in software : https://github.com/arthurwolf/fabrica/pull/4
  
 <callout type="primary" icon="true" title=" Video tutorials"> <callout type="primary" icon="true" title=" Video tutorials">
  
-We are working on synopses for a series of tutorial videos : https://github.com/Smoothieware/Smoothie-video-tutorials . We hope maybe we can get [[https://www.patreon.com/toms3dp?ty=h|Thomas]] to work on these at some point.+We are working on synopses for a series of tutorial videos : https://github.com/Smoothieware/Smoothie-video-tutorials . We hope maybe we can get [[https://www.patreon.com/toms3dp?ty=h|Thomas]] to work on these at some point.
  
 If you have an interest in helping with this, mostly by writing synopses for the videos ( graphics would also be useful once the synopses are further along ), please [[mailto:wolf.arthur@gmail.com|contact us]], help is very much needed. If you have an interest in helping with this, mostly by writing synopses for the videos ( graphics would also be useful once the synopses are further along ), please [[mailto:wolf.arthur@gmail.com|contact us]], help is very much needed.
Line 268: Line 289:
 The Smoothie wiki has a todo list all of it's own, here it is :  The Smoothie wiki has a todo list all of it's own, here it is : 
  
-* Make a more «{{http://www.blynk.cc/|commercial}}» homepage and see if *this time* people don't complain about the doc not being on the homepage+* Make a more «[[http://www.blynk.cc/|commercial]]» homepage and see if *this time* people don't complain about the doc not being on the homepage
 * Move the DNS from the old wiki to the new wiki * Move the DNS from the old wiki to the new wiki
 * Make sure the forum still works * Make sure the forum still works
Line 288: Line 309:
 * Add wiring notes for all 3 methods ( direct, open-drain, mosfet ) to the laser documentation * Add wiring notes for all 3 methods ( direct, open-drain, mosfet ) to the laser documentation
 * Do a pick and place guide * Do a pick and place guide
 +* Add links to the datasheets for microcontrollers ( ex LPC1769 ) on pages where it would help like pinout, make a dokuwiki plugin to make this and other linking easier ( with options such as specifying page )
 +* Add email to the "community and help" list, make it two column, add a contact page to the site
 +* Add a donate link to each page, and to the download links
 +* Figure out contributors to the wiki from the database, make a page thanking them
 +* Remove all the weird AÀ characters from all the pages, presumably with a script
 +* Fix all the broken images, possibly do a script to find all of them
 +
 +Dokuwiki TODO:
 +* Move email away from current postfix setup, and install dokuwiki SMTP plugin
 +* Add Google and Facebook auth: https://www.dokuwiki.org/plugin:authgoogle and https://www.dokuwiki.org/plugin:authfacebook
 +* Set the blog back up from the old pages: https://www.dokuwiki.org/plugin:blog
 +* Auto-generate ( on a regular basis ) PDF guides from the main "machine" guides: https://www.dokuwiki.org/plugin:bookcreator
 +* Do backups on top of the current whole-site backups: https://www.dokuwiki.org/plugin:backup
 +* Some of the scripts might be helped by using https://www.dokuwiki.org/plugin:api
 +* Use github plugin to embed configuration and other files: https://www.dokuwiki.org/plugin:gh
 +* Create a Dokuwiki plugin that automatically displays Gcodes ( be it in code, key or otherwise ) as Monospace links to those Gcode's page ( maybe even with a tooltip ). This could actually be even more easily done as a javascript plugin for all pages.
 +* Replace the code tags with config tags and have those display the config options properly, with links etc
 +* Fix the /gallery page, in particular youtube embeds seem outdated
 +</callout>
 +
 +<callout type="success" icon="true" title="Deep Integration">
 +
 +Deep Integration refers to the idea of making the Wiki page interactive directly with the users' Smoothieboard, using the network interface.
 +
 +As an example, say the documentation talks about using M119 to read the endstop's status. 
 +
 +A box on the side in the page will offer the user to do this interactively.
 +
 +When clicked, if the user has never used this type of feature, a small/short wizard will offer the user the opportunity to enter the board's IP (additionally, ideally we'd also be, on every page/all the time, scanning the network to try to find this ourselves without any user interaction).
 +
 +Once things are setup, the page will then be working directly with the board to make the user's life easier, for example displaying the status of the endstops live, or letting the user send commands and see the answer.
 +
 +This could be used in *many* places on the wiki, and would completely change the way users interact with their boards. In particular the ability to change config options live like this would be a game changer.
  
 +( This is an extension of the older [[debug_vbb-is-getting-power|debug_vbb-is-getting-power]]-type choose-your-own-adventure troubleshooting guide idea, whose implementation was not completed )
  
 </callout> </callout>
Line 295: Line 350:
  
 Smoothieboard has an Ethernet port, and we have huge ambitions for it. The current web interface it serves is a bit [[http://smoothieware.org/network|limited]].  Smoothieboard has an Ethernet port, and we have huge ambitions for it. The current web interface it serves is a bit [[http://smoothieware.org/network|limited]]. 
-But there are several projects being worked on to replace it, and other ethernet-related projects within the community : +But there are several projects being worked on to replace it, and other ethernet-related projects within the community : 
  
 <callout type="success" icon="true" title=" Better web UI"> <callout type="success" icon="true" title=" Better web UI">
-[https://github.com/imrahil/ Jarek] is working on an improved version of the current Smoothie web interface.+[[https://github.com/imrahil/|Jarek]] is working on an improved version of the current Smoothie web interface.
  
 There is a plan to have the Smoothieboard auto-detect if an interface is present on the SD card, and display that if it is present. And also to start shipping this interface with the SD cards. This way we'd save on flash on the card, and we'd have a better web interface for users. There is a plan to have the Smoothieboard auto-detect if an interface is present on the SD card, and display that if it is present. And also to start shipping this interface with the SD cards. This way we'd save on flash on the card, and we'd have a better web interface for users.
 </callout> </callout>
 <callout type="success" icon="true" title=" Fabrica"> <callout type="success" icon="true" title=" Fabrica">
-[https://github.com/arthurwolf/fabrica Fabrica] is a project for a simple to use, panel-type GUI to control Smoothieboards. It's web-based, has very ambitious goals, and is intended to be used on android tablets or smartphones, which are about the same price as the current LCD screens, but are much better.+[[https://github.com/arthurwolf/fabrica|Fabrica]] is a project for a simple to use, panel-type GUI to control Smoothieboards. It's web-based, has very ambitious goals, and is intended to be used on android tablets or smartphones, which are about the same price as the current LCD screens, but are much better.
  
 You can find more information on fabrica here : https://github.com/arthurwolf/fabrica , and any help is very welcome ! You can find more information on fabrica here : https://github.com/arthurwolf/fabrica , and any help is very welcome !
Line 313: Line 368:
 </callout> </callout>
  
-<callout type="warning" icon="true" title=" [discontinued] - Smoothie-Happy ( Smoothie API )">+<callout type="warning" icon="true" title=" [[discontinued|]] - Smoothie-Happy ( Smoothie API )">
  
-[https://github.com/lautr3k/ Sebastien] is working on an awesome, very complete API to talk to a Smothieboard over network from a web interface : https://github.com/lautr3k/Smoothie-Happy+[[https://github.com/lautr3k/|Sebastien]] is working on an awesome, very complete API to talk to a Smothieboard over network from a web interface : https://github.com/lautr3k/Smoothie-Happy
  
 You can see a demo here : https://lautr3k.github.io/smoothie-happy/dist/demo/ and documentation here: https://lautr3k.github.io/smoothie-happy/docs/ You can see a demo here : https://lautr3k.github.io/smoothie-happy/dist/demo/ and documentation here: https://lautr3k.github.io/smoothie-happy/docs/
Line 324: Line 379:
 <callout type="success" icon="true" title=" Smoothie-Commands ( aka Smoothie-Happy v2 )"> <callout type="success" icon="true" title=" Smoothie-Commands ( aka Smoothie-Happy v2 )">
  
-[https://github.com/onlfait/ Onl'Fait] is working on an awesome, very complete API to talk to a Smothieboard over network and serial from a web interface : https://github.com/onlfait/smoothie-commands+[[https://github.com/onlfait/|Onl'Fait]] is working on an awesome, very complete API to talk to a Smothieboard over network and serial from a web interface : https://github.com/onlfait/smoothie-commands
  
 You can see a demo here : http://smoothie-commands.surge.sh/ You can see a demo here : http://smoothie-commands.surge.sh/
Line 341: Line 396:
 <callout type="primary" icon="true" title=" Android App"> <callout type="primary" icon="true" title=" Android App">
  
-[https://gitlab.com/damfle/ Damien Flety] is working on an Android app to control Smoothieboards : https://gitlab.com/damfle/SmoothieControl+[[https://gitlab.com/damfle/|Damien Flety]] is working on an Android app to control Smoothieboards : https://gitlab.com/damfle/SmoothieControl
 If you know Android and are interested, don't hesitate to ping him. If you know Android and are interested, don't hesitate to ping him.
  
Line 348: Line 403:
 <callout type="primary" icon="true" title=" Visicut"> <callout type="primary" icon="true" title=" Visicut">
  
-[http://hci.rwth-aachen.de/visicut Thomas Oster] is working on adding support for Smoothieboard to visicut : http://hci.rwth-aachen.de/visicut+[[http://hci.rwth-aachen.de/visicut|Thomas Oster]] is working on adding support for Smoothieboard to visicut : http://hci.rwth-aachen.de/visicut
  
 You can help by testing it with your Smoothieboard, reporting issues, or improving compatibility. You can help by testing it with your Smoothieboard, reporting issues, or improving compatibility.
Line 354: Line 409:
 <callout type="primary" icon="true" title=" LaserWeb"> <callout type="primary" icon="true" title=" LaserWeb">
  
-[https://github.com/openhardwarecoza/ Peter Van Der Walt] is working on the awesome LaserWeb, which supports Smoothie : https://github.com/openhardwarecoza/LaserWeb3+[[https://github.com/openhardwarecoza/|Peter Van Der Walt]] is working on the awesome LaserWeb, which supports Smoothie : https://github.com/openhardwarecoza/LaserWeb3
  
 It's a really great project, don't hesitate to help if you can. It's a really great project, don't hesitate to help if you can.
 </callout> </callout>