Re: [Emc-users] FPGA firmware for SoC's - please watch https://github.com/machinekit/mksocfpga

2016-04-14 Thread Michael Haberler
sorry for the noise, hit  too early - wrong list


> Am 14.04.2016 um 21:07 schrieb Michael Haberler <mai...@mah.priv.at>:
> 
> since the repo https://github.com/machinekit/mksocfpga has arrived:
> 
> for those interested in the plumbing of FPGA firmware, please 'watch' this 
> repo - the issue tracker there is relevant
> 
> - Michael
> 
> 
> --
> Find and fix application performance issues faster with Applications Manager
> Applications Manager provides deep performance insights into multiple tiers of
> your business applications. It resolves application problems quickly and
> reduces your MTTR. Get your free trial!
> https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
> ___
> Emc-users mailing list
> Emc-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-users


--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


[Emc-users] FPGA firmware for SoC's - please watch https://github.com/machinekit/mksocfpga

2016-04-14 Thread Michael Haberler
since the repo https://github.com/machinekit/mksocfpga has arrived:

for those interested in the plumbing of FPGA firmware, please 'watch' this repo 
- the issue tracker there is relevant

- Michael


--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Remap_error

2016-03-13 Thread Michael Haberler

> Am 13.03.2016 um 09:21 schrieb nkp :
> 
> What does this  error mean?
> https://picasaweb.google.com/107033522069386867580/132016#6261445564700413634

exactly what it says: the remap procedure does not return an integer

look 5 lines up where it is done right: 'return INTERP_OK'


as documented in 'Calling conventions for python= subroutines' here: 
http://www.linuxcnc.org/docs/devel/html/remap/remap.html#_calling_conventions_ngc_to_python


> P.S.
> If not used float H :
> https://picasaweb.google.com/107033522069386867580/132016#6261445543825452002 
> 
> 
> --
> Transform Data into Opportunity.
> Accelerate data analysis in your applications with
> Intel Data Analytics Acceleration Library.
> Click to learn more.
> http://pubads.g.doubleclick.net/gampad/clk?id=278785111=/4140
> ___
> Emc-users mailing list
> Emc-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-users


--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785111=/4140
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


[Emc-users] RTLWS 17 Call for Papers

2015-06-17 Thread Michael Haberler
hello,

the 17th Real Time Linux Workshop will be in Graz, Austria this
year - find the Call for Papers below - looking forward to seeing
some of you at RTLWS17!

- Michael


17th Real Time Linux Workshop
   Call for Papers
   October 21 to 22, 2015
   Virtual Vehicle Research Center
Graz University of Technology
 Inffeldgasse 18, 8010 Graz, Austria


Following the meetings of academics, developers and users of real-time
and embedded Linux at the previous 16 Real Time Linux Workshops held
world-wide (Vienna, Orlando, Milano, Boston, Valencia, Singapore, Lille,
Lanzhou, Linz, Guadalajara, Dresden, Nairobi, Prague, Chapel Hill,
Lugano and Düsseldorf) - the 2015 Real Time Linux Workshop will come to
the Virtual Vehicle Research Center in Graz, Austria. It will be held
from October 21 to October 22, 2015. We gratefully acknowledge the
offering of Virtual Vehicle to host and co-organize this year's RTLWS in
Graz.


Call for papers

Authors from regulatory bodies, academics, industry as well as the
user-community are invited to submit original work dealing with general
topics related to Open Source and Free Software based real-time systems
research, experiments and case studies, as well as issues of integration
of open-source real-time and embedded OS. A special focus will be on
industrial case studies and safety related systems. Topics of interest
include, but are not limited to:

- Modifications and variants of the GNU/Linux operating system and
extending its real-time capabilities,
- Contributions to real-time Linux variants, drivers and extensions,
- Tools for the verification and validation of real-time properties,
- User-mode real-time concepts, implementation and experience,
- Real-time Linux applications, in academia, research and industry,
- Safety related FLOSS systems,
- Safety related systems using FLOSS components,
- FLOSS Tools used to analyze, verify or validate safety properties,
- Work in progress reports, covering recent developments,
- Educational material on real-time Linux,
- RTOS core concepts, RT-safe synchronization mechanisms,
- RT-safe IPC mechanisms for RT and non RT components,
- Analysis and benchmarking methods and results of real-time
GNU/Linux variants,
- Debugging techniques and tools, both for code and temporal
debugging of core RTOS components, drivers and real-time
applications,
- Real-time related extensions to development environments,
- Legal aspects with regard to using Open Source in the industry,
- IoT (Internet of Troubles)


Abstract submission 

If you wish to present a paper at the workshop, please submit an
abstract using the submission page at:
https://www.osadl.org/RTLWS17-Abstract.submission-form.0.html


Final paper

Upon acceptance of an abstract by the RTLWS17 Program Committee, the
author will be invited to submit a full paper in a form defined by
https://www.osadl.org/paper.tgz. A detailed description of the editing
and formatting process will be provided along with the notification
email. The full paper will be included in the RTLWS17 proceedings.


Important dates

August 2, 2015 - Abstract submission deadline
August 30, 2015 - Notification of acceptance
September 27, 2015 - Submission of final paper
October 21-22, 2015 - Workshop


Program committee

Alexey Khoroshilov, ISPRAS, Russia
Andrea Leitner, Virtual Vehicle, Austria
Andreas Platschek, TU Wien, Austria 
Carsten Emde, OSADL, Germany
Daniel Watzenig, Virtual Vehicle, Austria
Georg Schiesser, OpenTech EDV Research, Austria
Joseph Wenninger, TU Wien, Austria
Julia Lawall, Inria, France
Michael Haberler, machinekit.io, Austria
Nicholas Mc Guire, OpenTech EDV Research, Austria
Paolo Mantegazza, Politecnico di Milano, Italy
Paul McKenney, IBM Linux Technology Center, USA
Roberto Bucher, SUPSI, Switzerland
Sebastian Andrzej Siewior, Linutronix, Germany
Shawn Choo, Weslab, Singapur
Tilmann Ochs, BMW Car-IT, Germany
Zhou Qingguo, DSLab, Lanzhou University, China


Workshop organizers

Open Source Automation Development Lab (OSADL), Heidelberg, Germany
Virtual Vehicle Research Center, Graz, Austria

Carsten Emde
Nicholas Mc Guire
Andreas Platschek
--
To unsubscribe from this list: send the line unsubscribe linux-rt-users in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


[Emc-users] pickconfig using gtk

2015-02-19 Thread Michael Haberler
Daniel Rogge did a stab at replacing some part of the TCL code, namely 
pickconfig.tcl

I failed to do anything with it yet, but here it is anyway since this came up:

 Anfang der weitergeleiteten Nachricht:
 
 Von: Daniel Rogge dro...@tormach.com
 ...
 
 When tk/tcl goes away remind me to brush up the work I started on the 
 configuration selector back in Wichita (attached).
 
 Rogge
 


pickconfig.rar
Description: Binary data
 

--
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration  more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=190641631iu=/4140/ostg.clktrk___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] VFS11 modbus

2014-08-20 Thread Michael Haberler

Am 20.08.2014 um 15:13 schrieb Andrew pkm...@gmail.com:

 Hello!
 
 I'm trying to connect my Toshiba VFD to LinuxCNC
 http://linuxcnc.org/docs/html/drivers/VFS11.html
 I made the interface according to Michael's diagram.
 But there's no response from the VFD on pin 3, I checked it with my
 O-scope. Though there's a signal on pin 5 when I try to connect with
 Toshiba program.
 Should I set some parameters on the VFD to see it answering?

Can you talk to the drive with the Toshiba program? If not, looks like an 
interface issue

Assuming it works - by default the VFS11 interface is in Toshiba inverter 
protocol  mode 

You need to set it to Modbus mode with the Toshiba utility or through the 
panel, only then you can talk modbus to it.

While at it, set serial rate to 19200, it's the maximum the VFS11 supports.

-m


 
 Thanks!
 
 -- 
 Andrew
 --
 Slashdot TV.  
 Video for Nerds.  Stuff that matters.
 http://tv.slashdot.org/
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] VFS11 modbus

2014-08-20 Thread Michael Haberler

Am 20.08.2014 um 19:04 schrieb Karlsson  Wang 
nicklas.karls...@karlssonwang.se:

 I am trying to use Modbus to talk to a card vi TCP which I built myself. I 
 work as a software developer but are not familiar with the protocol, do 
 anyone which registers or what it is called are used for what?

search for 'TOSVERT VF-S11 Communications Function Instruction Manual' which 
lists every bit you never were interested in;)

-m

 
 Nicklas Karlsson
 
 
 On Wed, 20 Aug 2014 16:13:51 +0300
 Andrew pkm...@gmail.com wrote:
 
 Hello!
 
 I'm trying to connect my Toshiba VFD to LinuxCNC
 http://linuxcnc.org/docs/html/drivers/VFS11.html
 I made the interface according to Michael's diagram.
 But there's no response from the VFD on pin 3, I checked it with my
 O-scope. Though there's a signal on pin 5 when I try to connect with
 Toshiba program.
 Should I set some parameters on the VFD to see it answering?
 
 Thanks!
 
 -- 
 Andrew
 --
 Slashdot TV.  
 Video for Nerds.  Stuff that matters.
 http://tv.slashdot.org/
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users
 
 --
 Slashdot TV.  
 Video for Nerds.  Stuff that matters.
 http://tv.slashdot.org/
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] center finder camera / camview-emc

2014-05-10 Thread Michael Haberler

Am 10.05.2014 um 20:08 schrieb Jon Elson el...@pico-systems.com:

 OK, found out at least part of the problem.  When it
 tries to start camview-emc, it tried to use
 liblinuxcnchal.so.0, which does not exist.  Anybody
 know where it comes from?

that is the userland hal library and produced during a normal build, nothing 
HAL-related runs without it

in RIP builds it should live in $EMC2_HOME/lib
in non-RIP builds it's either /usr/lib/ or maybe /usr/lib/linuxcnc these days

meaning - you need a working install of linuxCNC on that host to run camview-emc

- Michael
 
 I'm going to load all the dependencies for building
 the software, that probably will fix it.
 
 Thanks,
 
 Jon
 
 --
 Is your legacy SCM system holding you back? Join Perforce May 7 to find out:
 #149; 3 signs your SCM is hindering your productivity
 #149; Requirements for releasing software faster
 #149; Expert tips and advice for migrating your SCM now
 http://p.sf.net/sfu/perforce
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
Is your legacy SCM system holding you back? Join Perforce May 7 to find out:
#149; 3 signs your SCM is hindering your productivity
#149; Requirements for releasing software faster
#149; Expert tips and advice for migrating your SCM now
http://p.sf.net/sfu/perforce
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] center finder camera / camview-emc

2014-05-10 Thread Michael Haberler

Am 10.05.2014 um 23:05 schrieb Gene Heskett ghesk...@wdtv.com:

 On Saturday 10 May 2014 14:08:00 Jon Elson did opine
 And Gene did reply:
 liblinuxcnchal.so.0
 
 I have that, in /usr/lib.  Why don't you?

last update before the emc-linuxcnc rename stampede broke loose?

 
 Cheers, Gene
 -- 
 There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order.
 -Ed Howdershelt (Author)
 Genes Web page http://geneslinuxbox.net:6309/gene
 US V Castleman, SCOTUS, Mar 2014 is grounds for Impeaching SCOTUS
 
 --
 Is your legacy SCM system holding you back? Join Perforce May 7 to find out:
 #149; 3 signs your SCM is hindering your productivity
 #149; Requirements for releasing software faster
 #149; Expert tips and advice for migrating your SCM now
 http://p.sf.net/sfu/perforce
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
Is your legacy SCM system holding you back? Join Perforce May 7 to find out:
#149; 3 signs your SCM is hindering your productivity
#149; Requirements for releasing software faster
#149; Expert tips and advice for migrating your SCM now
http://p.sf.net/sfu/perforce
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Rob Ellenberg's trajectory planner combined with jog-while-paused support

2014-04-23 Thread Michael Haberler

Am 23.04.2014 um 11:42 schrieb Viesturs Lācis viesturs.la...@gmail.com:

 2014-04-08 14:19 GMT-04:00 Michael Haberler mai...@mah.priv.at:
 
 [I posted this to the machinekit list, but since there is interest in both
 features I share it here too. -m]
 
 
 There was significant interest in the basic HAL-based Jog-while-paused
 support I did a while ago; that too was never merged mainline though.
 
 I've dusted this off and brought it forward into a combined feature
 branch: https://github.com/mhaberler/linuxcnc/commits/mk-jwp-newtp-rc1
 
 Instead of just testing the Ellenberg planner branch I posted recently, I
 would encourage to exercise this one - it works fine so far, and testing
 this would cover changes for both features in one go.
 
 The demo config for Robs planner is unchanged: configs/sim/axis/rob.ini
 The demo config for Jog-while-paused is:
 configs/sim/axis/jog-while-pause9.ini
 
 
 I did following things in terminal:
 git clone https://github.com/mhaberler/linuxcnc.git linuxcnc-dev-new

well, my github repo page says this: private repo - nothing useful here

please see www.machinekit.io - this links to install instructions

the new planner and jog-while-paused are long since in 
github.com/machinekit/machinekit (only 1 branch there - master)

-m



 cd /home/viesturs/linuxcnc-dev-new
 git checkout mk-jwp-newtp-rc1
 cd src
 ./autogen.sh
 ./configure --with-threads=rtai
 make clean
 make
 sudo make setuid
 
 The last one give me this:
 
 viesturs@ubuntu:~/linuxcnc-dev-new/src$ sudo make setuid
 [sudo] password for viesturs:
 make: Entering directory `/home/viesturs/linuxcnc-dev-new/src'
 test -f ../libexec/linuxcnc_module_helper  chown root
 ../libexec/linuxcnc_module_helper  chmod 4750
 ../libexec/linuxcnc_module_helper || true
 test -f ../libexec/pci_read  chown root ../libexec/pci_read  chmod 4750
 ../libexec/pci_read || true
 test -f ../libexec/pci_write  chown root ../libexec/pci_write  chmod
 4750 ../libexec/pci_write || true
 test -f ../libexec/rtapi_app_posix  chown root ../libexec/rtapi_app_posix
  chmod 4750 ../libexec/rtapi_app_posix || true;  test -f
 ../libexec/rtapi_app_rt-preempt  chown root
 ../libexec/rtapi_app_rt-preempt  chmod 4750
 ../libexec/rtapi_app_rt-preempt || true;
 Warning:  Logfile '/var/log/linuxcnc.log' does not exist.
  Hint:  Be sure the (possibly empty) logfile exists;
  and restart rsyslogd; rsyslogd will not create
  missing files.
 
 Warning:  No rate limit in rsyslogd is set.
  The rsyslogd drops logs when incoming at higher than
  the rate configured by 'SystemLogRateLimitBurst'.  The
  default rate is lower than LinuxCNC requires when
  running in debug mode.
  Hint:  Put src/rtapi/rsyslogd-linuxcnc.conf into
  /etc/rsyslog.d/linuxcnc.conf for a reasonable default,
  and restart rsyslogd.
 
 
 awk: cmd. line:1: fatal: cannot open file `/etc/security/limits.d/*.conf'
 for reading (No such file or directory)
 Warning:  /etc/security/limits.d/linuxcnc.conf does not exist, and a
 reasonable
  'memlock' value not found in configuration.
  Please check the system configuration and correct.
  Hint:  src/rtapi/shmdrv/limits.d-linuxcnc.conf may
  be a reasonable example to install in
  /etc/security/limits.d/linuxcnc.conf.
 
 Warning:  No udev configuration for shmdrv was found.
  The user running LinuxCNC must have write access to
  /dev/shmdrv when running kernel threads.  This may
  be configured in /etc/udev/rules.d.
  Hint:  see src/rtapi/shmdrv/shmdrv.rules for a
  reasonable default.
 
 make: [setuid] Error 1 (ignored)
 make: Leaving directory `/home/viesturs/linuxcnc-dev-new/src'
 viesturs@ubuntu:~/linuxcnc-dev-new/src$
 
 
 Then I tried to run LinuxCNC:
 cd /home/viesturs/linuxcnc-dev-new
 . scripts/rip-environment
 linuxcnc
 
 It displays that window, where I have to select config.
 I tried several times also with provided sample configs, I always get this:
 
 viesturs@ubuntu:~/linuxcnc-dev-new$ linuxcnc
 LINUXCNC - 2.6.0~pre
 Machine configuration directory is
 '/home/viesturs/linuxcnc-dev-mhaberler/configs/sim/axis'
 Machine configuration file is 'rob.ini'
 Starting LinuxCNC...
 Realtime system did not load
 Shutting down and cleaning up LinuxCNC...
 shmdrv_driver_fd: cant access /dev/shmdrv - permission denied; shmdrv.rules
 not installed?
 halcmd: hal_init() failed: -22
 NOTE: 'rtapi' module must be loaded
 shmdrv_driver_fd: cant access /dev/shmdrv - permission denied; shmdrv.rules
 not installed?
 halcmd: hal_init() failed: -22
 NOTE: 'rtapi' module must be loaded
 shmdrv_driver_fd: cant access /dev/shmdrv - permission denied; shmdrv.rules
 not installed?
 halcmd: hal_init() failed: -22
 NOTE: 'rtapi' module must be loaded
 shmdrv_driver_fd: cant access /dev/shmdrv - permission denied; shmdrv.rules
 not installed?
 halcmd: hal_init() failed: -22
 NOTE: 'rtapi' module must be loaded

Re: [Emc-users] Announcing LinuxCNC 2.6.0-pre1

2014-04-18 Thread Michael Haberler
Peter -
Am 18.04.2014 um 13:26 schrieb Peter Blodow p.blo...@dreki.de:

 ... (yes, Michael, Austrian and especially Tyrolian is 
 linguistically a branch of Bavarian). 

 
 PS: Don't get me wrong, I'm not a native Bavarian, but of Viking descent!

I already had the suspicion... why is it that countries like New Zealand, 
Canada and Austria are separated by the same language from slightly oversized, 
overly funny neighbours ..;)

-m
--
Learn Graph Databases - Download FREE O'Reilly Book
Graph Databases is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/NeoTech
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Motion Mode in HAL

2014-04-15 Thread Michael Haberler

Am 15.04.2014 um 11:21 schrieb andy pugh bodge...@gmail.com:

 Does any HAL pin indicate if the current move is a G1, G2, G3 or G0 move?
 I am wondering if such a pin would be useful for things like laser
 cutters, which could cut with g1 and  move with g0, almost
 automagically.

not exactly, but look at the motion.pause-at-motion pin here: 
http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Jog-While-Paused

it says at which motion type the jog _stopped_; but it should be easy to add a 
pin to display the current motion mode in a pin

- Michael
 
 I see some mention in the motion docs about free-tp-enable which
 indicates that the free planner is active. However as far as I can
 see the phrase free planner only appears in that sentence, and
 nowhere else in the docs.
 
 -- 
 atp
 If you can't fix it, you don't own it.
 http://www.ifixit.com/Manifesto
 
 --
 Learn Graph Databases - Download FREE O'Reilly Book
 Graph Databases is the definitive new guide to graph databases and their
 applications. Written by three acclaimed leaders in the field,
 this first edition is now available. Download your free book today!
 http://p.sf.net/sfu/NeoTech
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
Learn Graph Databases - Download FREE O'Reilly Book
Graph Databases is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/NeoTech
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Caution for users using linuxcnc master and Mesa Stepgen

2014-04-08 Thread Michael Haberler
just tried, result: http://static.mah.priv.at/public/hm2log.txt

I guess I'll wait until PCW recovers from the snake bite ;)

- Michael


Am 08.04.2014 um 07:53 schrieb Michael Haberler mai...@mah.priv.at:

 Andy,
 
 Am 08.04.2014 um 01:46 schrieb andy pugh bodge...@gmail.com:
 
 I have pushed what I believe to be a fix for this issue to the 2.6 branch.
 
 thanks for this patch!
 
 just to make sure I understand this right, since I have this issue:
 
 my config line used to read:
 
  loadrt hm2_pci config=firmware=hm2/5i20/SVST2_8.BIT num_encoders=2 
 num_pwmgens=2 num_stepgens=6
 
 the resulting pinout was this: http://static.mah.priv.at/public/pinout.txt
 
 if I add 'stepgen_width=0' to the above line, the TableXPins (eg 026..029 
 above) vanish and become IOPorts?
 
 - Michael
 
 
 
 -- 
 atp
 If you can't fix it, you don't own it.
 http://www.ifixit.com/Manifesto
 
 --
 Put Bad Developers to Shame
 Dominate Development with Jenkins Continuous Integration
 Continuously Automate Build, Test  Deployment 
 Start a new project now. Try Jenkins in the cloud.
 http://p.sf.net/sfu/13600_Cloudbees
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users
 
 
 --
 Put Bad Developers to Shame
 Dominate Development with Jenkins Continuous Integration
 Continuously Automate Build, Test  Deployment 
 Start a new project now. Try Jenkins in the cloud.
 http://p.sf.net/sfu/13600_Cloudbees
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
Put Bad Developers to Shame
Dominate Development with Jenkins Continuous Integration
Continuously Automate Build, Test  Deployment 
Start a new project now. Try Jenkins in the cloud.
http://p.sf.net/sfu/13600_Cloudbees
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Caution for users using linuxcnc master and Mesa Stepgen

2014-04-08 Thread Michael Haberler

Am 08.04.2014 um 10:30 schrieb andy pugh bodge...@gmail.com:

 On 8 April 2014 06:53, Michael Haberler mai...@mah.priv.at wrote:
 
 if I add 'stepgen_width=0' to the above line, the TableXPins (eg 026..029 
 above) vanish and become IOPorts?
 
 No, if you do that then all the stepgen pins will disappear.
 The fix is meant to be transparent, existing configs should work
 completely unchanged.

ok, removed the stepgen_width param (config is as before)

I just cherry-picked your patch http://goo.gl/lMqYDA since onto machinekit:

this is what I get:

Apr  8 15:30:15 cnc msgd: 0: hal_lib:14229:rt hm2_pci: loading Mesa AnyIO 
HostMot2 driver version 0.7
Apr  8 15:30:15 cnc msgd: 0: hal_lib:14229:rt HAL: initializing component 
'hm2_pci'
Apr  8 15:30:15 cnc msgd: 0: hal_lib:14229:rt RTAPI: initing module HAL_hm2_pci
Apr  8 15:30:15 cnc msgd: 0: hal_lib:14229:rt RTAPI: module 'HAL_hm2_pci' 
loaded, ID: 32774
Apr  8 15:30:15 cnc msgd: 0: hal_lib:14229:rt HAL: component 'hm2_pci' 
initialized, ID = 32774
Apr  8 15:30:15 cnc msgd: 0: hal_lib:14229:rt PCI_ID: 10B5:9030 10B5:3131
Apr  8 15:30:15 cnc msgd: 0: hal_lib:14229:rt RTAPI_PCI: DeviceID: 10B5 9030 
10B5 3131
Apr  8 15:30:15 cnc msgd: 0: hal_lib:14229:rt RTAPI_PCI: Calling driver probe 
function
Apr  8 15:30:15 cnc msgd: 0: hal_lib:14229:rt RTAPI_PCI: Enabling Device 
:05:04.0
Apr  8 15:30:15 cnc msgd: 0: hal_lib:14229:rt Resource 0: 0xe912 0xe912007f 
00040200
Apr  8 15:30:15 cnc msgd: 0: hal_lib:14229:rt Resource 1: 0xdc00 0xdc7f 00040101
Apr  8 15:30:15 cnc msgd: 0: hal_lib:14229:rt Resource 2: 0xdd00 0xddff 00040101
Apr  8 15:30:15 cnc msgd: 0: hal_lib:14229:rt Resource 3: 0xde00 0xdeff 00040101
Apr  8 15:30:15 cnc msgd: 0: hal_lib:14229:rt Resource 4: 0xe910 0xe910 
00040200
Apr  8 15:30:15 cnc msgd: 0: hal_lib:14229:rt Resource 5: 0xe911 0xe911 
00040200
Apr  8 15:30:15 cnc msgd: 0: hal_lib:14229:rt hm2_pci: discovered 5i20 at 
:05:04.0
Apr  8 15:30:15 cnc msgd: 0: hal_lib:14229:rt RTAPI_PCI: Map BAR 5
Apr  8 15:30:15 cnc msgd: 0: hal_lib:14229:rt hm2/hm2_5i20.0: parsing config 
string firmware=hm2/5i20/SVST2_8.BIT num_encoders=2 num_pwmgens=2 
num_stepgens=6
Apr  8 15:30:15 cnc msgd: 0: hal_lib:14229:rt hm2/hm2_5i20.0: final config:
Apr  8 15:30:15 cnc msgd: 0: hal_lib:14229:rt hm2/hm2_5i20.0: num_encoders=2
Apr  8 15:30:15 cnc msgd: 0: hal_lib:14229:rt hm2/hm2_5i20.0: num_absencs=-1
Apr  8 15:30:15 cnc msgd: 0: hal_lib:14229:rt hm2/hm2_5i20.0: 
num_resolvers=-1
Apr  8 15:30:15 cnc msgd: 0: hal_lib:14229:rt hm2/hm2_5i20.0: num_pwmgens=2
Apr  8 15:30:15 cnc msgd: 0: hal_lib:14229:rt hm2/hm2_5i20.0: 
num_3pwmgens=-1
Apr  8 15:30:15 cnc msgd: 0: hal_lib:14229:rt hm2/hm2_5i20.0: 
sserial_port_0=
Apr  8 15:30:15 cnc msgd: 0: hal_lib:14229:rt hm2/hm2_5i20.0: num_stepgens=6
Apr  8 15:30:15 cnc msgd: 0: hal_lib:14229:rt hm2/hm2_5i20.0: num_bspis=-1
Apr  8 15:30:15 cnc msgd: 0: hal_lib:14229:rt hm2/hm2_5i20.0: num_uarts=-1
Apr  8 15:30:15 cnc msgd: 0: hal_lib:14229:rt hm2/hm2_5i20.0: enable_raw=0
Apr  8 15:30:15 cnc msgd: 0: hal_lib:14229:rt hm2/hm2_5i20.0: 
firmware=hm2/5i20/SVST2_8.BIT
Apr  8 15:30:15 cnc msgd: 0: hal_lib:14229:rt hm2/hm2_5i20.0: firmware 
hm2/5i20/SVST2_8.BIT:
Apr  8 15:30:15 cnc msgd: 0: hal_lib:14229:rt hm2/hm2_5i20.0: work.ncd 
2010/12/19 11:52:20
Apr  8 15:30:15 cnc msgd: 0: hal_lib:14229:rt hm2/hm2_5i20.0: Part Name: 
2s200pq208
Apr  8 15:30:15 cnc msgd: 0: hal_lib:14229:rt hm2/hm2_5i20.0: FPGA Config: 
166980 bytes
Apr  8 15:30:15 cnc msgd: 0: hal_lib:14229:rt HAL: creating parameter 
'hm2_5i20.0.io_error'
Apr  8 15:30:15 cnc msgd: 0: hal_lib:14229:rt hm2: Firmware contains unknown 
function (gtag-255)
Apr  8 15:30:15 cnc msgd: 0: hal_lib:14229:rt hm2/hm2_5i20.0: pin 0 primary tag 
is 255 ((unknown-gtag-255)), not IOPort!
Apr  8 15:30:15 cnc msgd: 0: hal_lib:14229:rt hm2_5i20.0: board fails HM2 
registration

(not important - just will use another bitfile)
- Michael

 
 -- 
 atp
 If you can't fix it, you don't own it.
 http://www.ifixit.com/Manifesto
 
 --
 Put Bad Developers to Shame
 Dominate Development with Jenkins Continuous Integration
 Continuously Automate Build, Test  Deployment 
 Start a new project now. Try Jenkins in the cloud.
 http://p.sf.net/sfu/13600_Cloudbees
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
Put Bad Developers to Shame
Dominate Development with Jenkins Continuous Integration
Continuously Automate Build, Test  Deployment 
Start a new project now. Try Jenkins in the cloud.
http://p.sf.net/sfu/13600_Cloudbees
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists

[Emc-users] Rob Ellenberg's trajectory planner combined with jog-while-paused support

2014-04-08 Thread Michael Haberler
[I posted this to the machinekit list, but since there is interest in both 
features I share it here too. -m]


There was significant interest in the basic HAL-based Jog-while-paused support 
I did a while ago; that too was never merged mainline though.

I've dusted this off and brought it forward into a combined feature branch: 
https://github.com/mhaberler/linuxcnc/commits/mk-jwp-newtp-rc1 

Instead of just testing the Ellenberg planner branch I posted recently, I would 
encourage to exercise this one - it works fine so far, and testing this would 
cover changes for both features in one go.

The demo config for Robs planner is unchanged: configs/sim/axis/rob.ini 
The demo config for Jog-while-paused is: configs/sim/axis/jog-while-pause9.ini

A sketchy documentation for Jog-while-paused is here:  
https://github.com/mhaberler/asciidoc-sandbox/wiki/Jog-while-paused-support

I'd love to hear some reports before this is merged into the machinekit baseline

- Michael






-- 
website: http://www.machinekit.io blog: http://blog.machinekit.io github: 
https://github.com/machinekit
--- 
You received this message because you are subscribed to the Google Groups 
Machinekit group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to machinekit+unsubscr...@googlegroups.com.
Visit this group at http://groups.google.com/group/machinekit.
For more options, visit https://groups.google.com/d/optout.
--
Put Bad Developers to Shame
Dominate Development with Jenkins Continuous Integration
Continuously Automate Build, Test  Deployment 
Start a new project now. Try Jenkins in the cloud.
http://p.sf.net/sfu/13600_Cloudbees
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Rob Ellenberg's trajectory planner combined with jog-while-paused support

2014-04-08 Thread Michael Haberler
Viesturs,

Am 08.04.2014 um 21:04 schrieb Viesturs Lācis viesturs.la...@gmail.com
 
 Just a small selfish question - any chance for ready-made deb package (by
 buildbot)? I understand that it is not quick and easy, but I am sure that I
 am not the only one that find getting the right branch and compiling from
 source a bit too complicated... I could try it on my router... (BTW it
 already is running the buildbot package with new TP just fine, total of few
 days usage, so far I have not encountered any issues to report).

sorry, there are no packages available for the time being, but we'd be happy to 
have extra hands to help with that.

But then building from a git repo is very well documented and not a problem - I 
understand it might take a bit of time to get up to speed, but its a one-time 
pain.

Please see there is a goal conflict between 'rapid development' and 'packages 
available'. 

You want to have the latest and greatest: I would ask for your fairness and 
invest the time for the prerequisites. 


- Michael



 
 Viesturs
 --
 Put Bad Developers to Shame
 Dominate Development with Jenkins Continuous Integration
 Continuously Automate Build, Test  Deployment 
 Start a new project now. Try Jenkins in the cloud.
 http://p.sf.net/sfu/13600_Cloudbees
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
Put Bad Developers to Shame
Dominate Development with Jenkins Continuous Integration
Continuously Automate Build, Test  Deployment 
Start a new project now. Try Jenkins in the cloud.
http://p.sf.net/sfu/13600_Cloudbees
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Remapping problem with higher feeds

2014-04-07 Thread Michael Haberler

Am 07.04.2014 um 17:52 schrieb Rod Fitzsimmons Frey rodf...@gmail.com:

 Hi!  I'm having some issues with remapping M6 when I up my feed rates.  My
 program works great at 750mm/min, but when I up it to 2000mm/min I get this
 error:
 
 M7x: restore_settings failed executing: ' F2000.0': Queue is not empty
 after tool change
 
 It will happen a few hundred commands into the path with whatever tool I've
 set to the higher feed rate.
 
 Any pointers or hints?

yes - first please post the context: configs and the exact command being 
executed 

(as a general guideline for reporting errors, see 
https://github.com/mhaberler/asciidoc-sandbox/wiki/Reporting-an-error-with-Machinekit
 )

background of the error (happened to me already, too!):

the code violates an invariant, that is: for any 'queuebuster' type operations, 
post that operation the task/interpeter/motion complex waits for all commands 
up to that operation have been completed; then goes ahead and synchronizes the 
interpreter with the actual state of the machine, then continues the program

if you want to really know it all.. read this:


http://www.linuxcnc.org/docs/devel/html/remap/structure.html#_a_short_survey_of_linuxcnc_program_execution

I recently wrote up a note which explains how the interpreter interacts with 
the rest of linuxcnc, this is a bit more detailed: 

https://github.com/mhaberler/asciidoc-sandbox/wiki/Interpreter-control-flow-explained

I cant conjecture where that comes from without seeing the config and the remap 
Python+NGC code though

- Michael


 
 --
 Put Bad Developers to Shame
 Dominate Development with Jenkins Continuous Integration
 Continuously Automate Build, Test  Deployment 
 Start a new project now. Try Jenkins in the cloud.
 http://p.sf.net/sfu/13600_Cloudbees_APR
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
Put Bad Developers to Shame
Dominate Development with Jenkins Continuous Integration
Continuously Automate Build, Test  Deployment 
Start a new project now. Try Jenkins in the cloud.
http://p.sf.net/sfu/13600_Cloudbees_APR
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Remapping problem with higher feeds

2014-04-07 Thread Michael Haberler

Am 07.04.2014 um 19:06 schrieb Rod Fitzsimmons Frey rodf...@gmail.com:

 Thanks Michael.  Here's the relevant files
 
 https://gist.github.com/rodfrey/10024205

My gut feeling is - some odd interaction between the M73 and the fact that you 
do a queuebuster here
would you try and remove the M73 and see if the error reoccurs? not sure if its 
needed at all


(hey, gists are a great way to share details of an error without running into 
pastebin.* expiration! )

-m

 
 It works well until I exceed 1200mm/min on any section of my program.
 
 
 On Mon, Apr 7, 2014 at 12:52 PM, Michael Haberler mai...@mah.priv.atwrote:
 
 
 Am 07.04.2014 um 17:52 schrieb Rod Fitzsimmons Frey rodf...@gmail.com:
 
 Hi!  I'm having some issues with remapping M6 when I up my feed rates.
 My
 program works great at 750mm/min, but when I up it to 2000mm/min I get
 this
 error:
 
 M7x: restore_settings failed executing: ' F2000.0': Queue is not empty
 after tool change
 
 It will happen a few hundred commands into the path with whatever tool
 I've
 set to the higher feed rate.
 
 Any pointers or hints?
 
 yes - first please post the context: configs and the exact command being
 executed
 
 (as a general guideline for reporting errors, see
 https://github.com/mhaberler/asciidoc-sandbox/wiki/Reporting-an-error-with-Machinekit)
 
 background of the error (happened to me already, too!):
 
 the code violates an invariant, that is: for any 'queuebuster' type
 operations, post that operation the task/interpeter/motion complex waits
 for all commands up to that operation have been completed; then goes ahead
 and synchronizes the interpreter with the actual state of the machine, then
 continues the program
 
 if you want to really know it all.. read this:
 
 
 http://www.linuxcnc.org/docs/devel/html/remap/structure.html#_a_short_survey_of_linuxcnc_program_execution
 
 I recently wrote up a note which explains how the interpreter interacts
 with the rest of linuxcnc, this is a bit more detailed:
 
 
 https://github.com/mhaberler/asciidoc-sandbox/wiki/Interpreter-control-flow-explained
 
 I cant conjecture where that comes from without seeing the config and the
 remap Python+NGC code though
 
 - Michael
 
 
 
 
 --
 Put Bad Developers to Shame
 Dominate Development with Jenkins Continuous Integration
 Continuously Automate Build, Test  Deployment
 Start a new project now. Try Jenkins in the cloud.
 http://p.sf.net/sfu/13600_Cloudbees_APR
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users
 
 
 
 --
 Put Bad Developers to Shame
 Dominate Development with Jenkins Continuous Integration
 Continuously Automate Build, Test  Deployment
 Start a new project now. Try Jenkins in the cloud.
 http://p.sf.net/sfu/13600_Cloudbees_APR
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users
 
 --
 Put Bad Developers to Shame
 Dominate Development with Jenkins Continuous Integration
 Continuously Automate Build, Test  Deployment 
 Start a new project now. Try Jenkins in the cloud.
 http://p.sf.net/sfu/13600_Cloudbees
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
Put Bad Developers to Shame
Dominate Development with Jenkins Continuous Integration
Continuously Automate Build, Test  Deployment 
Start a new project now. Try Jenkins in the cloud.
http://p.sf.net/sfu/13600_Cloudbees
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Remapping problem with higher feeds

2014-04-07 Thread Michael Haberler

Am 07.04.2014 um 19:46 schrieb Rod Fitzsimmons Frey rodf...@gmail.com:

 Thanks Michael. That fixed things, with no apparent ill effects on
 positioning, etc.

hm, I would still like to understand the causality here.

I am fairly sure it has to do with the way the interpreter deals with a 
queuebuster (which is in effect a function continuation - exit and restart a 
function at a later point where the code exited, pretty much like the Python 
yield)

obviously that doesnt play well with M73 which operates on the function call 
stack; it could be the M73 kicks in when it should not yet

for those using an M73 in a remap - until we know better (you guys all file bug 
reports, do you ;-):

- avoid it in a remap NGC procedure
- if you use codes which impact modal state, look into predefined variables to 
save and restore them explicitly: http://goo.gl/eN8WGb


- Michael

 
 On Mon, Apr 7, 2014 at 1:19 PM, Michael Haberler mai...@mah.priv.at wrote:
 
 
 Am 07.04.2014 um 19:06 schrieb Rod Fitzsimmons Frey rodf...@gmail.com:
 
 Thanks Michael.  Here's the relevant files
 
 https://gist.github.com/rodfrey/10024205
 
 My gut feeling is - some odd interaction between the M73 and the fact that
 you do a queuebuster here
 would you try and remove the M73 and see if the error reoccurs? not sure
 if its needed at all
 
 
 (hey, gists are a great way to share details of an error without running
 into pastebin.* expiration! )
 
 -m
 
 
 It works well until I exceed 1200mm/min on any section of my program.
 
 
 On Mon, Apr 7, 2014 at 12:52 PM, Michael Haberler mai...@mah.priv.at
 wrote:
 
 
 Am 07.04.2014 um 17:52 schrieb Rod Fitzsimmons Frey rodf...@gmail.com
 :
 
 Hi!  I'm having some issues with remapping M6 when I up my feed rates.
 My
 program works great at 750mm/min, but when I up it to 2000mm/min I get
 this
 error:
 
 M7x: restore_settings failed executing: ' F2000.0': Queue is not empty
 after tool change
 
 It will happen a few hundred commands into the path with whatever tool
 I've
 set to the higher feed rate.
 
 Any pointers or hints?
 
 yes - first please post the context: configs and the exact command being
 executed
 
 (as a general guideline for reporting errors, see
 
 https://github.com/mhaberler/asciidoc-sandbox/wiki/Reporting-an-error-with-Machinekit
 )
 
 background of the error (happened to me already, too!):
 
 the code violates an invariant, that is: for any 'queuebuster' type
 operations, post that operation the task/interpeter/motion complex waits
 for all commands up to that operation have been completed; then goes
 ahead
 and synchronizes the interpreter with the actual state of the machine,
 then
 continues the program
 
 if you want to really know it all.. read this:
 
 
 
 http://www.linuxcnc.org/docs/devel/html/remap/structure.html#_a_short_survey_of_linuxcnc_program_execution
 
 I recently wrote up a note which explains how the interpreter interacts
 with the rest of linuxcnc, this is a bit more detailed:
 
 
 
 https://github.com/mhaberler/asciidoc-sandbox/wiki/Interpreter-control-flow-explained
 
 I cant conjecture where that comes from without seeing the config and
 the
 remap Python+NGC code though
 
 - Michael
 
 
 
 
 
 --
 Put Bad Developers to Shame
 Dominate Development with Jenkins Continuous Integration
 Continuously Automate Build, Test  Deployment
 Start a new project now. Try Jenkins in the cloud.
 http://p.sf.net/sfu/13600_Cloudbees_APR
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users
 
 
 
 
 --
 Put Bad Developers to Shame
 Dominate Development with Jenkins Continuous Integration
 Continuously Automate Build, Test  Deployment
 Start a new project now. Try Jenkins in the cloud.
 http://p.sf.net/sfu/13600_Cloudbees_APR
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users
 
 
 --
 Put Bad Developers to Shame
 Dominate Development with Jenkins Continuous Integration
 Continuously Automate Build, Test  Deployment
 Start a new project now. Try Jenkins in the cloud.
 http://p.sf.net/sfu/13600_Cloudbees
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users
 
 
 
 --
 Put Bad Developers to Shame
 Dominate Development with Jenkins Continuous Integration
 Continuously Automate Build, Test  Deployment
 Start a new project now. Try Jenkins in the cloud.
 http://p.sf.net/sfu/13600_Cloudbees
 ___
 Emc-users mailing list

Re: [Emc-users] Caution for users using linuxcnc master and Mesa Stepgen

2014-04-07 Thread Michael Haberler
Andy,

Am 08.04.2014 um 01:46 schrieb andy pugh bodge...@gmail.com:

 I have pushed what I believe to be a fix for this issue to the 2.6 branch.

thanks for this patch!

just to make sure I understand this right, since I have this issue:

my config line used to read:

  loadrt hm2_pci config=firmware=hm2/5i20/SVST2_8.BIT num_encoders=2 
num_pwmgens=2 num_stepgens=6

the resulting pinout was this: http://static.mah.priv.at/public/pinout.txt

if I add 'stepgen_width=0' to the above line, the TableXPins (eg 026..029 
above) vanish and become IOPorts?

- Michael

 
 
 -- 
 atp
 If you can't fix it, you don't own it.
 http://www.ifixit.com/Manifesto
 
 --
 Put Bad Developers to Shame
 Dominate Development with Jenkins Continuous Integration
 Continuously Automate Build, Test  Deployment 
 Start a new project now. Try Jenkins in the cloud.
 http://p.sf.net/sfu/13600_Cloudbees
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
Put Bad Developers to Shame
Dominate Development with Jenkins Continuous Integration
Continuously Automate Build, Test  Deployment 
Start a new project now. Try Jenkins in the cloud.
http://p.sf.net/sfu/13600_Cloudbees
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] ubuntu repo on deb.machinekit.net down?

2014-04-06 Thread Michael Haberler
Hi Lars,


Am 06.04.2014 um 15:01 schrieb Lars Möller p...@larsm.org:

 hi,
 
 I tried to install xenomai on ubuntu 12.04lts. The repo
 http://deb.machinekit.net/precise/dists/precise/main/binary-i386/Packages 
 seems
 down. What am I doing wrong?

nothing - there was a mistake in the transition which caused this, sorry - it's 
being worked upon

for machinekit-related questions I suggest to subscribe to 
machine...@groups.google.com 

 Another question: will it work on ubuntu 13?

yes - provided you build from source; there is nobody working on an ubuntu 
package

- Michael

 
 larsm
 
 
 --
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


[Emc-users] [ANNOUNCE] Machinekit project

2014-04-03 Thread Michael Haberler

We are pleased to announce the formation of the Machinekit project [1][2][3].

Machinekit is an overhaul of the real-time and glue infrastructure which 
supports LinuxCNC. Machinekit is intended to be broadly applicable to real-time 
control applications.  Non-CNC systems such as general automation and robotics 
are potential target applications for Machinekit, as is more traditional CNC 
machine control.  Messaging API support to enable distributed operation across 
a broad range of platforms including tablets, traditional desktop machines, and 
embedded systems has progressed considerably and shows first results [4][5][6]. 

Machinekit will be based on the unified-binary code from the start. The intent 
is to adopt innovation at a rapid pace while remaining a stable baseline, 
enable wider adoption by simplifying usage and the contribution process, as 
well as providing the lowest cost realtime control application supporting 
ubiquitous UI hardware.

Active community involvement is a critical part of our vision for this peer 
project so we are adopting the Collective Code Construction Contract (C4) [7].  
Our desire is to make it easy for anyone to contribute to the project and to 
provide objective guidelines for the acceptance and merging of changes.  For an 
excellent discussion of the C4 contract rationale and building a community 
around an open source project, see Chapter 6 of the 0MQ guide [8].

Sincerely,

The Machinekit team members:

Michael Haberler
John Morris
Charles Steinkuehler
Kent Reed
Alexander Rössler

Links:

[1] Machinekit website: http://www.machinekit.io
[2] Machinekit blog: http://blog.machinekit.io
[3] Github repository: https://github.com/machinekit/machinekit
[4] Status update: 
https://github.com/mhaberler/asciidoc-sandbox/wiki/statusupdate-032014
[5] Android app and Gladevcp both controlling HAL remotely: 
https://www.youtube.com/watch?v=1z9Cw_1hqRg
[6] BeagleBone controlling 3D printer: 
https://www.youtube.com/watch?v=gdMcdjUPyes
[7] Collective Code Construction Contract (C4): http://rfc.zeromq.org/spec:22
[8] The ØMQ Community: http://zguide.zeromq.org/page:chapter6




--
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Remapping M6 - change_epilog not called.

2014-04-02 Thread Michael Haberler
Rod,


Am 02.04.2014 um 10:57 schrieb Rod Fitzsimmons Frey rodf...@gmail.com:

 Thanks Michael, I really appreciate the help.  For clarity, could you tell
 me why calling G64/G65 to set a pin results in recursion?  In the example
 code you sent on line 49 that is done:
 
 self.execute(G64 P0.001,lineno())

the control flow is this:

- the interpreter executes a code, which might be a remapped code
- interp executes the related python code as a subroutine (technically all 
Python methods called from a remap - prolog, epilog, body - are interpreter 
methods, they happen just to be defined in Python instead of C++, which it's 
runtime extensible)
- now your code calls self.execute(string)

what happens here: Python calls back into the interpreter C++ code to parse and 
execute this line. Since string is basically a new block, it must save the 
current block context, do the job, restore the current block context, return. 
That's where the design restrictions kick in: recursion wasnt on the feature 
list.


 Also, while I have your attention. :)  Would this job [1] be better done in
 C++, and would that be a better target for my energy?

no, because you are going to hit the exactly same restrictions, just with more 
effort, and less portability

remapping was designed to fix exactly this very issue: folks come up with some 
ideas, patch the interpreter in C++, support issues happen. With remapping, and 
staying in the Python context, you can do all this without changing the 
interpreter binary proper - it is just impossible to integrate every 
special-purpose solution at the C++ level.


  If so, what's a
 trailhead to get started on that path?

what about this:

- do a prototype for your toolchanger with NGC/oword along the lines of 
http://git.linuxcnc.org/gitweb?p=linuxcnc.git;a=tree;f=configs/sim/axis/remap/rack-toolchange;h=7d5c0d5565eba0b3565facc36ea035d0a347d32c;hb=1848b4c60c2ba3c544baee590c4ded329440180b
- a touchoff demo is in: 
http://git.linuxcnc.org/gitweb?p=linuxcnc.git;a=tree;f=configs/sim/axis/remap/manual-toolchange-with-tool-length-switch;h=07587d5cc91ed661e0face3b73aa4eadc7ef055b;hb=1848b4c60c2ba3c544baee590c4ded329440180b
- once this works, we'll look into any Python fragments needed to transliterate 
the result into pure Python 

the only thing I could think of right now are the M66 equivalents (reading and 
waiting for pins); this is described in the remapping manual in sect 9.4.5 (see 
the Python 'read_pin' fragment)

- Michael 

ps: to decode the mystery 'wtf is the interpreter doing', it's sometimes 
helpful to play with the 'standalone interpreter' program, rs274; it will tell 
you the canon calls and arguments it's generating

example (you need to fetch and build master - I just fixed a bug in the rs274 
code to display the M6x related canon calls):

mah@wheezy:~/linuxcnc-master/configs/sim/axis/remap/getting-started$ rs274 -i 
demo.ini 
enter a number:
1 = start interpreting
2 = choose parameter file ...
3 = read tool file ...
4 = turn block delete switch ON
5 = adjust error handling...
enter choice = 1
executing
demo.ini:90: executing 'import sys
sys.path.insert(0,python)'
PythonPlugin: Python  '2.7.6 (default, Mar 22 2014, 17:44:41) 
[GCC 4.8.2]'
is_callable(remap.g886) = TRUE
is_callable(remap.involute) = TRUE
is_callable(remap.m462) = TRUE
is_callable(remap.m465) = TRUE
1 N. USE_LENGTH_UNITS(CANON_UNITS_MM)
2 N. SET_G5X_OFFSET(1, 0., 0., 0., 0., 0., 0.)
3 N. SET_G92_OFFSET(0., 0., 0., 0., 0., 0.)
4 N. SET_XY_ROTATION(0.)
5 N. SET_FEED_REFERENCE(CANON_XYZ)
is_callable(__init__) = FALSE
READ = m62p1
6 N. SET_MOTION_OUTPUT_BIT(1)
READ = m62p0
7 N. SET_MOTION_OUTPUT_BIT(0)
READ = M462 P1 Q0
is_callable(oword.m462) = FALSE
8 N. CLEAR_MOTION_OUTPUT_BIT(1)
READ = m63p0
9 N. CLEAR_MOTION_OUTPUT_BIT(0)
READ = m63p1
   10 N. CLEAR_MOTION_OUTPUT_BIT(1)
READ = 



 
 Rod
 
 [1] implementing a rack-toolchanger with input signal lines for
 tool-released, tool-clamped, and spindle-stopped, also perhaps touch-off of
 the tool with sensors on the rack to indicate if a tool has been removed
 out-of-turn (and therefore needs touchoff)
 
 
 On Tue, Apr 1, 2014 at 9:12 PM, Michael Haberler mai...@mah.priv.at wrote:
 
 
 Am 02.04.2014 um 02:26 schrieb Rod Fitzsimmons Frey rodf...@gmail.com:
 
 Thanks, Michael!  I had read much of the C++ code but not that bit... I
 got
 to SET_DIGITAL_OUTPUT_BIT and thought that was as good as it got.  It
 seemed at that point I might as well just execute(G64 P01) etc.
 
 I suggest to avoid recursive interpreter invocations from remaps if you can
 
 it works but, but the interpreter C++ code positively was not designed
 with this in mind
 
 meaning: pretty easy to get to border cases where strange things happen
 (hi Norbert ;)
 
 the canon route is robust - recommended
 
 - Michael
 
 
 
 
 
 
 
 On Tue, Apr 1, 2014 at 6:53 PM, Michael

Re: [Emc-users] Remapping M6 - change_epilog not called.

2014-04-02 Thread Michael Haberler
Rod,

Am 02.04.2014 um 12:41 schrieb Rod Fitzsimmons Frey rodf...@gmail.com:

 To test my understanding: is it legitimate for the python mapping code to
 call canon methods directly?

yes, definitely - it's just what the interpreter itself does all the time

the basic logic of the interpreter inner loop is:
- parse and validate a block
- execute a block - which usually generates canon calls; sometimes interpreter 
state is needed to determine parameters for those calls but basically all of 
the interpreter state is exposed in Python as well

again this isnt terribly well documented, but basically all the interpreter 
state is visible to Python - access: fine; modify from Python: make sure you 
understand the implications by reading the interpreter C++ code

the rather large setup_struct which is the primare 'state blob' here : 
http://goo.gl/OaOwcH has equivalent Python attributes exposed here: 
http://goo.gl/glRtyM
or for instance, the internal representation of a block after parsing: 
http://goo.gl/d1q8nq is Python-exposed here: http://goo.gl/rDnYGS

also, have a look at this testcase how interpreter state is accessed from 
Python: http://goo.gl/XtqKmB


  Would that mess up state for the interpreter
 when it continued executing?

I dont quite understand 'when it continued executing?', can you give an example?

- Michael



 
 Rod
 --
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Remapping M6 - change_epilog not called.

2014-04-02 Thread Michael Haberler

Am 02.04.2014 um 12:41 schrieb Rod Fitzsimmons Frey rodf...@gmail.com:

 To test my understanding: is it legitimate for the python mapping code to
 call canon methods directly?  Would that mess up state for the interpreter
 when it continued executing?

to be more clear:

canon is primarily a 'downwards' API - sending instructions from the 
interpreter to task and eventually motion, so safe to use from an interpreter 
state perspective

the exceptions to this rule are those GET_* canon calls which retrieve machine 
state to synchronize the interpreter; for instance, after a probe, interp needs 
to query the machine (or indirectly motion really) where the probe stopped; 
otherwise it wouldnt know where the tooltip currently is. But AFAICT all of 
these calls are referenced in the interpreter init() and sync() methods:

Interp::synch(): http://goo.gl/0kwDTf (eg line 1894 onwards)
Interp::init(): http://goo.gl/tyPljj

meaning: as long as you dont do anything which might break position prediction 
(probe, toolchange, read pin), you are good to use any number of canon calls in 
sequence - this chapter http://goo.gl/6AC8CF may help to understand what is 
going on

if you use one of those 'queuebuster' operations, a synch() with the machine 
state is needed - that is exactly what happens in the read_pin example I gave, 
by using the 'yield INTERP_EXECUTE_FINISH' statement

in terms of canon documentation, http://goo.gl/6gcbpY is the best overview

sorry if this sounds pretty complex - it is, but let me put it this way: the 
control flow of task and interpreter is 'intricate', to put it politely; some 
might choose to call it 'botched beyond repair - rewrite from ground up 
required'; with remapping I tried to avoid that huge rewrite and the cost is 
complexity in dealing with it

- Michael



--
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Remapping M6 - change_epilog not called.

2014-04-02 Thread Michael Haberler

Am 02.04.2014 um 16:23 schrieb Rod Fitzsimmons Frey rodf...@gmail.com:

 Thanks, your explanations really help.  I actually think there's a
 astonishing lack of entropy in the code, given its age and the inherent
 complexity of the problem.  It's all coming together for me with your
 explanations.

would you mind taking notes along your safari, and make that a document 
fragment which can be included in 
http://www.linuxcnc.org/docs/devel/html/remap/structure.html like as a case 
study?

I think that would help lots of other folks downstream - I might just have 
tunnel vision, like 'all obvious to me' so I'm not a good author for that type 
of document

'lack of entropy - I like it ;)

- Michael

 
 
 On Wed, Apr 2, 2014 at 7:29 AM, Michael Haberler mai...@mah.priv.at wrote:
 
 
 Am 02.04.2014 um 12:41 schrieb Rod Fitzsimmons Frey rodf...@gmail.com:
 
 To test my understanding: is it legitimate for the python mapping code to
 call canon methods directly?  Would that mess up state for the
 interpreter
 when it continued executing?
 
 to be more clear:
 
 canon is primarily a 'downwards' API - sending instructions from the
 interpreter to task and eventually motion, so safe to use from an
 interpreter state perspective
 
 the exceptions to this rule are those GET_* canon calls which retrieve
 machine state to synchronize the interpreter; for instance, after a probe,
 interp needs to query the machine (or indirectly motion really) where the
 probe stopped; otherwise it wouldnt know where the tooltip currently is.
 But AFAICT all of these calls are referenced in the interpreter init() and
 sync() methods:
 
 Interp::synch(): http://goo.gl/0kwDTf (eg line 1894 onwards)
 Interp::init(): http://goo.gl/tyPljj
 
 meaning: as long as you dont do anything which might break position
 prediction (probe, toolchange, read pin), you are good to use any number of
 canon calls in sequence - this chapter http://goo.gl/6AC8CF may help to
 understand what is going on
 
 if you use one of those 'queuebuster' operations, a synch() with the
 machine state is needed - that is exactly what happens in the read_pin
 example I gave, by using the 'yield INTERP_EXECUTE_FINISH' statement
 
 in terms of canon documentation, http://goo.gl/6gcbpY is the best overview
 
 sorry if this sounds pretty complex - it is, but let me put it this way:
 the control flow of task and interpreter is 'intricate', to put it
 politely; some might choose to call it 'botched beyond repair - rewrite
 from ground up required'; with remapping I tried to avoid that huge rewrite
 and the cost is complexity in dealing with it
 
 - Michael
 
 
 
 
 --
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users
 
 --
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Remapping M6 - change_epilog not called.

2014-04-01 Thread Michael Haberler
Rod,

Am 31.03.2014 um 21:22 schrieb Rod Fitzsimmons Frey rodf...@gmail.com:

 I've looked at this and see where the bitmask, but it seems I can only read
 pins with the hal component, not set them?

that is correct

 How can I turn on my power drawbar valve, trigger the blow valve, etc?

you can do pretty much everything in embedded Python what the NGC interpreter 
'above' can do.

So in the context of setting pins, what you can do is the same thing the 
interpreter does with M62-M65 pin operations.

The way you do that is: you read up on the C++ code what the interpreter does, 
and do the same thing in Python 

in the context of setting pins, this means reading 
src/emc/rs274ng/interp_convert.cc Interp_convert_m() and what the canon calls 
do which result from there, for example M62 does this:

SET_MOTION_OUTPUT_BIT(round_to_int(block-p_number));

now for each C++ canon all like this one there is an equivalent Python method 
emccanon.SET_MOTION_OUTPUT_BIT(p) with the same signature - see 
src/emc/rs274ng/canonmodule.cc


sorry - there is just no way to document all this - you are extending an 
interpreter written in C++, so you are expected to read the C++ internals and 
understand them before you go about it

The embedded python code is primarily there as glue for remapped codes as 
document - with Oword subs; that is documented and works.

If you go beyond that, you are on your own - it is possible but not necessarily 
easy.

If you find a method which is useful, please contribute examples and 
documentation.

- Michael


 I feel like I'm missing some obvious insight... this feeling of
 incompetence is very uncomfortable.
 
 
 On Mon, Mar 31, 2014 at 2:12 PM, Niemand Sonst nie...@web.de wrote:
 
 Hallo Rod,
 
 my name is Norbert ;-)
 
 Have you taken a look to
 
 
 http://www.linuxcnc.org/docs/devel/html/remap/structure.html#_optional_interpreter_features_ini_file_configuration_a_id_sub_ini_features_a
 
 Special section 18.
 
 Norbert
 
 Am 31.03.2014 19:42, schrieb Rod Fitzsimmons Frey:
 Thanks, Niemand!  I'll try that. Where should I look for documentation
 that
 would tell me features available in rs274ngc?  I've looked through the
 source as best I can but don't know how you found that features=12
 parameter.
 
 
 On Mon, Mar 31, 2014 at 11:50 AM, Niemand Sonst nie...@web.de wrote:
 
 Rod,
 
 it is easy to access hal pin from ngc code, if you enable features in
 your INI [RS274NGC] with FEATURES = 12 (enables INI and Hal reading)
 And the needed pins can be created in a python handler file. You might
 want to check gmoccapy and gmoccapy_tool_sensor.ini for an example,
 please see also /macros(change.ngc for INI and Hal checking.
 
 Norbert
 
 Am 31.03.2014 17:39, schrieb Rod Fitzsimmons Frey:
 Oh!  But it works now!  I can move the spindle where I want it, I can
 setp
 on the pins to release the tool, etc. M6T1 does exactly that with this
 code.  I just can't signal to EMC that the tool has been changed, so on
 the
 *next* call to M6 it reports that the current tool is -1.
 
 But I readily accept that even if it is moving, I *shouldn't* do it
 this
 way.  I can use the ngc code if necessary, but I couldn't find a way to
 access the signals from my spindle... i went this way so I could create
 the
 pins I needed to detect if the tool was secure, etc.
 
 The documentation seemed to suggest a full toolchanger could be done
 with
 only python, I'm just not grokking how to structure that.
 
 
 On Mon, Mar 31, 2014 at 11:30 AM, Michael Haberler mai...@mah.priv.at
 wrote:
 
 Am 31.03.2014 um 17:15 schrieb Rod Fitzsimmons Frey 
 rodf...@gmail.com
 :
 Thanks!
 
 .ini file:   http://pastebin.com/VsnQFuzt
 .hal file: http://pastebin.com/RHEJYqJB
 hal file hook (hal_racktoolchange): http://pastebin.com/njTUZAqS
 tool change python code: http://pastebin.com/1EZy0Pur
 this is a normal userland HAL comp, not embedded in the interpreter
 you write:
 
  * # These libraries not found - copied from stdglue.py
  * import emccanon
  * from interpreter import *
 
 those are available only _within_ the interpreter, you cannot use them
 in
 a normal userland HALcomp
 
 oh I see what you are trying to do: interpreter.execute(G53 G1 X%i
 Y%i
 F%i % (x_pos, y_pos, rack_params[Z_RETRACT_SPEED]))
 
 well this will not work (unfortunately), this is the reason:
 
 task and motion can handle one running interpreter at a time only; you
 try
 to use a second one from outside - even if it were possible to do
 that,
 the
 commands it generated would be ignored because task wouldnt listen to
 them,
 it listens only to the interpreter built into milltask
 
 so any sequenced move operations involving the interpreter must come
 from
 the running program - that was one of the reasons why remapping
 enables
 calling on NGC subroutines to do just that
 
 sorry, you need to remain with the setup as outlined in the
 manualtoolchange example; you can replace some ngc by python, but you
 cant
 move that code outside

Re: [Emc-users] Remapping M6 - Carousel Toolchanger

2014-04-01 Thread Michael Haberler

Am 01.04.2014 um 22:11 schrieb andy pugh bodge...@gmail.com:

 On 1 April 2014 21:00, Billy Huddleston bi...@ivdc.com wrote:
 Ah. Okay.. So that's something new then...
 
 I don't know if it is new, default, or abandoned. The INI config docs
 for both 2.5 and Master make no mention of it.
 
 http://wiki.linuxcnc.org/cgi-bin/wiki.pl?ToolchangerProtocolProposal
 says that you select it with some entries in [EMCIO]

I wrote this, and at the time I hoped we get rid of the arcane architecture 
where iocontrol is actually required soon, so I decided not to extend its life 
by documenting it

in hindsight that was clearly unrealistic 

there are some notes here: 
http://wiki.linuxcnc.org/cgi-bin/wiki.pl?ToolchangerProtocolProposal
there is a demo config configs/sim/axis/python_demo/axis-iocontrolv2-demo.ini 
which might be useful to understand what it does

if somebody could write up a man page, I would really apprecuiate it, and review

(no idea why this has been moved to python_demo)

- Michael




 
 -- 
 atp
 If you can't fix it, you don't own it.
 http://www.ifixit.com/Manifesto
 
 --
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Remapping M6 - Carousel Toolchanger

2014-04-01 Thread Michael Haberler

Am 01.04.2014 um 22:27 schrieb Billy Huddleston bi...@ivdc.com:

 I don't have configs/sim/axis/python_demo/axis-iocontrolv2-demo.ini or even 
 configs/sim/axis/python_demo and I'm running the latest master...

master as of now:

http://git.linuxcnc.org/gitweb?p=linuxcnc.git;a=blob;f=configs/sim/axis/python_demo/axis-iocontrolv2-demo.ini;h=f98c6ba92cdc62e4ce4b79d0510fa2d65379a84b;hb=1bb1c457f75a0196734e0c47942938f6acca65ac

obviously there is a major reshuffling going on for configs - I have no idea 
either why this landed under python_demo

maybe Dewey could give some rationale for the current reorganisation?

- Michael


 
 On 04/01/2014 04:20 PM, Michael Haberler wrote:
 Am 01.04.2014 um 22:11 schrieb andy pugh bodge...@gmail.com:
 
 On 1 April 2014 21:00, Billy Huddleston bi...@ivdc.com wrote:
 Ah. Okay.. So that's something new then...
 I don't know if it is new, default, or abandoned. The INI config docs
 for both 2.5 and Master make no mention of it.
 
 http://wiki.linuxcnc.org/cgi-bin/wiki.pl?ToolchangerProtocolProposal
 says that you select it with some entries in [EMCIO]
 I wrote this, and at the time I hoped we get rid of the arcane architecture 
 where iocontrol is actually required soon, so I decided not to extend its 
 life by documenting it
 
 in hindsight that was clearly unrealistic
 
 there are some notes here: 
 http://wiki.linuxcnc.org/cgi-bin/wiki.pl?ToolchangerProtocolProposal
 there is a demo config 
 configs/sim/axis/python_demo/axis-iocontrolv2-demo.ini which might be useful 
 to understand what it does
 
 if somebody could write up a man page, I would really apprecuiate it, and 
 review
 
 (no idea why this has been moved to python_demo)
 
 - Michael
 
 
 
 
 -- 
 atp
 If you can't fix it, you don't own it.
 http://www.ifixit.com/Manifesto
 
 --
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users
 
 --
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users
 
 -- 
 Billy Huddleston Inner Vision
 
 *William Huddleston
 Inner Vision Development Corp*
 Office: 865.560.2752
 Fax: 865.560.2703
 
 http://www.ivdc.com
 *Development and Consulting... Simplified.*
 
 http://www.facebook.com/pages/Inner-Vision-Development/120023721424 
 http://twitter.com/ivdc http://www.linkedin.com/in/ivdccorp
 
 --
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Remapping M6 - Carousel Toolchanger

2014-04-01 Thread Michael Haberler

Am 01.04.2014 um 22:27 schrieb Billy Huddleston bi...@ivdc.com:

 I don't have configs/sim/axis/python_demo/axis-iocontrolv2-demo.ini or even 
 configs/sim/axis/python_demo and I'm running the latest master...

master as of now:

http://git.linuxcnc.org/gitweb?p=linuxcnc.git;a=blob;f=configs/sim/axis/python_demo/axis-iocontrolv2-demo.ini;h=f98c6ba92cdc62e4ce4b79d0510fa2d65379a84b;hb=1bb1c457f75a0196734e0c47942938f6acca65ac

obviously there is a major reshuffling going on for configs - I have no idea 
either why this landed under python_demo

maybe Dewey could give some rationale for the current reorganisation?

- Michael


 
 On 04/01/2014 04:20 PM, Michael Haberler wrote:
 Am 01.04.2014 um 22:11 schrieb andy pugh bodge...@gmail.com:
 
 On 1 April 2014 21:00, Billy Huddleston bi...@ivdc.com wrote:
 Ah. Okay.. So that's something new then...
 I don't know if it is new, default, or abandoned. The INI config docs
 for both 2.5 and Master make no mention of it.
 
 http://wiki.linuxcnc.org/cgi-bin/wiki.pl?ToolchangerProtocolProposal
 says that you select it with some entries in [EMCIO]
 I wrote this, and at the time I hoped we get rid of the arcane architecture 
 where iocontrol is actually required soon, so I decided not to extend its 
 life by documenting it
 
 in hindsight that was clearly unrealistic
 
 there are some notes here: 
 http://wiki.linuxcnc.org/cgi-bin/wiki.pl?ToolchangerProtocolProposal
 there is a demo config 
 configs/sim/axis/python_demo/axis-iocontrolv2-demo.ini which might be useful 
 to understand what it does
 
 if somebody could write up a man page, I would really apprecuiate it, and 
 review
 
 (no idea why this has been moved to python_demo)
 
 - Michael
 
 
 
 
 -- 
 atp
 If you can't fix it, you don't own it.
 http://www.ifixit.com/Manifesto
 
 --
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users
 
 --
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users
 
 -- 
 Billy Huddleston Inner Vision
 
 *William Huddleston
 Inner Vision Development Corp*
 Office: 865.560.2752
 Fax: 865.560.2703
 
 http://www.ivdc.com
 *Development and Consulting... Simplified.*
 
 http://www.facebook.com/pages/Inner-Vision-Development/120023721424 
 http://twitter.com/ivdc http://www.linkedin.com/in/ivdccorp
 
 --
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Remapping M6 - change_epilog not called.

2014-04-01 Thread Michael Haberler
here is an example for what I described below:

http://git.linuxcnc.org/gitweb?p=linuxcnc.git;a=commit;h=d426cc90b5e1338f1a2b8ad403ea11e0a24f3b50

try 'M465 P0Q1' and 'M465 P0Q0' and watch motion.digital-out-00

- Michael

Am 01.04.2014 um 22:10 schrieb Michael Haberler mai...@mah.priv.at:

 Rod,
 
 Am 31.03.2014 um 21:22 schrieb Rod Fitzsimmons Frey rodf...@gmail.com:
 
 I've looked at this and see where the bitmask, but it seems I can only read
 pins with the hal component, not set them?
 
 that is correct
 
 How can I turn on my power drawbar valve, trigger the blow valve, etc?
 
 you can do pretty much everything in embedded Python what the NGC interpreter 
 'above' can do.
 
 So in the context of setting pins, what you can do is the same thing the 
 interpreter does with M62-M65 pin operations.
 
 The way you do that is: you read up on the C++ code what the interpreter 
 does, and do the same thing in Python 
 
 in the context of setting pins, this means reading 
 src/emc/rs274ng/interp_convert.cc Interp_convert_m() and what the canon calls 
 do which result from there, for example M62 does this:
 
SET_MOTION_OUTPUT_BIT(round_to_int(block-p_number));
 
 now for each C++ canon all like this one there is an equivalent Python method 
 emccanon.SET_MOTION_OUTPUT_BIT(p) with the same signature - see 
 src/emc/rs274ng/canonmodule.cc
 
 
 sorry - there is just no way to document all this - you are extending an 
 interpreter written in C++, so you are expected to read the C++ internals and 
 understand them before you go about it
 
 The embedded python code is primarily there as glue for remapped codes as 
 document - with Oword subs; that is documented and works.
 
 If you go beyond that, you are on your own - it is possible but not 
 necessarily easy.
 
 If you find a method which is useful, please contribute examples and 
 documentation.
 
 - Michael
 
 
 I feel like I'm missing some obvious insight... this feeling of
 incompetence is very uncomfortable.
 
 
 On Mon, Mar 31, 2014 at 2:12 PM, Niemand Sonst nie...@web.de wrote:
 
 Hallo Rod,
 
 my name is Norbert ;-)
 
 Have you taken a look to
 
 
 http://www.linuxcnc.org/docs/devel/html/remap/structure.html#_optional_interpreter_features_ini_file_configuration_a_id_sub_ini_features_a
 
 Special section 18.
 
 Norbert
 
 Am 31.03.2014 19:42, schrieb Rod Fitzsimmons Frey:
 Thanks, Niemand!  I'll try that. Where should I look for documentation
 that
 would tell me features available in rs274ngc?  I've looked through the
 source as best I can but don't know how you found that features=12
 parameter.
 
 
 On Mon, Mar 31, 2014 at 11:50 AM, Niemand Sonst nie...@web.de wrote:
 
 Rod,
 
 it is easy to access hal pin from ngc code, if you enable features in
 your INI [RS274NGC] with FEATURES = 12 (enables INI and Hal reading)
 And the needed pins can be created in a python handler file. You might
 want to check gmoccapy and gmoccapy_tool_sensor.ini for an example,
 please see also /macros(change.ngc for INI and Hal checking.
 
 Norbert
 
 Am 31.03.2014 17:39, schrieb Rod Fitzsimmons Frey:
 Oh!  But it works now!  I can move the spindle where I want it, I can
 setp
 on the pins to release the tool, etc. M6T1 does exactly that with this
 code.  I just can't signal to EMC that the tool has been changed, so on
 the
 *next* call to M6 it reports that the current tool is -1.
 
 But I readily accept that even if it is moving, I *shouldn't* do it
 this
 way.  I can use the ngc code if necessary, but I couldn't find a way to
 access the signals from my spindle... i went this way so I could create
 the
 pins I needed to detect if the tool was secure, etc.
 
 The documentation seemed to suggest a full toolchanger could be done
 with
 only python, I'm just not grokking how to structure that.
 
 
 On Mon, Mar 31, 2014 at 11:30 AM, Michael Haberler mai...@mah.priv.at
 wrote:
 
 Am 31.03.2014 um 17:15 schrieb Rod Fitzsimmons Frey 
 rodf...@gmail.com
 :
 Thanks!
 
 .ini file:   http://pastebin.com/VsnQFuzt
 .hal file: http://pastebin.com/RHEJYqJB
 hal file hook (hal_racktoolchange): http://pastebin.com/njTUZAqS
 tool change python code: http://pastebin.com/1EZy0Pur
 this is a normal userland HAL comp, not embedded in the interpreter
 you write:
 
 * # These libraries not found - copied from stdglue.py
 * import emccanon
 * from interpreter import *
 
 those are available only _within_ the interpreter, you cannot use them
 in
 a normal userland HALcomp
 
 oh I see what you are trying to do: interpreter.execute(G53 G1 X%i
 Y%i
 F%i % (x_pos, y_pos, rack_params[Z_RETRACT_SPEED]))
 
 well this will not work (unfortunately), this is the reason:
 
 task and motion can handle one running interpreter at a time only; you
 try
 to use a second one from outside - even if it were possible to do
 that,
 the
 commands it generated would be ignored because task wouldnt listen to
 them,
 it listens only to the interpreter built into milltask
 
 so any sequenced move

Re: [Emc-users] Remapping M6 - change_epilog not called.

2014-04-01 Thread Michael Haberler

Am 02.04.2014 um 02:26 schrieb Rod Fitzsimmons Frey rodf...@gmail.com:

 Thanks, Michael!  I had read much of the C++ code but not that bit... I got
 to SET_DIGITAL_OUTPUT_BIT and thought that was as good as it got.  It
 seemed at that point I might as well just execute(G64 P01) etc.

I suggest to avoid recursive interpreter invocations from remaps if you can

it works but, but the interpreter C++ code positively was not designed with 
this in mind

meaning: pretty easy to get to border cases where strange things happen (hi 
Norbert ;)

the canon route is robust - recommended

- Michael



 
 
 
 
 On Tue, Apr 1, 2014 at 6:53 PM, Michael Haberler mai...@mah.priv.at wrote:
 
 here is an example for what I described below:
 
 
 http://git.linuxcnc.org/gitweb?p=linuxcnc.git;a=commit;h=d426cc90b5e1338f1a2b8ad403ea11e0a24f3b50
 
 try 'M465 P0Q1' and 'M465 P0Q0' and watch motion.digital-out-00
 
 - Michael
 
 Am 01.04.2014 um 22:10 schrieb Michael Haberler mai...@mah.priv.at:
 
 Rod,
 
 Am 31.03.2014 um 21:22 schrieb Rod Fitzsimmons Frey rodf...@gmail.com:
 
 I've looked at this and see where the bitmask, but it seems I can only
 read
 pins with the hal component, not set them?
 
 that is correct
 
 How can I turn on my power drawbar valve, trigger the blow valve, etc?
 
 you can do pretty much everything in embedded Python what the NGC
 interpreter 'above' can do.
 
 So in the context of setting pins, what you can do is the same thing the
 interpreter does with M62-M65 pin operations.
 
 The way you do that is: you read up on the C++ code what the interpreter
 does, and do the same thing in Python
 
 in the context of setting pins, this means reading
 src/emc/rs274ng/interp_convert.cc Interp_convert_m() and what the canon
 calls do which result from there, for example M62 does this:
 
   SET_MOTION_OUTPUT_BIT(round_to_int(block-p_number));
 
 now for each C++ canon all like this one there is an equivalent Python
 method emccanon.SET_MOTION_OUTPUT_BIT(p) with the same signature - see
 src/emc/rs274ng/canonmodule.cc
 
 
 sorry - there is just no way to document all this - you are extending an
 interpreter written in C++, so you are expected to read the C++ internals
 and understand them before you go about it
 
 The embedded python code is primarily there as glue for remapped codes
 as document - with Oword subs; that is documented and works.
 
 If you go beyond that, you are on your own - it is possible but not
 necessarily easy.
 
 If you find a method which is useful, please contribute examples and
 documentation.
 
 - Michael
 
 
 I feel like I'm missing some obvious insight... this feeling of
 incompetence is very uncomfortable.
 
 
 On Mon, Mar 31, 2014 at 2:12 PM, Niemand Sonst nie...@web.de wrote:
 
 Hallo Rod,
 
 my name is Norbert ;-)
 
 Have you taken a look to
 
 
 
 http://www.linuxcnc.org/docs/devel/html/remap/structure.html#_optional_interpreter_features_ini_file_configuration_a_id_sub_ini_features_a
 
 Special section 18.
 
 Norbert
 
 Am 31.03.2014 19:42, schrieb Rod Fitzsimmons Frey:
 Thanks, Niemand!  I'll try that. Where should I look for documentation
 that
 would tell me features available in rs274ngc?  I've looked through the
 source as best I can but don't know how you found that features=12
 parameter.
 
 
 On Mon, Mar 31, 2014 at 11:50 AM, Niemand Sonst nie...@web.de
 wrote:
 
 Rod,
 
 it is easy to access hal pin from ngc code, if you enable features in
 your INI [RS274NGC] with FEATURES = 12 (enables INI and Hal reading)
 And the needed pins can be created in a python handler file. You
 might
 want to check gmoccapy and gmoccapy_tool_sensor.ini for an example,
 please see also /macros(change.ngc for INI and Hal checking.
 
 Norbert
 
 Am 31.03.2014 17:39, schrieb Rod Fitzsimmons Frey:
 Oh!  But it works now!  I can move the spindle where I want it, I
 can
 setp
 on the pins to release the tool, etc. M6T1 does exactly that with
 this
 code.  I just can't signal to EMC that the tool has been changed,
 so on
 the
 *next* call to M6 it reports that the current tool is -1.
 
 But I readily accept that even if it is moving, I *shouldn't* do it
 this
 way.  I can use the ngc code if necessary, but I couldn't find a
 way to
 access the signals from my spindle... i went this way so I could
 create
 the
 pins I needed to detect if the tool was secure, etc.
 
 The documentation seemed to suggest a full toolchanger could be done
 with
 only python, I'm just not grokking how to structure that.
 
 
 On Mon, Mar 31, 2014 at 11:30 AM, Michael Haberler 
 mai...@mah.priv.at
 wrote:
 
 Am 31.03.2014 um 17:15 schrieb Rod Fitzsimmons Frey 
 rodf...@gmail.com
 :
 Thanks!
 
 .ini file:   http://pastebin.com/VsnQFuzt
 .hal file: http://pastebin.com/RHEJYqJB
 hal file hook (hal_racktoolchange): http://pastebin.com/njTUZAqS
 tool change python code: http://pastebin.com/1EZy0Pur
 this is a normal userland HAL comp, not embedded in the interpreter
 you write:
 
* # These libraries not found - copied

Re: [Emc-users] Remapping M6 - change_epilog not called.

2014-03-31 Thread Michael Haberler

Am 31.03.2014 um 16:03 schrieb Rod Fitzsimmons Frey rodf...@gmail.com:

 Hey!  After a couple days away I'm back at this.  And immediately stalled!
 :)
 
 stdglue.py returns INTERP_ERROR and other constants that I just can't seem
 to locate!  When I try to
 
 import emccanon
 from interpreter import *
 
 in my own handler code linuxcnc complains that neither of those modules can
 be found.  I've gone through the source looking for the constants but no
 luck.
 
 Any advice?


yes: please upload your complete configuration, all related files and pastebin 
any error messages  

- Michael


 
 On Wed, Mar 26, 2014 at 3:15 PM, Michael Haberler mai...@mah.priv.atwrote:
 
 
 
 Am 26.03.2014 um 16:53 schrieb Rod Fitzsimmons Frey rodf...@gmail.com:
 
 Hi!  I'm merrily trying to remap M6 using the guidelines at
 
 http://linuxcnc.org/docs/devel/html/remap/structure.html#_configuring_iocontrol_with_a_remapped_m6
 .
 I'm trying to use all-python to implement my rack toolchanger.
 
 I have some stuff working - change_epilog in stdglue.py is called, my
 code
 executes and moves the spindle to the correct location for the new tool,
 etc. But change_epilog isn't called.  I put a print statement as the
 first
 line in both change_prolog and change_epilog - the former is executed but
 the latter is not.
 
 Perhaps as a result of change_epilog not getting called, my current tool
 is
 never changed from -1.  (Although that could be something else if
 there's a
 step I'm missing in my toolchange code.)
 
 My ini file line is
 REMAP=M6 modalgroup=6 prolog=change_prolog epilog=change_epilog
 py=toolchange
 
 and the epilog signature (unchanged from src) is
 def change_epilog(self, **words):
 
 Any advice?
 
 yes
 
 what you are doing is an all-python remapped code
 
 now the prolog and epilog Python handlers are there to extract parameters,
 and set the environment for a _ngc_ remap function
 
 if you are doing all-python you can collapse all code into a single python
 remap body (all code will go into py=toolchange)
 
 so just drop the prolog and epilog handlers, do it all in toolchange() and
 you should be fine
 
 there was a problem with three python handlers in sequence; not sure if it
 is mentioned in the docs or just the code; since the separate pre- and post
 handlers dont make sense anyway I avoided the issue by not calling them
 
 let me know if you get stuck - just push your config and coce beforehand
 so I can have a look
 
 - Michael
 
 Thanks!
 Rod
 
 --
 Learn Graph Databases - Download FREE O'Reilly Book
 Graph Databases is the definitive new guide to graph databases and
 their
 applications. Written by three acclaimed leaders in the field,
 this first edition is now available. Download your free book today!
 http://p.sf.net/sfu/13534_NeoTech
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users
 
 
 --
 Learn Graph Databases - Download FREE O'Reilly Book
 Graph Databases is the definitive new guide to graph databases and their
 applications. Written by three acclaimed leaders in the field,
 this first edition is now available. Download your free book today!
 http://p.sf.net/sfu/13534_NeoTech
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users
 
 --
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Remapping M6 - change_epilog not called.

2014-03-31 Thread Michael Haberler

Am 31.03.2014 um 17:15 schrieb Rod Fitzsimmons Frey rodf...@gmail.com:

 Thanks!
 
 .ini file:   http://pastebin.com/VsnQFuzt
 .hal file: http://pastebin.com/RHEJYqJB
 hal file hook (hal_racktoolchange): http://pastebin.com/njTUZAqS
 tool change python code: http://pastebin.com/1EZy0Pur

this is a normal userland HAL comp, not embedded in the interpreter
you write:

• # These libraries not found - copied from stdglue.py  

• import emccanon   
   
• from interpreter import * 
   

those are available only _within_ the interpreter, you cannot use them in a 
normal userland HALcomp

oh I see what you are trying to do: interpreter.execute(G53 G1 X%i Y%i F%i % 
(x_pos, y_pos, rack_params[Z_RETRACT_SPEED]))

well this will not work (unfortunately), this is the reason:

task and motion can handle one running interpreter at a time only; you try to 
use a second one from outside - even if it were possible to do that, the 
commands it generated would be ignored because task wouldnt listen to them, it 
listens only to the interpreter built into milltask

so any sequenced move operations involving the interpreter must come from the 
running program - that was one of the reasons why remapping enables calling on 
NGC subroutines to do just that

sorry, you need to remain with the setup as outlined in the manualtoolchange 
example; you can replace some ngc by python, but you cant move that code 
outside the interp into another halcomp


- Michael








 Console output: http://pastebin.com/jNHZbxAE
 
 
 
 
 On Mon, Mar 31, 2014 at 10:59 AM, Michael Haberler mai...@mah.priv.atwrote:
 
 
 Am 31.03.2014 um 16:03 schrieb Rod Fitzsimmons Frey rodf...@gmail.com:
 
 Hey!  After a couple days away I'm back at this.  And immediately
 stalled!
 :)
 
 stdglue.py returns INTERP_ERROR and other constants that I just can't
 seem
 to locate!  When I try to
 
 import emccanon
 from interpreter import *
 
 in my own handler code linuxcnc complains that neither of those modules
 can
 be found.  I've gone through the source looking for the constants but no
 luck.
 
 Any advice?
 
 
 yes: please upload your complete configuration, all related files and
 pastebin any error messages
 
 - Michael
 
 
 
 On Wed, Mar 26, 2014 at 3:15 PM, Michael Haberler mai...@mah.priv.at
 wrote:
 
 
 
 Am 26.03.2014 um 16:53 schrieb Rod Fitzsimmons Frey rodf...@gmail.com
 :
 
 Hi!  I'm merrily trying to remap M6 using the guidelines at
 
 
 http://linuxcnc.org/docs/devel/html/remap/structure.html#_configuring_iocontrol_with_a_remapped_m6
 .
 I'm trying to use all-python to implement my rack toolchanger.
 
 I have some stuff working - change_epilog in stdglue.py is called, my
 code
 executes and moves the spindle to the correct location for the new
 tool,
 etc. But change_epilog isn't called.  I put a print statement as the
 first
 line in both change_prolog and change_epilog - the former is executed
 but
 the latter is not.
 
 Perhaps as a result of change_epilog not getting called, my current
 tool
 is
 never changed from -1.  (Although that could be something else if
 there's a
 step I'm missing in my toolchange code.)
 
 My ini file line is
 REMAP=M6 modalgroup=6 prolog=change_prolog epilog=change_epilog
 py=toolchange
 
 and the epilog signature (unchanged from src) is
 def change_epilog(self, **words):
 
 Any advice?
 
 yes
 
 what you are doing is an all-python remapped code
 
 now the prolog and epilog Python handlers are there to extract
 parameters,
 and set the environment for a _ngc_ remap function
 
 if you are doing all-python you can collapse all code into a single
 python
 remap body (all code will go into py=toolchange)
 
 so just drop the prolog and epilog handlers, do it all in toolchange()
 and
 you should be fine
 
 there was a problem with three python handlers in sequence; not sure if
 it
 is mentioned in the docs or just the code; since the separate pre- and
 post
 handlers dont make sense anyway I avoided the issue by not calling them
 
 let me know if you get stuck - just push your config and coce beforehand
 so I can have a look
 
 - Michael
 
 Thanks!
 Rod
 
 
 --
 Learn Graph Databases - Download FREE O'Reilly Book
 Graph Databases is the definitive new guide to graph databases and
 their
 applications. Written by three acclaimed leaders in the field,
 this first edition is now available. Download your free book today!
 http://p.sf.net/sfu/13534_NeoTech
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users
 
 
 
 --
 Learn Graph Databases - Download FREE

Re: [Emc-users] Remapping M6 - change_epilog not called.

2014-03-26 Thread Michael Haberler


 Am 26.03.2014 um 16:53 schrieb Rod Fitzsimmons Frey rodf...@gmail.com:
 
 Hi!  I'm merrily trying to remap M6 using the guidelines at
 http://linuxcnc.org/docs/devel/html/remap/structure.html#_configuring_iocontrol_with_a_remapped_m6.
 I'm trying to use all-python to implement my rack toolchanger.
 
 I have some stuff working - change_epilog in stdglue.py is called, my code
 executes and moves the spindle to the correct location for the new tool,
 etc. But change_epilog isn't called.  I put a print statement as the first
 line in both change_prolog and change_epilog - the former is executed but
 the latter is not.
 
 Perhaps as a result of change_epilog not getting called, my current tool is
 never changed from -1.  (Although that could be something else if there's a
 step I'm missing in my toolchange code.)
 
 My ini file line is
 REMAP=M6 modalgroup=6 prolog=change_prolog epilog=change_epilog
 py=toolchange
 
 and the epilog signature (unchanged from src) is
 def change_epilog(self, **words):
 
 Any advice?

yes

what you are doing is an all-python remapped code

now the prolog and epilog Python handlers are there to extract parameters, and 
set the environment for a _ngc_ remap function

if you are doing all-python you can collapse all code into a single python 
remap body (all code will go into py=toolchange)

so just drop the prolog and epilog handlers, do it all in toolchange() and you 
should be fine

there was a problem with three python handlers in sequence; not sure if it is 
mentioned in the docs or just the code; since the separate pre- and post 
handlers dont make sense anyway I avoided the issue by not calling them

let me know if you get stuck - just push your config and coce beforehand so I 
can have a look

- Michael
 
 Thanks!
 Rod
 --
 Learn Graph Databases - Download FREE O'Reilly Book
 Graph Databases is the definitive new guide to graph databases and their
 applications. Written by three acclaimed leaders in the field,
 this first edition is now available. Download your free book today!
 http://p.sf.net/sfu/13534_NeoTech
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users

--
Learn Graph Databases - Download FREE O'Reilly Book
Graph Databases is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Beagleboard Black and Machinekit on eMMc

2014-03-17 Thread Michael Haberler

Am 17.03.2014 um 21:44 schrieb Sebastian Kuzminsky s...@highlab.com:

 On 3/17/14 12:06 , Charles Steinkuehler wrote:
 The packing issue has bumped up in priority for me, but I'm still going
 out of town again tomorrow and don't think I'll get much done.  For now
 I'm looking at trying to get the Xenomai run-time and Linux kernel
 easily installable via apt-get.  The goal is to be able to install a
 working LinuxCNC on the official BeagleBone Debian image and get away
 from a full custom SD card image.
 
 I'm currently working on this as well.  I'm trying to teach John Morris' 
 excellent xenomai kernel builder system to build armhf-bbb kernels.

assuming this works out, that package (stream) might be worth announcing on 
xenomai-users

I think there would be significant interest from non-LinuxCNC users too - lack 
of packages is an issue over there

- Michael


--
Learn Graph Databases - Download FREE O'Reilly Book
Graph Databases is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Beagle Board Black startup

2014-03-13 Thread Michael Haberler

Am 13.03.2014 um 17:33 schrieb Charles Steinkuehler char...@steinkuehler.net:

 Pinging Michael Haberler:
 
 Is this the same issue you were seeing?
 
 It seems like Michael's issue was with the SD card slot on the BBB, the
 same SD card worked on a different board.

that is exactly what I saw two days ago - same symptom, almost identical uboot 
outpput

I eventually swapped the BB against a new one, and that booted the same SD card 
just fine!

the SD card slot seems to be a bit fragile

-m

 
 On 3/13/2014 12:16 PM, Dave Cole wrote:
 I tried adding the partition manager and that made no difference.
 
 I hooked up a TTL to USB serial adapter cable to the debug port and 
 this is what I saw (see below)
 
 If you have any ideas, let me know, everything is setup here and it is 
 easy to alter.
 
 Otherwise I'll download a 4 gig image and write it to a card.
 
 Thanks,  Dave
 
 
 U-Boot SPL 2013.04-rc1-14237-g90639fe-dirty (Apr 13 2013 - 13:57:11)
 musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx, 
 SoftConn)
 musb-hdrc: MHDRC RTL version 2.0
 musb-hdrc: setup fifo_mode 4
 musb-hdrc: 28/31 max ep, 16384/16384 memory
 USB Peripheral mode controller at 47401000 using PIO, IRQ 0
 musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx, 
 SoftConn)
 musb-hdrc: MHDRC RTL version 2.0
 musb-hdrc: setup fifo_mode 4
 musb-hdrc: 28/31 max ep, 16384/16384 memory
 USB Host mode controller at 47401800 using PIO, IRQ 0
 OMAP SD/MMC: 0
 mmc_send_cmd : timeout: No status update
 reading u-boot.img
 reading u-boot.img
 
 
 U-Boot 2013.04-rc1-14237-g90639fe-dirty (Apr 13 2013 - 13:57:11)
 
 I2C:   ready
 DRAM:  512 MiB
 WARNING: Caches not enabled
 NAND:  No NAND device found!!!
 0 MiB
 MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
 *** Warning - readenv() failed, using default environment
 
 musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx, 
 SoftConn)
 musb-hdrc: MHDRC RTL version 2.0
 musb-hdrc: setup fifo_mode 4
 musb-hdrc: 28/31 max ep, 16384/16384 memory
 USB Peripheral mode controller at 47401000 using PIO, IRQ 0
 musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx, 
 SoftConn)
 musb-hdrc: MHDRC RTL version 2.0
 musb-hdrc: setup fifo_mode 4
 musb-hdrc: 28/31 max ep, 16384/16384 memory
 USB Host mode controller at 47401800 using PIO, IRQ 0
 Net:   ethaddr not set. Validating first E-fuse MAC
 cpsw, usb_ether
 Hit any key to stop autoboot:  1  0
 gpio: pin 53 (gpio 53) value is 1
 mmc0 is current device
 micro SD card found
 mmc0 is current device
 gpio: pin 54 (gpio 54) value is 1
 SD/MMC found on device 0
 reading uEnv.txt
 1701 bytes read in 3 ms (553.7 KiB/s)
 Loaded environment from uEnv.txt
 Importing environment from mmc ...
 Running uenvcmd ...
 reading zImage
 3492416 bytes read in 399 ms (8.3 MiB/s)
 reading uInitrd
 ** Unable to read file uInitrd **
 reading /dtbs/am335x-boneblack.dtb
 24884 bytes read in 10 ms (2.4 MiB/s)
 Wrong Ramdisk Image Format
 Ramdisk image is corrupt or invalid
 gpio: pin 55 (gpio 55) value is 1
 ** File not found /boot/uImage **
 U-Boot#
 
 
 __
 
 
 On Wednesday, March 12, 2014 3:20:42 PM, Dave Cole wrote:
 On 3/12/2014 2:00 PM, Charles Steinkuehler wrote:
 On 3/12/2014 2:49 PM, Dave Cole wrote:
 But I did notice when running the script that a few errors pop up
 saying
 it can't recognize a file type and it can't write to the root
 directory.
 I have a sudo in the front of the script command line.
 Although the completed card appears to have a root with files in it,
 etc.  Nothing obvious is out of place.
 
 Perhaps I am missing some dependencies on the Linux 12.04 box?
 
 The uSD card creation script runs to completion.
 
 Anything obvious come to mind?   If not, I'll attach a TTL to USB cable
 and see what a terminal window says when it boots.
 
 I have a Linux 10.04 box also that I can try and use to create the
 uSD card.
 The script should work on most recent Debian or Ubuntu systems, but
 there are some packages required that are not present by default.  If
 you can, review the errors when running the script to see if you're
 possibly missing something (the partition manager comes to mind).
 
 Alternately, you can just use the raw image file which you just dd
 straight onto the uSD card...no dependencies required.
 
 I'll load partition manager and see if that helps.  If not I'll try
 and capture the output and look at it.   It flies by on the screen so
 fast that I can't catch it just by interrupting the script and
 scrolling up.I can fall back to the DD solution, but it might be
 helpful if I can catch these errors.
 
 Thanks,  Dave
 
 --
 Learn Graph Databases - Download FREE O'Reilly Book
 Graph Databases is the definitive new guide to graph databases and their
 applications. Written by three acclaimed leaders in the field,
 this first edition is now available. Download your free book today!
 http

Re: [Emc-users] Beagle Board Black startup

2014-03-13 Thread Michael Haberler
Mark,

Am 13.03.2014 um 19:30 schrieb Mark Tucker m...@rmtucker.f2s.com:

 This seems like another good reason to get this to fit on the eMMc to 
 avoid killing the card slot.

very good point

would you mind looking into the issue - getting rid of all non-essential 
packages and see if you can get the image below 2GB?

that would be really helpful!

what can go for sure is docs and the doc toolchain (texlive, asciidoc, dblatex 
etc) but that didnt get me below 3GB

I think the key question to answer to is 'can you get below 2GB and still be 
able to rebuild on the BB' (i.e. development environment, headers etc all 
present)

- Michael




--
Learn Graph Databases - Download FREE O'Reilly Book
Graph Databases is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Beagle Board Black startup

2014-03-13 Thread Michael Haberler

Am 13.03.2014 um 21:10 schrieb Mark Tucker m...@rmtucker.f2s.com:

 Michael
 
 Why would we need the developer enviroment on a running 
 beaglebone/machinekit?

good question.

I might just have a different perspective on that question because I for me 
right now it is a development environment, which means lots of pull, build, 
test, repeat cycles

for instance, we're preparing a demo for Charles's reprap show this weekend, 
and if everything goes right we will have the right half of this video running 
on an Android tablet in time:  https://www.youtube.com/watch?v=a6xRGh_z7fc  
(note key fact: the UI on the right side does _not_ run on the beaglebone; it 
does however talk to the beaglebone HAL - its a normal gladevcp panel)


happy to hear for you machinekit is almost an appliance! really a compliment to 
Charles for his excellent packaging job

In fact I was already wondering because we see lots of downloads of the BB 
image ( 1000 by now) but very few complaints - wonder where these guys are ;)


 Once it is running it can be left alone on the eMMc and boot off a big 
 memory card for development.
 Or is it a case of when you have compiled linuxcnc,it will not run 
 without the developer enviroment.
 
 I think as charles mentioned to me,What we need is a pre-built package 
 from linuxcnc so it can just be installed through apt etc.without all 
 the docs and manuals and other redundant stuff.
 
 I will be quite happy when i have it running right to lock it down,and 
 only make a new image when substantial updates come along.
 
 The whole reason i switched from mach3 was to get away from computers 
 breaking down in harsh workshop/garage enviroments every winter.

very interesting angle. I never thought of that, but it makes a lot of sense.

 The memory card image is the only weak link in what is a fantastic bit 
 of kit.
 I now use it every day in a production enviroment and i am sure it will 
 only get better.

packaging a tree into a run-only image which is copied to flash makes perfect 
sense

do you see a way how you can help with the effort? pretty sure Charles would 
not mind a hand with that job - all his scripts are public, so it's 'mere work' 
;)

fork on github, have a go at it

- Michael


 Regards
 Mark
 
 On 13/03/14 18:48, Michael Haberler wrote:
 Mark,
 
 Am 13.03.2014 um 19:30 schrieb Mark Tucker m...@rmtucker.f2s.com:
 
 This seems like another good reason to get this to fit on the eMMc to
 avoid killing the card slot.
 very good point
 
 would you mind looking into the issue - getting rid of all non-essential 
 packages and see if you can get the image below 2GB?
 
 that would be really helpful!
 
 what can go for sure is docs and the doc toolchain (texlive, asciidoc, 
 dblatex etc) but that didnt get me below 3GB
 
 I think the key question to answer to is 'can you get below 2GB and still be 
 able to rebuild on the BB' (i.e. development environment, headers etc all 
 present)
 
 - Michael
 
 
 
 
 --
 Learn Graph Databases - Download FREE O'Reilly Book
 Graph Databases is the definitive new guide to graph databases and their
 applications. Written by three acclaimed leaders in the field,
 this first edition is now available. Download your free book today!
 http://p.sf.net/sfu/13534_NeoTech
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users
 
 
 
 
 --
 Learn Graph Databases - Download FREE O'Reilly Book
 Graph Databases is the definitive new guide to graph databases and their
 applications. Written by three acclaimed leaders in the field,
 this first edition is now available. Download your free book today!
 http://p.sf.net/sfu/13534_NeoTech
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
Learn Graph Databases - Download FREE O'Reilly Book
Graph Databases is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Beagle Board Black startup

2014-03-13 Thread Michael Haberler

Am 13.03.2014 um 22:19 schrieb Dave Cole linuxcncro...@gmail.com:

 I have a total of 4 BBB's. All 4 boards respond in the same way to the 
 uSD card created with the script.
 These boards were purchased as one lot, last year.
 
 The script is pulling files in off the web, so perhaps some of those 
 source files have changed?

yeah, that is my suspicion too, in particular the uboot boot loader ; I have a 
hard time imagining we get this far with an electrical issue in the SD slot

anybody want to try replacing uboot or maybe the whole DOS partition from a 
know-to-work SD? I wouldnt suggest this as a hack for production work, but it 
might help isolate the issue

-m

 At the moment I'm writing the 12/28/13 image to a uSD card using DD.
 
 I think that using the uSD card slot is a better idea even if it is a 
 little fragile.  Why constrain ourselves to 2 GB?
 The last 8 Gig card I bought was $8.00 or $1.00 per GB.
 
 Dave
 
 
 On 3/13/2014 1:42 PM, Charles Steinkuehler wrote:
 It may also be the boot loader on a particular version BeagleBone.  I
 haven't reproduced the problem here, so I'm not sure exactly what's
 going on.
 
 On 3/13/2014 1:30 PM, Mark Tucker wrote:
 This seems like another good reason to get this to fit on the eMMc to
 avoid killing the card slot.
 
 
 On 13/03/14 18:24, Michael Haberler wrote:
 Am 13.03.2014 um 17:33 schrieb Charles Steinkuehler 
 char...@steinkuehler.net:
 
 Pinging Michael Haberler:
 
 Is this the same issue you were seeing?
 
 It seems like Michael's issue was with the SD card slot on the BBB, the
 same SD card worked on a different board.
 that is exactly what I saw two days ago - same symptom, almost identical 
 uboot outpput
 
 I eventually swapped the BB against a new one, and that booted the same SD 
 card just fine!
 
 the SD card slot seems to be a bit fragile
 
 -m
 
 On 3/13/2014 12:16 PM, Dave Cole wrote:
 I tried adding the partition manager and that made no difference.
 
 I hooked up a TTL to USB serial adapter cable to the debug port and
 this is what I saw (see below)
 
 If you have any ideas, let me know, everything is setup here and it is
 easy to alter.
 
 Otherwise I'll download a 4 gig image and write it to a card.
 
 Thanks,  Dave
 
 
 U-Boot SPL 2013.04-rc1-14237-g90639fe-dirty (Apr 13 2013 - 13:57:11)
 musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx,
 SoftConn)
 musb-hdrc: MHDRC RTL version 2.0
 musb-hdrc: setup fifo_mode 4
 musb-hdrc: 28/31 max ep, 16384/16384 memory
 USB Peripheral mode controller at 47401000 using PIO, IRQ 0
 musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx,
 SoftConn)
 musb-hdrc: MHDRC RTL version 2.0
 musb-hdrc: setup fifo_mode 4
 musb-hdrc: 28/31 max ep, 16384/16384 memory
 USB Host mode controller at 47401800 using PIO, IRQ 0
 OMAP SD/MMC: 0
 mmc_send_cmd : timeout: No status update
 reading u-boot.img
 reading u-boot.img
 
 
 U-Boot 2013.04-rc1-14237-g90639fe-dirty (Apr 13 2013 - 13:57:11)
 
 I2C:   ready
 DRAM:  512 MiB
 WARNING: Caches not enabled
 NAND:  No NAND device found!!!
 0 MiB
 MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
 *** Warning - readenv() failed, using default environment
 
 musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx,
 SoftConn)
 musb-hdrc: MHDRC RTL version 2.0
 musb-hdrc: setup fifo_mode 4
 musb-hdrc: 28/31 max ep, 16384/16384 memory
 USB Peripheral mode controller at 47401000 using PIO, IRQ 0
 musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx,
 SoftConn)
 musb-hdrc: MHDRC RTL version 2.0
 musb-hdrc: setup fifo_mode 4
 musb-hdrc: 28/31 max ep, 16384/16384 memory
 USB Host mode controller at 47401800 using PIO, IRQ 0
 Net:   ethaddr not set. Validating first E-fuse MAC
 cpsw, usb_ether
 Hit any key to stop autoboot:  1  0
 gpio: pin 53 (gpio 53) value is 1
 mmc0 is current device
 micro SD card found
 mmc0 is current device
 gpio: pin 54 (gpio 54) value is 1
 SD/MMC found on device 0
 reading uEnv.txt
 1701 bytes read in 3 ms (553.7 KiB/s)
 Loaded environment from uEnv.txt
 Importing environment from mmc ...
 Running uenvcmd ...
 reading zImage
 3492416 bytes read in 399 ms (8.3 MiB/s)
 reading uInitrd
 ** Unable to read file uInitrd **
 reading /dtbs/am335x-boneblack.dtb
 24884 bytes read in 10 ms (2.4 MiB/s)
 Wrong Ramdisk Image Format
 Ramdisk image is corrupt or invalid
 gpio: pin 55 (gpio 55) value is 1
 ** File not found /boot/uImage **
 U-Boot#
 
 
 __
 
 
 On Wednesday, March 12, 2014 3:20:42 PM, Dave Cole wrote:
 On 3/12/2014 2:00 PM, Charles Steinkuehler wrote:
 On 3/12/2014 2:49 PM, Dave Cole wrote:
 But I did notice when running the script that a few errors pop up
 saying
 it can't recognize a file type and it can't write to the root
 directory.
 I have a sudo in the front of the script command line.
 Although the completed card appears to have a root with files in it,
 etc.  Nothing obvious is out of place.
 
 Perhaps I am missing some dependencies on the Linux 12.04 box

Re: [Emc-users] Little OT, but...

2014-03-02 Thread Michael Haberler

Am 02.03.2014 um 13:11 schrieb Mark Wendt wendt.m...@gmail.com:

 On Sat, Mar 1, 2014 at 3:04 PM, Michael Haberler mai...@mah.priv.at wrote:
 
 
 Am 01.03.2014 um 18:19 schrieb W. Martinjak mats...@play-pla.net:
 
 It seems the thrill of joy has gone ;)
 
 not for me - in fact I think it as reassuring to see we to converge on the
 same concept: Web UI interaction will happen over Websockets, and with JSON
 objects mapped to internal representation at the boundary; it is the
 approach taken by Peter Jensen with rockhopper, and  (minus websockets)
 also the approach Sergey has taken in emcweb.
 
 The current implementation uses a Websockets proxy server based on
 libwebsockets (http://libwebsockets.org/trac/libwebsockets). That is a
 relatively low level bridge, but it is very fast, has a stable API, and the
 package is well supported by author and community. It also builds easily.
 So it's a safe stopgap.
 
 I see several interesting alternatives to libwebsockets/C:
 
 One would be to use node.js instead. There are several advantages to that,
 in particular it makes it much easier to to server-side extensions (in
 JavaScript instead of C), and many required bindings (zeroMQ, protobuf,
 Websockets) are available stock for node.js . The reason why I am not using
 node.js yet at this point in time is: this target still moves too fast.
 
 Another one would be to do the proxy in Go: also, all bindings available
 stock, and very fast. It is another interpretive language, and a bit heavy
 to require up front. It has significant potential for near-RT operation
 relative to Python; it is still a garbage-collecting language and hence not
 hard-RT capable.
 
 The third stock option one would be twisted, and an-all Python proxy.
 
 I think it really boils down to quality and effort to build prerequisites.
 But certainly there is room for experimentation and alternatives.
 
 In fact I would be very interested to cooperate with a person
 knowledgeable in node.js for a prototype interface to what I already have.
 Any takers?
 
 
 - Michael
 
 
 
 I take it this WebUI implementation would require a web server running on
 the local linux machine with all the included overhead and security
 concerns that web servers have?  Or is there some small, really safe,
 really secure subset of apache that doesn't require a lot of overheard, and
 comes secure out of the box running only on the local machine, accessible
 to only the local machine

yes, this is the case - libwebsockets can also serve files via http. So there's 
an optional mini http server within the same process; no separate server needed 
just to serve a few static html,js, image files from a single directory. 
Actually it shares the port with Websockets, so just one URI for both. 
Basically just a bootrom for a client Javascript application. For something 
more fancy server-side one would choose something else, but that is not a 
problem I need to address.

Both websockets an http channels do support SSL and certificates if needed.

Note I'm not building a WebUI - I work on the support to build to make it easy 
to build one. You cant expect more Javascript from me than a simple jsvcp HAL 
UI example with a few buttons, sliders and leds ;)

- Michael


 I install, configure and run web servers on a daily basis here at work.
 Apache is not for the casual user and it can swipe a lot of resources if
 not set up correctly, and is not very secure out of the box.
 
 Mark
 --
 Flow-based real-time traffic analytics software. Cisco certified tool.
 Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
 Customize your own dashboards, set traffic alerts and generate reports.
 Network behavioral analysis  security monitoring. All-in-one tool.
 http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis  security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Little OT, but...

2014-03-02 Thread Michael Haberler
 
 In my other recent reply I mentioned my security concerns.  These small,
 light weight web servers just don't seem to have much security built into

Ah, the great security debate ;) that opens a rich subject for exchange. You're 
opening a can of worms - with some pretty old existing worms, that is.

please understand that I am not engaging bow-by-blow as long as compiled-in 
cleartext passwords, binding to 0.0.0.0 and cleartext TCP connections are the 
norm in LinuxCNC, along with a command enabling any user to build and load 
arbitrary kernel code, and that isnt even checked against a, say, group 
permission. And I have not even started to consider the number of unpatched 
kernel bugs - including networking - which have been uncovered and are being 
exploited since 2.6.32, and which affect probably 90%+ of the installed base 
nowadays. 

suffice it to say for the status quo: anybody running LinuxCNC with unfiltered 
inbound public Internet reachability is ill advised, to put it politely. 

I can however comment how I adress encryption and authentication in the work in 
the stuff I am working on. It's not all there yet, but it will, and it is clear 
how it will.

As planned, all connections types (websockets as well as zeroMQ) should 
eventually support strong encryption and authentication as (separate) options.

The aforementioned websockets+http gateway supports certificate-based 
authentication and SSL if you need to secure this AND you enable the service 
AND you make it run explicitly on a different interface than 127.0.0.1.

As for the rest of the middleware stack: this uses zeroMQ, and the latter 
already supports strong authentication and encryption based on libsodium 
(google for curveCP and zeroMQ). I did not integrate this yet as the API is 
still a bit in flux, but I will as it shakes out, but such that both of 
encryption and authentication are optional. For the relative merits of perfect 
forward secrecy in sodium, and how that relates in strength to say SSL, you 
will find lots of material at the libsodium and zeromq sites.


 them.  Yes, SSL is a good thing, but that only encrypts that single data
 stream, while not really securing the server itself.  Even full-blown web
 servers running Apache can be broken into if they aren't configured
 correctly, and that previous link that was posted for that small python web
 server didn't leave me with a good basis for presuming the web server was
 secure, or could easily be made so by the user.
 
 I'm just not thrilled with the idea of running a web server on a machine

I think I was pretty clear: you have the _option_ to enable a server which 
serves _files_ from under a single directory and nothing else. Not sure this 
qualifies as 'web server'.

You can load html locally from the filesystem if you think TCP connections are 
a bad idea to start with, but if this is so: warning - disconcerting material 
ahead in the next paragraph.


 that's controlling a big hunk of heavy, fast moving metal that can do
 damage (and lots of it) by someone on the outside with mischief or
 malicious intent on their mind.  Once somebody's in your network, and if
 they've gotten that far there's a decent chance they can get on your
 controller machine, who's to say they couldn't wreak havoc with an unsecure
 web server which is one of the easiest things to hack into?
 

I'm not sure where you get the idea from that linuxcnc is safe now in an 
adverse networking environment, and is currently being made unsafe by me.
That idea needs a bit of a reality check.


You should not be thrilled by running linuxcncsrv with default passwords and 
TCP sockets enabled on a machine either. But I am sure you turned that port off 
on your public-facing machine, or not?

If not, try yourself: leave linuxcnc running, leave port 5005 inbound open, 
drive home, move your machine from home, share results here. Please report if 
you needed to use a specific password.

So as long as 'netstat -an|grep 5005' shows this while linuxcnc is running, 
lets keep things a bit in perspective:

tcp0  0 0.0.0.0:50050.0.0.0:*   LISTEN  
--^^ here we go, something for your iptables


As for your break-in fears, a) see above b) note all services bind to 127.0.0.1 
unless enabled otherwise (other than this linuxcncsrv whiz-bang piece of 
hard-headed security engineering, in review for a mere decade or so, which 
straight out binds to 0.0.0.0, I guess for better reachability).

 I ain't buying the idea that it's a good thing to introduce into this kind
 of environment.  For security and safety reasons.

As for an architectural discussion: I am sorry, but I will not abandon the work 
towards web-based UI support based on your argument, but you are certainly free 
not to use the result since this is optional anyway. 

Other than that, I am all ears for qualified arguments as to how improve 
things, both the status quo and what I work on. 

- 

Re: [Emc-users] Little OT, but...

2014-03-02 Thread Michael Haberler

Am 02.03.2014 um 14:42 schrieb W. Martinjak mats...@play-pla.net:

 The current implementation uses a Websockets proxy server based on 
 libwebsockets (http://libwebsockets.org/trac/libwebsockets). That is a 
 relatively low level bridge, but it is very fast, has a stable API, and the 
 package is well supported by author and community. It also builds easily. So 
 it's a safe stopgap.
 Another candidate I would suggest is
 https://github.com/zaphoyd/websocketpp .

I looked at this one too.

I decided to go for libwebsockets for several reasons: the support for the 
various websockets standards versions was better in libwebsockets, and author 
and community behind libwebsockets are very active. The real stopper though was 
the event loop support - either iostream or Boost.Asio are not very good 
choices IMO. Also, I already had contributed patches to libwebsockets which 
make the interworking with the zeroMQ event loop easier. That's where the real 
work starts - picking something is quick, but making packages from different 
background and different assumptions work together without contortions can be a 
challenge.

 I think it's a easy task for jeff and/or axel. (I wasn't saying anything ;)

I have bad news: this is equally hard for all of us, so passing the buck just 
failed

 In fact I would be very interested to cooperate with a person knowledgeable 
 in node.js for a prototype interface to what I already have. Any takers?
 Sorry my nodejs experiences are very  low.

well mine are zero. Drafted, thank you very much!

 Maybe in the next months if you are patient. ;)
 
 
 
 - Michael
 
 
 Matsche
 


--
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis  security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Little OT, but...

2014-03-01 Thread Michael Haberler

Am 01.03.2014 um 18:19 schrieb W. Martinjak mats...@play-pla.net:

 It seems the thrill of joy has gone ;)

not for me - in fact I think it as reassuring to see we to converge on the same 
concept: Web UI interaction will happen over Websockets, and with JSON objects 
mapped to internal representation at the boundary; it is the approach taken by 
Peter Jensen with rockhopper, and  (minus websockets) also the approach Sergey 
has taken in emcweb. 

The current implementation uses a Websockets proxy server based on 
libwebsockets (http://libwebsockets.org/trac/libwebsockets). That is a 
relatively low level bridge, but it is very fast, has a stable API, and the 
package is well supported by author and community. It also builds easily. So 
it's a safe stopgap.

I see several interesting alternatives to libwebsockets/C:

One would be to use node.js instead. There are several advantages to that, in 
particular it makes it much easier to to server-side extensions (in JavaScript 
instead of C), and many required bindings (zeroMQ, protobuf, Websockets) are 
available stock for node.js . The reason why I am not using node.js yet at this 
point in time is: this target still moves too fast.

Another one would be to do the proxy in Go: also, all bindings available stock, 
and very fast. It is another interpretive language, and a bit heavy to require 
up front. It has significant potential for near-RT operation relative to 
Python; it is still a garbage-collecting language and hence not hard-RT capable.

The third stock option one would be twisted, and an-all Python proxy.

I think it really boils down to quality and effort to build prerequisites. But 
certainly there is room for experimentation and alternatives.

In fact I would be very interested to cooperate with a person knowledgeable in 
node.js for a prototype interface to what I already have. Any takers?


- Michael

 
 
 On 2014-02-25 19:32, Sven Wesley wrote:
 It would be pretty awesome to read the DRO data from LinuxCNC... :)
 
 
 2014-02-25 15:27 GMT+01:00 Mark Wendt wendt.m...@gmail.com:
 
 Yeah, I thought it was a pretty slick little idea.
 
 Mark
 
 On Tue, Feb 25, 2014 at 9:20 AM, Dave Cole linuxcncro...@gmail.com
 wrote:
 
 Very cool!
 
 Android and the pocket computers/phones/tablets etc have such great
 potential
 
 Thanks for sharing that.
 
 Dave  -  So many ideas ... so little time.
 
 
 On 2/25/2014 8:53 AM, Mark Wendt wrote:
 A pretty neat project with an Android:
 
 http://www.yuriystoys.com/p/android-dro.html
 
 Mark
 --
 Flow-based real-time traffic analytics software. Cisco certified tool.
 Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
 Customize your own dashboards, set traffic alerts and generate reports.
 Network behavioral analysis  security monitoring. All-in-one tool.
 
 http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users
 
 --
 Flow-based real-time traffic analytics software. Cisco certified tool.
 Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
 Customize your own dashboards, set traffic alerts and generate reports.
 Network behavioral analysis  security monitoring. All-in-one tool.
 http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users
 
 -- 
 In der Wissenschaft siegt nie eine neue Theorie,
 nur ihre Gegner sterben nach und nach
 
 Max Planck
 
 
 --
 Flow-based real-time traffic analytics software. Cisco certified tool.
 Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
 Customize your own dashboards, set traffic alerts and generate reports.
 Network behavioral analysis  security monitoring. All-in-one tool.
 http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis  security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk
___
Emc-users mailing list

Re: [Emc-users] Little OT, but...

2014-03-01 Thread Michael Haberler

Am 02.03.2014 um 00:40 schrieb Sven Wesley svenne.d...@gmail.com:

 2014-03-01 21:04 GMT+01:00 Michael Haberler mai...@mah.priv.at:
 
 
 Am 01.03.2014 um 18:19 schrieb W. Martinjak mats...@play-pla.net:
 
 It seems the thrill of joy has gone ;)
 
 not for me - in fact I think it as reassuring to see we to converge on the
 same concept: Web UI interaction will happen over Websockets, and with JSON
 objects mapped to internal representation at the boundary; it is the
 approach taken by Peter Jensen with rockhopper, and  (minus websockets)
 also the approach Sergey has taken in emcweb. ...
 
 
 One can also use  http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Emcrsh or
 http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Halrmt for remote controlling.
 It's an easy thing to use telnet socket in and Android app.

You can use that for remote control - with all the downsides of repurposing an 
interactive command line utility to stand in for a lacking API

What you cannot do realistically with either is create a stream of position 
updates for progress display or DRO, as Matsche has done

-m

 --
 Flow-based real-time traffic analytics software. Cisco certified tool.
 Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
 Customize your own dashboards, set traffic alerts and generate reports.
 Network behavioral analysis  security monitoring. All-in-one tool.
 http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis  security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Printrboard and LinuxCNC

2014-02-28 Thread Michael Haberler

Am 28.02.2014 um 03:35 schrieb John Alexander Stewart ivatt...@gmail.com:

 Ok - can anyone remind me *why* the Printrboard is not a good thing to
 interface with LinuxCNC?

looks like a neat I/O octopus

I had a short (ie non-exhaustive) look at the firmware for this board 

I have the impression this is meant to run an interpreter like grbl _on board_, 
meaning the path from interpreter to stepper does not go over USB

in a LinuxCNC setup stepper control commands would (likely) go over USB, which 
would pick up the non-determinism of USB in the step puls generation path; I 
conjecture this will lead to unsatisfactory results

I could imagine a firmware solution which does the link between LinuxCNC and 
this board over SPI, like Gemi's picnc outboard - that would likely work a 
lot better

but that's all wisdoms from a 5min google safari - beware

- Michael

 
 Background - I have a Printrbot Simple kit that I'm taking away on an
 Internet-free weekend, to install. So, I have been installing the software
 for slicing and dicing, and for controlling this board.
 
 I'd like to run this from LinuxCNC, but, google has not been my friend
 tonight, other than to find hal2arduino which is commented as being very
 slow for driving steppers.
 
 Why is that? 25,000 baud to this board, and it runs (from youtube) just
 fine with the Printrbot Simple. What am I missing??
 
 (Look, it's inexpensive hardware, and, if we can connect LinuxCNC up with
 just a USB cable, why not?)
 
 Comments, web links, slap across the back of the head, etc, more than
 welcome.
 
 John.
 --
 Flow-based real-time traffic analytics software. Cisco certified tool.
 Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
 Customize your own dashboards, set traffic alerts and generate reports.
 Network behavioral analysis  security monitoring. All-in-one tool.
 http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis  security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Printrboard and LinuxCNC

2014-02-28 Thread Michael Haberler
correction:

Am 28.02.2014 um 09:10 schrieb Michael Haberler mai...@mah.priv.at:

 I could imagine a firmware solution which does the link between LinuxCNC and 
 this board over SPI, like Gemi's picnc outboard - that would likely work a 
 lot better

I dont think an SPI-based firmware solution for this board like Gemi's picnc 
will work well. 

The reason is: As Gemi found out, SPI input on AVR's is hopeless - hard to 
avoid input overrun. I understand this is why Gemi used a PIC.

- Michael


--
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis  security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Printrboard and LinuxCNC

2014-02-28 Thread Michael Haberler

Am 28.02.2014 um 14:19 schrieb John Alexander Stewart ivatt...@gmail.com:

 Michael;
 
 Ah - grbl-like input. Makes sense, and I can see how it would not work so
 well for LinuxCNC.
 
 The question, then, is how come Mach3 can have USB cabling, but LinuxCNC
 can't? (see the KX* mills from Arc Eurotrade in the UK; now with USB input)

I have no idea about that API uses over USB, but I'd be curious

it depends at what level commands go over USB; for instance, Yishin's USB/FPGA 
product works on line segments afaict, and does spindle-sync on that board - I 
would think that be pretty hard if USB jitter were in the path for 
spindle-sync; in this case the stuff going over USB is lower granularity and 
queued so USB jitter doesnt have significant impact

if you toggle raw stepper pins  over USB, that's probably pushing it too much

 Related: What commands are sent over the USB for these Mach3 boxes?

any pointers? 

for Yishin's product, see http://en.araisrobo.com/ and 
https://github.com/araisrobo/linuxcnc and 

 Related,related: how can LinuxCNC get a larger slice of the 3D printer
 market, now that the Printrboard style of controls, and associated
 software is settling down for 3D'ers?

by helping Charles with contributions ;) http://blog.machinekit.io 

- Michael
 
 John.
 
 
 On Fri, Feb 28, 2014 at 4:14 AM, Michael Haberler mai...@mah.priv.atwrote:
 
 correction:
 
 Am 28.02.2014 um 09:10 schrieb Michael Haberler mai...@mah.priv.at:
 
 I could imagine a firmware solution which does the link between LinuxCNC
 and this board over SPI, like Gemi's picnc outboard - that would likely
 work a lot better
 
 I dont think an SPI-based firmware solution for this board like Gemi's
 picnc will work well.
 
 The reason is: As Gemi found out, SPI input on AVR's is hopeless - hard to
 avoid input overrun. I understand this is why Gemi used a PIC.
 
 - Michael
 
 
 
 --
 Flow-based real-time traffic analytics software. Cisco certified tool.
 Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
 Customize your own dashboards, set traffic alerts and generate reports.
 Network behavioral analysis  security monitoring. All-in-one tool.
 
 http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users
 
 --
 Flow-based real-time traffic analytics software. Cisco certified tool.
 Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
 Customize your own dashboards, set traffic alerts and generate reports.
 Network behavioral analysis  security monitoring. All-in-one tool.
 http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis  security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Printrboard and LinuxCNC

2014-02-28 Thread Michael Haberler

Am 28.02.2014 um 14:39 schrieb Viesturs Lācis viesturs.la...@gmail.com:

 2014-02-28 15:19 GMT+02:00 John Alexander Stewart ivatt...@gmail.com:
 
 Michael;
 
 Ah - grbl-like input. Makes sense, and I can see how it would not work so
 well for LinuxCNC.
 
 The question, then, is how come Mach3 can have USB cabling, but LinuxCNC
 can't? (see the KX* mills from Arc Eurotrade in the UK; now with USB input)
 
 Related: What commands are sent over the USB for these Mach3 boxes?
 
 
 LinuxCNC controls the machine in realtime, whereas Mach does not. USB is

let me sharpen that a bit:

due to an unfortunate design decision of the current trajectory planner, the tp 
layer directly interacts with hardware (for spindle-synced motion to be exact). 
It has to run in an RT context for the latter to work.

This means that in the current scheme, you _could_ send segments as generated 
by the tp over such a USB connection, but without further work that would loose 
spindle-sync because now there is no more realtime link between tp and hardware.

What needs to be done, and Yishin did, is push down the syncing operation from 
the tp into the segment execution level, so it can be handled on such an 
'outboard'. 

I think it would be useful to bring that functionality back mainline, because 
it opens options at the tp/hardware interface boundary.

- Michael

 not realtime, which is not important for Mach, but crucial for LinuxCNC.
 AFAIK Mach sends position commands over usb, those particular cards have a
 buffer (IIRC 1 to 2 seconds, please correct me, if I am wrong) and some
 kind of motion control. It just seems so wrong to me as so much things can
 happen during that period on a fast plasma machine or something similar.
 Araisrobo have made LinuxCNC to talk to some external card (7i43?) via usb,
 but I have no idea, how exactly is that done. I guess that searching
 archives would bring up some more information from Yishin Li.
 
 Viesturs
 --
 Flow-based real-time traffic analytics software. Cisco certified tool.
 Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
 Customize your own dashboards, set traffic alerts and generate reports.
 Network behavioral analysis  security monitoring. All-in-one tool.
 http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis  security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Printrboard and LinuxCNC

2014-02-28 Thread Michael Haberler

Am 28.02.2014 um 19:01 schrieb Viesturs Lācis viesturs.la...@gmail.com:

 2014-02-28 16:25 GMT+02:00 Michael Haberler mai...@mah.priv.at:
 
 What needs to be done, and Yishin did, is push down the syncing operation
 from the tp into the segment execution level, so it can be handled on such
 an 'outboard'.
 
 
 Thanks for the clarification!
 So do I understand correctly that Araisrobo implementation has motion
 controller running on 7i43 card?

Probably Yishin should answer this

it's been a while since I talked to him about this - I think he sends tp 
segments over USB, either tagged or intermixed with commands for synced motion; 
so it's really the part of the motion controller which must be RT; I think he 
also does the servo loops on the FPGA

the rest of motion remains as HAL component as before

this interface would actually be valuable to have as a documented API, because 
it would enable hooking various outboard solutions into this interface at a 
boundary which is not really RT-critical, meaning various ways of talking to 
the outboard could be used, like ethernet; as a bonus, the rest of motion could 
actually be non-RT meaning it could use networking functions in a non-RT thread 
(network I/O from an RT thread is a thorny issue, see micges work)

-m

 
 Viesturs
 --
 Flow-based real-time traffic analytics software. Cisco certified tool.
 Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
 Customize your own dashboards, set traffic alerts and generate reports.
 Network behavioral analysis  security monitoring. All-in-one tool.
 http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis  security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Little OT, but...

2014-02-28 Thread Michael Haberler

Am 25.02.2014 um 19:32 schrieb Sven Wesley svenne.d...@gmail.com:

 It would be pretty awesome to read the DRO data from LinuxCNC... :)


The way a Javascript/Websockets client like on an Android device works in my 
development branch is:

- define a group of signals to be watched for changes - a 'HAL group' like 
'fb-pos' in the .hal file fragment below
- web clients desiring a stream of change updates connect to a uri like 
'ws://ip:port?dest=haltalksubscribe=fb-pos'
- they will receive a JSON-encoded update everytime a signal changes

same effect, just generic, i.e report any signal combination to any entity 
desiring to know

the first use will be the self-balancing robot driven by HAL we're working on - 
it should report to/take commands from an Android device

- Michael



 trackpos.hal ---
# 1. signals as taken from configs/common/core_stepper.hal:
net Xpos-fb stepgen.0.position-fb = axis.0.motor-pos-fb
net Ypos-fb stepgen.1.position-fb = axis.1.motor-pos-fb
net Zpos-fb stepgen.2.position-fb = axis.2.motor-pos-fb

# 2. declare a HAL group 'fb-pos', scan every 100mS
newg fb-pos 100
newm fb-pos Xpos-fb
newm fb-pos Ypos-fb
newm fb-pos Zpos-fb

# 3. Report this group via STP:
# start the generic HAL talker
loadusr -W haltalk --groups fb-pos # ... other groups to report


 
 
 2014-02-25 15:27 GMT+01:00 Mark Wendt wendt.m...@gmail.com:
 
 Yeah, I thought it was a pretty slick little idea.
 
 Mark
 
 On Tue, Feb 25, 2014 at 9:20 AM, Dave Cole linuxcncro...@gmail.com
 wrote:
 
 Very cool!
 
 Android and the pocket computers/phones/tablets etc have such great
 potential
 
 Thanks for sharing that.
 
 Dave  -  So many ideas ... so little time.
 
 
 On 2/25/2014 8:53 AM, Mark Wendt wrote:
 A pretty neat project with an Android:
 
 http://www.yuriystoys.com/p/android-dro.html
 
 Mark
 
 
 --
 Flow-based real-time traffic analytics software. Cisco certified tool.
 Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
 Customize your own dashboards, set traffic alerts and generate reports.
 Network behavioral analysis  security monitoring. All-in-one tool.
 
 http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users
 
 --
 Flow-based real-time traffic analytics software. Cisco certified tool.
 Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
 Customize your own dashboards, set traffic alerts and generate reports.
 Network behavioral analysis  security monitoring. All-in-one tool.
 http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis  security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] EMC2 to Control a 3D Printer

2014-02-12 Thread Michael Haberler

Am 11.02.2014 um 22:18 schrieb Charles Buckley rijrun...@gmail.com:

 I am guessing that this is slated for a 3.x release? It is a rather
 significant architecture change.

It is a significant change.

The replacement stack for NML is pretty much feature-complete. It supports both 
a C++/Python API, as well as a Websockets/JSON based interface for 
browser-based interaction.

Retrofitting this replacement stack is partially accomplished: remote HAL 
interaction, status observation and remote command inject/reply into realtime 
components already works. For instance, gladevcp already works remotely, i.e. 
is not constrained to the same machine anymore. We are already building a 
remote-controlled robot as a demo vehicle to show these capabilities. So that 
part is solid.

The largest part ahead is to retrofit task with the new stack, as well as the 
interface between task and motion. That part I have started. 

I had planned to have that in a demonstrable form a bit earlier, around new 
year; it turned out that just retrofitting the stack and retaining the - 
sometimes very awkward - NML interaction patterns is rather pointless as it 
would retain many of the old restrictions, so  I had to come up with 
communication patterns which make it smoother sailing downstream. Those are 
complete and documented for the HAL/RT interaction; there remains some work to 
be done for the task retrofit.

In terms of time I would say: there will be a preview edition within the first 
half year; with the normal shakeout period I would say wide usability by end of 
this year is realistic.

- Michael

 
 
 On Mon, Feb 10, 2014 at 2:46 PM, Michael Haberler mai...@mah.priv.atwrote:
 
 
 Am 10.02.2014 um 22:22 schrieb Charles Buckley rijrun...@gmail.com:
 
 This leads into a more fundamental question down the road.
 
 Will the GUI be split from the Controller engine in the future?
 
 yes, I am working on exactly that.
 
 So, we
 would be able to connect in any environment with any skin to run the
 engine, which would be on its own dedicated motherboard?
 
 this is the plan - to separate the RT/HAL/motion environment from the rest
 
 - Michael
 
 
 Charles Buckley
 
 
 On Mon, Feb 10, 2014 at 11:21 AM, Niemand Sonst nie...@web.de wrote:
 
 Hallo Charles,
 
 for use with PC, I could try to adaped gmoccapy surface to suit your
 needs. You just need to tell me what you need. Marius did that resulting
 in the plasma screen of gmoccapy.
 
 Unfortunately I am not come so far, to reduce the CPU load very much,
 but I am working on that part.
 
 Norbert
 
 Am 10.02.2014 18:10, schrieb Charles Steinkuehler:
 On 2/10/2014 6:54 AM, Steve wrote:
 I am interested in using EMC2 to control a 3D printer.  I have
 searched
 the archives and gone thru the wiki and couldn't find any EMC2
 conversions dedicated to driving a 3D printer.  I saw the rep-strap
 versions but the printers appear to be modified versions of a CNC mill
 or small router.  I am interested in replacing the Arduino controller
 with EMC2 driving a dedicated printer.  Ideally the set up for EMC
 would
 be similar to modules already in place for a stepper motor  based
 mill.
 Unfortunately my skills ly on the mechanical side and as such don't
 know
 enough about code writing to dig into EMC2 and make the changes
 myself.
 Replacing an Arduino with LinuxCNC is straight-forward.  LinuxCNC
 simply
 sees the 3D printer as a 4-axis machine.  The only slight complication
 is providing for temperature control.  This can be done in a variety of
 ways ranging from fully external thermostats to several different
 control options in LinuxCNC and HAL.
 
 The CAM path for 3D printing with LinuxCNC requires a bit of tweaking,
 and you have to be careful if using LinuxCNC for temperature control
 (be
 careful, the easy to use custom M1xx codes cause LinuxCNC to come to a
 full stop while the M-code is executing, creating 'blobs' on the
 resulting prints).
 
 I've been working mostly with the BeagleBone, but lots of the issues
 I've encountered with 3D printing (like the M-Code pause, and getting
 RepRap flavor gcode running on LinuxCNC) apply to LinuxCNC in
 general,
 regardless of the platform you're running on.  You'll find some useful
 posts on my blog, along with BeagleBone specific details that only
 apply
 if you're moving away from the PC:
 
 http://bb-lcnc.blogspot.com/
 
 ...including links to several videos of LinuxCNC controlling a 3D
 printer.  In fact, my first 3D printing video uses LinuxCNC running on
 a
 standard PC with software step-gen and a parallel port interface:
 
 http://www.youtube.com/watch?v=DqnAU1g5Rys
 
 ...which I directly wired into the RAMPS printer control board using a
 small circuit built onto an Arduino prototype shield.  The interface is
 mostly direct wires except for an I2C interface and an ADC to read the
 thermistor temperature.  Details are on github:
 
 https://github.com/cdsteinkuehler/LinuxCNC-RepRap

Re: [Emc-users] EMC2 to Control a 3D Printer

2014-02-10 Thread Michael Haberler

Am 10.02.2014 um 22:22 schrieb Charles Buckley rijrun...@gmail.com:

 This leads into a more fundamental question down the road.
 
 Will the GUI be split from the Controller engine in the future?

yes, I am working on exactly that. 

 So, we
 would be able to connect in any environment with any skin to run the
 engine, which would be on its own dedicated motherboard?

this is the plan - to separate the RT/HAL/motion environment from the rest

- Michael

 
 Charles Buckley
 
 
 On Mon, Feb 10, 2014 at 11:21 AM, Niemand Sonst nie...@web.de wrote:
 
 Hallo Charles,
 
 for use with PC, I could try to adaped gmoccapy surface to suit your
 needs. You just need to tell me what you need. Marius did that resulting
 in the plasma screen of gmoccapy.
 
 Unfortunately I am not come so far, to reduce the CPU load very much,
 but I am working on that part.
 
 Norbert
 
 Am 10.02.2014 18:10, schrieb Charles Steinkuehler:
 On 2/10/2014 6:54 AM, Steve wrote:
 I am interested in using EMC2 to control a 3D printer.  I have searched
 the archives and gone thru the wiki and couldn't find any EMC2
 conversions dedicated to driving a 3D printer.  I saw the rep-strap
 versions but the printers appear to be modified versions of a CNC mill
 or small router.  I am interested in replacing the Arduino controller
 with EMC2 driving a dedicated printer.  Ideally the set up for EMC would
 be similar to modules already in place for a stepper motor  based mill.
 Unfortunately my skills ly on the mechanical side and as such don't know
 enough about code writing to dig into EMC2 and make the changes myself.
 Replacing an Arduino with LinuxCNC is straight-forward.  LinuxCNC simply
 sees the 3D printer as a 4-axis machine.  The only slight complication
 is providing for temperature control.  This can be done in a variety of
 ways ranging from fully external thermostats to several different
 control options in LinuxCNC and HAL.
 
 The CAM path for 3D printing with LinuxCNC requires a bit of tweaking,
 and you have to be careful if using LinuxCNC for temperature control (be
 careful, the easy to use custom M1xx codes cause LinuxCNC to come to a
 full stop while the M-code is executing, creating 'blobs' on the
 resulting prints).
 
 I've been working mostly with the BeagleBone, but lots of the issues
 I've encountered with 3D printing (like the M-Code pause, and getting
 RepRap flavor gcode running on LinuxCNC) apply to LinuxCNC in general,
 regardless of the platform you're running on.  You'll find some useful
 posts on my blog, along with BeagleBone specific details that only apply
 if you're moving away from the PC:
 
 http://bb-lcnc.blogspot.com/
 
 ...including links to several videos of LinuxCNC controlling a 3D
 printer.  In fact, my first 3D printing video uses LinuxCNC running on a
 standard PC with software step-gen and a parallel port interface:
 
 http://www.youtube.com/watch?v=DqnAU1g5Rys
 
 ...which I directly wired into the RAMPS printer control board using a
 small circuit built onto an Arduino prototype shield.  The interface is
 mostly direct wires except for an I2C interface and an ADC to read the
 thermistor temperature.  Details are on github:
 
 https://github.com/cdsteinkuehler/LinuxCNC-RepRap
 
 
 
 
 --
 Androidtrade; apps run on BlackBerryreg;10
 Introducing the new BlackBerry 10.2.1 Runtime for Android apps.
 Now with support for Jelly Bean, Bluetooth, Mapview and more.
 Get your Android app in front of a whole new audience.  Start now.
 
 http://pubads.g.doubleclick.net/gampad/clk?id=124407151iu=/4140/ostg.clktrk
 
 
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users
 
 
 --
 Androidtrade; apps run on BlackBerryreg;10
 Introducing the new BlackBerry 10.2.1 Runtime for Android apps.
 Now with support for Jelly Bean, Bluetooth, Mapview and more.
 Get your Android app in front of a whole new audience.  Start now.
 
 http://pubads.g.doubleclick.net/gampad/clk?id=124407151iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users
 
 --
 Android apps run on BlackBerry 10
 Introducing the new BlackBerry 10.2.1 Runtime for Android apps.
 Now with support for Jelly Bean, Bluetooth, Mapview and more.
 Get your Android app in front of a whole new audience.  Start now.
 http://pubads.g.doubleclick.net/gampad/clk?id=124407151iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users



Re: [Emc-users] python interface to C

2014-01-30 Thread Michael Haberler
Josiah,

Am 30.01.2014 um 15:41 schrieb Josiah Morgan josiahmor...@gmail.com:

 I have created python script which I have linuxcnc automatically launch via
 hal loadusr.
 this python script controls the majority of everything linuxcnc does to
 make it very specific to what I need for my given scenario using the
 functionality described here:
 http://linuxcnc.org/docs/html/common/python-interface.html
 
 I would really like to use c/c++ instead of python to communicate with
 linuxcnc.
 can someone point me in the right direction of if there is an api/library
 for C/C++ containing the same basic functionality as described in the
 python interface documentation?  the python documentation hints to the fact
 that such a thing exists (possibly with even more functionality) but I
 can't seem to find any other documentation to support it.

I can only advise to not go down this path - IMO the underlying NML code is 
deprecated as an API, unsuitable for new code at this point

the Python linuxcnc module abstracts away many of the gory details of NML 

Note that work is underway to remove NML from LinuxCNC completely, meaning any 
C-ish interface will need a substantial rewrite or die out

is very likely the Python linuxcnc interface will see little or no change in 
this process

my recommendation is to warm up to Python instead ;)

- Michael

 
 thanks.
 
 -- 
 Josiah Morgan, P.E.
 --
 WatchGuard Dimension instantly turns raw network data into actionable 
 security intelligence. It gives you real-time visual feedback on key
 security issues and trends.  Skip the complicated setup - simply import
 a virtual appliance and go from zero to informed in seconds.
 http://pubads.g.doubleclick.net/gampad/clk?id=123612991iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
WatchGuard Dimension instantly turns raw network data into actionable 
security intelligence. It gives you real-time visual feedback on key
security issues and trends.  Skip the complicated setup - simply import
a virtual appliance and go from zero to informed in seconds.
http://pubads.g.doubleclick.net/gampad/clk?id=123612991iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Machinekit Gui

2014-01-26 Thread Michael Haberler

Am 26.01.2014 um 13:03 schrieb Mark Tucker m...@rmtucker.f2s.com:

 Charles/Chris
 
 How long before these changes with gscreen are merged with the 
 machinekit git repo?
 Or how do i pull the changes from master into machinekit?

I regularly merge master into 
https://github.com/mhaberler/linuxcnc/tree/unified-build-candidate-3 which is 
the tree to use for machinekit

or on demand, like right now that branch is current with master, and I think 
it's also current with Charles' work

so pull again from above and you should be fine

if you need something urgent, drop me a mail

- Michael


 I have done the git pull from master on my developer desktop and the sim 
 works great,now just try and get it into machinekit.
 I also did a git pull in machinekit but could not see any gscreen 
 changes yet.
 I know charles is wanting a 3d printer gui,but i would like to alter it 
 for milling etc,so it should be easy to remove the extra 3d printer 
 stuff like heated beds etc.
 
 
 --
 CenturyLink Cloud: The Leader in Enterprise Cloud Services.
 Learn Why More Businesses Are Choosing CenturyLink Cloud For
 Critical Workloads, Development Environments  Everything In Between.
 Get a Quote or Start a Free Trial Today.
 http://pubads.g.doubleclick.net/gampad/clk?id=119420431iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments  Everything In Between.
Get a Quote or Start a Free Trial Today.
http://pubads.g.doubleclick.net/gampad/clk?id=119420431iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] BBB 14: unexpected realtime delay on RT thread 1

2014-01-14 Thread Michael Haberler

Am 14.01.2014 um 19:33 schrieb Charles Steinkuehler char...@steinkuehler.net:

 On 1/14/2014 12:21 PM, Bas de Bruijn wrote:
 Yes, the BeagleBone Black,
 the PRU is hat 10us step length and 1us step time.

The PRU code cannot cause an unexpected realtime delay, since this is a 
message generated by the motion component. Since missing steps have no way to 
find their way back into HAL except if you are running a stepper servo loop 
with encoders (which you likely dont), this cannot be the source either.

The logic for unexpected realtime delay is here: 
https://github.com/mhaberler/linuxcnc/blob/unified-build-candidate-3/src/emc/motion/control.c#L249
 

What motion does is:
- observes its invocation interval over a window of samples,
- once the window is filled with samples, start checking:
- compare the current invocation time to all samples
- if the current interval is longer than 1.2 of any of the samples then 
generate an unexpected realtime delay message.

What you want to do is investigate the functions on the servo thread.

see the 'show thread' and 'show param' commands 
http://www.linuxcnc.org/docs/devel/html/hal/tutorial.html, in particular the 
'.time' and '.tmax' values, which might give a hint which thread function takes 
too long. 

It might be worth looking at motion execution times, see the PARAMETERS section 
of http://www.linuxcnc.org/docs/devel/html/man/man9/motion.9.html. 

- Michael

 The servo task period, in nano sec is 100.
 When i run a latency test i get a jitter of approximately 56000 to 6 ns 
 max Jitter
 
 I’ll disable the screensaver to check.
 
 The latency you report is typical for the BeagleBone.  The unexpected
 realtime delay is something I see occasionally on my systems.  I
 haven't fully dug into the cause, but it seems like something in
 LinuxCNC has hard-coded jitter numbers and doesn't like the BeagleBone
 (which has higher IRQ jitter than a typical x86 system).  I've never had
 it cause issues, however, and it is not correlated with a spike in
 latency as measured by either the LinuxCNC latency-test or the xenomai
 latency utility.
 
 I also run with the screen saver and display power management enabled on
 my BeagleBone and have not had any issues with missed steps.
 
 I suggest you review the current setting on your stepper drivers,
 cooling on the stepper drivers, the mechanical system (make sure
 everything moves freely and can't bind), and review your machine setup.
 
 I did have to dial my acceleration down to around 2400 mm/s/s to avoid
 missing steps with some Slic3r generated infill gcode, but that had
 nothing to do with the BeagleBone, my steppers and drivers just weren't
 up to the task when running off 12V.
 
 -- 
 Charles Steinkuehler
 char...@steinkuehler.net
 
 --
 CenturyLink Cloud: The Leader in Enterprise Cloud Services.
 Learn Why More Businesses Are Choosing CenturyLink Cloud For
 Critical Workloads, Development Environments  Everything In Between.
 Get a Quote or Start a Free Trial Today. 
 http://pubads.g.doubleclick.net/gampad/clk?id=119420431iu=/4140/ostg.clktrk___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments  Everything In Between.
Get a Quote or Start a Free Trial Today. 
http://pubads.g.doubleclick.net/gampad/clk?id=119420431iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Stopping program for tool change

2014-01-12 Thread Michael Haberler

Am 12.01.2014 um 10:38 schrieb Mike Eitel m...@eitel.ch:

 Michael Haberler mail17@... writes:
 
 
 John,
 
 Am 11.01.2014 um 19:57 schrieb John Alexander Stewart ivatt260@...:
 
 Hi all;
 
 I've got a large bit of steel milling to do, and am changing tools
 mid-stream every 1mm or so of depth. (6mm end mills, 12.7mm depth)
 
 Is it possible that the stop program execution causes loss of position?
 
 What I'm doing is, when the end mill is close to a point where not much
 milling is being done, I:
   - stop the program;
   - change end mills;
   - zero the Z axis based on this end mill;
   - edit the program so that the tool will start off where I want it;
   - and, go.
 
 I know that there's probably a better way of pausing program operation to
 do a tool change and Z axis touch off, but I can't think that to do at the
 moment.
 
 What do *you* do, to change tools mid-stream?
 
 this is exactly what master
 http://git.linuxcnc.org/gitweb?
 p=linuxcnc.git;a=tree;f=configs/sim/axis/remap/manual-toolchange-with-tool-
 length-
 switch;h=07587d5cc91ed661e0face3b73aa4eadc7ef055b;hb=6eadae4c8ef1f5d614d06626b
 9e05e056d46c8f8 does
 
 actually it does a bit more - namely jog to a TLO sensor, measure, set 
 offset and continue
 
 give it a try to get the hang of it
 
 - Michael
 
 
 
 Hi
   Is it possible to run on 2.5.3 ?

no, master is required - that is the remapping work which has been lingering in 
master for about two years

   If yes whats to do?

run a master buildbot build, or build yourself from source

-m

 Thx Mike
 
 
 
 
 
 
 
 --
 CenturyLink Cloud: The Leader in Enterprise Cloud Services.
 Learn Why More Businesses Are Choosing CenturyLink Cloud For
 Critical Workloads, Development Environments  Everything In Between.
 Get a Quote or Start a Free Trial Today.
 http://pubads.g.doubleclick.net/gampad/clk?id=119420431iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments  Everything In Between.
Get a Quote or Start a Free Trial Today.
http://pubads.g.doubleclick.net/gampad/clk?id=119420431iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


[Emc-users] HAL strings (was Re: How do you change polarity of Step Pulses in MachineKit stepgen?)

2014-01-11 Thread Michael Haberler

Am 11.01.2014 um 05:19 schrieb andy pugh bodge...@gmail.com:

 On 11 January 2014 02:59, Charles Steinkuehler char...@steinkuehler.net 
 wrote:
 I think I've come up with a reasonable solution
 that will still work with HAL's limitations (only bit, integer, and
 float data types, so no strings).
 
 Wacky idea, why not add strings to HAL? (if you do, then I suggest
 _not_ zero-terminated)
 
 it could be useful for all sorts of config type stuffs

yes it would, but as Charles says: it would break the atomic update requirement 
assumed by HAL data types. You cant guarantee a string copy will not be 
interrupted; for the basic types you can. This guarantee maxes out at 8 or 16 
byte sized values, depending on architecture, so it's unsafe territory beyond 8 
and architecture dependent. HAL assumes sizeof(double) can be updated 
atomically as largest object (8).

This means strings may travel to/from RT components on a message queue, but not 
as pins

the difference between sending/receiving a message and updating a HAL pin is 
that the message creation/interpretation code may be interrupted as long as the 
enqueue/dequeue operations are atomic, which they are in Pavel's ringbuffer 
code; interruption may not happen for pin updates

in the ringbuffer variant this is the sequence 'reserve space in queue', and 
'enqueue'; both are atomic - any interruption between the two permitted

the legacy code does not have an atomic enqueue operation but checks on the 
receiving side that enqueue operation is complete (in case you've ever wondered 
what the SPLIT_READ stuff is - that is detecting 'enqueue commit' on a queue 
which must be size one, so it's really just a shared buffer)

--

if you are just dying to transport a short string of max size 8, you can 
recycle a HAL_FLOAT, interpret as char[8] and it would be atomically updateable 
_by storing/reading a double (not using memcpy() etc!), but it's royal wart and 
it stinks. 

The solution to this will be making messaging interactions between components 
trivial, then the issue goes away. Right now it's jumping the hoops.

- Michael


--
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments  Everything In Between.
Get a Quote or Start a Free Trial Today. 
http://pubads.g.doubleclick.net/gampad/clk?id=119420431iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Stopping program for tool change

2014-01-11 Thread Michael Haberler
John,

Am 11.01.2014 um 19:57 schrieb John Alexander Stewart ivatt...@gmail.com:

 Hi all;
 
 I've got a large bit of steel milling to do, and am changing tools
 mid-stream every 1mm or so of depth. (6mm end mills, 12.7mm depth)
 
 Is it possible that the stop program execution causes loss of position?
 
 What I'm doing is, when the end mill is close to a point where not much
 milling is being done, I:
- stop the program;
- change end mills;
- zero the Z axis based on this end mill;
- edit the program so that the tool will start off where I want it;
- and, go.
 
 I know that there's probably a better way of pausing program operation to
 do a tool change and Z axis touch off, but I can't think that to do at the
 moment.
 
 What do *you* do, to change tools mid-stream?


this is exactly what master 
http://git.linuxcnc.org/gitweb?p=linuxcnc.git;a=tree;f=configs/sim/axis/remap/manual-toolchange-with-tool-length-switch;h=07587d5cc91ed661e0face3b73aa4eadc7ef055b;hb=6eadae4c8ef1f5d614d06626b9e05e056d46c8f8
 does

actually it does a bit more - namely jog to a TLO sensor, measure, set offset 
and continue

give it a try to get the hang of it

- Michael

 
 Confused;
 
 John.
 --
 CenturyLink Cloud: The Leader in Enterprise Cloud Services.
 Learn Why More Businesses Are Choosing CenturyLink Cloud For
 Critical Workloads, Development Environments  Everything In Between.
 Get a Quote or Start a Free Trial Today. 
 http://pubads.g.doubleclick.net/gampad/clk?id=119420431iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments  Everything In Between.
Get a Quote or Start a Free Trial Today. 
http://pubads.g.doubleclick.net/gampad/clk?id=119420431iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Python interface: program_open() does not show a preview in AXIS

2013-12-30 Thread Michael Haberler
Hi Philipp,

a bit of guts first:

Configs with a UI which sports preview actually have two interpreters

there's one in the milltask process - this is the 'real one' which drives the 
machine, and which you've been talking to with your sample program
then there's a 'preview interpreter' in the UI process, which doesnt generate 
canon commands to drive the machine, but rather lines to be displayed in the UI.

in principle those two are unrelated ; of course they should work on the same 
ngc program. UI's deal with that by telling the preview interpreter to generate 
preview, and tell milltask to actually execute the program driving the machine.

what happened with your program: you talked to the milltask interpreter, which 
bypassed the UI - it cant possibly know of the new file

you might want to study axis-remote and the code in UI's to achieve the desired 
effect: http://linuxcnc.org/docs/html/man/man1/axis-remote.1.html

-Michael


Am 30.12.2013 um 17:28 schrieb Philipp Burch p...@hb9etc.ch:

 Hi all!
 
 Maybe you remember my question of a few weeks ago about a more flexible
 way to transform the coordinates in a G-code file:
 http://sourceforge.net/mailarchive/forum.php?thread_name=528A6D98.7080208%40hb9etc.chforum_name=emc-users
 
 My decision was then, to do most of the transforms in Python and
 generate the G-code as needed. I've now implemented most of that for my
 use case (alignment of a PCB panel based on fiducial marks) with a
 little Glade GUI. This works quite well, using the linuxcnc interface
 from Python
 (http://linuxcnc.org/docs/html/common/python-interface.html), it is
 possible to read the current position, do the calculations, generate the
 code, load and run it. Except for one thing: When I load the G-code
 file, AXIS does not display a preview of the program, neither in the
 code pane nor in the live plot. The file name is displayed in the
 window's title bar however, and running it works and correctly draws the
 backplot.
 
 It is easy to test this in a Python console with LinuxCNC running:
 
 $ python
 Python 2.6.5 (r265:79063, Sep 26 2013, 18:51:09)
 [GCC 4.4.3] on linux2
 Type help, copyright, credits or license for more information.
 import linuxcnc
 lcmd=linuxcnc.command()
 lcmd.reset_interpreter()
 lcmd.mode(linuxcnc.MODE_AUTO)
 lcmd.program_open('/home/linuxcnc/linuxcnc/nc_files/simple_symbol.ngc')
 lcmd.auto(linuxcnc.AUTO_RUN, 1)
 
 Does anyone have an idea what I could do to trigger the preview?
 Clicking the Reload button in AXIS does nothing (no error message, just
 nothing happens). Loading the same file from the AXIS menu shows the
 expected behaviour, code and graphic preview is generated.
 
 The preview is obviously not critical for this application, but it would
 help to check if the alignment is correct (or at least not completely
 off). Could anyone give me a hint how to solve that?
 
 Thanks!
 
 Best regards,
 Philipp
 
 --
 Rapidly troubleshoot problems before they affect your business. Most IT 
 organizations don't have a clear picture of how application performance 
 affects their revenue. With AppDynamics, you get 100% visibility into your 
 Java,.NET,  PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
 http://pubads.g.doubleclick.net/gampad/clk?id=84349831iu=/4140/ostg.clktrk___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET,  PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] BBB + BeBoPr-Bridge + linear delta kinematics

2013-12-29 Thread Michael Haberler

please note the corrected URI for the unified build document: 
http://static.mah.priv.at/public/html/common/UnifiedBuild.html

I just added some touchups, no need to re-read the whole document

-m



--
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET,  PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] BBB + BeBoPr-Bridge + linear delta kinematics

2013-12-29 Thread Michael Haberler

Am 29.12.2013 um 14:57 schrieb Bas de Bruijn bdebru...@luminize.nl:

.. good so far ..
 make
 sudo make setuid
 . ../scripts/rip-environment
 linuxcnc
 
 linuxcnc will start,

no it does not, see line of the log:BeBoPr-Bridge.hal:26: 
/home/linuxcnc/linuxcnc/libexec/rtapi_app_xenomai exited without becoming ready

this indicates some fundamental problem. 
Did the make complete without errors? if not, please run like so:

  $ make | tee /tmp/log 

and pastebin /tmp/log

Are you sure you ran 'sudo make setuid' in the linuxcnc/src directory?


 /var/log/linuxcnc.log doesn’t seem to exist (at least at that location)

please look again. It should be there starting from Charles's image:

linuxcnc@arm:~$ ls -l /var/log/linuxcnc.log 
-rw-r- 1 root adm 10251074 Dec 19 21:21 /var/log/linuxcnc.log

you might have to do 

$ sudo tail -f /var/log/linuxcnc.log

due to file permissions; you can also 

$ sudo chmod 644 /var/log/linuxcnc.log

to get around this problem

please start linuxcnc like so:

$ DEBUG=5 linuxcnc

and pastebin the results in /var/log/linuxcnc.log - there is no point in 
reporting back without this log, everything else is just guessing

-m


--
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET,  PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] BBB + BeBoPr-Bridge + linear delta kinematics

2013-12-29 Thread Michael Haberler

Am 29.12.2013 um 15:38 schrieb Bas de Bruijn bdebru...@luminize.nl:


 /var/log/linuxcnc.log doesn’t seem to exist (at least at that location)
 
 please look again. It should be there starting from Charles's image:
 
 it’s not there, noticed also in /tmp/log

I have no idea what base image you have, and what kind of changes were made to 
it. 

I do assume you started with Charles's image, is that correct? 

 
 first time i saw fome files emerge in /var/log/ but after the console 
 returning to the prompt they got removed automatically

what do you mean by that? after a reboot? As distributed, the /var/log 
directory should survive a reboot.

 so here is the contents of $ DEBUG=5 linuxcnc  console output.txt 21

Please read section 3.1 of 
http://static.mah.priv.at/public/html/common/UnifiedBuild.html, then run

   $ sudo make log

as outlined there. Also, after the make command, you should have seen the 
message noted under 3.1 - correct? 

If /var/log/linuxcnc.log does not exist now, please start from scratch with a 
new image.

- Michael


--
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET,  PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] BBB + BeBoPr-Bridge + linear delta kinematics

2013-12-29 Thread Michael Haberler

Am 29.12.2013 um 16:29 schrieb Bas de Bruijn bdebru...@luminize.nl:

 
 
 so here is the contents of $ DEBUG=5 linuxcnc  console output.txt 21
 
 Please read section 3.1 of 
 http://static.mah.priv.at/public/html/common/UnifiedBuild.html, then run
 
 $ sudo make log
 
 as outlined there. Also, after the make command, you should have seen the 
 message noted under 3.1 - correct? 
 
 If /var/log/linuxcnc.log does not exist now, please start from scratch with 
 a new image.
 
 now it exists

and why dont these files vanish anymore? 

 http://pastebin.com/3rBkXddk

that log is certainly not of a run with 'DEBUG=5 linuxcnc', as this line says:

Dec 29 15:24:38 arm msgd:0: startup instance=inst0 pid=3041 flavor=xenomai 
rtlevel=1 usrlevel=1 halsize=512000 shm=Posix gcc=4.6.3 
git=v2.6.0~pre~unified-build-candidate-3-joints-axes4~b688569
---^
 

Please do this:

 $ export DEBUG=5
 $ realtime start
 $ realtime stop

Please pastebin the contents of /var/log/linuxcnc.log

This is what I get here (note rtlevel=5 usrlevel=5 in first line, and very 
detailed log):

Dec 29 15:53:39 arm msgd:0: startup instance=inst0 pid=24879 flavor=xenomai 
rtlevel=5 usrlevel=5 halsize=512000 shm=Posix gcc=4.6.3 
git=v2.6.0~pre~mk~5e9921c
Dec 29 15:53:39 arm msgd:0: rtapi_app:24881:user master:0 started pid=24881 
gcc=4.6.3 git=v2.6.0~pre~mk~5e9921c
Dec 29 15:53:40 arm msgd:0: rtapi_app:24881:user rtapi_app: handle:0 retrieved 
xenomai v2.6.0~pre~mk~5e9921c
Dec 29 15:53:40 arm msgd:0: rtapi:-1:rt RTAPI:0  xenomai v2.6.0~pre~mk~5e9921c 
init
Dec 29 15:53:40 arm msgd:0: rtapi_app:24881:user rtapi: loaded from rtapi.so
Dec 29 15:53:40 arm msgd:0: rtapi:-1:rt HAL_LIB:0 loading RT support 
gd=0xb6bd6000p
Dec 29 15:53:40 arm msgd:0: rtapi:-1:rt HAL_LIB:0 kernel lib installed 
successfully
Dec 29 15:53:40 arm msgd:0: rtapi_app:24881:user hal_lib: loaded from hal_lib.so
Dec 29 15:53:40 arm msgd:0: rtapi_app:24881:user rtapi_app:0 initialization 
complete
Dec 29 15:54:01 arm msgd:0: msgd:0: rtapi_app exit detected - shutting down
Dec 29 15:54:01 arm msgd:0: rtapi:24881:rt HAL_LIB:0 removing RT support
Dec 29 15:54:01 arm msgd:0: rtapi:24881:rt HAL_LIB:0 RT support removed 
successfully
Dec 29 15:54:01 arm msgd:0: rtapi_app:24881:user  'hal_lib' unloaded
Dec 29 15:54:01 arm msgd:0: rtapi:24881:rt RTAPI:0 exit
Dec 29 15:54:01 arm msgd:0: rtapi_app:24881:user  'rtapi' unloaded
Dec 29 15:54:01 arm msgd:0: rtapi_app:24881:user master:0 exit 0

-m
--
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET,  PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] BBB + BeBoPr-Bridge + linear delta kinematics

2013-12-29 Thread Michael Haberler

Am 29.12.2013 um 17:20 schrieb Bas de Bruijn bdebru...@luminize.nl:
 
 
 Please do this:
 
 $ export DEBUG=5
 $ realtime start
 $ realtime stop
 
 Please pastebin the contents of /var/log/linuxcnc.log
 
 http://pastebin.com/Mqb0suKM of 3 lines above

looks ok

 http://pastebin.com/PvAiKAnU of $ DEBUG=5 linuxcnc

there is no error in here which has anything to do with the RT system per se

while I cannot tell what you are actually running here, it look like the 
configuration just exits

could you now please share what configuration you are actually running  
complete - is that stock, or modified, or what? which one?

NB: the only stock configuration I know of which runs on the ja4 branch is 
rdelta.ini, the others havent been converted yet

so please try the rdelta config

-m


--
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET,  PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] BBB + BeBoPr-Bridge + linear delta kinematics

2013-12-29 Thread Michael Haberler

Am 29.12.2013 um 18:25 schrieb Bas de Bruijn bdebru...@luminize.nl:

 so please try the delta config
 
 I have found it in sim/axis/rdelta.ini
 I get a TK screen with a rotary delta. But this is a simulation if I’m not 
 mistaken.

Well hey, this is a result, we didnt have that earlier today. And that's where 
your work starts: you got to configure your machine yourself.

Let me set expectations a bit:

joints_axes4 is a development branch. It is unfinished - for instance limit 
management and wheel jogging needs attention. It configuration is undocumented, 
and there is minimal experience with running it. This branch is ok to use if 
you want to develop it further and help it finish; it is certainly frustrating 
as a end-user-ready type starting point. It is unrealistic to expect to get 
anywhere except if you find your way yourself by reading the source, and fixing 
problems as the arrive.

it really depends on what effort you are willing to invest.

- Michael


 
 To get the BB with BeBoPr-Bridge working (regardless of the delta kinematics) 
 Should I return to the MachineKit-ubc branch and rebuild (because that worked 
 2 days ago freshly)
 Or do I start with an entire fresh image?
 
 Bas
 --
 Rapidly troubleshoot problems before they affect your business. Most IT 
 organizations don't have a clear picture of how application performance 
 affects their revenue. With AppDynamics, you get 100% visibility into your 
 Java,.NET,  PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
 http://pubads.g.doubleclick.net/gampad/clk?id=84349831iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET,  PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] More stepgens with BeagleBone

2013-12-29 Thread Michael Haberler
congratulations! that's quite an achievement!

cheers

- Michael

Am 29.12.2013 um 20:22 schrieb Andrew pkm...@gmail.com:

 Hello!
 
 Here's my toy to move with ubc3-ja4 on BBB.
 http://youtu.be/ouyx65C7L-o
 Charles and Michael, thanks a lot for your help!
 
 The whole control is not quite stable, it freezes time by time. And
 something's wrong with the axes limits, I have to figure it out yet.
 
 Andrew
 --
 Rapidly troubleshoot problems before they affect your business. Most IT 
 organizations don't have a clear picture of how application performance 
 affects their revenue. With AppDynamics, you get 100% visibility into your 
 Java,.NET,  PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
 http://pubads.g.doubleclick.net/gampad/clk?id=84349831iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET,  PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] maximum number of queued MDI commands exceeded

2013-12-29 Thread Michael Haberler
please note - I did the original diagnosis and initial code you referred to

however, the current code in master was worked over by Seb, you might want to 
talk to him

I am unclear about the status - the way I understand it is that there is 
currently no backpressure mechanism on the MDI queue

- Michael


Am 29.12.2013 um 22:39 schrieb Konstantin Navrockiy nkp...@gmail.com:

 I found:
 http://git.mah.priv.at/gitweb?p=emc2-dev.git;a=blob;f=src/emc/task/emctaskmain.cc;h=e6a93ed5cdf1a1ae6886398f1453eabf2ce95df6;hb=d4d4b07fb3a95459c5e41069825a5036e127586a#l3171
 (it can help))
 
 --
 Rapidly troubleshoot problems before they affect your business. Most IT 
 organizations don't have a clear picture of how application performance 
 affects their revenue. With AppDynamics, you get 100% visibility into your 
 Java,.NET,  PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
 http://pubads.g.doubleclick.net/gampad/clk?id=84349831iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET,  PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] BBB + BeBoPr-Bridge + linear delta kinematics

2013-12-28 Thread Michael Haberler

Am 28.12.2013 um 21:21 schrieb Bas de Bruijn bdebru...@luminize.nl:

 https://github.com/mhaberler/linuxcnc/tree/unified-build-candidate-3-joints_axes4
 
 The lineardeltakins module is already in this branch, you just have to
 select it in your configuration file.
 
 first after making my local branch from 
 https://github.com/mhaberler/linuxcnc/tree/unified-build-candidate-3-joints_axes4
  linuxcnc wouldn’t start and generated the following messages:
 
 RTAPI configuration file unreadable: 
 /home/linuxcnc/linuxcnc/etc/linuxcnc/rtapi.ini
 Config file tool unusable: /home/linuxcnc/linuxcnc/libexec/inivar
 
 After copying the folders /etc and /libexec from the MachineKit-ubc branch 
 these errors were solved and instead I got the same messages as the initial 
 error messages at the initial post.
 
 should I have done something different?

yes, dont copy around random directories and hope it will just somehow work, 
rather fix the cause.

Please pastebin src/config.log which will contain the arguments to ./configure 
. 

What does that say relative to the configure args in the original linuxcnc/src 
directory?

- Michael



--
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET,  PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] BBB + BeBoPr-Bridge + linear delta kinematics

2013-12-28 Thread Michael Haberler

Am 28.12.2013 um 22:32 schrieb Bas de Bruijn bdebru...@luminize.nl:

 
 On 28 Dec 2013, at 21:37, Michael Haberler mai...@mah.priv.at wrote:
 
 
 Am 28.12.2013 um 21:21 schrieb Bas de Bruijn bdebru...@luminize.nl:
 
 https://github.com/mhaberler/linuxcnc/tree/unified-build-candidate-3-joints_axes4
 
 The lineardeltakins module is already in this branch, you just have to
 select it in your configuration file.
 
 first after making my local branch from 
 https://github.com/mhaberler/linuxcnc/tree/unified-build-candidate-3-joints_axes4
  linuxcnc wouldn’t start and generated the following messages:
 
 RTAPI configuration file unreadable: 
 /home/linuxcnc/linuxcnc/etc/linuxcnc/rtapi.ini
 Config file tool unusable: /home/linuxcnc/linuxcnc/libexec/inivar
 
 After copying the folders /etc and /libexec from the MachineKit-ubc branch 
 these errors were solved and instead I got the same messages as the initial 
 error messages at the initial post.
 
 should I have done something different?
 
 yes, dont copy around random directories and hope it will just somehow work, 
 rather fix the cause.
 
 fair enough. I feel like I should try to solve problems myself first rather 
 than bother everybody.

please read this: http://static.mah.priv.at/public/UnifiedBuild.html , in 
particular 'Configuring and Building: The Basic procedure'

since you obviously switched branches, I suggest you first clean the directory 
from build artefacts before building:

  cd linuxcnc
  git clean -xdf

NB: __this will wipe any local changes to the current directory and below__ so 
save anything you havent checked into git

Then rebuild as outlined in the document.
The configure invocation on my BB reads:  ./configure --with-platform=bb 
--with-xenomai --with-posix

so:
  cd src
  sh autogen.sh
  ./configure --with-platform=bb --with-xenomai --with-posix
  make
  sudo make setuid
  . ../scripts/rip-environment
  linuxcnc


 But being simple I was under the impression that when switching branches, 
 when going back to a successful working branch I would be able to have a 
 working (although not delta kinematic) system again

sure, but you'll have to rebuild

 
 Please pastebin src/config.log which will contain the arguments to 
 ./configure . 
 
 If I do one step back, should I have compiled your branch first? Being 
 spoiled with other OS’es?

well, if you found an OS with telepathic qualities, be sure to share with us, 
we'd be riveted ;)

 
 I can’t copy the contents of the file from vi to pastebin, neither directly 
 via the BBB with netsurf-browser.org nor via the ssh from my Mac.
 I tried gg”*yG and all other variants, vi tells me all files are yanked, but 
 I can not paste anywhere. Another way?

yes, since you obviously can ssh from your Mac, you can also scp a file to your 
Mac.

scp linuxcnc@ip-address-of-beaglebone/linuxcnc/src/config.log config.log

then pastebin from the Mac

but I guess you might want to follow the steps above first

also, if you reporta problem, pastebin the first few lines of 'git log' and the 
contents of /var/log/linuxcnc.log 

- Michael



--
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET,  PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Vismach

2013-12-27 Thread Michael Haberler

Am 27.12.2013 um 23:07 schrieb andy pugh bodge...@gmail.com:

 Felix on the forum has just rather expanded the documentation for Vismach.
 wiki.linuxcnc.org/cgi-bin/wiki.pl?Vismach

great - a pity to see such work rot on the wiki - it should go into the manual!

-m

 
 -- 
 atp
 If you can't fix it, you don't own it.
 http://www.ifixit.com/Manifesto
 
 --
 Rapidly troubleshoot problems before they affect your business. Most IT 
 organizations don't have a clear picture of how application performance 
 affects their revenue. With AppDynamics, you get 100% visibility into your 
 Java,.NET,  PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
 http://pubads.g.doubleclick.net/gampad/clk?id=84349831iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET,  PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


[Emc-users] getting the r8168 to work without a special kernel module

2013-12-19 Thread Michael Haberler

Am 19.12.2013 um 19:58 schrieb Sebastian Kuzminsky s...@highlab.com:

 On 12/19/13 10:16 , Sebastian Kuzminsky wrote:
 On 12/19/13 09:49 , Peter C. Wallace wrote:
 On Thu, 19 Dec 2013, Eric Keller wrote:
 
 Date: Thu, 19 Dec 2013 10:28:48 -0500
 From: Eric Keller keller...@gmail.com
 Reply-To: Enhanced Machine Controller (EMC)
  emc-users@lists.sourceforge.net
 To: Enhanced Machine Controller (EMC) emc-users@lists.sourceforge.net
 Subject: Re: [Emc-users] LinuxCNC on Ubuntu Precise 12.04 with RTAI
 
 On Thu, Dec 19, 2013 at 8:24 AM, Eric Keller eekel...@psu.edu wrote:
 Does this kernel handle the Realtek 8168 problem?
 
 Answering my own question, apparently not.  What has to happen to get
 the xenomai Realtek module build to run on the rtai kernel?
 https://github.com/zultron/kernel-modules-deb
 
 The UB3 Preemt-RT kernel has this issue as well (no 8168 support) which is
 unfortunate since many low cost Motherboards use the 8168/8111 chipset
 
 The RTL 8168 driver is not in Linux 3.4, which is what that RTAI kernel
 is based on.  We'll have to do something like Zultron's external module
 builder.
 
 Michael suggested on IRC to try this workaround, using the r8169 driver 
 that's standard in all these kernels:
 
 https://enc.com.au/2013/10/16/damn-you-unworking-r8168/#comment-2380


I just tried on wheezy with a pristine rt-preempt kernel (no ubuntuifications 
or somesuch) and it seems to work, so it's likely to work for other kernels too!

it does need the non-free firmware-realtek package installed

(in case non-free isnt in /etc/apt/sources.list - mine now looks so):
deb http://ftp.tu-graz.ac.at/mirror/debian/ wheezy main non-free
 needed to add 
this

apt-get update
apt-get install firmware-realtek

I removed /etc/modprobe.d/blacklist-r8169.conf and added 
/etc/modprobe.d/damn-realtek-firmware.conf as per the above link:

# r8169 driver causes periodic disconnection, supposedly this fixes it
options r8169 use_dac=1 debug=8

reboot, network works without a sepcial driver

-Michael

 
 
 -- 
 Sebastian Kuzminsky
 
 --
 Rapidly troubleshoot problems before they affect your business. Most IT 
 organizations don't have a clear picture of how application performance 
 affects their revenue. With AppDynamics, you get 100% visibility into your 
 Java,.NET,  PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
 http://pubads.g.doubleclick.net/gampad/clk?id=84349831iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET,  PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] INI Tricks

2013-12-02 Thread Michael Haberler

Am 02.12.2013 um 15:42 schrieb andy pugh bodge...@gmail.com:

 On 2 December 2013 13:23, Charles Steinkuehler char...@steinkuehler.net 
 wrote:
 
 Perhaps with the hacking taking place on motion and the path planner and
 whatnot, these can migrate to HAL where it seems like they belong.
 
 Doing that will break every single existing configuration. (Unless the
 new HAL pins take the rather unusual step of initialising themselves
 from the INI file, if the entry exists)

yes, but automatic migration is possible:

parse the config values out of the ini file, create a .hal fragment using these 
values to init pin values, and add that to HALFILES=.. after the .hal file 
which loads  motmod

-m

 
 -- 
 atp
 If you can't fix it, you don't own it.
 http://www.ifixit.com/Manifesto
 
 --
 Rapidly troubleshoot problems before they affect your business. Most IT 
 organizations don't have a clear picture of how application performance 
 affects their revenue. With AppDynamics, you get 100% visibility into your 
 Java,.NET,  PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
 http://pubads.g.doubleclick.net/gampad/clk?id=84349351iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET,  PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349351iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] OT (very much indeed): German titles

2013-11-18 Thread Michael Haberler

Am 18.11.2013 um 14:47 schrieb Sven Wesley svenne.d...@gmail.com:

 Um meine deutschen Freunde...
 
 My wife is a doctor in medicine. That makes her Dr. Wesley.
 I've heard, that if I am in Germany I would then be Frau Dr. Wesley.
 Is this just a funny rumor or is it actually correct?

pretty close. 

Your might inherit your wife's title; but your gender will remain - you might 
wind up as Herr Doktor Wesley.

This does happen - even in my family, so there's something to it.

My brother did a master in pharmacy, but was married to a doctor of medicine. 
He did acquire the Herr Doktor as far as our employees go; nevermind he 'did 
his PhD thesis at the altar'. 

I actually did a PhD thesis and hence didnt acquire my doctorate by osmosis as 
he did; nevertheless - being a bit more on the communicative side - I go as 
Herr Michael. It's pointless to hint at the little difference - that title 
sticks with my brother.

- Michael



 
 /Sven
 --
 DreamFactory - Open Source REST  JSON Services for HTML5  Native Apps
 OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access
 Free app hosting. Or install the open source package on any LAMP server.
 Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native!
 http://pubads.g.doubleclick.net/gampad/clk?id=63469471iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
DreamFactory - Open Source REST  JSON Services for HTML5  Native Apps
OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access
Free app hosting. Or install the open source package on any LAMP server.
Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native!
http://pubads.g.doubleclick.net/gampad/clk?id=63469471iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] LinuxCNC on a Freescale ARM9-based board

2013-11-16 Thread Michael Haberler
Hi Paul,


Am 16.11.2013 um 16:03 schrieb Паша Сечко bronetemkinpono...@gmail.com:

 Hello, I've managed to run LinuxCNC on a Freescale i.MX6 board with a
 custom Xenomai kernel and rootfs from Raspbian. Long story short, I want to
 configure outputs to try to wiggle a GPIO pin on my board through a
 LinuxCNC interface (mini-interface seems to be working), and stepconf seems
 to be able to configure only the pins of an LTP. So, is there any way to
 use GPIO as an output for a LinuxCNC machine?


interesting - tell us more about the kernel and what was involved in getting it 
to run, versions etc - the full debrief, you know ;)

---

stepconf mostly deals with PC type hardware, I'm not aware of any attempts to 
support other platforms like ARM boards with GPIO's; so it's back to INI + .hal 
file editing 

re wiggling GPIO pins - see the 
https://github.com/mhaberler/linuxcnc/tree/unified-build-candidate-3/src/hal/drivers
 directory for a start:

hal_gpio.c is for a Raspberry
hal_bb_gpio.c is for a Beaglebone

I think all you have to do is figure the memory addresses for the pin 
registers, and maybe get the pin multiplexing properly set up 

note this conflicts with existing GPIO kernel drivers if you operate on pins 
already claimed by the driver; existing drivers which might be based on 
/sysfs/gpio something arent much help since doing I/O on them in a realtime 
thread is unlikely to work well (i.e. not at all with Xenomai and slow with 
RT-PREEMPT kernels)

- Michael


 
 -- 
 sincerely, Paul
 --
 DreamFactory - Open Source REST  JSON Services for HTML5  Native Apps
 OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access
 Free app hosting. Or install the open source package on any LAMP server.
 Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native!
 http://pubads.g.doubleclick.net/gampad/clk?id=63469471iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
DreamFactory - Open Source REST  JSON Services for HTML5  Native Apps
OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access
Free app hosting. Or install the open source package on any LAMP server.
Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native!
http://pubads.g.doubleclick.net/gampad/clk?id=63469471iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] beaglebone black capeless CNC configuration

2013-11-14 Thread Michael Haberler

Am 14.11.2013 um 16:03 schrieb Maximiliano Fermín Córdoba 
m.f.cordoba...@gmail.com:

 Hi
 
 I´ve made another test, setting feedrate at 5000 mm/min, in my case should

---^ you are obviously running a G-code 
program then?

 give me a 41,6khz step rate,, but when I  measured it whit the scope, I´m
 seeing a lot of jitter in the steps.
 
 I´ve seen a picture of the performance of the PRU with perfect results at
 4 hz, so I thought I should point this out.

what are you trying to find out? 

if you want to find out about the PRU stepgen signal quality, then you should 
set it up with HAL to run at fixed speed

if you are testing via a G-code program, this means jitter by the operating 
system modulates the commanded position of motion and hence the input of 
stepgen, in which case you are looking at motion signal quality, not stepgen 
performance


- Michael

 
 Thanks everybody
 
 Maxi
 
 
 
 
 
 2013/11/14 Maximiliano Fermín Córdoba m.f.cordoba...@gmail.com
 
 HI
 
 I´m trying to modify the BeBoPr-Bridge.ini file, but I get stuck when I
 saw that the steps timing config was already OK for me. (I need pulses of
 1useg and 1useg minimum distance between each other)
 
 The thing is that I´m seeing step pulses of 10usec width, but the config
 is set to 1useg ([...] STEPLEN 1000 in nanoseconds [...]).
 
 Is this an issue of the minimum step pulse possible ?
 
 Also, an error come out saying : hpg: stepgen.00.maxvel is too big for
 current step timings  position-scale, clipping to max possible. Has this
 something to do with my issue?
 
 
 Thanks to all of you
 
 
 
 
 
 
 2013/11/13 Charles Steinkuehler char...@steinkuehler.net
 
 On 11/13/13 20:01, Jeff Pollard wrote:
 Hi,
 
 I never found a GUI editor available on the BBB Machinekit system
 through the desktop (doesn't mean it's not there somewhere).  I
 installed 'gedit' once, but later my system started getting realtime
 delay errors popping up in Axis.  I'm not sure if gedit itself caused
 the problem, but it started right after I installed it.
 
 Yeah, there might not be one.  By default, I install the bare minimum to
 get LinuxCNC up and running (I don't even install vim, just the plain vi
 pulled in by the default Debian install).t  I figured there might be
 something in the file browser or elsewhere, but it wouldn't shock me if
 there's not.
 
 I'll have to see if I can find a light-weight editor to add to the
 package list...
 
 --
 Charles
 
 
 --
 DreamFactory - Open Source REST  JSON Services for HTML5  Native Apps
 OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access
 Free app hosting. Or install the open source package on any LAMP server.
 Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native!
 
 http://pubads.g.doubleclick.net/gampad/clk?id=63469471iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users
 
 
 
 --
 DreamFactory - Open Source REST  JSON Services for HTML5  Native Apps
 OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access
 Free app hosting. Or install the open source package on any LAMP server.
 Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native!
 http://pubads.g.doubleclick.net/gampad/clk?id=63469471iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
DreamFactory - Open Source REST  JSON Services for HTML5  Native Apps
OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access
Free app hosting. Or install the open source package on any LAMP server.
Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native!
http://pubads.g.doubleclick.net/gampad/clk?id=63469471iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] beaglebone black capeless CNC configuration

2013-11-14 Thread Michael Haberler

Am 14.11.2013 um 21:10 schrieb Maximiliano Fermín Córdoba 
m.f.cordoba...@gmail.com:

 My main goal is to test the beaglebone with linuxcnc in the worst escenario
 so as to decide if it is capable of managing the whole system operation.
 Maybe the best option is to use an external stepgenerator and use the 'bone
 only for the graphical interface and the gcode interpreter. Something like
 sending through spi (or something like that) the actual movement and the
 external embedded system drive the steppers.

That would be solving the wrong problem IMO. 

Timing with the PRU code is not an issue, as is main CPU load wrt stepgen, and 
things likely will get worse if you shift to something like the picnc which was 
done only because the Raspberry just doesnt have the bang to do software 
stepping.

You might break even again if you do something in the Mesanet card league - 
FPGA's doing the heavy lifting; which is a bit the tail wagging the dog right 
now.

I think the only relevant parameter here is if the jitter (50-70uS on 
Xenomai/Beaglebone) has any impact on position accuracy. I think its rather 
irrelevant for stepper systems at least. 

But do the math yourself - look at pages 20ff of 
http://static.mah.priv.at/public/portable-realtime-API-talk/osadl-rtapi.pdf and 
see what this means for the speeds you are looking at.

--

I think overall we're heading in a different direction - (at least my) plan is 
to separate UI- and non-RT related tasks from the RT environment and link those 
over network, and this effort is making good progress. I think we'll have 
something to show end of the year and something testable in Q1. 

For now you might want to take a lower-overhead UI than Axis which might go a 
long way. Hopefully we get OpenGL hardware support going, that's being worked 
on and might bring some relief.

 So my actual drivers are driven with 2usec pulses and I was willing to
 generate reliable signals with a max frecuency of 50k. If the jitter is
 like the one Im facing now its useless.

I think Peter explained this already - stepgens work as discrete frequency 
generators, not continuous, and you will see discontinuities with pretty much 
any implementation of this sort, so this is systematic and not an implemtation 
artefact

not sure a scope image is a solid foundation to declare this method useless

- Michael

 
 I would really appreciatte your guidance in configuring properly my system.
 
 Thanks
 
 Maxi
 --
 Charles Steinkuehler
 char...@steinkuehler.net
 
 
 --
 DreamFactory - Open Source REST  JSON Services for HTML5  Native Apps
 OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access
 Free app hosting. Or install the open source package on any LAMP server.
 Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native!
 
 http://pubads.g.doubleclick.net/gampad/clk?id=63469471iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users
 --
 DreamFactory - Open Source REST  JSON Services for HTML5  Native Apps
 OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access
 Free app hosting. Or install the open source package on any LAMP server.
 Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native!
 http://pubads.g.doubleclick.net/gampad/clk?id=63469471iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
DreamFactory - Open Source REST  JSON Services for HTML5  Native Apps
OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access
Free app hosting. Or install the open source package on any LAMP server.
Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native!
http://pubads.g.doubleclick.net/gampad/clk?id=63469471iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] USB Camera for edge finder?

2013-11-12 Thread Michael Haberler

Am 12.11.2013 um 20:10 schrieb kqt4a...@gmail.com:

 On Tue, 12 Nov 2013, Gene Heskett wrote:
 
 On Tuesday 12 November 2013 12:24:10 kqt4a...@gmail.com did opine:
 
 On Fri, 8 Nov 2013, David Armstrong wrote:
 On 08/11/13 19:13, Gene Heskett wrote:
 On Friday 08 November 2013 14:11:19 David Armstrong did opine:
 And it did NOT install convert_crop.so when I did the make install.
 And since its been a decade since I actually carved new C code, I'm
 not sure I am up to cleaning up this mess.  convert_crop.c did not
 throw any errors, but I can sure see why it can go out to lala-land
  freeze.  So I think I'll print this and take it from the top
 with grep.
 
 Cheers, Gene
 
 Gene,
 make sure your git branch is master and not Upstream or something
 similar builds fine here with no warnings or errors
 
 git branch? Don't recall seeing it. I got a tarball of 0.0.37.  Where
 is the git?
 
 Thanks David.
 
 Cheers, Gene
 
 i presume your looking for camunits git , here it is .
 
 git://psha.org.ru/psha/camunits.git
 
 I am running out of patience with git, and with firefox, both of which
 worked a few months ago, and neither has been updated/modified (that I know
 of) since.
 
 But this command line, applied to either the firefox address box or a bash
 shell, fails instantly.  Firefox suddenly has no knowledge of git as a
 protocol, and when applied via a terminal session, does not even exit the
 ethernet port for a dns lookup.  I get this return:
 
 gene@shop:~/linuxcnc$ git://psha.org.ru/psha/camunits.git
 -bash: git://psha.org.ru/psha/camunits.git: No such file or directory
 
 I have looked thru all the plugins for firefox looking for a git helper
 without any success.
 
 git-core at least is installed on every machine.
 
 Ideas to try gleefully accepted at this point.
 
 Finally made it do something here:
 
 gene@coyote:~/linuxcnc$ git clone git://psha.org.ru/psha/camunits.git
 Initialized empty Git repository in /home/gene/linuxcnc/camunits/.git/
 remote: Counting objects: 2697, done.
 remote: Compressing objects: 100% (922/922), done.
 remote: Total 2697 (delta 1849), reused 2479 (delta 1709)
 Receiving objects: 100% (2697/2697), 1.37 MiB | 553 KiB/s, done.
 Resolving deltas: 100% (1849/1849), done.
 
 But that wasn't more than 5 seconds elapsed time, go see what I have.
 Looks half complete, copy to target machine over nfs share.  No configure
 script, ran automake, it barfs of course, ran autoconf which also barfs.
 
 I have now reinstalled m4 and autoconf, autoconf runs but exits with some
 unknown macros errors:
 configure.ac:3: error: possibly undefined macro: AM_CONFIG_HEADER
 If this token and others are legitimate, please use m4_pattern_allow.
 See the Autoconf documentation.
 configure.ac:5: error: possibly undefined macro: AM_INIT_AUTOMAKE
 configure.ac:18: error: possibly undefined macro: AM_PATH_GLIB_2_0
 configure.ac:19: error: possibly undefined macro: AM_PATH_GTK_2_0
 configure.ac:27: error: possibly undefined macro: AM_CONDITIONAL
 configure.ac:37: error: possibly undefined macro: AC_MSG_WARN
 configure.ac:101: error: possibly undefined macro: AM_DISABLE_STATIC
 configure.ac:102: error: possibly undefined macro: AM_PROG_LIBTOOL
 configure.ac:113: error: possibly undefined macro: AM_GNU_GETTEXT
 configure.ac:114: error: possibly undefined macro: AM_GNU_GETTEXT_VERSION
 con./configure: line 1790: syntax error near unexpected token `config.h'
 
 
 But does leave a 'configure' which also bails out:
 
 ./configure: line 1790: syntax error near unexpected token `config.h'
 ./configure: line 1790: `AM_CONFIG_HEADER(config.h)'
 
 I have blown that away and re copied what git downloaded, and have this
 list of files:
 
 gene@shop:~/linuxcnc/camunits$ ls -l
 total 176
 -rw-r--r-- 1 gene gene62 2013-11-12 12:47 AUTHORS
 -rwxr-xr-x 1 gene gene   337 2013-11-12 12:47 bootstrap.sh
 drwxr-xr-x 2 gene gene  4096 2013-11-12 12:47 camlog
 drwxr-xr-x 2 gene gene  4096 2013-11-12 12:47 camunits
 drwxr-xr-x 3 gene gene  4096 2013-11-12 12:47 camunits-gtk
 -rw-r--r-- 1 gene gene  1356 2013-11-12 12:47 camunits.spec.in
 drwxr-xr-x 2 gene gene  4096 2013-11-12 12:47 camview
 -rw-r--r-- 1 gene gene 57618 2013-11-12 12:47 ChangeLog
 -rw-r--r-- 1 gene gene  6596 2013-11-12 12:47 configure.ac
 -rw-r--r-- 1 gene gene 26436 2013-11-12 12:47 COPYING
 drwxr-xr-x 5 gene gene  4096 2013-11-12 12:47 docs
 drwxr-xr-x 5 gene gene  4096 2013-11-12 12:47 examples
 -rw-r--r-- 1 gene gene  9416 2013-11-12 12:47 INSTALL
 drwxr-xr-x 2 gene gene  4096 2013-11-12 12:47 m4
 drwxr-xr-x 2 gene gene  4096 2013-11-12 12:47 m4macros
 -rw-r--r-- 1 gene gene   181 2013-11-12 12:47 Makefile.am
 -rw-r--r-- 1 gene gene  6704 2013-11-12 12:47 NEWS
 drwxr-xr-x 7 gene gene  4096 2013-11-12 12:47 plugins
 drwxr-xr-x 2 gene gene  4096 2013-11-12 12:47 po
 -rw-r--r-- 1 gene gene   306 2013-11-12 12:47 README
 
 
 
 I grabbed a copy of camunits from git. Had to create a few files
 
 So, I'll do this to the recopied tree next
 
 touch 

Re: [Emc-users] USB Camera for edge finder?

2013-11-12 Thread Michael Haberler
 
 The file exist
 $ ls -l /usr/include/libv4l2.h
 -rw-r--r-- 1 root root 4679 Nov 17  2009 /usr/include/libv4l2.h
 
 
 Go figure.

I just tried on a 10.04 (I did this before, so I have the prerequisite packages 
installed):

git clone git://psha.org.ru/psha/camunits.git

cd camunits/
./bootstrap.sh  # failed. had to install gtkdocize:
apt-file search gtkdocize
sudo apt-get install gtk-doc-tools
./bootstrap.sh 
./configure 
make # works fine


-m


 
 Richard
 
 --
 DreamFactory - Open Source REST  JSON Services for HTML5  Native Apps
 OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access
 Free app hosting. Or install the open source package on any LAMP server.
 Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native!
 http://pubads.g.doubleclick.net/gampad/clk?id=63469471iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
DreamFactory - Open Source REST  JSON Services for HTML5  Native Apps
OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access
Free app hosting. Or install the open source package on any LAMP server.
Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native!
http://pubads.g.doubleclick.net/gampad/clk?id=63469471iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Linuxcncrsh with MachineKit+BeBoPr+BBB

2013-10-15 Thread Michael Haberler

Am 15.10.2013 um 05:25 schrieb Walter Cigana walter.cig...@gmail.com:

 Hi all,
 
 I have been investigating using the MachineKit+BeBoPr+BBB to run linuxcnc
 to control a machine we've setup.  That seems all possible and fine.
 
 I would however like to control this machine from another BBB, so I would
 like to run linuxcncrsh on one BBB and feed it commands from another BBB.
 
 I was wondering if anyone has gotten (or tried to get) linuxcncrsh working
 on a BBB with the Machinekit package.  Is this even possible?

possible: yes
working on it: yes
amount of work: lots

I still do expect to reach a milestone end of this year which will be: able to 
run Axis and task on a different host than the realtime environment (motion, 
HAL etc) while supporting HAL access in the UI's
in terms of tangible results which can be evaluated I would look at in/towards 
end of Q1 2014

- Michael

 
 Alternatively, does anyone see another option?
 
 Thanks!
 Walter Cigana
 --
 October Webinars: Code for Performance
 Free Intel webinars can help you accelerate application performance.
 Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
 the latest Intel processors and coprocessors. See abstracts and register 
 http://pubads.g.doubleclick.net/gampad/clk?id=60135031iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60135031iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Is LinuxCNC right for me? Basic questions.

2013-10-11 Thread Michael Haberler

Am 11.10.2013 um 23:32 schrieb Frank Tkalcevic fr...@franksworkshop.com.au:

 First, is there a way to remotely control LinuxCNC and get feedback from
 it to my UI?
 
 As you said, there is linuxcncrsh.  I use it to monitor the status of my
 machines (C# windows app).  
 
 Also, linuxcnc uses NML for interprocess communication.  This is supposed to
 work between machines just by setting up the correct linuxcnc.nml file, but
 I've never tried it.  Theoretically, you can move the gui to another machine
 just by changing this setting, but unfortunately most gui apps require
 access to the local configuration files.

the showstopper really is that many GUIs require HAL access, and that implies 
'GUI must run on same CPU as realtime' because it HAL access requires shared 
memory with the realtime environment

meaning: you could get NML to work remotely, or replicate ini files, but it 
wont help with most GUI's

- Michael


 Second, I have seen posts mentioning modBus is available with LinuxCNC and
 others saying it isn't.  Which one is it?
 
 I don't think there is a Modbus module, but as others have mentioned,
 classic ladder uses Modbus, and there are several inverter
 controllers/spindle controllers that use Modbus to communicate.  I think
 they are built using libmodbus.
 
 Frank
 
 
 --
 October Webinars: Code for Performance
 Free Intel webinars can help you accelerate application performance.
 Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
 the latest Intel processors and coprocessors. See abstracts and register 
 http://pubads.g.doubleclick.net/gampad/clk?id=60134071iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134071iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


[Emc-users] alternative approach to jog while paused/configurable behaviour

2013-10-10 Thread Michael Haberler
we had a long discussion on IRC yesterday on this theme

the gist was that accretion of possibly surprising features with limited 
applicability in motion is undesirable
the state machine and offset pin approach I proposed yesterday are such a case 
of feature accretion

the way out was suggested by Andy, which opens the path to programmable 
behavior at the UI level with minimal motion changes (pretty much as the code 
stands).

the key observations (and I hadnt thought of this admittedly) are:

- it is possible to track the state of activity during jog-while paused in a UI 
or custom program *)
- during pause now jog commands can be issued from a UI or that custom program 
as well; that was not possible before
- meaning it is now possible to activate an optional, customizable UI function 
on pause, and do any of the following:

1. record positions - initial pause positions, and any further jog locations
2. as alternative to a direct reentry move from a offset location, previous jog 
locations can be selected as 'goto', or replayed in reverse order

doing this in say Python in the UI not only adds flexibility, it does not 
burden motion complexity with extra states and moves. If one absolutely has to 
do an automatic move on pause, that is possible in the same scheme, but motion 
changes are not needed.

I would think that gives the best feature mix: keyboard jog can be done pretty 
much now, whereas more complex setups like record/replay are possible without 
involving fiddling with motion internals, just plain Python is enough. I would 
actually think this also works with wheel jogs just the same once that is added.

- Michael


*) Python example and program output to track jog positions during pause (not 
necessary to understand in detail - just to show it isnt all that complicated):

import time
import sys
import linuxcnc

s = linuxcnc.stat()
s.poll()
previous_state = s.pause_state

names = (RUNNING, PAUSING, PAUSED, PAUSED_IN_OFFSET, JOGGING, 
JOG_ABORTING, RETURNING, PAUSING_FOR_STEP)

while True:
s.poll() # get current status values

# detect changes in s.pause_state
if s.pause_state !=  previous_state:
print names[previous_state], -,names[s.pause_state]

if s.pause_state == linuxcnc.PAUSED:
print stopped at initial pause position:, s.actual_position

if s.pause_state == linuxcnc.PAUSED_IN_OFFSET:
print stopped at offset:, s.actual_position

previous_state = s.pause_state

time.sleep(0.2)

---

Example run:


Running this in parallel with Axis produces this (# = my remarks):

# reaction to pause button
RUNNING - PAUSED

# motion has stopped, program detects that and displays initial pause position:
stopped at initial pause position: (-3.8268308818897636, 0.019685039370078188, 
-10.157954787401579, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)

# incremental jog 0.1in on X axis via keyboard:
PAUSED - JOGGING

# motion has stopped, we're not at initial pause position anymore:
JOGGING - PAUSED_IN_OFFSET
stopped at offset: (-3.7268308818897635, 0.019685039370078369, 
-10.157954787401579, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)

# incremental jog 0.1in on Z axis via keyboard:
PAUSED_IN_OFFSET - JOGGING

# jog stopped:
JOGGING - PAUSED_IN_OFFSET
stopped at offset: (-3.7268308818898732, 0.019685039370109226, 
-10.05795548036826, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)

# resume hit - automatic return to initial pause position begins:
PAUSED_IN_OFFSET - RETURNING

# arrived at initial pause position - program execution resumes:
RETURNING - RUNNING



--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134071iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Yet another board possibly suitable for LCNC.

2013-10-10 Thread Michael Haberler

Am 11.10.2013 um 05:29 schrieb Przemek Klosowski przemek.klosow...@gmail.com:

 Their FAQ ( http://www.intel.com/support/galileo/faq.htm ) has this
 dispiriting news:
 
 What is the maximum rate at which GPIO output pins can be updated?
 
 The GPIO output pins on Intel® Galileo are provided by an I2C Port
 Expander that is running at standard mode (100 kHz). Each I2C request
 to update a GPIO requires approximately 2ms. In addition to software
 overhead, this restricts the frequency achievable on the GPIO outputs
 to approximately 230 Hz.
 
 This is significantly slower than the BBB PRU GPIO  :(


well, thats just a mere 5 orders of magnitude off

Besides price and degree of 'new' it helps to consider where the manufacturers 
are coming from

TI gave up on mobile and focuses on industrial control, and it shows

Intel: Wintel/PC's: dying. Server CPU's: great margin, but Arm64 eating their 
lunch. Low Power: lamer products. Mobile: a nobody. Embedded: a nobody. 
Salesforce: spoiled by margins/device.
They have their shareholders breathing down their neck to make a showing, *any 
showing* in embedded land.

What you are seeing here is the result of desparately trying to make that 
showing by slapping together whatever they found in the drawer

That shows too - it's a rude joke for realtime control; it will make a great 
heater control though. Or run the garden sprinkler HAL application.

-m


 I imagine this will probably be mitigated by parallel port- or
 PCI-connected FPGA boards, but still...
 
 On Fri, Oct 4, 2013 at 7:03 PM, Gregg Eshelman g_ala...@yahoo.com wrote:
 The Intel Galileo, with Mini PCIe slot and Arduino shield pin headers.
 400Mhz Quark SoC with 256MB RAM etc. Programmable with the standard
 Arduino IDE, is running Yocto Linux so that should be changeable.
 
 http://hackaday.com/2013/10/03/the-intel-powered-arduino/
 
 --
 October Webinars: Code for Performance
 Free Intel webinars can help you accelerate application performance.
 Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
 the latest Intel processors and coprocessors. See abstracts and register 
 http://pubads.g.doubleclick.net/gampad/clk?id=60134791iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users
 
 --
 October Webinars: Code for Performance
 Free Intel webinars can help you accelerate application performance.
 Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
 the latest Intel processors and coprocessors. See abstracts and register 
 http://pubads.g.doubleclick.net/gampad/clk?id=60134071iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134071iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] JogWhilePaused Proposal

2013-10-09 Thread Michael Haberler

Am 08.10.2013 um 12:41 schrieb Michael Haberler mai...@mah.priv.at:

 
 Am 08.10.2013 um 09:07 schrieb Steve Blackmore st...@pilotltd.net:
 
 On Mon, 7 Oct 2013 11:19:39 +0200, you wrote:
 
 
 
 Reminds me - must be able to toggle spindle off/on during pause.
 
 thats a good point, that would likely also suggest at-speed before reentry 
 if the spindle is turned on
 
 if we use the offset pose scheme this is how it could work for resume:
 
 honor NML spindle commands
 if the resume offset pose is zero:
 wait for at-speed before starting reentry move
 else:
 move to resume pose
 wait for at-speed at resume pose
 start reentry move
 
 sounds right?
 
 Sounds OK to me - oops - also needs same for coolant.
 
 folks - please think through all features which need to work during pause, 
 and post what you need. 
 
 So far I have spindle, mist, flood. I'd rather do this once only, not 
 piecemeal.

The LinuxCNC Code Forensics Dept has determined there is nothing to do (for me) 
- NML spindle, flood and mist commands are perfectly honored during pause.

All that is left is beating the UI's into submission ;)

- Michael



--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134071iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


[Emc-users] JogWhilePaused Proposal - please review planned sequencing

2013-10-09 Thread Michael Haberler
please think through if this sequence sounds generally applicable, and consider 
my questions below.

the current flow I am thinking of is this: 

pause sequence:
-
if running, and pause command is issued:
   save the position where pause was detected as initial-pause-position ('IPP')
   if the pause-offset 1) is non-zero:
jog to that offset, using a jog-velocity pin 2)
stop motion once there
   else
just stop motion

... jogging around...

resume sequence:

if at the inital pause position:
   wait for at-speed
   resume motion
else # in some offset
   if the pause-offset is non-zero and not currently at the offset position:
  issue a jog move to the pause offset at jog velocity 2)
  once arrived, wait for spindle at-speed 3)
  issue the reentry move to the IPP at jog velocity 2)
   else
  # we are already at the offset position
  wait for spindle at-speed
  issue the reentry move to the IPP at jog velocity 2)

if arrived at IPP:
   resume primary motion queue, program continues.
 
During the all pause states (except normal state - program running, not paused) 
coolant and spindle NML commands will be honored.

--
1) defined by a set of motion.pause-offset-x/y/z etc pins

2) currently NML jog commands needing velocity carry it as a parameter; afaict 
there is no concept of 'current jog speed' in motion without a jog command 
issued. But this move happens without an NML command conveying values, so 
motion has no idea what the 'current jog speed' is. Short term fix: use a pin 
motion.offset-jog-speed which applies to the initial offset move, and the 
reentry move. Better long-term solution: make motion remember whatever is 
'current jog speed', e.g. by issuing an EMC_JOG_SPEED command at startup and 
jog speed change in a UI.

3) doing it in this order (start jog, wait for at-speed when done) enables 
overlapped spin up and move to the offset position by issuing spindle on, then 
resume



Question 1: is there any use case for the offset used while pausing, and while 
returning _to be different_?

   this would suggest two sets of HAL pins, pause-offset-x etc and 
return-offset-x etc. Note either of those being zero would avoid the predefined 
move-on-pause
   and move-on-return respectively. 
   Having one set of pins implies that both moves will always be issued if 
non-zero. The alternative is some mode pin which states which of the
   moves (on-pause, on-return, or both) is to use the pause offset (less 
elegant, less pins).

Question 2: is there any scenario where the wait-for-at-speed needs to be 
skipped?
   (note motion.at-speed can be faked by external HAL logic if needed).

Question 3: coolant, spindle, keyboard jog (+ eventually wheel jog): anything 
to be added to the shopping list?

Question 4: is a separate HAL pin for the on-pause/on-return speed acceptable 
for the first round?

Question 5: any possible interactions with other commands/modes which could be 
an issue?


this is a nontrivial change, so I would prefer the change is specified, 
discussed and understood fully beforehand

I attach the description of the various states the pause handling goes through 
which might help to clarify operation a bit


thanks,
- Michael

-
// the states of the pause finite state machine
// current state is exported as 'motion.pause-state'
enum pause_state { 
PS_RUNNING=0,  // aka 'not paused', normal execution

// a pause command was issued and processed by command-handler
// looking for the first pausable motion (e.g. not spindle-synced)
// the current position is recorded in initial_pause_position
PS_PAUSING=1,

// the initial pause offset is non-zero. 
// jog to this offset once a pausable motion has been detected;
// once this jog completes state transitions to PS_PAUSED_IN_OFFSET
PS_JOGGING_TO_PAUSE_OFFSET=2,

// motion stopped, and position is where the pause command was issued
// This state is reached only if pause offset is zero.
// on resume, no further move will be issued
PS_PAUSED=3,   

// motion stopped, and positon is NOT the initial_pause_position
// meaning a reentry sequence is needed before a resume (i.e. switch to the
// primary queue) can be executed
PS_PAUSED_IN_OFFSET=4,

// currently honoring a jog command (incremental or continuous)
// state can be reached only from PS_PAUSED and PS_PAUSED_IN_OFFSET
// a coord mode motion in progress 
// once done, state transitions to PS_PAUSED_IN_OFFSET
// (or - unlikely case: if stopped in inital_pause_position, to PS_PAUSED)
PS_JOGGING=5, 

// a jog abort during jog move was issued. This happens on
// keyboard jog/key release during a continuous jog.
// when the move stops state transitions to PS_PAUSED and 
PS_PAUSED_IN_OFFSET
// depending on stopped position.
PS_JOG_ABORTING=6, 

// state was 

Re: [Emc-users] JogWhilePaused Proposal

2013-10-08 Thread Michael Haberler

Am 08.10.2013 um 09:07 schrieb Steve Blackmore st...@pilotltd.net:

 On Mon, 7 Oct 2013 11:19:39 +0200, you wrote:
 
 
 
 Reminds me - must be able to toggle spindle off/on during pause.
 
 thats a good point, that would likely also suggest at-speed before reentry 
 if the spindle is turned on
 
 if we use the offset pose scheme this is how it could work for resume:
 
 honor NML spindle commands
 if the resume offset pose is zero:
  wait for at-speed before starting reentry move
 else:
  move to resume pose
  wait for at-speed at resume pose
  start reentry move
 
 sounds right?
 
 Sounds OK to me - oops - also needs same for coolant.

folks - please think through all features which need to work during pause, and 
post what you need. 

So far I have spindle, mist, flood. I'd rather do this once only, not piecemeal.



 whatever we decide, the choices will be limited by the 'react to HAL pin' 
 model in the - currently limited - context of actions initiated by motion 
 itself during pause
 a more general solution would be possible if we had a way for say a Python 
 HAL component to issue motion commands
 this would suggest a generalisation of the 'switchable motion queue' 
 concept: on certain actions, say pause, motion switches to a different queue 
 and processes commands from there until a switchback operation is generated
 now commands to this alternate queue could come from a HALcomp - for 
 programmable behavior; or an interpreter - for MDI during pause
 'pause' gets a slightly different meaning: besides 'rest this queue' it also 
 means 'switch to an empty queue until told otherwise'
 the switching operations need thought wrt saving/restoring state
 
 The way M6 is processed (with Les Newell's fix) would be ideal if it
 could be integrated somehow into the pause behaviour.

repeating myself: you _can_ change offsets, for instance by touchoff, on the 
fly during an M6

please give this a try: 
master:configs/sim/remap/manual-toolchange-with-tool-length-switch to see how 
it is done, several people have running configs with manual toolchange and 
automatic tool length measurement based on this code.

I already outlined why Les' fix is so narrow in applicability that it cannot 
serve as the basis for a way forward; great if it works for you


 I guess that Stop, Pause and M6 all have their own unique code and ways
 of handling movement and queues, when in reality M6 is really just a
 pause with a few additional commands?

the key difference between pause/resume and M6 is that the interpreter waits 
for an M6 to complete before proceeding, and re-reads offsets when then M6 has 
completed. This means that an offset change during an M6 will be honored _right 
after an M6_. This is not the case during pause/resume because the interpreter 
(actually the canon layer) does not get a second chance to consider changed 
offsets. 

I already outlined in my Sept 27 'JogWhilePaused Proposal' what is needed to 
'fix' this, and it aint for the faint of heart. 

- Michael



--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134071iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


[Emc-users] OSADL Project: Real Time Linux Workshops - conference paper on RTAPI/unified build

2013-10-08 Thread Michael Haberler
this year's OSADL conference: https://www.osadl.org/RTLWS-2013.rtlws-2013.0.html

has an entry from LinuxCNC:

  https://www.osadl.org/?id=1752

the final paper is here: http://static.mah.priv.at/public/paper.pdf

program: 
https://www.osadl.org/RTLWS-Submitted-Papers.rtlws15-submitted-papers.0.html

- Michael





--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134071iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] JogWhilePaused Proposal

2013-10-07 Thread Michael Haberler

Am 07.10.2013 um 09:08 schrieb Steve Blackmore st...@pilotltd.net:

 On Sun, 6 Oct 2013 18:10:18 -0400, you wrote:
 
 
 Just keep in mind that for a lathe, Z is not likely to be the
 last move of a restore.
 
 Hi Steve, as you probably know Mach has the option to choose, and to set
 a safe height. Unfortunately any axis chosen may not be the right one
 for that job. I have that automatic move disabled - easier and safer to
 MDI or jog back to a suitable position then resume with a straight move.

using HAL pins for the offset pose on pause and resume brings the (theoretical) 
option to modify the offsets depending on machine state by a HAL comp


 Often I've only moved one axis anyway, most common are X on the lathe or
 Z on the router or mill if clearing swarf. I jog near the work again,
 restart spindle, then press resume.
 
 Reminds me - must be able to toggle spindle off/on during pause.

thats a good point, that would likely also suggest at-speed before reentry if 
the spindle is turned on

if we use the offset pose scheme this is how it could work for resume:

honor NML spindle commands
if the resume offset pose is zero:
   wait for at-speed before starting reentry move
else:
   move to resume pose
   wait for at-speed at resume pose
   start reentry move

sounds right?

-Michael


ps - blue sky:

whatever we decide, the choices will be limited by the 'react to HAL pin' model 
in the - currently limited - context of actions initiated by motion itself 
during pause
a more general solution would be possible if we had a way for say a Python HAL 
component to issue motion commands
this would suggest a generalisation of the 'switchable motion queue' concept: 
on certain actions, say pause, motion switches to a different queue and 
processes commands from there until a switchback operation is generated
now commands to this alternate queue could come from a HALcomp - for 
programmable behavior; or an interpreter - for MDI during pause
'pause' gets a slightly different meaning: besides 'rest this queue' it also 
means 'switch to an empty queue until told otherwise'
the switching operations need thought wrt saving/restoring state




--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134791iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] JogWhilePaused Proposal

2013-10-06 Thread Michael Haberler
Keyboard jogging during pause now works: http://youtu.be/HNuu_D4X_EM

The HAL jogging pins are removed since not needed anymore. Hitting resume 
inserts the return move at the last jog speed.

Integration is pending some work on the underlying joints_axes3 branch. This is 
not in enduser-usable shape, also pending changes to UI's to support 
jog-while-paused.

I will add wheel jogging once this is supported in teleop mode in joints_axes3; 
this is currently missing.

- Michael


Am 26.09.2013 um 23:20 schrieb Michael Haberler mai...@mah.priv.at:

 Marius, Tom -
 
 Am 26.09.2013 um 21:08 schrieb Marius Liebenberg mar...@mastercut.co.za:
 
 TomP
 I second that. I put it on the agenda for the next meeting. I do agree 
 that it is very necessary and not just a nice to have. Damn man even 
 Mach can do it :)
 
 On 2013/09/26 08:10 PM, TJoseph Powderly wrote:
 On 09/26/2013 01:06 PM, TJoseph Powderly wrote:
 Hello,
 Would like to discuss adoption of JogWhilePaused at Next meeting.
 ...
 Thanks
 TomP ( tjtr33)
 More discussion is linked thru GladeVCP Toolchange tag
 
 http://www.linuxcnc.org/index.php/english/forum/48-gladevcp/24816-gladevcp-toolchange-by-michael-h?start=10
 
 regards TomP (tjtr33)
 
 We had a very fruitful discussion on irc just finished, starting around here: 
 http://emc.mah.priv.at/irc/%23linuxcnc-devel/2013-09-26.html#19:13:57
 
 in a nutshell:
 
 - my patch is currently limited in scope, for instance it doesnt integrate 
 with wheel or command jogs at all at the moment
 - some ideas in there might be interesting in exploring further in the future
 - the upcoming merge of the ja3 branch will touch upon that very area
 
 in the interest of delivering tangible results in the 2.6 timeframe, Chris 
 and me agreed to proceed like so:
 
 - rebase this branch onto ja3 while keeping it working
 - integrate with wheel jog so this works during pause (world mode)
 - provide the command infrastructure so commanded jogs from UI's can be 
 honored
 - changing offsets or tool diameter will NOT be part of the release targeted 
 work - this is just too many moving parts to be realistic to expect.
 - changing all UI's to use the new feature may not be realistic to expect 
 either - only few UI's might be adapted until release time.
 
 
 - Michael
 
 
 ps: I was away a few days and am still wading the backlog
 
 --
 October Webinars: Code for Performance
 Free Intel webinars can help you accelerate application performance.
 Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most 
 from
 the latest Intel processors and coprocessors. See abstracts and register 
 http://pubads.g.doubleclick.net/gampad/clk?id=60133471iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users
 
 
 -- 
 Regards / Groete
 
 Marius D. Liebenberg
 MasterCut cc
 Cel: +27 82 698 3251
 Tel: +27 12 743 6064
 Fax: +27 86 551 8029
 Skype: marius_d.liebenberg
 
 
 
 ---
 avast! Antivirus: Outbound message clean.
 Virus Database (VPS): 130926-0, 2013/09/26
 Tested on: 2013/09/26 09:08:41 PM
 avast! - copyright (c) 1988-2013 AVAST Software.
 http://www.avast.com
 
 
 --
 October Webinars: Code for Performance
 Free Intel webinars can help you accelerate application performance.
 Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most 
 from 
 the latest Intel processors and coprocessors. See abstracts and register 
 http://pubads.g.doubleclick.net/gampad/clk?id=60133471iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users
 
 
 --
 October Webinars: Code for Performance
 Free Intel webinars can help you accelerate application performance.
 Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
 the latest Intel processors and coprocessors. See abstracts and register 
 http://pubads.g.doubleclick.net/gampad/clk?id=60133471iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134791iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https

Re: [Emc-users] JogWhilePaused Proposal

2013-10-06 Thread Michael Haberler

Am 06.10.2013 um 23:09 schrieb Ricardo Moscoloni rmoscol...@gmail.com:

 this is great!, could you think adding a pin that defines last
 resuming move along an axis (z on a mill as an examlple), to avoid
 collisions will be useful?
 
 As cartesian as my brain could think, moves will be:
 hit pause
 jog(here you have to avoid collisions!)
 hit resume
 auto move to last x,y
 last approach move along z, if theres any (z is the axis that you
 define previously)
 continue machining fun.

that's an interesting idea

the return move certainly warrants some thinking - just a jog from current to 
the pause position is a bit narrow in application

a generalisation could be this: 

- add a pause and a return offset pose via HAL pins
- transit through these offset positions on pause/resume respectively

your scenario would be covered by setting a resume offset pose with z != 0 
only, and it retains some of the flexibility of the purely HAL-based solutions 
as the offset poses can be modified at runtime
 
I'm open to more flexible ideas

-Michael


 
 many thanks
 Regards
 Rick
 
 
 
 
 2013/10/6 Michael Haberler mai...@mah.priv.at:
 Keyboard jogging during pause now works: http://youtu.be/HNuu_D4X_EM
 
 The HAL jogging pins are removed since not needed anymore. Hitting resume 
 inserts the return move at the last jog speed.
 
 Integration is pending some work on the underlying joints_axes3 branch. This 
 is not in enduser-usable shape, also pending changes to UI's to support 
 jog-while-paused.
 
 I will add wheel jogging once this is supported in teleop mode in 
 joints_axes3; this is currently missing.
 
 - Michael
 
 
 Am 26.09.2013 um 23:20 schrieb Michael Haberler mai...@mah.priv.at:
 
 Marius, Tom -
 
 Am 26.09.2013 um 21:08 schrieb Marius Liebenberg mar...@mastercut.co.za:
 
 TomP
 I second that. I put it on the agenda for the next meeting. I do agree
 that it is very necessary and not just a nice to have. Damn man even
 Mach can do it :)
 
 On 2013/09/26 08:10 PM, TJoseph Powderly wrote:
 On 09/26/2013 01:06 PM, TJoseph Powderly wrote:
 Hello,
 Would like to discuss adoption of JogWhilePaused at Next meeting.
 ...
 Thanks
 TomP ( tjtr33)
 More discussion is linked thru GladeVCP Toolchange tag
 
 http://www.linuxcnc.org/index.php/english/forum/48-gladevcp/24816-gladevcp-toolchange-by-michael-h?start=10
 
 regards TomP (tjtr33)
 
 We had a very fruitful discussion on irc just finished, starting around 
 here: http://emc.mah.priv.at/irc/%23linuxcnc-devel/2013-09-26.html#19:13:57
 
 in a nutshell:
 
 - my patch is currently limited in scope, for instance it doesnt integrate 
 with wheel or command jogs at all at the moment
 - some ideas in there might be interesting in exploring further in the 
 future
 - the upcoming merge of the ja3 branch will touch upon that very area
 
 in the interest of delivering tangible results in the 2.6 timeframe, Chris 
 and me agreed to proceed like so:
 
 - rebase this branch onto ja3 while keeping it working
 - integrate with wheel jog so this works during pause (world mode)
 - provide the command infrastructure so commanded jogs from UI's can be 
 honored
 - changing offsets or tool diameter will NOT be part of the release 
 targeted work - this is just too many moving parts to be realistic to 
 expect.
 - changing all UI's to use the new feature may not be realistic to expect 
 either - only few UI's might be adapted until release time.
 
 
 - Michael
 
 
 ps: I was away a few days and am still wading the backlog
 
 --
 October Webinars: Code for Performance
 Free Intel webinars can help you accelerate application performance.
 Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most 
 from
 the latest Intel processors and coprocessors. See abstracts and register 
 http://pubads.g.doubleclick.net/gampad/clk?id=60133471iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users
 
 
 --
 Regards / Groete
 
 Marius D. Liebenberg
 MasterCut cc
 Cel: +27 82 698 3251
 Tel: +27 12 743 6064
 Fax: +27 86 551 8029
 Skype: marius_d.liebenberg
 
 
 
 ---
 avast! Antivirus: Outbound message clean.
 Virus Database (VPS): 130926-0, 2013/09/26
 Tested on: 2013/09/26 09:08:41 PM
 avast! - copyright (c) 1988-2013 AVAST Software.
 http://www.avast.com
 
 
 --
 October Webinars: Code for Performance
 Free Intel webinars can help you accelerate application performance.
 Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most 
 from
 the latest Intel processors and coprocessors. See abstracts and register 
 http://pubads.g.doubleclick.net/gampad/clk?id=60133471iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https

Re: [Emc-users] JogWhilePaused Proposal

2013-10-06 Thread Michael Haberler

Am 07.10.2013 um 00:10 schrieb Steve Stallings steve...@newsguy.com:

 
 Am 06.10.2013 um 23:09 schrieb Ricardo Moscoloni 
 rmoscol...@gmail.com:
 
 this is great!, could you think adding a pin that defines last
 resuming move along an axis (z on a mill as an examlple), to avoid
 collisions will be useful?
 
 As cartesian as my brain could think, moves will be:
 hit pause
 jog(here you have to avoid collisions!)
 hit resume
 auto move to last x,y
 last approach move along z, if theres any (z is the axis that you
 define previously)
 continue machining fun.
 
 that's an interesting idea
 
 the return move certainly warrants some thinking - just a jog 
 from current to the pause position is a bit narrow in application
 
 a generalisation could be this: 
 
 - add a pause and a return offset pose via HAL pins
 - transit through these offset positions on pause/resume respectively
 
 your scenario would be covered by setting a resume offset 
 pose with z != 0 only, and it retains some of the flexibility 
 of the purely HAL-based solutions as the offset poses can be 
 modified at runtime
 
 I'm open to more flexible ideas
 
 -Michael
 
 
 Just keep in mind that for a lathe, Z is not likely to be the
 last move of a restore.


well since it's a pose offset, any axis could be the last move (or first for 
the pause initial move)

-m


--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134791iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] JogWhilePaused Proposal

2013-09-27 Thread Michael Haberler

Am 27.09.2013 um 06:37 schrieb Chris Morley chrisinnana...@hotmail.com:

 
 
 From: mai...@mah.priv.at
 Date: Fri, 27 Sep 2013 02:16:56 +0200
 To: st...@pilotltd.net; emc-users@lists.sourceforge.net
 Subject: Re: [Emc-users] JogWhilePaused Proposal
 
 
 Am 27.09.2013 um 00:57 schrieb Steve Blackmore st...@pilotltd.net:
 
 On Thu, 26 Sep 2013 23:20:43 +0200, you wrote:
 
 
 - changing offsets or tool diameter will NOT be part of the release 
 targeted work - this is just too many moving parts to be realistic to 
 expect.
 - changing all UI's to use the new feature may not be realistic to expect 
 either - only few UI's might be adapted until release time.
 
 Changing offsets is available with Les Newell's patch for toolchange.
 Has that been integrated yet? 
 
 Is this something we can include in the release as well?
 IIRC i'ts just a modified tool change component that is stand alone.

I dont see a reason why not; actually I have used the trick in a custom 
gladevcp panel, so it isnt limited to a separate process

however I would like to see an example config, and a minimum manpage or readme 
with a big fat explanation what it can deal with, and what not - just so 
expectations dont go overboard - AFAICT that means: only linear programs 
without control structures, input reads, and probe operations

 
 There's quite a large span between things which are desirable and things 
 which are doable in the current framework - also note we are addressing a 
 short-term goal and a a starting point here which was requested by users.
 
 Fix that and the broken CV and the numbers of users might increase
 some...
 
 I am rather sure this kind of problem isnt amenable to what you call a 'fix'.
 
 
 But AIUI this is being considered in a longer term goal?

well I dont like arbitrary limitations, in particular the 'this cannot be done 
at all' variety, so yes ;)

 I have been looking at the TP as I am curious if I could mange work here,
 but wow it is a deep hole to jump in without a map :)

here's the 'fix' outline (minimum list, my perception):

coord mode jogging during pause can be done with rather minimal impact; what is 
missing is integration with current jog commands (wheel/hal and UI); what it 
gives is a staring point in the use of multiple switchable motion queues in a 
limited-impact setting

to make offset changes during pause work, the follow structural changes are 
needed :
- currently offsets are applied in the canon layer (i.e. right 'below' the 
interpreter), and the canon queue carries all absolute positions from there on
- this has to move to the component which can change offsets, i.e. motion - 
meaning changes to canon, the canon queue carrying offset-relative positions, 
new NML commands, making task do the trick, funnel these commands down to 
motion, making motion react properly, move limit violation detection to the 
very place where offsets are applied
- note now limit violations cannot be detected at interpreter run time anymore, 
they _have_ to be done at motion command time as offsets arent known yet
- likely this scheme requires some restrictions on the language proper, namely 
certain values being frozen at program start (see cradek's G92 example from the 
chat)

to make MDI during pause work, add to the shopping list:
- multiple interpreter instances (cannot be done in a single process thanks to 
the design of the current interpreter) plus means to 
activate/suspend/resume/sync interpreters as needed - read as: either a massive 
refactor of the interpreter data structure, or multiple interpreter processes 
including associated interprocess communication commands
- multiple motion queues selectable by task
- tricking task into supporting the above

to make tool dia change work during pause, add:
- recalculation of the offset shape (I think this means offset curve generation 
has to move towards motion too; meaning more changes to canon and motion 
command part, plus task as intermediary)
- lots of testing of the reentry move

I think the limit and offset curve calculations will be rather rough to do in a 
realtime environment, suggesting it be easier to split motion into a userland 
thread (command) and an RT thread (control) first, giving more freedom what can 
be done at the command level; a bit similar like halsampler and halstreamer.

--

That is all I can think of for now, anybody still listening ;-?

there are several useful angles of work, all which would contribute to the 
above goals, and none of which will result in an immediate 'feature', for 
instance:

- refactor motion into a userland and an RT part
- move offset application to motion
- move offset curve generation to motion
- think through the language restrictions the previous two changes require, and 
at flag or fail any violations
- refactor interpreter static data so multiple independent instances in a 
single address space become possible (thread-safe, please)
- make canon output regression-testable (I mean the canon 

Re: [Emc-users] JogWhilePaused Proposal

2013-09-27 Thread Michael Haberler

Am 27.09.2013 um 09:33 schrieb Marius Liebenberg mar...@mastercut.co.za:

 Yes man we are still listening although we might not have a clue as to 
 what you are talking about. It sounds like you have the problem

yes - at least I like think so ;)

 and solution

no

 pretty much under control there.

I think the endgame (tool dia + offset change, mdi during pause) is too much 
for a one-man-show type effort 

without at least one, two more people attacking fairly big chunks in a 
coordinated fashion (like the ones I listed) it's unlikely to happen in finite 
time

-m


 In simple language, movement during pause and tool offset changes are 
 the most important features required. I dont understand the effort 
 involved but it seems huge. It will be worth a lot in the end.
 I am involved in getting people onto linuxcnc on an almost daily basis. 
 It forms a huge part of my business ( bread and butter) at this time. 
 Whenever I do an upgrade for a customer, it is always LCNC. Now to my 
 own shame I have to say this. My own dektop mill runs Mach, why? Because 
 I have a screenset that allows me to do tool change, jog to a position, 
 do automatic tool length probing, set the offsets and return to cutting. 
 Remember that there are many spindles out there that do not take a tool 
 holder, so tool tables are of no use. The tool must be probed at every 
 change.
 
 Whatever it takes, I for one will support you as much as I can. I cannot 
 help much with coding (forgot how to mostly) but anything else I am 
 willing to help with.
 
 On 2013/09/27 08:59 AM, Michael Haberler wrote:
 Am 27.09.2013 um 06:37 schrieb Chris Morley chrisinnana...@hotmail.com:
 
 
 From: mai...@mah.priv.at
 Date: Fri, 27 Sep 2013 02:16:56 +0200
 To: st...@pilotltd.net; emc-users@lists.sourceforge.net
 Subject: Re: [Emc-users] JogWhilePaused Proposal
 
 
 Am 27.09.2013 um 00:57 schrieb Steve Blackmore st...@pilotltd.net:
 
 On Thu, 26 Sep 2013 23:20:43 +0200, you wrote:
 
 - changing offsets or tool diameter will NOT be part of the release 
 targeted work - this is just too many moving parts to be realistic to 
 expect.
 - changing all UI's to use the new feature may not be realistic to 
 expect either - only few UI's might be adapted until release time.
 Changing offsets is available with Les Newell's patch for toolchange.
 Has that been integrated yet?
 Is this something we can include in the release as well?
 IIRC i'ts just a modified tool change component that is stand alone.
 I dont see a reason why not; actually I have used the trick in a custom 
 gladevcp panel, so it isnt limited to a separate process
 
 however I would like to see an example config, and a minimum manpage or 
 readme with a big fat explanation what it can deal with, and what not - just 
 so expectations dont go overboard - AFAICT that means: only linear programs 
 without control structures, input reads, and probe operations
 
 There's quite a large span between things which are desirable and things 
 which are doable in the current framework - also note we are addressing a 
 short-term goal and a a starting point here which was requested by users.
 
 Fix that and the broken CV and the numbers of users might increase
 some...
 I am rather sure this kind of problem isnt amenable to what you call a 
 'fix'.
 
 But AIUI this is being considered in a longer term goal?
 well I dont like arbitrary limitations, in particular the 'this cannot be 
 done at all' variety, so yes ;)
 
 I have been looking at the TP as I am curious if I could mange work here,
 but wow it is a deep hole to jump in without a map :)
 here's the 'fix' outline (minimum list, my perception):
 
 coord mode jogging during pause can be done with rather minimal impact; what 
 is missing is integration with current jog commands (wheel/hal and UI); what 
 it gives is a staring point in the use of multiple switchable motion queues 
 in a limited-impact setting
 
 to make offset changes during pause work, the follow structural changes are 
 needed :
 - currently offsets are applied in the canon layer (i.e. right 'below' the 
 interpreter), and the canon queue carries all absolute positions from there 
 on
 - this has to move to the component which can change offsets, i.e. motion - 
 meaning changes to canon, the canon queue carrying offset-relative 
 positions, new NML commands, making task do the trick, funnel these commands 
 down to motion, making motion react properly, move limit violation detection 
 to the very place where offsets are applied
 - note now limit violations cannot be detected at interpreter run time 
 anymore, they _have_ to be done at motion command time as offsets arent 
 known yet
 - likely this scheme requires some restrictions on the language proper, 
 namely certain values being frozen at program start (see cradek's G92 
 example from the chat)
 
 to make MDI during pause work, add to the shopping list:
 - multiple interpreter instances (cannot be done in a single process thanks

Re: [Emc-users] JogWhilePaused Proposal

2013-09-26 Thread Michael Haberler
Marius, Tom -

Am 26.09.2013 um 21:08 schrieb Marius Liebenberg mar...@mastercut.co.za:

 TomP
 I second that. I put it on the agenda for the next meeting. I do agree 
 that it is very necessary and not just a nice to have. Damn man even 
 Mach can do it :)
 
 On 2013/09/26 08:10 PM, TJoseph Powderly wrote:
 On 09/26/2013 01:06 PM, TJoseph Powderly wrote:
 Hello,
 Would like to discuss adoption of JogWhilePaused at Next meeting.
 ...
 Thanks
 TomP ( tjtr33)
 More discussion is linked thru GladeVCP Toolchange tag
 
 http://www.linuxcnc.org/index.php/english/forum/48-gladevcp/24816-gladevcp-toolchange-by-michael-h?start=10
 
 regards TomP (tjtr33)

We had a very fruitful discussion on irc just finished, starting around here: 
http://emc.mah.priv.at/irc/%23linuxcnc-devel/2013-09-26.html#19:13:57

in a nutshell:

- my patch is currently limited in scope, for instance it doesnt integrate with 
wheel or command jogs at all at the moment
- some ideas in there might be interesting in exploring further in the future
- the upcoming merge of the ja3 branch will touch upon that very area

in the interest of delivering tangible results in the 2.6 timeframe, Chris and 
me agreed to proceed like so:

- rebase this branch onto ja3 while keeping it working
- integrate with wheel jog so this works during pause (world mode)
- provide the command infrastructure so commanded jogs from UI's can be honored
- changing offsets or tool diameter will NOT be part of the release targeted 
work - this is just too many moving parts to be realistic to expect.
- changing all UI's to use the new feature may not be realistic to expect 
either - only few UI's might be adapted until release time.


- Michael


ps: I was away a few days and am still wading the backlog

 --
 October Webinars: Code for Performance
 Free Intel webinars can help you accelerate application performance.
 Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
 the latest Intel processors and coprocessors. See abstracts and register 
 http://pubads.g.doubleclick.net/gampad/clk?id=60133471iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users
 
 
 -- 
 Regards / Groete
 
 Marius D. Liebenberg
 MasterCut cc
 Cel: +27 82 698 3251
 Tel: +27 12 743 6064
 Fax: +27 86 551 8029
 Skype: marius_d.liebenberg
 
 
 
 ---
 avast! Antivirus: Outbound message clean.
 Virus Database (VPS): 130926-0, 2013/09/26
 Tested on: 2013/09/26 09:08:41 PM
 avast! - copyright (c) 1988-2013 AVAST Software.
 http://www.avast.com
 
 
 --
 October Webinars: Code for Performance
 Free Intel webinars can help you accelerate application performance.
 Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
 the latest Intel processors and coprocessors. See abstracts and register 
 http://pubads.g.doubleclick.net/gampad/clk?id=60133471iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60133471iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] JogWhilePaused Proposal

2013-09-26 Thread Michael Haberler

Am 27.09.2013 um 00:57 schrieb Steve Blackmore st...@pilotltd.net:

 On Thu, 26 Sep 2013 23:20:43 +0200, you wrote:
 
 
 - changing offsets or tool diameter will NOT be part of the release targeted 
 work - this is just too many moving parts to be realistic to expect.
 - changing all UI's to use the new feature may not be realistic to expect 
 either - only few UI's might be adapted until release time.
 
 Changing offsets is available with Les Newell's patch for toolchange.
 Has that been integrated yet? 

that addresses a different issue and is based on the assumption that a program 
can be aborted, and run-from-line works for the given program

 That one is absolutely essential on manual toolchange machines that use
 collets where tool length varies every time you insert a tool - without
 it linuxcnc is unusable IMO.

then try master:configs/sim/remap/manual-toolchange-with-tool-length-switch, 
which solves this particular problem

 It's highly desirable for jog while paused too. Never broke an insert
 part way through a big job? If you have you will know why. As Marius
 says - even Mach can do it ;)

There's quite a large span between things which are desirable and things which 
are doable in the current framework - also note we are addressing a short-term 
goal and a a starting point here which was requested by users.

 Fix that and the broken CV and the numbers of users might increase
 some...

I am rather sure this kind of problem isnt amenable to what you call a 'fix'.

Certainly there is no shortage of grandiose ideas on this list - especially if 
they should be done by somebody else, that is.

But if you actually go about it, be prepared to take out a bigger bite and 
repair a few fundamental limitations and design defects along the way, it might 
actually stand a chance of being more than a new layer of band aid. Reserve a 
few months just to be on the safe side. You will find several starting points 
in the IRC log I posted.


- Michael
--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60133471iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Unified Build/ new RTOS work: general availability for testing

2013-09-11 Thread Michael Haberler

Am 11.09.2013 um 08:47 schrieb Thomas Kaiser c...@kaiser-linux.li:

 On 09/11/2013 08:28 AM, Sebastian Kuzminsky wrote:
 You need libreadline-dev. dpkg-checkbuilddeps will tell you.
 
 Thanks, now Tcl and Tk is missing.
 
 Looks like I have to figure out all the dependencies...
 
 I will post what else I had to install for compiling LinuxCNC.
 
 Regards, Thomas

this might be a starting point: 
http//static.mah.priv.at/public/xenomai-debs/install-packages-for-build-on-12.04-pristine.sh

-m


--
How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
http://pubads.g.doubleclick.net/gampad/clk?id=5127iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Unified Build/ new RTOS work: general availability for testing

2013-09-10 Thread Michael Haberler
Hello Thomas,

Am 11.09.2013 um 02:16 schrieb Thomas Kaiser c...@kaiser-linux.li:

 On 09/11/2013 01:16 AM, andy pugh wrote:
 On 10 September 2013 23:46, Thomas Kaiser c...@kaiser-linux.li wrote:
 
 I got the same error on both machines after I run ./configure:
 checking libgl1-mesa-dri workaround... test for libgl1-mesa-dri
 workaround failed, please file a bug
 
 I think this is just the first of many missing dependencies you will find.
 
 I further think that I have made this go away by following Seb's
 advice from a while ago:
 
 cd debian
 ./configure -r
 cd ..
 dpkg-checkbuilddeps
 
 Then sudo apt-get install that list. (after editing it, as it contains
 a few comments like versions numbers and alternative packages,
 
 
 Hello Andy
 
 Thanks for the hint. I used the following command to pull in all the 
 dependencies:
 sudo apt-get install libpth-dev dvipng tcl8.4-dev tk8.4-dev bwidget blt 
 asciidoc source-highlight dblatex groff python-tk libglu1-mesa-dev 
 mesa-common-dev libosmesa6-dev libgtk2.0-dev libgnomeprintui2.2-dev 
 libgnomeprintui2.2-dev texlive-lang-cyrillic
 
 But make dos not like me :-(
 thomas@Intel64:~/Projects/linuxcnc/src$ make
 Makefile:87: Makefile.inc: No such file or directory
 Makefile:98: *** Makefile.inc must specify 'BUILD_THREAD_FLAVORS' and 
 other variables.  Stop.
 thomas@Intel64:~/Projects/linuxcnc/src$
 
 Any help?

this indicates Makefile.inc does not exist, which is created by a successful 
configure run. Since the first attempt failed configure didnt complete.

Please redo the steps as outlined in Configuring and Building: The Basic 
procedure in  http://static.mah.priv.at/public/UnifiedBuild.html .

- Michael

 


--
How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
http://pubads.g.doubleclick.net/gampad/clk?id=5127iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] BeagleBone Image Available

2013-09-05 Thread Michael Haberler

Am 05.09.2013 um 08:28 schrieb Paul Lacatus p...@paul-lacatus.ro:

 On 9/3/2013 3:24 AM, Charles Steinkuehler wrote:
 On 9/2/2013 7:14 PM, Kirk Wallace wrote:
 On 09/02/2013 03:38 PM, Charles Steinkuehler wrote:
 I have a new version of the MachineKit image for running LinuxCNC on a
 BeagleBone available:
 
 Image:
 http://bb-lcnc.blogspot.com/p/machinekit_16.html
 
 Announcement:
 http://bb-lcnc.blogspot.com/2013/09/new-machinekit-image-available.html
 
 This is a fairly significant change from the previous versions, as I am
 now building the kernel fully from source (pulling in the required
 Xenomai code from git) and I have switched to the
 unified-build-candidate branch of LinuxCNC (which is going to become 2.6?).
 
 Anyway, if anyone has an interest in playing with LinuxCNC on the
 BeagleBone give it a whirl and let me know how it works for you.  It
 moves motors for me, but I have made enough changes I'd like as much
 testing as possible.
 
 Thanks!
 Is there a brain dead install document or a list of things one would
 need to learn to do an installation? The wiki pages look like they were
 last updated in March?
 Which wiki pages?
 
 My blog page with the image download should have enough to get you going
 if you have some Linux experience and can figure out the device
 representing your SD card reader:
 
 http://bb-lcnc.blogspot.com/p/machinekit_16.html
 
 
 Hi,
 
 I bought a BBB card for using on my little MF70 CNC.  I am looking for a 
 while on internet but did not  found anything about using a BBB with a 
 cape or connection to emulate the parallel port by BBB GPIO. I have seen 
 the BeBoPr  or K9 Smorgasboard  that emulates the parallel port but 
 there is not an inexpensive solution ? Only some logic  level converters?

that'd be very useful to have, I guess many people could make use of such a cape

I heard Alex Joni thinking aloud about creating one.. Alex? 

next best thing is buying a breakout cape like this: 
http://www.adafruit.com/products/572 and grabbing the soldering iron ;)


- Michael


 
 Also it will be nice to have a small touch screen to be used with axis , 
 some advicez . I am thinking as variant to use a android tablet with an 
 x11 server app
 
 Paul
 
 --
 Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
 Discover the easy way to master current and previous Microsoft technologies
 and advance your career. Get an incredible 1,500+ hours of step-by-step
 tutorial videos with LearnDevNow. Subscribe today and save!
 http://pubads.g.doubleclick.net/gampad/clk?id=58041391iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58041391iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


[Emc-users] Unified Build/ new RTOS work: general availability for testing

2013-09-03 Thread Michael Haberler
We're happy to announce the Unified Build branch for general testing. This 
branch has been in limited preview for a while, and numerous positive reports 
have come in, so we think it is good to go for wider evaluation. 

We consider this a merge candidate for the 2.6 release.


In a nutshell:


what it does: 
=
build LinuxCNC such that it runs unchanged on any kernel found on the build 
platform (even multiple versions): RTAI, Xenomai, RT-Preempt, or vanilla - only 
reboot into new kernel required. No configuration changes to existing configs 
should be necessary. Runs on x86, amd64, and ARM platforms (beaglebone and 
Raspberry tested).

what it contains:
=
This branch contains all of master as of yesterday, and the unified binary 
support code which has been in development over the last year.

does it move metal:
===
positively yes.

how to try it
===
we do not have packages as of yet - you need to build from source. Whatever 
kernel you happen to be running is fine if you have the linux-headers pkg 
installed.

Follow the steps outlined in section 3 to build: 
http://static.mah.priv.at/public/html/common/UnifiedBuild.html#_installation , 
then run your configuration as usual.

I dont want to read this darn documentation, just try it

cd src  ./autogen.sh  ./configure  make  sudo make setuid  . 
../scripts/rip-environment  linuxcnc


how to report problems
==
please get yourself a github account if you dont have one, and create new 
issues here, or comment on existing ones: 
https://github.com/zultron/linuxcnc/issues?state=open 

more information about this branch:
===
The documentation contains sections on the history, intent and principles of 
operation: http://static.mah.priv.at/public/html/common/UnifiedBuild.html


We would like to thank all testers and contributors who have been suffering 
through the early stages of this effort, and have provided valuable feedback.

for the authors,

- Michael 
--
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Capeless BBB

2013-08-16 Thread Michael Haberler
no reason to double up with an Arduino - two ideas:

- you can tack on a soft encoder to Charles' PRU code; there are provisions to 
tack on 'tasks' to the PRU dolist (PRU assembly, for the hardcore types)
- the AM3359 has three quadrature encoders available (eQEP0,1,2)

two of them have all their pins broken out on the original beaglebone (eQEP1 
and eQEP2.  eQEP0 only has channel B and the index pin broken out).  
The Beaglebone Black has all three broken out. Those would be pretty high speed.

You need to write a driver for them. It boils down to the device tree magic 
getting the pinmuxing right, and then setup the eQEP's as needed.

The way I used to explore the builtin devices is to get the memory mapping in 
place in Python, then fiddle registers until results make sense. Then make it a 
HAL driver.

example exploring the eCAP timer register: 
https://github.com/mhaberler/linuxcnc/blob/unified-build-candidate-2/src/hal/components/pru_support/ecaptimer.py

-m



Am 16.08.2013 um 12:41 schrieb andy pugh bodge...@gmail.com:

 On 16 August 2013 11:11, Andrew parallel.kinemat...@gmail.com wrote:
 What is the encoder pulse rate?
 
 About 10kHz.
 
 I suspect that an Arduino with interrupt-driven encoder counters might
 be a good solution.
 
 -- 
 atp
 If you can't fix it, you don't own it.
 http://www.ifixit.com/Manifesto
 
 --
 Get 100% visibility into Java/.NET code with AppDynamics Lite!
 It's a free troubleshooting tool designed for production.
 Get down to code-level detail for bottlenecks, with 2% overhead. 
 Download for free and get started troubleshooting in minutes. 
 http://pubads.g.doubleclick.net/gampad/clk?id=48897031iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with 2% overhead. 
Download for free and get started troubleshooting in minutes. 
http://pubads.g.doubleclick.net/gampad/clk?id=48897031iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


  1   2   3   4   >