Re: [Emc-users] dynamic glade ui's

2021-02-15 Thread Chris Albertson
You could write a user space hal component in Python.  The Python program
could use any tools you want to make a GUI.

On Mon, Feb 15, 2021 at 3:12 PM Ralph Stirling <
ralph.stirl...@wallawalla.edu> wrote:

> I'm working on some ideas for a user interface for
> a multichannel syringe pump.  It will support up to
> twelve syringes, and link any combination of them,
> such that a "leader" channel has a dispense rate,
> and "follower" channels have dispense ratio as a
> percentage of the "leader" channel rate.
>
> I would like to be able to be able to add or remove
> channels from within the gui itself, or at least
> "gray out" disabled channels from the gui.  I've made
> custom panels for Axis before, but never one where
> the widgets themselves could be changed from within
> the running gui itself.
>
> Is this possible?  Any suggestions or examples to help?
>
> The final system will just run with hal, no g-code
> needed of course.  I expect I'll need some python,
> which is fine.
>
> Thanks,
> -- Ralph
>
> ___
> Emc-users mailing list
> Emc-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-users
>


-- 

Chris Albertson
Redondo Beach, California

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


Re: [Emc-users] dynamic glade ui's

2021-02-15 Thread Jon Elson

On 02/15/2021 04:36 PM, Ralph Stirling wrote:

I'm working on some ideas for a user interface for
a multichannel syringe pump.  It will support up to
twelve syringes, and link any combination of them,
such that a "leader" channel has a dispense rate,
and "follower" channels have dispense ratio as a
percentage of the "leader" channel rate.

I would like to be able to be able to add or remove
channels from within the gui itself, or at least
"gray out" disabled channels from the gui.  I've made
custom panels for Axis before, but never one where
the widgets themselves could be changed from within
the running gui itself.

Is this possible?  Any suggestions or examples to help?

The final system will just run with hal, no g-code
needed of course.  I expect I'll need some python,
which is fine.

I have done some apps on the Beagle Bone with Glade GUIs, no 
connection to
LinuxCNC.  I have pushed the xml about as far as it can go, 
with buttons that change color to show the mode, etc.  I 
have never tried to change the xml on the fly, however.


Graying out a button should be fairly easy, that is about 
the same as changing the background color.


I have done some setups where there were "pages", in other 
words, you click on a button to "page" through a group of 
settings, and it repaints all the buttons on the screen with 
different values for that group.  So, at atartup, the GUI 
shows settings for unit 1-16, and if you click a button, you 
can show the settings for unit 17-32, or 33-48, etc.


You could probably put all 12 controls on one page, and have 
an on/off button for each.
If the button is set to off, the rest of the controls for 
that unit would be grayed out.


Jon


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


[Emc-users] unpluggable axis controls

2021-02-15 Thread Gene Heskett
Greetings all;

Trying to figure out out how to disable an axis thsat reports its plugged 
in status if its not plugged in.

That, and since its the y axis that is the long axix on a 6040 gantry it 
will be used in the "B" position 95% of the time.  Since this effects 
the planner for combined motions, or IMO should, I would like to add 
both A & B to the kins, with a pyvcp button to enable/disable each 
relationship from the axis gui, on a mutually exclusive basis, both of 
which would be removed from the gui, if its unplugged.

So if its plugged in it will be joint_3 for its control path, but Joint_3 
will be associated with the gui chosen A or B directions in the TP.

I figure on disabling the A or B controls by a couple mux2's so the if 
unlugged, the pid_a comand input is grounded by one mux2, and that pid_a 
disabled by shutting off its enable with another mux2, both driven from 
the net b_prsnt signal from this stanza of .hal code:

#*
# A or B axis stuff
#*
# here I need a pullup to field power, say about 10k to 22k to give
# a true reading when unplugged.
net   b-prsnt <= hm2_5i25.0.7i76.0.0.input-09 # high if not plugged in?
# so first, go add that resistor.

I have, as can be seen, plans to disable it, but not how to dynamically 
make it axis A or axis B from the pyvcp facilities.  Can that even be 
done?

The last thing I want to do is to have to maintain 2 seperate 
configurations in sync with each other, but doing this without an 
IF/ELSE/ENDIF in the .ini seems impossible without adding a postgui.ini 
that repeats the ini files original statements:

[TRAJ]
AXES = 4
COORDINATES = X Y Z A
MAX_ANGULAR_VELOCITY = 360.00
DEFAULT_ANGULAR_VELOCITY = 45.00
LINEAR_UNITS = inch
ANGULAR_UNITS = degree
#CYCLE_TIME = 0.010
DEFAULT_LINEAR_VELOCITY = 3.25
MAX_LINEAR_VELOCITY = 4.00
POSITION_FILE = position.txt
#NO_FORCE_HOMING = 1

For A or B depending on pycvp button enabled after start up in a 3 axis 
mode. by changing the COORDINATES to X Y Z B. And it may be that there 
should be 2 separate Aposition.txt and Bposition.txt files to prevent 
that cross-coupling.

How should I proceed?

Thanks all.

Cheers, Gene Heskett
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
If we desire respect for the law, we must first make the law respectable.
 - Louis D. Brandeis
Genes Web page 


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


[Emc-users] dynamic glade ui's

2021-02-15 Thread Ralph Stirling
I'm working on some ideas for a user interface for
a multichannel syringe pump.  It will support up to
twelve syringes, and link any combination of them,
such that a "leader" channel has a dispense rate,
and "follower" channels have dispense ratio as a
percentage of the "leader" channel rate.

I would like to be able to be able to add or remove
channels from within the gui itself, or at least
"gray out" disabled channels from the gui.  I've made
custom panels for Axis before, but never one where
the widgets themselves could be changed from within
the running gui itself.

Is this possible?  Any suggestions or examples to help?

The final system will just run with hal, no g-code
needed of course.  I expect I'll need some python,
which is fine.

Thanks,
-- Ralph

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


Re: [Emc-users] Problem with E Stop Logic

2021-02-15 Thread Jon Elson

On 02/15/2021 10:56 AM, Jon Elson wrote:
 The very old boards only gave a few hundred ns for the 
resistor to pull the E-stop/ line up.  If there was too 
much capacitive load on the cable, it would not rise 
enough and then the board would go back to E-stop.
I put a stretch circuit in the firmware to give the 
resistors several us to pull the line up.
I THINK both of your boards SHOULD have this feature, but 
I'm not totally sure.


I checked the firmware, and the ver 3 also has the 1 us 
stretch on the come-out-of-estop pulse, so that should not 
be the problem.


Jon


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


Re: [Emc-users] Problem with E Stop Logic

2021-02-15 Thread Jon Elson

On 02/15/2021 10:22 AM, Matthew Herd wrote:

Great, I may not be able to get back to the machine to test until the weekend, 
but will update you as soon as I am able to test.  But given the results I’ve 
seen with the sample config, I doubt it’ll work.

Well, then something is broken.  If it doesn't work, I'd 
disconnect the older board and try with just one.  The two 
boards need to communicate over the short ribbon cable to 
share the E-stop
state.  Also, the watchdog timer should probably be turned 
off on the 2nd board.


There was also an issue with the pull-up on the E-STOP line, 
I think I may have changed the pull-up resistors some time 
back to give a bit more pull-up, and added a delay.  The 
very old boards only gave a few hundred ns for the resistor 
to pull the E-stop/ line up.  If there was too much 
capacitive load on the cable, it would not rise enough and 
then the board would go back to E-stop.
I put a stretch circuit in the firmware to give the 
resistors several us to pull the line up.
I THINK both of your boards SHOULD have this feature, but 
I'm not totally sure.


One trick is to intercept and break pin 13 between the USC 
board and the DB25 cable to the computer, but we ought to 
determine if that is actually the problem, first.


Jon


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


Re: [Emc-users] Problem with E Stop Logic

2021-02-15 Thread Matthew Herd
Great, I may not be able to get back to the machine to test until the weekend, 
but will update you as soon as I am able to test.  But given the results I’ve 
seen with the sample config, I doubt it’ll work.

> On Feb 15, 2021, at 10:43 AM, Jon Elson  wrote:
> 
> On 02/15/2021 05:21 AM, Matthew Herd wrote:
>> Tying SSR8’s together should work fine for me, since I’ve wired the enables 
>> to the second board’s SSR8.  Changing to dout.07 is easy enough.
>> 
>> I don’t have the boards here to visually verify, but I did set switch 10 
>> before installing.  I also wired up the boards with the ribbon cable 
>> configured as you specified.  Both boards show up using the diagnostics 
>> program’s bus display, with the second (older) board identifying as version 
>> 3, and the first board as version 5.  On the HAL Configuration window, all 
>> pins from both boards enumerate as expected.
>> 
>> 
> OK, then, when you have the univstep_io.hal file changed to send the 
> out-of-estop command to
> dout.07, it ought to work, as long as none of the related addf's in 
> univstep_load.hal have been moved in the wrong order.  If not, send me your 
> univstep_load.hal file, and I'll see if I can see what is wrong.  But, 
> hopefully, it will just work.
> 
> Jon
> 
> 
> ___
> 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] Problem with E Stop Logic

2021-02-15 Thread Jon Elson

On 02/15/2021 05:21 AM, Matthew Herd wrote:

Tying SSR8’s together should work fine for me, since I’ve wired the enables to 
the second board’s SSR8.  Changing to dout.07 is easy enough.

I don’t have the boards here to visually verify, but I did set switch 10 before 
installing.  I also wired up the boards with the ribbon cable configured as you 
specified.  Both boards show up using the diagnostics program’s bus display, 
with the second (older) board identifying as version 3, and the first board as 
version 5.  On the HAL Configuration window, all pins from both boards 
enumerate as expected.


OK, then, when you have the univstep_io.hal file changed to 
send the out-of-estop command to
dout.07, it ought to work, as long as none of the related 
addf's in univstep_load.hal have been moved in the wrong 
order.  If not, send me your univstep_load.hal file, and 
I'll see if I can see what is wrong.  But, hopefully, it 
will just work.


Jon


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


Re: [Emc-users] Problem with E Stop Logic

2021-02-15 Thread Matthew Herd
Tying SSR8’s together should work fine for me, since I’ve wired the enables to 
the second board’s SSR8.  Changing to dout.07 is easy enough.

I don’t have the boards here to visually verify, but I did set switch 10 before 
installing.  I also wired up the boards with the ribbon cable configured as you 
specified.  Both boards show up using the diagnostics program’s bus display, 
with the second (older) board identifying as version 3, and the first board as 
version 5.  On the HAL Configuration window, all pins from both boards 
enumerate as expected.

> On Feb 14, 2021, at 10:40 PM, Jon Elson  wrote:
> 
> On 02/14/2021 09:03 PM, Matthew Herd wrote:
>> Thank you Jon.  So it’s impossible to reassign dout.15 to E-stop enable?  
>> I’m using the first board for the E-stop loop, but attempting to use dout.15 
>> on the second board to enable my servo drives.
> No, sorry, SSR8 on the second board is a slave to the first board, it will 
> always follow exactly what SSR8 on the master board does. That's just a 
> limitation of the way the E-stop logic was built.
> I guess I wasn't thinking far enough ahead.
>> I should also note, the sample doesn’t work either and it uses dout.07.  
>> Even though my e-stop loop is wired to din.15.
>> 
> Well, now, that's odd.  First, make sure you have DIP switch 10 ON for the 
> master board and OFF for the slave.  How dod you connect the 2nd board?  You 
> connect the DB-25 to one of the boards, and then connect a ribbon cable with 
> a DB25 on one end to the 2nd board's P1 and an IDC 26 pin connector to the 
> first board's P9.  Is that what you have set up?  Can you see both boards 
> show up on the univstepdiag program's bus display?
> 
> Jon
> 
> 
> ___
> 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