Scripting Questions

1,135 views
Skip to first unread message

Chris Orita

unread,
Jul 8, 2016, 11:35:06 AM7/8/16
to OpenPnP
Does anyone know how to send commands to pick/place and turn on/off the actuator from a script? I looked at the wiki's scripting page, and I think that the information I want is somewhere in the ReferenceMachine file linked in the Global Variables section of the page, but I can't seem to figure it out.

I eventually want my script to take parts from one tray, pass them over a sensor, and place them in a "good" tray, or a "bad" tray depending on what the sensor says. So far, I've only been able to have my machine move to each location on the tray; once I figure out the picking and placing, I'm going to see how well I can have the machine move parts from one tray to another.

This is my first foray into javascript, so I might be missing a lot of basic concepts.

Jason von Nieda

unread,
Jul 8, 2016, 11:47:45 AM7/8/16
to OpenPnP
Hi Chris,

You need to get access to a Nozzle object, and then you can call it's pick() and place() methods. You have a few options:

var nozzle = gui.machineControls.selectedNozzle;

or

var nozzle = machine.defaultHead.defaultNozzle;

Then you can use:

nozzle.pick(part) and nozzle.place();

For actuators, it's similar:

var actuator = machine.defaultHead.getActuator(id);

or

var actuator = machine.defaultHead.getActuatorByName(name);

Followed by:

actuator.actuate(boolean);

or

actuator.actuate(number);


Relevant classes for reference are:

https://github.com/openpnp/openpnp/blob/develop/src/main/java/org/openpnp/spi/Machine.java

https://github.com/openpnp/openpnp/blob/develop/src/main/java/org/openpnp/spi/Head.java

https://github.com/openpnp/openpnp/blob/develop/src/main/java/org/openpnp/spi/Nozzle.java

https://github.com/openpnp/openpnp/blob/develop/src/main/java/org/openpnp/spi/Actuator.java

Hope that helps,

Jason



--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To post to this group, send email to ope...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/d8e3616a-88c4-4ea1-b3cb-7006daed5a74%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Chris Orita

unread,
Jul 11, 2016, 9:01:39 AM7/11/16
to OpenPnP
How do I find the possible arguments for "part" and "id"?  I'm using the TinyG, so I only have the one actuator. 

Cri S

unread,
Jul 11, 2016, 9:47:15 AM7/11/16
to OpenPnP
If you need only to feed from drag feeder, use that. reduced example from similar code simplified:

feeder     = machine.getFeeder("name_of_feeder");
failed      = machine.getFeeder("name_of_feeder");
success  = machine.getFeeder("name_of_feeder");
sensor    = machine.getFeeder("name_of_feeder");
S_OK = 0  

while(1) {
 feeder.feed();  // exit on exception. 
 MovableUtils.moveToLoctionAtSafeZ(nozzle,feeder.getPickLocation()); nozzle.pick(); 
 MovableUtils.moveToLoctionAtSafeZ(nozzle,sensor.getPickLocation()); nozzle.pick(); 
 status=system(....);
 if(status==S_OK) { success.feed(); loc=sensor.getPickLocation(); } else { failed.feed(); loc=failed.getPickLocation(); } 
 MovableUtils.moveToLoctionAtSafeZ(nozzle,loc); nozzle.place(); 
}

Chris Orita

unread,
Jul 11, 2016, 10:20:57 AM7/11/16
to OpenPnP
In my case, the parts are rather large (9mm diameter circles) in a non-standard 10x10 tray. My intention was to have the script move the machine and open/close the valve without using OpenPnP's feeder functionality, though I think that the process would be more reliable if I could find a way to enter my trays as feeders, and use vision for alignment.

Cri S

unread,
Jul 11, 2016, 10:34:04 AM7/11/16
to ope...@googlegroups.com
open valve, close valve is pick()/place() functionality. It just
open/close the vacuum valve,
but place could have the pressure puff depending on driver.
you could use named tray to locate the part see code for sensor in the
example , the
getPickLocation() is used.

Maybe use TrayPosFeeder, that have that functionality. Can you
describe it a bit more,
and eventually pictures too.


2016-07-11 14:20 GMT, Chris Orita <chris...@gmail.com>:
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "OpenPnP" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/openpnp/mLOn1WqDEdQ/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> openpnp+u...@googlegroups.com.
> To post to this group, send email to ope...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/openpnp/d34f4266-76b3-4cd1-ab8f-64ab6dfe182e%40googlegroups.com.

Chris Orita

unread,
Jul 11, 2016, 11:23:33 AM7/11/16
to OpenPnP
I'm trying to sort out and make records of RFID chips; my end goal is to have the chips picked up, measured with an antenna, have their bar codes scanned, and have all that information sent to a spreadsheet, then the chip should be placed in a new tray if its information was readable. 

Right now, I have the nozzle moving to the correct positions by simply telling it to move a distance to the right to advance columns, then advance rows by moving back to the first column and moving down. I want to be able to manually tell it to open/close the valve to pick up and let go of chips, and if that's reliable I can start figuring out how to have antennas and scanners talk to the script.

Cri S

unread,
Jul 11, 2016, 12:15:58 PM7/11/16
to ope...@googlegroups.com
what part is difficult, this seems all be simple. Ok it needs adding
something to pom.xml
and recompiling openpnp. I suppose windows environment, right ?
Send to Excel/openoffice, when you, what ?

First, do it works load the chips from trayfeeder, and then centering
it using uplooking cam,
or it need to be found using downlooking camera ?
What rfid reader do you have ?

Chris Orita

unread,
Jul 11, 2016, 1:43:14 PM7/11/16
to OpenPnP
Right now, the difficulty is in getting the nozzle.pick()/place() to do anything. I want to be able to simply pick up one chip and place it somewhere else as a proof of concept.

Currently, when I try to use nozzle.pick() I get the error:

TypeError: Can not invoke method
[jdk.internal.dynalink.beans.SimpleDynamicMethod void
org.openpnp.machine.reference.ReferenceNozzle.pick(part)] with the
passed arguments; they do not match any of its method signatures.


I don't have anything else working yet, I'm planning on having the RFID data gathering handled by a separate program that will tell the script to wait until a reading has been made before continuing, but I'm not worried about that yet.

I'm not using any camera functionality yet, I'm just jogging the machine to a starting position, then the script tells it to move to each position sequentially.

I'm using a 64 bit windows machine, and the latest version of the software downloaded from the website.

Jason von Nieda

unread,
Jul 11, 2016, 2:04:12 PM7/11/16
to OpenPnP
Hi Chris,

You have to pass a part object to the pick() method. For example:
Packages.org.openpnp.gui.MainFrame.machineControlsPanel.selectedNozzle.pick(new Packages.org.openpnp.model.Part("tmp"));

That just creates a temporary part to pick with, so you can use that to get by.

If you want to pick a specific part, you can use config.getPart("PART-ID") to get it.

Jason


--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.

To post to this group, send email to ope...@googlegroups.com.

Cri S

unread,
Jul 11, 2016, 2:35:50 PM7/11/16
to ope...@googlegroups.com

I have a script that programms  chips using single nozzle to press bottom vision aligned ic against PCB smt pattern to flash microcontrollers using external program for flashing written in bsh without requiring costly programming afapter. You need zxing for reading barcodes and writing data as CSV for using ostermillers utils.
It's a small addition but in you case the RFID reader should be read using java code. Do you want wait until you have the RFID reader you need to test
Or do you want using the programming script or do you make it itself. Using the beanshell script requires recompiling the java code from source. I cannot share mine compiled because the included opencv binding gives always core dumps so I use other bindings installed on the system that you don't have.

--
You received this message because you are subscribed to a topic in the Google Groups "OpenPnP" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/openpnp/mLOn1WqDEdQ/unsubscribe.
To unsubscribe from this group and all its topics, send an email to openpnp+u...@googlegroups.com.
To post to this group, send email to ope...@googlegroups.com.

Chris Orita

unread,
Jul 11, 2016, 3:16:03 PM7/11/16
to OpenPnP
Jason,

Using "pick(new Packages.org.openpnp.model.Part("tmp"));" does not produce an error, but it seems not to work the way I expect it to. 
I'm using a simple script that is intended to pick up a chip and place back down that looks something like 

move(0,0,-6,0);
pick();
move(0,0,6,0);
move(0,0,-6,0);
place();
move(0,0,6,0);

(with appropriate definitions).

The problem is that the valve will open and close before the head has completed its first motion. Is this a problem with the TinyG board? or do I need to do something to my script?

Jason von Nieda

unread,
Jul 11, 2016, 3:20:27 PM7/11/16
to OpenPnP
Chris,

It sounds like you don't have a dwell or wait in your configuration. See this topic for more information: https://groups.google.com/d/msgid/openpnp/50d5dc59-7739-49da-9082-edcd19570812%40googlegroups.com?utm_medium=email&utm_source=footer

The short version is that depending on the version of TinyG you are using you need to either add a dwell command or a move-complete-regex to your configuration so that the driver knows to wait for the movement to finish before it does the next thing. 

Take a look at that thread and see if that does the trick, and if not, please post your machine.xml and I'll try to assist further.

Jason


Chris Orita

unread,
Jul 11, 2016, 3:21:23 PM7/11/16
to OpenPnP
Cri S, 

It turns out that I do have an RFID reader, but it's sort of proprietary and purpose made for these particular chips, so I'll be on my own for when it comes to getting it to work with my script. 

Cri S

unread,
Jul 11, 2016, 4:18:39 PM7/11/16
to ope...@googlegroups.com
for dwell, you need using {"qv":1} inside dwell, it don't have to do
with versions.
alternativly, you can use Thread.sleep(ms) inside the scripting in
order to ensure to wait
that amount of time between move and pick/place

2016-07-11 19:21 GMT, Chris Orita <chris...@gmail.com>:
> Cri S,
>
> It turns out that I do have an RFID reader, but it's sort of proprietary
> and purpose made for these particular chips, so I'll be on my own for when
> it comes to getting it to work with my script.
>
> On Monday, July 11, 2016 at 2:35:50 PM UTC-4, Cri S wrote:
>>
>> I have a script that programms chips using single nozzle to press bottom
>>
>> vision aligned ic against PCB smt pattern to flash microcontrollers using
>>
>> external program for flashing written in bsh without requiring costly
>> programming afapter. You need zxing for reading barcodes and writing data
>>
>> as CSV for using ostermillers utils.
>> It's a small addition but in you case the RFID reader should be read using
>>
>> java code. Do you want wait until you have the RFID reader you need to
>> test
>> Or do you want using the programming script or do you make it itself.
>> Using the beanshell script requires recompiling the java code from source.
>>
>> I cannot share mine compiled because the included opencv binding gives
>> always core dumps so I use other bindings installed on the system that you
>>
>> don't have.
>> Il 11/lug/2016 19:43 "Chris Orita" <chris...@gmail.com <javascript:>> ha
>>> openpnp+u...@googlegroups.com <javascript:>.
>>> To post to this group, send email to ope...@googlegroups.com
>>> <javascript:>.
>>> <https://groups.google.com/d/msgid/openpnp/d1fdf38f-bb01-4b5f-a761-92ae44fec05b%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "OpenPnP" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/openpnp/mLOn1WqDEdQ/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> openpnp+u...@googlegroups.com.
> To post to this group, send email to ope...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/openpnp/a3f5b8fb-d469-43b2-bc10-ecfbcfc0d3ab%40googlegroups.com.

Chris Orita

unread,
Jul 12, 2016, 9:48:29 AM7/12/16
to OpenPnP
I read through the thread on having the TinyG wait for inputs, but could not figure out how to implement the solution. I'm using the TinyG v.8, with the latest 64 bit windows release of the software from the website (the one that runs from an .exe file). 

I gather that I am going to have to use the version from github if I want to change my configuration. I have tried using it before but running the .bat file (I assume that's how I'm supposed to do it) opens the command shell, and does nothing else.

I tried using Thread.sleep(), but got "ReferenceError: "Thread" is not defined".

Cri S

unread,
Jul 12, 2016, 10:41:00 AM7/12/16
to ope...@googlegroups.com
yes,
https://www.google.it/url?q=https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html&sa=U&ved=0ahUKEwia7KynkO7NAhVKKcAKHajXAWcQFggaMAE&usg=AFQjCNGYZFyHzLyGVxlxbWIWNWpspuavSg
https://maven.apache.org/guides/getting-started/windows-prerequisites.html

you need maven working.
unzip the developer version from git, go inside that dir where the pom.xml is,
change pom.xml
add
<dependency>
<groupId>org.beanshell</groupId>
<artifactId>bsh</artifactId>
<version>2.0b5</version>
</dependency>

after the first </dependency>
just in case, bsh is more easy to use. I don't know how to access
Thread.sleep() inside
javascript, you can use this on javascript and the use wait(500)

function wait(ms) {
var start = +(new Date());
while (new Date() - start < ms);
}

What RFID reader you have ?
for compiling,
mvn package
2016-07-11 20:18 GMT, Cri S <phon...@gmail.com>:

matt

unread,
Jul 12, 2016, 10:44:44 AM7/12/16
to ope...@googlegroups.com, Cri S
i'd be very weary about doing client side sleeps for the delay.

what happens if the machine takes longer to do the stage one time than
normal (say low air pressure on a solenoid) - you might end up driving
the head into something etc..

its much safer to send a command to the controller and get the
controller to respond when its done (or not) and move onto the next
stage.

Jason von Nieda

unread,
Jul 12, 2016, 10:50:19 AM7/12/16
to ope...@googlegroups.com
Hi Chris,

Before you start recompiling things, let's back up a bit and make sure we have the basics down. 

It sounds like your driver is not responding properly. What is happening is that when OpenPnP sends a command to your controller, it's not waiting until the controller is done before returning. This means OpenPnP just keeps sending commands one after the other and nothing will be in sync.

We need to fix this first, otherwise nothing will work correctly.

The first step is to send me your machine.xml file. This will tell me everything I need to know about your setup and I can guide you from there.


Once we sort out this issue you will not need Thread.sleep() or anything like that, but if we don't sort this out first then you won't be able to use OpenPnP to do any kind of basic operations. We need to make sure the basic system is operating correctly before adding on to it.

Jason


Chris Orita

unread,
Jul 12, 2016, 10:59:19 AM7/12/16
to OpenPnP
Thanks for the help,

attatched is my machine.xml file
machine.xml

Cri S

unread,
Jul 12, 2016, 11:06:29 AM7/12/16
to ope...@googlegroups.com
tinyg is broken, it don't wait for return until it moves. neither
@jonoxer or @dandumit
have wanted to test that issue as it worked apparently so it's resolved open .

2016-07-12 14:50 GMT, Jason von Nieda <ja...@vonnieda.org>:
>>>>>> <https://groups.google.com/d/msgid/openpnp/d1fdf38f-bb01-4b5f-a761-92ae44fec05b%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>> .
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "OpenPnP" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to openpnp+u...@googlegroups.com.
>>>> To post to this group, send email to ope...@googlegroups.com.
>>>>
>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/openpnp/7286ab8a-7353-4840-8129-cf4ad454c830%40googlegroups.com
>>>> <https://groups.google.com/d/msgid/openpnp/7286ab8a-7353-4840-8129-cf4ad454c830%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>> --
>> You received this message because you are subscribed to the Google Groups
>> "OpenPnP" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to openpnp+u...@googlegroups.com.
>> To post to this group, send email to ope...@googlegroups.com.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/openpnp/7e0ab8ff-8532-4957-9156-7cad52f92ba4%40googlegroups.com
>> <https://groups.google.com/d/msgid/openpnp/7e0ab8ff-8532-4957-9156-7cad52f92ba4%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "OpenPnP" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/openpnp/mLOn1WqDEdQ/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> openpnp+u...@googlegroups.com.
> To post to this group, send email to ope...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/openpnp/CA%2BQw0jz4n%2BYNs9O5CACHNg84S37NTYoU2uY4_hdOh1%2BS7eRVHg%40mail.gmail.com.

Jason von Nieda

unread,
Jul 12, 2016, 11:31:01 AM7/12/16
to ope...@googlegroups.com
Thanks Chris, that helps.

You are using the TinygDriver which has some known issues, one of which is not waiting for commands to finish. It seems there was a change in the TinyG code a while back that caused it to no longer respect the dwell command that we were using.

I suggest that you switch to the GcodeDriver. This is known to work with TinyG, but it does require a bit of configuration work. You will not need to recompile OpenPnP - you can use the downloaded version. But you will need to edit the machine.xml.

General information about the GcodeDriver is here:

The specific command you'll need to configure to get it working with TinyG is here:

I am going to post a separate thread and see if anyone has a working TinyG config they can share with you to get you going. Keep an eye out for that, but the above should be enough to get your machine moving.

Jason


Cri S

unread,
Jul 12, 2016, 11:37:24 AM7/12/16
to ope...@googlegroups.com
Gcode is not a really nice "driver" and it don't resolve the problem.
Stay at tinyG driver
and resolve the report queue issue.
This my advice.

2016-07-12 15:30 GMT, Jason von Nieda <ja...@vonnieda.org>:
>>>>>>>> <https://groups.google.com/d/msgid/openpnp/d1fdf38f-bb01-4b5f-a761-92ae44fec05b%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>>> .
>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>
>>>>>>> --
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "OpenPnP" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>> send
>>>>>> an email to openpnp+u...@googlegroups.com.
>>>>>> To post to this group, send email to ope...@googlegroups.com.
>>>>>>
>>>>> To view this discussion on the web visit
>>>>>> https://groups.google.com/d/msgid/openpnp/7286ab8a-7353-4840-8129-cf4ad454c830%40googlegroups.com
>>>>>> <https://groups.google.com/d/msgid/openpnp/7286ab8a-7353-4840-8129-cf4ad454c830%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>> .
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "OpenPnP" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to openpnp+u...@googlegroups.com.
>>>> To post to this group, send email to ope...@googlegroups.com.
>>>>
>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/openpnp/7e0ab8ff-8532-4957-9156-7cad52f92ba4%40googlegroups.com
>>>> <https://groups.google.com/d/msgid/openpnp/7e0ab8ff-8532-4957-9156-7cad52f92ba4%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>> --
>> You received this message because you are subscribed to the Google Groups
>> "OpenPnP" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to openpnp+u...@googlegroups.com.
>> To post to this group, send email to ope...@googlegroups.com.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/openpnp/98ab9612-32f6-4c64-ab94-786de025fcf4%40googlegroups.com
>> <https://groups.google.com/d/msgid/openpnp/98ab9612-32f6-4c64-ab94-786de025fcf4%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "OpenPnP" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/openpnp/mLOn1WqDEdQ/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> openpnp+u...@googlegroups.com.
> To post to this group, send email to ope...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/openpnp/CA%2BQw0jx%2B80qvX-JW%3D8e9SLHoV1ZgCF3easyWSQWKz8rVwfuxnQ%40mail.gmail.com.

matt

unread,
Jul 12, 2016, 11:41:00 AM7/12/16
to ope...@googlegroups.com, Cri S
Hi Cri

Whats not nice with the gcode driver?

Thanks

Matt

Jason von Nieda

unread,
Jul 12, 2016, 11:44:08 AM7/12/16
to ope...@googlegroups.com
Cri,

If you have concerns with the GcodeDriver, please open a *new* thread and state them. It's not constructive to claim that the GcodeDriver is not a "nice" driver. If you would like to volunteer to fix the TinygDriver, that is an option too. My advice, based on the fact that I wrote all of this code, is that the TinygDriver is being deprecated and that users should switch to the much more flexible GcodeDriver which is undergoing active development.

Jason


Chris Orita

unread,
Jul 13, 2016, 8:23:40 AM7/13/16
to OpenPnP
When I use the TinygDriver, the machine will move normally even though the pick/place instruction jumps ahead in the queue. When I try to use the GcodeDriver, with or without the move-to-complete-regx command, the TinyG will connect, but it will not respond to input sent from OpenPnP. Am  I missing some modification to the machine.xml file that I need to get things connected properly?

Jason von Nieda

unread,
Jul 13, 2016, 10:56:25 AM7/13/16
to OpenPnP
Chris,

Did you read through the documentation and example for the GcodeDriver? You have to set up the GcodeDriver in the machine.xml, and you can use the example as a starting point. It shouldn't require much modification. If you think you've got it configured right, send me a copy of your machine.xml and I'll check it out. I'll see if I can fix it up and send it back to get you up and running.

I realize this is frustrating, but once you've got this working correctly everything else will kind of fall in place. Getting your driver configured is the most complex, and most important part of configuring OpenPnP.

Jason


Chris Orita

unread,
Jul 13, 2016, 11:43:07 AM7/13/16
to OpenPnP
I read through the wiki page, and I think that I understand what I'm supposed to be doing at a rudimentary level at least. Attached is what I have tried; it fails to connect and gives a "Timeout waiting for response" error.
machine.xml

matt

unread,
Jul 13, 2016, 11:53:08 AM7/13/16
to ope...@googlegroups.com
Have you got flow control enabled in TinyG?

Also i'm not sure (not checked the code...) but flow-control="Off"
should that not be flow-control="false"? I doubt "Off" is a valid
state... (unless Jason is doing human-text parsing), same with the
data-bits="Eight" should probably be data-bits="8". But i'd have to look
at the code to confirm
>>>> https://github.com/openpnp/openpnp/wiki/GcodeDriver [1]
>>>>
>>>> The specific command you'll need to configure to get it working
>>> with TinyG
>>>> is here:
>>>>
>>>
>>
> https://github.com/openpnp/openpnp/wiki/GcodeDriver#move-to-complete-regex
>>> [2]
>>> [3]
>>> [4]
>>> [5]
>>>>>>>>>>>
>>>
>>
> <https://groups.google.com/d/msgid/openpnp/d1fdf38f-bb01-4b5f-a761-92ae44fec05b%40googlegroups.com?utm_medium=email&utm_source=footer
>>> [6]>
>>>>>>>>>>> .
>>>>>>>>>>> For more options, visit
>>> https://groups.google.com/d/optout [7].
>>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>> You received this message because you are subscribed to
>>> the Google
>>>>>>>>> Groups "OpenPnP" group.
>>>>>>>>> To unsubscribe from this group and stop receiving emails
>>> from it,
>>>>>>>>> send
>>>>>>>>> an email to openpnp+u...@googlegroups.com.
>>>>>>>>> To post to this group, send email to
>>> ope...@googlegroups.com.
>>>>>>>>>
>>>>>>>> To view this discussion on the web visit
>>>>>>>>>
>>>
>>
> https://groups.google.com/d/msgid/openpnp/7286ab8a-7353-4840-8129-cf4ad454c830%40googlegroups.com
>>> [8]
>>>>>>>>>
>>>
>>
> <https://groups.google.com/d/msgid/openpnp/7286ab8a-7353-4840-8129-cf4ad454c830%40googlegroups.com?utm_medium=email&utm_source=footer
>>> [9]>
>>>>>>>>> .
>>>>>>>>> For more options, visit https://groups.google.com/d/optout
>>> [7].
>>>>>>>>>
>>>>>>>> --
>>>>>>> You received this message because you are subscribed to the
>>> Google
>>>>>>> Groups "OpenPnP" group.
>>>>>>> To unsubscribe from this group and stop receiving emails
>>> from it, send
>>>>>>> an email to openpnp+u...@googlegroups.com.
>>>>>>> To post to this group, send email to
>>> ope...@googlegroups.com.
>>>>>>>
>>>>>> To view this discussion on the web visit
>>>>>>>
>>>
>>
> https://groups.google.com/d/msgid/openpnp/7e0ab8ff-8532-4957-9156-7cad52f92ba4%40googlegroups.com
>>> [10]
>>>>>>>
>>>
>>
> <https://groups.google.com/d/msgid/openpnp/7e0ab8ff-8532-4957-9156-7cad52f92ba4%40googlegroups.com?utm_medium=email&utm_source=footer
>>> [11]>
>>>>>>> .
>>>>>>> For more options, visit https://groups.google.com/d/optout
>>> [7].
>>>>>>>
>>>>>> --
>>>>> You received this message because you are subscribed to the
>>> Google Groups
>>>>> "OpenPnP" group.
>>>>> To unsubscribe from this group and stop receiving emails from
>>> it, send an
>>>>> email to openpnp+u...@googlegroups.com.
>>>>> To post to this group, send email to ope...@googlegroups.com.
>>>>> To view this discussion on the web visit
>
>>>>>
>>>
>>
> https://groups.google.com/d/msgid/openpnp/98ab9612-32f6-4c64-ab94-786de025fcf4%40googlegroups.com
>>> [12]
>>>>>
>>>
>>
> <https://groups.google.com/d/msgid/openpnp/98ab9612-32f6-4c64-ab94-786de025fcf4%40googlegroups.com?utm_medium=email&utm_source=footer
>>> [13]>
>>>>> .
>>>>> For more options, visit https://groups.google.com/d/optout
>>> [7].
>>>>>
>>>>
>>>> --
>>>> You received this message because you are subscribed to a topic
>>> in the
>>>> Google Groups "OpenPnP" group.
>>>> To unsubscribe from this topic, visit
>>>>
>>> https://groups.google.com/d/topic/openpnp/mLOn1WqDEdQ/unsubscribe
>>> [14].
>>>> To unsubscribe from this group and all its topics, send an
>>> email to
>
>>>> openpnp+u...@googlegroups.com.
>>>> To post to this group, send email to ope...@googlegroups.com.
>>>> To view this discussion on the web visit
>
>>>>
>>>
>>
> https://groups.google.com/d/msgid/openpnp/CA%2BQw0jx%2B80qvX-JW%3D8e9SLHoV1ZgCF3easyWSQWKz8rVwfuxnQ%40mail.gmail.com
>>> [15].
>>>> For more options, visit https://groups.google.com/d/optout [7].
>>>>
>>>
>>> --
>>> You received this message because you are subscribed to the
>>> Google Groups "OpenPnP" group.
>
>>> To unsubscribe from this group and stop receiving emails from it,
>>> send an email to openpnp+u...@googlegroups.com.
>
>>> To post to this group, send email to ope...@googlegroups.com.
>
>>> To view this discussion on the web visit
>>>
>>
> https://groups.google.com/d/msgid/openpnp/CAJGcfUhk0t-jbuDJqfshQRs1hoUZ_dLJmDEabtcZuJ-_R06udw%40mail.gmail.com
>>> [16].
>>> For more options, visit https://groups.google.com/d/optout [7].
>
> --
> You received this message because you are subscribed to the Google
> Groups "OpenPnP" group.
> To unsubscribe from this group and stop receiving emails from it,
> send an email to openpnp+u...@googlegroups.com.
> To post to this group, send email to ope...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/openpnp/0bfd9b82-9480-42d5-abc1-4a91a87559b0%40googlegroups.com
> [17].
> For more options, visit https://groups.google.com/d/optout [7].
>
> --
> You received this message because you are subscribed to the Google
> Groups "OpenPnP" group.
> To unsubscribe from this group and stop receiving emails from it,
> send an email to openpnp+u...@googlegroups.com.
> To post to this group, send email to ope...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/openpnp/04b5d790-8bfd-4e1c-94f4-6505e00aa93e%40googlegroups.com
> [18].
> For more options, visit https://groups.google.com/d/optout [7].
>
>
> Links:
> ------
> [1] https://github.com/openpnp/openpnp/wiki/GcodeDriver
> [2]
> https://github.com/openpnp/openpnp/wiki/GcodeDriver#move-to-complete-regex
> [3]
> https://github.com/openpnp/openpnp/wiki/FAQ#where-are-configuration-and-log-files-located
> [4]
> https://groups.google.com/d/msgid/openpnp/50d5dc59-7739-49da-9082-edcd19570812%40googlegroups.com?utm_medium=email&amp;utm_source=footer
> [5]
> https://groups.google.com/d/msgid/openpnp/d1fdf38f-bb01-4b5f-a761-92ae44fec05b%40googlegroups.com
> [6]
> https://groups.google.com/d/msgid/openpnp/d1fdf38f-bb01-4b5f-a761-92ae44fec05b%40googlegroups.com?utm_medium=email&amp;utm_source=footer
> [7] https://groups.google.com/d/optout
> [8]
> https://groups.google.com/d/msgid/openpnp/7286ab8a-7353-4840-8129-cf4ad454c830%40googlegroups.com
> [9]
> https://groups.google.com/d/msgid/openpnp/7286ab8a-7353-4840-8129-cf4ad454c830%40googlegroups.com?utm_medium=email&amp;utm_source=footer
> [10]
> https://groups.google.com/d/msgid/openpnp/7e0ab8ff-8532-4957-9156-7cad52f92ba4%40googlegroups.com
> [11]
> https://groups.google.com/d/msgid/openpnp/7e0ab8ff-8532-4957-9156-7cad52f92ba4%40googlegroups.com?utm_medium=email&amp;utm_source=footer
> [12]
> https://groups.google.com/d/msgid/openpnp/98ab9612-32f6-4c64-ab94-786de025fcf4%40googlegroups.com
> [13]
> https://groups.google.com/d/msgid/openpnp/98ab9612-32f6-4c64-ab94-786de025fcf4%40googlegroups.com?utm_medium=email&amp;utm_source=footer
> [14] https://groups.google.com/d/topic/openpnp/mLOn1WqDEdQ/unsubscribe
> [15]
> https://groups.google.com/d/msgid/openpnp/CA%2BQw0jx%2B80qvX-JW%3D8e9SLHoV1ZgCF3easyWSQWKz8rVwfuxnQ%40mail.gmail.com
> [16]
> https://groups.google.com/d/msgid/openpnp/CAJGcfUhk0t-jbuDJqfshQRs1hoUZ_dLJmDEabtcZuJ-_R06udw%40mail.gmail.com
> [17]
> https://groups.google.com/d/msgid/openpnp/0bfd9b82-9480-42d5-abc1-4a91a87559b0%40googlegroups.com?utm_medium=email&amp;utm_source=footer
> [18]
> https://groups.google.com/d/msgid/openpnp/04b5d790-8bfd-4e1c-94f4-6505e00aa93e%40googlegroups.com?utm_medium=email&utm_source=footer

Chris Orita

unread,
Jul 13, 2016, 12:00:47 PM7/13/16
to OpenPnP
Matt, 

In OpenPnP, there are driver settings in the machine setup that use drop down lists for selecting settings. Here, the options are written out, e.g. Data Bits [Eight] and Parity [None].

matt

unread,
Jul 13, 2016, 12:04:19 PM7/13/16
to ope...@googlegroups.com
Ah ok - ive always done the config by hand </hardcore>.

Although i must admit having the word "Eight" in there doesn't feel like
the best... whats going to happen when its multi-lingual! ;)
>>>>>> https://github.com/openpnp/openpnp/wiki/GcodeDriver [1] [1]
>>>>> [5]
>>>>>>>>>>>>>
>>>>>
>>>>
>>>
>>
> <https://groups.google.com/d/msgid/openpnp/d1fdf38f-bb01-4b5f-a761-92ae44fec05b%40googlegroups.com?utm_medium=email&utm_source=footer
>> [6]
>>>>> [6]>
>>>>>>>>>>>>> .
>>>>>>>>>>>>> For more options, visit
>>>>> https://groups.google.com/d/optout [7] [7].
>>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>> You received this message because you are subscribed to
>>>>> the Google
>>>>>>>>>>> Groups "OpenPnP" group.
>>>>>>>>>>> To unsubscribe from this group and stop receiving emails
>>>>> from it,
>>>>>>>>>>> send
>>>>>>>>>>> an email to openpnp+u...@googlegroups.com.
>>>>>>>>>>> To post to this group, send email to
>>>>> ope...@googlegroups.com.
>>>>>>>>>>>
>>>>>>>>>> To view this discussion on the web visit
>>>>>>>>>>>
>>>>>
>>>>
>>>
>>
> https://groups.google.com/d/msgid/openpnp/7286ab8a-7353-4840-8129-cf4ad454c830%40googlegroups.com
>> [8]
>>>>> [8]
>>>>>>>>>>>
>>>>>
>>>>
>>>
>>
> <https://groups.google.com/d/msgid/openpnp/7286ab8a-7353-4840-8129-cf4ad454c830%40googlegroups.com?utm_medium=email&utm_source=footer
>> [9]
>>>>> [9]>
>>>>>>>>>>> .
>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout
>> [7]
>>>>> [7].
>>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>> You received this message because you are subscribed to the
>>>>> Google
>>>>>>>>> Groups "OpenPnP" group.
>>>>>>>>> To unsubscribe from this group and stop receiving emails
>>>>> from it, send
>>>>>>>>> an email to openpnp+u...@googlegroups.com.
>>>>>>>>> To post to this group, send email to
>>>>> ope...@googlegroups.com.
>>>>>>>>>
>>>>>>>> To view this discussion on the web visit
>>>>>>>>>
>>>>>
>>>>
>>>
>>
> https://groups.google.com/d/msgid/openpnp/7e0ab8ff-8532-4957-9156-7cad52f92ba4%40googlegroups.com
>> [10]
>>>>> [10]
>>>>>>>>>
>>>>>
>>>>
>>>
>>
> <https://groups.google.com/d/msgid/openpnp/7e0ab8ff-8532-4957-9156-7cad52f92ba4%40googlegroups.com?utm_medium=email&utm_source=footer
>> [11]
>>>>> [11]>
>>>>>>>>> .
>>>>>>>>> For more options, visit https://groups.google.com/d/optout
>> [7]
>>>>> [7].
>>>>>>>>>
>>>>>>>> --
>>>>>>> You received this message because you are subscribed to the
>>>>> Google Groups
>>>>>>> "OpenPnP" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from
>>>>> it, send an
>>>>>>> email to openpnp+u...@googlegroups.com.
>>>>>>> To post to this group, send email to ope...@googlegroups.com.
>>>>>>> To view this discussion on the web visit
>>>
>>>>>>>
>>>>>
>>>>
>>>
>>
> https://groups.google.com/d/msgid/openpnp/98ab9612-32f6-4c64-ab94-786de025fcf4%40googlegroups.com
>> [12]
>>>>> [12]
>>>>>>>
>>>>>
>>>>
>>>
>>
> <https://groups.google.com/d/msgid/openpnp/98ab9612-32f6-4c64-ab94-786de025fcf4%40googlegroups.com?utm_medium=email&utm_source=footer
>> [13]
>>> [1] https://github.com/openpnp/openpnp/wiki/GcodeDriver [1]
>>> [2]
>>>
>>
> https://github.com/openpnp/openpnp/wiki/GcodeDriver#move-to-complete-regex
>> [2]
>>> [3]
>>>
>>
> https://github.com/openpnp/openpnp/wiki/FAQ#where-are-configuration-and-log-files-located
>> [3]
>>> [4]
>>>
>>
> https://groups.google.com/d/msgid/openpnp/50d5dc59-7739-49da-9082-edcd19570812%40googlegroups.com?utm_medium=email&amp;utm_source=footer
>> [19]
>>> [5]
>>>
>>
> https://groups.google.com/d/msgid/openpnp/d1fdf38f-bb01-4b5f-a761-92ae44fec05b%40googlegroups.com
>> [5]
>>> [6]
>>>
>>
> https://groups.google.com/d/msgid/openpnp/d1fdf38f-bb01-4b5f-a761-92ae44fec05b%40googlegroups.com?utm_medium=email&amp;utm_source=footer
>> [20]
>>> [7] https://groups.google.com/d/optout [7]
>>> [8]
>>>
>>
> https://groups.google.com/d/msgid/openpnp/7286ab8a-7353-4840-8129-cf4ad454c830%40googlegroups.com
>> [8]
>>> [9]
>>>
>>
> https://groups.google.com/d/msgid/openpnp/7286ab8a-7353-4840-8129-cf4ad454c830%40googlegroups.com?utm_medium=email&amp;utm_source=footer
>> [21]
>>> [10]
>>>
>>
> https://groups.google.com/d/msgid/openpnp/7e0ab8ff-8532-4957-9156-7cad52f92ba4%40googlegroups.com
>> [10]
>>> [11]
>>>
>>
> https://groups.google.com/d/msgid/openpnp/7e0ab8ff-8532-4957-9156-7cad52f92ba4%40googlegroups.com?utm_medium=email&amp;utm_source=footer
>> [22]
>>> [12]
>>>
>>
> https://groups.google.com/d/msgid/openpnp/98ab9612-32f6-4c64-ab94-786de025fcf4%40googlegroups.com
>> [12]
>>> [13]
>>>
>>
> https://groups.google.com/d/msgid/openpnp/98ab9612-32f6-4c64-ab94-786de025fcf4%40googlegroups.com?utm_medium=email&amp;utm_source=footer
>> [23]
>>> [14]
>> https://groups.google.com/d/topic/openpnp/mLOn1WqDEdQ/unsubscribe
>> [14]
>>> [15]
>>>
>>
> https://groups.google.com/d/msgid/openpnp/CA%2BQw0jx%2B80qvX-JW%3D8e9SLHoV1ZgCF3easyWSQWKz8rVwfuxnQ%40mail.gmail.com
>> [15]
>>> [16]
>>>
>>
> https://groups.google.com/d/msgid/openpnp/CAJGcfUhk0t-jbuDJqfshQRs1hoUZ_dLJmDEabtcZuJ-_R06udw%40mail.gmail.com
>> [16]
>>> [17]
>>>
>>
> https://groups.google.com/d/msgid/openpnp/0bfd9b82-9480-42d5-abc1-4a91a87559b0%40googlegroups.com?utm_medium=email&amp;utm_source=footer
>> [24]
>>> [18]
>>>
>>
> https://groups.google.com/d/msgid/openpnp/04b5d790-8bfd-4e1c-94f4-6505e00aa93e%40googlegroups.com?utm_medium=email&utm_source=footer
>> [25]
>
> --
> You received this message because you are subscribed to the Google
> Groups "OpenPnP" group.
> To unsubscribe from this group and stop receiving emails from it,
> send an email to openpnp+u...@googlegroups.com.
> To post to this group, send email to ope...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/openpnp/cfa01884-ef48-4472-8c24-6fcb0f18220a%40googlegroups.com
> [26].
> [18]
> https://groups.google.com/d/msgid/openpnp/04b5d790-8bfd-4e1c-94f4-6505e00aa93e%40googlegroups.com
> [19]
> https://groups.google.com/d/msgid/openpnp/50d5dc59-7739-49da-9082-edcd19570812%40googlegroups.com?utm_medium=email&amp;amp;utm_source=footer
> [20]
> https://groups.google.com/d/msgid/openpnp/d1fdf38f-bb01-4b5f-a761-92ae44fec05b%40googlegroups.com?utm_medium=email&amp;amp;utm_source=footer
> [21]
> https://groups.google.com/d/msgid/openpnp/7286ab8a-7353-4840-8129-cf4ad454c830%40googlegroups.com?utm_medium=email&amp;amp;utm_source=footer
> [22]
> https://groups.google.com/d/msgid/openpnp/7e0ab8ff-8532-4957-9156-7cad52f92ba4%40googlegroups.com?utm_medium=email&amp;amp;utm_source=footer
> [23]
> https://groups.google.com/d/msgid/openpnp/98ab9612-32f6-4c64-ab94-786de025fcf4%40googlegroups.com?utm_medium=email&amp;amp;utm_source=footer
> [24]
> https://groups.google.com/d/msgid/openpnp/0bfd9b82-9480-42d5-abc1-4a91a87559b0%40googlegroups.com?utm_medium=email&amp;amp;utm_source=footer
> [25]
> https://groups.google.com/d/msgid/openpnp/04b5d790-8bfd-4e1c-94f4-6505e00aa93e%40googlegroups.com?utm_medium=email&amp;utm_source=footer
> [26]
> https://groups.google.com/d/msgid/openpnp/cfa01884-ef48-4472-8c24-6fcb0f18220a%40googlegroups.com?utm_medium=email&utm_source=footer

Jason von Nieda

unread,
Jul 13, 2016, 12:04:30 PM7/13/16
to OpenPnP
Yep, those options are fine. Internally these lists use Java enums, which have human readable descriptions, and this is how they are parsed. I'm going to try to work with Chris directly to get this all sorted and then we'll report back here when it's all good. 

Jason


Jason von Nieda

unread,
Jul 14, 2016, 1:32:29 PM7/14/16
to ope...@googlegroups.com
Hey Matt,

Since those options come from enums, they would not be internationalized. They aren't strings in the traditional sense of the word.

In a perfect world, a user would never have to mess around in the XML files. We're not quite there yet, but slowly getting closer. In any case, if someone wants to edit the file directly they will have to suffer with English option names :)

Jason

Cri S

unread,
Jul 15, 2016, 1:16:22 PM7/15/16
to OpenPnP
Is now the gcode driver functional on tinyg?

alex

unread,
Jul 15, 2016, 8:56:24 PM7/15/16
to OpenPnP
Is it possible to use scripting feature to make bottom vision align components in a few iterations and rotate them before performing bottom vision, not after?

Jason von Nieda

unread,
Jul 15, 2016, 9:03:50 PM7/15/16
to OpenPnP
If you mean during a normal pick and place job, no, that's not possible with scripting. Scripting is really intended for small, simple, external tasks, not as modification of the basic internal tasks. To do this you'd be better off modifying the ReferencePnpJobProcessor and ReferenceBottomVision classes.

Jason


On Fri, Jul 15, 2016 at 5:56 PM alex <al...@sai.msu.ru> wrote:
Is it possible to use scripting feature to make bottom vision align components in a few iterations and rotate them before performing bottom vision, not after?

--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To post to this group, send email to ope...@googlegroups.com.

alex

unread,
Jul 15, 2016, 9:27:26 PM7/15/16
to OpenPnP
Thanks, Jason.
Reply all
Reply to author
Forward
0 new messages