OpenPnP doesn't seem to call its movement functions from the firestep driver package

112 views
Skip to first unread message

throwaway...@gmail.com

unread,
Apr 17, 2016, 12:24:41 PM4/17/16
to FirePick

Hi everyone,
I ran into a problem when attempting to start up the firepick delta and begin setting the camera offset and the feeders.


I'm following this guide: http://firepickdelta.dozuki.com/ and use eclipse to run OpenPnP.

While it does start up and homes itself properly it refuses to actually move when I enter a command through the jog controls.





As seen in the image, OpenPnP calls the moveTo function from the driver in the reference nozzle package, but the home() function is the only one actually achieving any movement.

So to make sure that OpenPnP is even running the correct driver I added this into the function in org.openpnp.machine.reference.ReferenceNozzle:




And to the setEnabled function in org.openpnp.machine.reference.ReferenceMachine:





So after running OpenPnP again and trying to move the machine the debugger gives me:



Which I believe means that right after starting the machine and in the process of moving the active driver is detected by OpenPnP to be the firestep driver.
However the function moveTo that is printed out in the debug window is almost certainly not from the driver itself, to test this I did the same thing to the function in the firestep package as above:







The "movement in progress" string was not reproduced in the console. This wasn't actually necessary since the debug message after each step from this function is different from the one in the console.
At any rate, it looks like both the moveTo() and the home() function are not called from the firestep driver.
The home() function is most likely directly called form ReferenceMachine.java and moveTo probably from the NullDriver as the output from the debuger in:






Fits with the one seen in the console, but I have no way to check that at the moment since I'm not with the Firepick delta right now.


So my question is: Does anybody have an idea what could cause this behavior?
This is my first time working with java so my abilities to read into the code are very limited, if the solution to this is something obvious I'm sorry.

Any input is appreciated.
Thanks.





 




Karl

unread,
Apr 18, 2016, 9:31:23 AM4/18/16
to FirePick
Um. It's a bit awkward to refer to you as throwayaddress0012. Do you have a name we can use for you?

:D

throwaway...@gmail.com

unread,
Apr 18, 2016, 11:20:22 AM4/18/16
to FirePick

Sure, just call me Herbert.

Karl

unread,
Apr 18, 2016, 12:30:31 PM4/18/16
to FirePick
Welcome, Herbert!

Benoit is the lead on OpenPnP development. But his code may not be in the main OpenPnP branch, which includes
an original FireStep driver done by Jason himself last year. That driver is actually deprecated and unsupported.
We discovered that FPD precision requires complex software beyond the capability of the Arduino and we are
using the Raspberry Pi (or above) to compute what we call "LPP moves" (aka. long path precision moves). The RPi
has considerably more compute horsepower and does fine at calculating LPP moves. The net result for everybody is
that applications such as OPenPnP need to use Ethernet REST protocols to drive FPD. In particular, you will need
firenodejs, which is the REST server for FPD. And that is why Benoit's code is important, since he is using REST to
interface OpenPnP with FPD. 

Benoit can provide more information...

p.s., I understand you're working on a thesis for FPD. I've always thought that FPD has great instructional/academic potential.
If you don't mind, do tell us a little bit about your work and how you plan to use FPD. Maybe we can help!

throwaway...@gmail.com

unread,
Apr 18, 2016, 1:25:41 PM4/18/16
to FirePick
I see, so should I use Marlin or Smoothie instead?
Or is the NullDriver already enough to get the machine to respond?


The idea of my thesis is basically to test the Firepick delta's capabilities when it comes to assembling prototypes for quantum optical experiments like interference and radiation pressure.
I want to show that the FPD can help with designing and assembling photodetector  circuits. 

Karl

unread,
Apr 18, 2016, 2:19:41 PM4/18/16
to FirePick
Herbert, that's such a cool application! Sounds like you're looking to use FPD as a lowcost turnkey PnP for lab prototyping.  

Our current FPD status is "almost ready for PnP". We have been taming the non-linearity issues for quite some time (almost a year),
but we see light at the end of the long dark tunnel. This means you're on the bleeding edge of FPD as a user rather than as an FPD developer.
For example, Benoit is currently working on FPD feeders and others are researching solder paste dispensing. I'm writing firenodejs
and working on FireSlide. Etc.

Marlin is awful for FPD. It is an ogre with combat boots that can't dance with the delicate precision FPD needs.  You will need FireStep on 
the Arduino Mega 2560 to replace Marlin. You will also need an Ubuntu host for firenodejs, which manages the
serial connection to the Arduino.  Some of us (Douglas, in particular) are using Smoothie on MotionBoard by Paul. Although Smoothie
is a very promising direction, I only have the personal bandwidth to support firenodejs (which is required) on Raspberry Pi or other
Ubuntu computer.

Do you have an FPD beta kit or are you rolling your own?

throwaway...@gmail.com

unread,
Apr 18, 2016, 2:54:55 PM4/18/16
to FirePick
Yes I do have access to a completed FPD beta kit.

Thanks for your advice, it looks like I'll have to play around with it some more.

Gaurav Singh

unread,
Dec 25, 2016, 2:33:49 AM12/25/16
to FirePick
Hi,

I am trying to get response from the machine by using openpnp from eclipse.
I am using firestep for motion control.As per dozuki's guidelines when I change driver to org.firepick.FireStepDriver in machine.xml, it doesn't get reflected in openpnp gui,it still shows to be using nulldriver.

What could be the problem with driver?
Is FireStepDriver no longer supported?
How can I still use openpnp to atleast get response?

Michael Anton

unread,
Dec 26, 2016, 1:02:24 AM12/26/16
to FirePick
You have to use the version of OpenPnP from the TWT github.  Current versions of OpenPnP do not support the FirePick Delta.  See this link: http://firepickdelta.dozuki.com/c/OpenPnP
 for installing OpenPnP.

Mike
Reply all
Reply to author
Forward
0 new messages