it seems the poster want to create a new API to solve a problem which is 
already solved but needs a bit of work:

- improve NML documentation
- fix the NML library used by emcrsh, emclcd, etc. and their clients to 
use a different configuration for each NML client

NML seems very capable, might as well use it and fix the clients instead 
of creating a new architecture and associated bugs that will come with it.
just my 2 cents worth...

Bruno

On 10/20/14 11:22 AM, bruno wrote:
> On 10/20/14 11:00 AM, emc-developers-requ...@lists.sourceforge.net wrote:
>> ------------------------------
>>
>> Message: 7
>> Date: Mon, 20 Oct 2014 19:53:24 +1100
>> From: "Frank Tkalcevic"<fr...@franksworkshop.com.au>
>> Subject: Re: [Emc-developers] incremental change to linuxcnc's APIs
>>     for    user    interfaces
>> To: "'EMC developers'"<emc-developers@lists.sourceforge.net>
>> Message-ID:<003601cfec43$51445370$f3ccfa50$@franksworkshop.com.au>
>> Content-Type: text/plain;    charset="us-ascii"
>>
>>> >(The summary of those bugs is: the serial number method for UIs to 
>>> ensure
>> a
>>> >message is acted upon by task simply does not work when there is 
>>> not just
>>> >one UI.  No simple modification will make it work, and no one in the
>> project
>>> >in 10+ years has taken the time to understand NML with the depth 
>>> necessary
>>> >to suggest a correct approach.)
>> 1. Copy linuxcnc.nml to your run directory.
>> 2. Edit linuxcnc.nml and create another configuration section for 
>> your UI
>> 3. Edit your .ini file and add the NML_FILE configuration
>> 4. When your UI connects to NML, use the name of the new nml section.
>>
>> I run axis on the local machine, then remote to it using keystick.
>>
>> Keystick still works because it makes its own NML connection 
>> "keystick" ...
>>
>> src/emc/usr_intf/keystick.cc
>>
>> emcStatusBuffer = new RCS_STAT_CHANNEL(emcFormat, "emcStatus", 
>> "keystick",
>> emc_nmlfile);
>>
>>
>>   linuxcncrsh doesn't work because it uses a common library (that 
>> other UIs
>> use) to connect to NML.  It uses the same configuration, "xemc".
>>
>> src/emc/usr_intf/shcom.cc
>>
>>     emcStatusBuffer =
>>         new RCS_STAT_CHANNEL(emcFormat, "emcStatus", "xemc",
>>                  emc_nmlfile);
>>
>> Everything that uses this library can't run simultaneously - emcsh, 
>> emcrsh,
>> emclcd, axis - axis hard codes the xemc configuration in
>> src/emc/usr_intf/axis/extensions/emcmodule.cc - so axis, and anything 
>> that
>> uses the emcmodule python library fail.
>>
>> RCS_STAT_CHANNEL *c =
>>          new RCS_STAT_CHANNEL(emcFormat, "emcStatus", "xemc", file);
>>
>>
>> So, you can have multiple UIs.
>>
>> However, if an upgraded API allows for other new functionality, I'm 
>> all for
>> it.
>>
>
>


------------------------------------------------------------------------------
Comprehensive Server Monitoring with Site24x7.
Monitor 10 servers for $9/Month.
Get alerted through email, SMS, voice calls or mobile push notifications.
Take corrective actions from your mobile device.
http://p.sf.net/sfu/Zoho
_______________________________________________
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to