Am 16.03.2014 um 20:40 schrieb andy pugh <bodge...@gmail.com>:

> Just to reiterate the initial point, the current situation is that IO
> pins can not be directly connected to any GUI elements, either for
> display or setting.

I pushed the gladevcp HALIO_HSscale widget to master to encourage exploration 
of the issue; that takes care of changing a HAL_IO pin from a UI

however, there is one more problem: the moment you link an HAL_IO pin which has 
a value preset (like pid.0.Pgain set to 1) to a signal (which defaults to 0), 
the preset value is lost.

I dont see how halcmd can make a signal inherit the value from such a preset 
pin, or read a pin value, preset the signal, and link _then_.

See here:

mah@wheezy:~/linuxcnc-next/configs/sim/gladevcp$ halcmd -f -k
halcmd: loadrt pid
halcmd: show pin  pid.0.Pgain 
Component Pins:
Owner   Type  Dir         Value  Name   Epsilon         Flags
 32770  float I/O             1  pid.0.Pgain    0.000000        0

halcmd: net foo pid.0.Pgain pid.0.Pgain 
halcmd: show pin  pid.0.Pgain 
Component Pins:
Owner   Type  Dir         Value  Name   Epsilon         Flags
 32770  float I/O             0  pid.0.Pgain    0.000000        0 <=> foo
------------------------------^

That all makes sense in the HAL logic, it's just useless for preset parameters.


from thereon the HALIO_HScale does what it is supposed to do:
(start gladevcp ioscale.ui which contains a single HALIO_HScale widget):

halcmd: net foo ioscale.halio_hscale1 
halcmd: show sig foo 
Signals:
Type          Value  Name     (linked to)
float             0  foo
                         <=> ioscale.halio_hscale1
                         <=> pid.0.Pgain

(move gladevcp scale slider to 20)

halcmd: show sig foo 
Signals:
Type          Value  Name     (linked to)
float            20  foo
                         <=> ioscale.halio_hscale1
                         <=> pid.0.Pgain

I guess some more thought is needed for making preset parameter pins work in a 
form which makes sense. 

One possible route is a variant of the halcmd net statement which sets the 
signal value to the pin's value. There might be others, but that may be harder 
to do in halcmd.

any suggestions?

- 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-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to