On 04/04/2017 01:13 PM, Joe Hildreth wrote: > Looking at the ha;_manualtoolchange.py file, I see the following: > > h = hal.component("hal_manualtoolchange") > h.newpin("number", hal.HAL_S32, hal.HAL_IN) > h.newpin("change", hal.HAL_BIT, hal.HAL_IN) > h.newpin("change_button", hal.HAL_BIT, hal.HAL_IN) > h.newpin("changed", hal.HAL_BIT, hal.HAL_OUT) > h.ready() > > So this tells me what pins are created, the only one I am unsure of is the > change_button, can someone explain this one? > > I know this seems petty, but I am trying to wrap my head around it enough so > I can teach a few high schoolers what is going on. Or maybe a little glimpse > of how the parts fit and work together. Before I can do that, I need to > teach myself. > > My impression is the hal_manualtoolchange component does the following: > > a) receives the tool number via hal_manualtoolchange.number pin > b) receives a command to change the tool via hal_manualtoolchange.change pin > c) The component then opens the dialog informing the user to change to tool #X > d) User does the tool change and clicks the okay button. > e) the okay button send signal via hal_manualtoolchange.changed > > am I close?
You're exactly correct, that's what hal_manualtoolchange does. The M6 g-code triggers the tool change operation, and blocks until hal_manualtoolchange asserts the .changed pin. You're also right that we don't have a manpage for that component. Since you know it so well now, why not try writing one? It's easy and fun! ;-) Take a look at docs/src/man/man1/halstreamer.txt for inspiration. Some docs on how to check out and modify LinuxCNC and how to contribute the changes back to the community can be found here: http://linuxcnc.org/docs/devel/html/code/building-linuxcnc.html http://linuxcnc.org/docs/devel/html/code/contributing-to-linuxcnc.html -- Sebastian Kuzminsky ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users