[Emc-users] Offsets in Python

2014-09-20 Thread Kip Shaffer
Greetings!

In my GladeVCP am trying to calculate the relative position (displayed in
 in the working coordinate system when there is a rotational offset in
effect.

The python interface provides the following information in the status
attributes:

self.s.actual_position (current position in machine units)
self.s.g92_offset
self.s.g5x_offset
self.s.tool_offset
self.s.rotation_xy

When rotation_xy is 0 (and tool_offset is all zeros) the following is true:

 Work position = actual_position - g92_offset - g5x_offset

However, when rotation_xy is not zero, a rotation has to be applied.  The
question is where?

I swear I've seen this discussed before, but for the life of me can't find
it anywhere.

Thanks for any pointers!

-Kip
--
Slashdot TV.  Video for Nerds.  Stuff that Matters.
http://pubads.g.doubleclick.net/gampad/clk?id=160591471iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Offsets in Python

2014-09-20 Thread Kip Shaffer
Chris,
   Thank you so much for your help!  It worked like a charm.

For the next person looking to obtain relative work coordinates in python,
here is the routine I derived from code in touchy's emc_interface.  Note,
self.s = linuxcnc.stat()


def absolute_to_relative(self,p):
  self.s.poll()

  x = p[0] - self.s.g5x_offset[0] - self.s.tool_offset[0]
  y = p[1] - self.s.g5x_offset[1] - self.s.tool_offset[1]
  z = p[2] - self.s.g5x_offset[2] - self.s.tool_offset[2]
  a = p[3] - self.s.g5x_offset[3] - self.s.tool_offset[3]
  b = p[4] - self.s.g5x_offset[4] - self.s.tool_offset[4]
  c = p[5] - self.s.g5x_offset[5] - self.s.tool_offset[5]
  u = p[6] - self.s.g5x_offset[6] - self.s.tool_offset[6]
  v = p[7] - self.s.g5x_offset[7] - self.s.tool_offset[7]
  w = p[8] - self.s.g5x_offset[8] - self.s.tool_offset[8]

  if self.s.rotation_xy != 0:
 t = math.radians(-self.s.rotation_xy)
 xr = x * math.cos(t) - y * math.sin(t)
 yr = x * math.sin(t) + y * math.cos(t)
 x = xr
 y = yr

  x -= self.s.g92_offset[0]
  y -= self.s.g92_offset[1]
  z -= self.s.g92_offset[2]
  a -= self.s.g92_offset[3]
  b -= self.s.g92_offset[4]
  c -= self.s.g92_offset[5]
  u -= self.s.g92_offset[6]
  v -= self.s.g92_offset[7]
  w -= self.s.g92_offset[8]

  return (x, y, z, a, b, c, u, v, w)


On Sat, Sep 20, 2014 at 1:19 PM, Chris Radek ch...@timeguy.com wrote:

 On Sat, Sep 20, 2014 at 12:28:46PM -0400, Kip Shaffer wrote:
  When rotation_xy is 0 (and tool_offset is all zeros) the following is
 true:
 
   Work position = actual_position - g92_offset - g5x_offset
 
  However, when rotation_xy is not zero, a rotation has to be applied.  The
  question is where?

 This is tricky to get right!

 Tool offsets don't rotate
 G5x offsets don't rotate
 G92 offsets DO rotate
 Don't forget wrapped rotaries
 Don't forget units

 The canonical code for this is what AXIS uses: see glcanon.py around
 line 1265

 and in fact you can see this very clearly in AXIS if you mess with
 the offsets and rotation, and see what the preview does.  It
 represents each offset with a labeled line from the old to the new
 origin.  You can see that the g92 line rotates (within the G5x
 system) but the g5x line doesn't.

 You can find equivalent code in touchy's emc_interface.py around
 line 300

 Start with unoffset position
 subtract tool length
 subtract g5x offset
 rotate x,y (negative direction)
 subtract g92 offset
 for each rotary, if it's wrapped, adjust mod 360
 adjust units for presentation to user, if necessary, for xyz and uvw



 --
 Slashdot TV.  Video for Nerds.  Stuff that Matters.

 http://pubads.g.doubleclick.net/gampad/clk?id=160591471iu=/4140/ostg.clktrk
 ___
 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://pubads.g.doubleclick.net/gampad/clk?id=160591471iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Start program with external button

2014-05-14 Thread Kip Shaffer
Erik,
While not exactly what you are looking for, you can use C snippets to
create brand new HAL components.  I created a couple myself, one to bring
16 inputs and 16 outputs to a set of external shift registers for expanded
IO capabilities, and one to generate blink codes for a status LED.

I also implemented a RUN/Resume button using only existing HAL components
in a similar way as above.  The one addition I made was to add flip-flops
to the HAL configuration so that each button press could only RUN or RESUME
depending on the state when the button was pressed.  Without the flip-flop,
I found that RESUME would often turn into RUN when the machine switched
away from PAUSED.

Let me know if you would like more information.
-Kip


On Wed, May 14, 2014 at 8:10 AM, Erik Friesen e...@aercon.net wrote:

 I have found myself wishing I could insert c snippets somehow, to me it is
 would be way easier that manually figuring out the logic.  It gets very
 hard to follow three or more logic items that work together.  For example,
 it takes quite a few to make a run/resume switch.


 On Wed, May 14, 2014 at 3:07 AM, Viesturs Lācis viesturs.la...@gmail.com
 wrote:

  2014-05-14 0:57 GMT+03:00 Erik Friesen e...@aercon.net:
 
   Hmm.  Didn't know you could net more than one per line.
  
 
  You can do it in one line or break it up (for me breaking up is easier to
  understand, when I need to go through HAL file few months later), for
  example,
  net run-file whatever.gpio.000
  net run-file halui.mode.auto
  net run-file halui.program.run
 
  Viesturs
 
 
 --
  Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
  Instantly run your Selenium tests across 300+ browser/OS combos.
  Get unparalleled scalability from the best Selenium testing platform
  available
  Simple to use. Nothing to install. Get started now for free.
  http://p.sf.net/sfu/SauceLabs
  ___
  Emc-users mailing list
  Emc-users@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/emc-users
 

 --
 Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
 Instantly run your Selenium tests across 300+ browser/OS combos.
 Get unparalleled scalability from the best Selenium testing platform
 available
 Simple to use. Nothing to install. Get started now for free.
 http://p.sf.net/sfu/SauceLabs
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users

--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Index-enable pin question

2013-11-11 Thread Kip Shaffer
I can't answer your question directly, but last night I was working to do
the same thing and got it to work!

I did notice the same behavior, moving to the proper X and never starting.
 For me the problem was that I was using both phases A and B, and that the
encoder was counting down, not up.  Reversing A and B fixed the problem.

Maybe this will help you too.

-Kip


On Mon, Nov 11, 2013 at 6:35 AM, Viesturs Lācis viesturs.la...@gmail.comwrote:

 Hello!

 I am trying to help a guy that has retrofitted a lathe to LinuxCNC.
 He has 5i25 + 7i77 cards and 2.5.0 version installed.

 The problem is that I cannot figure out, how to get threading to work. G76
 command will bring the tool along X to proper thread depth and then stop.
 It seems to me that it is waiting for a signal on
 motion.spindle-index-enable.
 That pin is connected to encoder.00.index-enable pin, I checked - there is
 index pulse coming from encoder every spindle revolution, but I do not see
 any pulses in Halscope on index-enable pin.
 I tried playing with index-mask and index-mask-invert parameters, but no
 success.
 This page does not seem helpful, explaining all the details on how to set
 it up:
 http://linuxcnc.org/docs/html/examples/spindle.html#_spindle_enable

 I see that reference no:2 at the bottom, but I was not able to find any
 explanation in manual.

 I would appreciate, if somebody could share some link, where it is
 explained, how exactly spindle index-enable pin is treated in lathe config.

 --
 Viesturs

 --
 November Webinars for C, C++, Fortran Developers
 Accelerate application performance with scalable programming models.
 Explore
 techniques for threading, error checking, porting, and tuning. Get the most
 from the latest Intel processors and coprocessors. See abstracts and
 register
 http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users

--
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most 
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/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-07 Thread Kip Shaffer
This is a cool discussion, and inspires me to try something.

Using the thin lens equation,  1/o + 1/i = 1/f,  we can use a single convex
lens as a 'transfer lens'.  The 'real image' produced by this lens can be
used just like the actual object, and can be inspected by the microsocpe.
 Since Russell suggested 20cm, we could use a 10cm focal length lens to get
a 1:1 image for the microscope.

So, the layout would look like this:

Microscope
   |
(real image)
   |
20cm
   |
Convex Lens (10cm focal length)
   |
20cm
   |
Surface with edge to find.


I'll check my optics junk box to see if I have a lens with something
similar to a 10cm focal length tomorrow.


-Kip


On Thu, Nov 7, 2013 at 9:30 AM, Ralph Stirling 
ralph.stirl...@wallawalla.edu wrote:

 A couple of months ago I spent a bit of time working on a camera
 based system for calibrating the position of a syringe needle in
 a LinuxCNC controlled bioprinter.  I found a couple of USB microscopes
 I had on hand to work reasonably well.  The depth of field was quite
 adequate for needles, but milling cutters would generally be larger.

 Are you planning on using crosshairs and eyeballing to determine
 your cutter length/diameter, or are you intending to automate the
 process?  If you want automated measurement, you could look into
 subpixel measurement techiques.  With subpixel measurement, you
 don't really want super-sharp focus anyway.  You also would likely want
 multiple photos over a small range of distances from the camera, which
 allows you to do some averaging of your computed dimensions.

 -- Ralph
 
 From: Russell Brown [russ...@lls.lls.com]
 Sent: Thursday, November 07, 2013 3:15 AM
 To: emc-users@lists.sourceforge.net
 Subject: [Emc-users] USB Camera for edge finder?

 I've been playing around with camview and a little 10mm endoscope type
 USB camera to see if I could rig such a thing up as an edge finder
 permanently mounted my mill's head.

 That's OK but you have to get very very close to the workpiece for even
 a half decent resolution which doesn't work when there's a collett
 holder and tool in the spindle (part of the reason for doing this is to
 avoid chucking the edge finder so I don't want a spindle type camera).

 I also tried a USB 'microscope' but the depth of field is very small
 again you have to get pretty close and twiddle with the focus to get a
 useful resolution.

 Has anyone found a USB camera with both a high magnification and a
 decent depth of field?  (I've a feeling that these are mutually
 exclusive) or even one that can focus at a high resolution from a
 workable (~200mm?) distance?

 TIA
 --
  Regards,
  Russell
  
 | Russell Brown  | MAIL: russ...@lls.com PHONE: 01780 471800 |
 | Lady Lodge Systems | WWW Work: http://www.lls.com  |
 | Peterborough, England  | WWW Play: http://www.ruffle.me.uk |
  


 --
 November Webinars for C, C++, Fortran Developers
 Accelerate application performance with scalable programming models.
 Explore
 techniques for threading, error checking, porting, and tuning. Get the most
 from the latest Intel processors and coprocessors. See abstracts and
 register
 http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


 --
 November Webinars for C, C++, Fortran Developers
 Accelerate application performance with scalable programming models.
 Explore
 techniques for threading, error checking, porting, and tuning. Get the most
 from the latest Intel processors and coprocessors. See abstracts and
 register
 http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users

--
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most 
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


[Emc-users] Success: Added physical button to Start or Resume program execution.

2013-05-19 Thread Kip Shaffer
Just wanted to share a little success story with you all.

This week I added three physical buttons to my mill.  They are large,
industrial buttons from Allen Bradley that should last forever.  They are:

E-Stop - Red, latching, easy to hit
Pause - Amber, momentary, easy to hit
Run/Resume - Green, momentary, recessed

The first two are trivial.  They interface directly to the appropriate
halui pins.

Here's the problem. Run and Resume are two distinct operations. HAL
must decide which signal to generate based on the current state of the
system. In addition, halui must be in 'auto' mode in order to run the
program. It must be requested if it is not already selected. Furthermore,
timing can be a bit tricky. Continuing to assert halui.mode.auto,
halui.program.resume, or maybe even halui.program.run can result in screwey
behavior. An ideal solution is to assert these signals only until they take
effect.

My solution (attached) was to:
- Select the appropriate action using 'and' components
- Use flipflop components to stop asserting the signal as soon as they take
effect
- Use the edge component to lock in the decision to ensure one 'run' or
'resume' command from a single button-press event.

I posted this on the wiki here:
http://wiki.linuxcnc.org/cgi-bin/wiki.pl?One_Button_Run/Resume

Enjoy!
-Kip
attachment: run_pause_halui_schematic.png--
AlienVault Unified Security Management (USM) platform delivers complete
security visibility with the essential security capabilities. Easily and
efficiently configure, manage, and operate all of your security controls
from a single console and one unified framework. Download a free trial.
http://p.sf.net/sfu/alienvault_d2d___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] GladeVCP Persistence On_Destroy sensitivity

2013-03-04 Thread Kip Shaffer
On Mon, Mar 4, 2013 at 4:20 AM, Michael Haberler mai...@mah.priv.at wrote:


  So when a user selects File-Quit, a SIGTERM should be generated?

 You mean in Axis? In a gladevcp application?

 please share a bit more more detail about your setup - depending on the
 answer, different things happen, which is probably part of your problem:

 - if Axis is exited, the linuxcnc script notices and starts sending a
 SIGTERM and eventuall SIGKILL to all running process, so yes, gladevcp
 should receive a SIGTERM and that can be handled


Apologies, I should should have described my setup a bit more.  I _am_
talking about a GladeVCP panel embedded in Axis, and from the previous
discussion, I was hoping SIGTERM would have triggered my on_unix_signal()
in the same way that pressing Control-C does.  It may be that there are
other issues that prevent it from responding appropriately.

It would help if we could isolate the issue a bit more, namely a) are those
 signals generated b) how are they reacted to

 habe a look at the gladevcp source code to see how the signal handlers are
 installed, you can do that 'custom' easily:

 if handlers.has_key(signal_func):
 dbg(Register callback '%s' for SIGINT and SIGTERM %(signal_func))
 signal.signal(signal.SIGTERM, handlers[signal_func])
 signal.signal(signal.SIGINT,  handlers[signal_func])

 I will trace through the source and look for this section.  I'll follow
the execution to see where it's failing.


  I think for now, I am going to regard auto-saving widget states as
  unreliable.  Instead, I will keep anything that ought to be saved in
  vars, which don't disappear on me.

 hey, lets apply a bit more rigor here. This _must_ work reliably
 eventually, period.

 Please help with it.


I will happily help with it.  Part of the miracle that is open-source
software is the result of the collaborations that occur.  This philosophy
resonates deeply with me.

I was simply responding to your earlier comments that coming up with a
robust solution must be done carefully and deliberately.  I wanted you to
know that in my particular situation, namely saving 1 or 2 variables, is
not being delayed by any of the issues we have discussed, so my problem is
solved.

I am not a software engineer, barely know any Python, and first looked at
Glade about 15 days ago.  But I might question the strategy of storing
information in volatile objects like widgets.  In the Model-View-Controller
architecture, there is a distinct separation between Data (Model) and
View/Controller.  The GladeVCP.persistence vars have this separation,
whereas the data stored in the widgets do not.  Since there are many ways
for widgets to be destroyed, IMHO the likelihood that we can intercept
their destruction 100% of the time seems low.  Thus storing any persistent
information in a less volatile location is attractive.

Maybe we could expose functionality to the users to update the data model
directly:

def on_change:
self.ini.setvalue(objectname, objectvalue)



 -Kip
--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] GladeVCP Persistence On_Destroy sensitivity

2013-03-03 Thread Kip Shaffer
So when a user selects File-Quit, a SIGTERM should be generated?  It
doesn't trigger the on_unix_signal(), whereas hitting Control-C does.

I think for now, I am going to regard auto-saving widget states as
unreliable.  Instead, I will keep anything that ought to be saved in
vars, which don't disappear on me.


On 3/3/13, Michael Haberler mai...@mah.priv.at wrote:

 Am 03.03.2013 um 13:45 schrieb andy pugh:

 On 3 March 2013 07:39, Michael Haberler mai...@mah.priv.at wrote:

 I have looked into the issue in the past, more with an eye towards fast
 estop, and the gist was: if it is too work fast, the shutdown sequence
 must be aware of the hardware it is using; for instance, the fastest,
 lowest-impact method to shutdown a Mesa card was to remove the watchdog
 function from the thread which got the time windows down to a watchdog
 period. So shutdown is fast or portable, tick either one. It is not an
 issue which can be solved en passant with a quick fix; it needs a  bit of
 a plan and some systematic work which doesnt immediately yield results.

 This is considering the process that happens when LinuxCNC is exited
 with a machine powered-up and running? I can see this is a type of
 e-stop, but not the normal sort.

 Right

 Is it possible to refuse to quit until at least one servo cycle has
 run with the LinuxCNC enable outputs disabled?

 the current sequence is in scripts/linuxcnc function Cleanup:

 it sends signals to all user processes (UI, task etc) ; first SIGTERM, later
 SIGKILL if a process wont exit
 then it stops the realtime threads via halcmd  stop
 then it proceeds to unload hal_lib, rtapi and modules and cleans up

 If anything happens before threads are stopped really depends on what user
 processes are doing and if/how they react to a signal

 what I was referring to: if you react to the shutdown signal (or a segfault
 for that matter) in one of the user processes, that potentially reduces the
 time window until threads are stopped, and there is some choice what still
 can be done - provided safe signal programming techniques are used

 I'd need to look if any components actually react in HAL due to a signal
 directly; cant remember having seen it

 -m


 --
 Everyone hates slow websites. So do we.
 Make your web apps faster with AppDynamics
 Download AppDynamics Lite for free today:
 http://p.sf.net/sfu/appdyn_d2d_feb
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


[Emc-users] GladeVCP Persistence On_Destroy sensitivity

2013-03-02 Thread Kip Shaffer
Anybody using GladeVCP with Persistence?  Did you have trouble getting
it to save settings?

It seems to me as though it is very sensitive to what widget the
'on_destroy' signal is attached.

The documentation does warn against attaching it to the 'window1'
object.  But I had terrible luck getting it to save_state when
LinuxCNC was shutting down.

I was able to figure out what it was trying to do by putting print
statements into
/usr/lib/pymodules/python2.6/gladevcp/persistence.py

What I found was that the getter() returned by get_value() would fail
when the window was being destroyed.

I resolved the problem by putting the 'on_destroy' signal on the same
widget that was being read first.  There is no way to determine which
widget will be first, other than by putting in print statements.

Has anyone else seen this behavior?

-Kip

--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Help, out of inputs on my parport

2013-02-05 Thread Kip Shaffer
I would imagine that the LS chips are expensive because they are obsolete.
 I used them because they were in my junk drawer.  I would recommend using
the HCT series.

I see that the pin names have changed a bit from the old datasheets.

STCP = Storage Register Clock, I referred to as 'Latch', formerly 'RCLK'
SHCP = Shift register clock, formerly 'SRClock'
DS = Serial data Input, formerly 'Ser'
PL = Parallel Load, formerly 'SRLoad'


-Kip


On Tue, Feb 5, 2013 at 1:33 PM, kqt4a...@gmail.com wrote:

 On Tue, 5 Feb 2013, Roland Jollivet wrote:

  On 5 February 2013 16:11, Ralph Stirling ralph.stirl...@wallawalla.edu
 wrote:
 
  Digikey.com .  You also might consider 74HC595, 74HC497, or
  74AHC595 and 74AHC597.
 
  -- Ralph
 
 
  Don't use 74HC  parts. Use 74HCT as these are TTL compatible. HC parts
 need
  to be driven closer to the rail, and often don't switch unless driven by
  CMOS chips.
 
  Otherwise find a similar part in the CD4xxx series. They switch at Vcc/2.
 

 great i see 74HCT597N for $0.70 and 74HCT595N for $0.80 on mouser
 the ls 74ls59[57] are $10.00 each
 does the type of inverter matter

 thanks
 richard


 --
 Free Next-Gen Firewall Hardware Offer
 Buy your Sophos next-gen firewall before the end March 2013
 and get the hardware for free! Learn more.
 http://p.sf.net/sfu/sophos-d2d-feb
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users

--
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013 
and get the hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Help, out of inputs on my parport

2013-01-28 Thread Kip Shaffer
Good idea.

Check out
http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Shift_Register_Port_Expander

-Kip


On Sun, Jan 27, 2013 at 8:44 PM, Chris Radek ch...@timeguy.com wrote:

 On Sun, Jan 27, 2013 at 06:14:56PM -0500, Kip wrote:
  Greetings all!  My shift registers seem to be working well as a cheap
  and easy port expander!   Apologies for how long it took me to write it

 That's really cool.  A lot of people have asked about a simple
 scheme such as this over the years, and the responses have always
 been like: yeah - ought to be possible - doesn't seem too hard.

 A writeup is worth a lot more than that!

 While list archives are forever, it might be nice if you'd also make
 a page on wiki.linuxcnc.org sharing this.

 Thanks!
 Chris


 --
 Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
 MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
 with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
 MVPs and experts. ON SALE this month only -- learn more at:
 http://p.sf.net/sfu/learnnow-d2d
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users

--
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnnow-d2d
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Help, out of inputs on my parport

2013-01-02 Thread Kip Shaffer
Absolutely!  I just finished wiring up the real (non-prototype) interface
card yesterday.  As soon as I make sure everything is working, I'll post
the wiring diagram and the HAL module.  It appears that even the
high-latency (1ms) shift register lines are fast enough to directly read
the tachometer signal from my cooling fans (120 Hz)!




On Wed, Jan 2, 2013 at 2:11 PM, Marius Liebenberg mar...@mastercut.co.zawrote:

 Kip,
 Would you be willing to share your module. I am in need of a similar
 solution.
 Marius

 On 2012/12/28 02:54 PM, Kip Shaffer wrote:
  Gene,
  Not sure if you would be interested in the approach I'm using, but it
  may help you or others who are in a similar predicament.
 
  You can use shift registers to add as many additional lines as you want.
For example, you can take 3 output lines on your parallel port, and
 turn
  them into 8, 16, 24 or more output lines.  Shift registers come in two
  varieties: Serial-In Parallel-Out, which you would use to create more
  output lines, and Parallel-In Serial-Out which you can use to create more
  input lines.
 
  I wrote a HAL module to implement my setup, which uses 4 pins on the
  parallel port to create 16 output and 16 input lines.  I use these lines
  for higher-latency signals, since it takes about 1 ms to shift all the
 bits
  in and out.
 
  There is a good article explaining it here:
 
 
 http://robots.freehostia.com/Software/ShiftRegister/ShiftRegisterBody.html
 
  -Kip
 
 
  On Fri, Dec 28, 2012 at 5:15 AM, MC Cason farmerboy1...@yahoo.com
 wrote:
 
  On 12/28/2012 03:10 AM, Steve Blackmore wrote:
  On Fri, 28 Dec 2012 02:34:37 -0500, you wrote:
 
 
  Mainly the 3 weeks to a month it takes from mainland china for
 delivery.
  But since I've decided to sacrifice the one pin I was saving for a
 home
  pin, that is the path I'll take.
  That seems a long time? I've had several packages from China most have
  taken 4 or 5 days, none longer than 10 days from Shanghai to my
 doorstep
  in UK. They are usually in the country within 48 hours, the delays are
  always here!
 
  Steve Blackmore
  --
  Here in the Southern part of the US,  It regularly takes between 10
  days, and 2 weeks for items to arrive from Shenzhen, or Hong Kong,
  Longer, from Shanghai, or Guandong.  The latest set of boards I had
  made, were air flighted out of Hong Kong, on the 19th. According to the
  tracking number, they haven't landed yet...
 
  --
  MC Cason - Assocaite Developer - Eagle3D
  Created by: Matthias Weißer
 
 
 
 
 
 --
  Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and
  much more. Get web development skills now with LearnDevNow -
  350+ hours of step-by-step video tutorials by Microsoft MVPs and
 experts.
  SALE $99.99 this month only -- learn more at:
  http://p.sf.net/sfu/learnmore_122812
  ___
  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
 Skype Me^(TM)! skype:marius_d.liebenberg?call
 Get Skype http://www.skype.com/go/download and call me for free.




 ---
 avast! Antivirus: Outbound message clean.
 Virus Database (VPS): 130102-0, 2013/01/02
 Tested on: 2013/01/02 09:11:40 PM
 avast! - copyright (c) 1988-2013 AVAST Software.
 http://www.avast.com



 --
 Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript, jQuery
 and much more. Keep your Java skills current with LearnJavaNow -
 200+ hours of step-by-step video tutorials by Java experts.
 SALE $49.99 this month only -- learn more at:
 http://p.sf.net/sfu/learnmore_122612
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users

--
Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript, jQuery
and much more. Keep your Java skills current with LearnJavaNow -
200+ hours of step-by-step video tutorials by Java experts.
SALE $49.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122612 
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Help, out of inputs on my parport

2012-12-28 Thread Kip Shaffer
Gene,
   Not sure if you would be interested in the approach I'm using, but it
may help you or others who are in a similar predicament.

You can use shift registers to add as many additional lines as you want.
 For example, you can take 3 output lines on your parallel port, and turn
them into 8, 16, 24 or more output lines.  Shift registers come in two
varieties: Serial-In Parallel-Out, which you would use to create more
output lines, and Parallel-In Serial-Out which you can use to create more
input lines.

I wrote a HAL module to implement my setup, which uses 4 pins on the
parallel port to create 16 output and 16 input lines.  I use these lines
for higher-latency signals, since it takes about 1 ms to shift all the bits
in and out.

There is a good article explaining it here:

http://robots.freehostia.com/Software/ShiftRegister/ShiftRegisterBody.html

-Kip


On Fri, Dec 28, 2012 at 5:15 AM, MC Cason farmerboy1...@yahoo.com wrote:

 On 12/28/2012 03:10 AM, Steve Blackmore wrote:
  On Fri, 28 Dec 2012 02:34:37 -0500, you wrote:
 
 
  Mainly the 3 weeks to a month it takes from mainland china for delivery.
  But since I've decided to sacrifice the one pin I was saving for a home
  pin, that is the path I'll take.
  That seems a long time? I've had several packages from China most have
  taken 4 or 5 days, none longer than 10 days from Shanghai to my doorstep
  in UK. They are usually in the country within 48 hours, the delays are
  always here!
 
  Steve Blackmore
  --

Here in the Southern part of the US,  It regularly takes between 10
 days, and 2 weeks for items to arrive from Shenzhen, or Hong Kong,
 Longer, from Shanghai, or Guandong.  The latest set of boards I had
 made, were air flighted out of Hong Kong, on the 19th. According to the
 tracking number, they haven't landed yet...

 --
 MC Cason - Assocaite Developer - Eagle3D
 Created by: Matthias Weißer




 --
 Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and
 much more. Get web development skills now with LearnDevNow -
 350+ hours of step-by-step video tutorials by Microsoft MVPs and experts.
 SALE $99.99 this month only -- learn more at:
 http://p.sf.net/sfu/learnmore_122812
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users

--
Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and
much more. Get web development skills now with LearnDevNow -
350+ hours of step-by-step video tutorials by Microsoft MVPs and experts.
SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122812
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users