Auggie Early posts

Discussions and file drops for Auggie
User avatar
ArtF
Global Moderator
Global Moderator
Posts: 4592
Joined: Sun Sep 05, 2010 6:14 am
Contact:

Auggie Early posts

Post by ArtF »

Nice boxes. :)

Art
Ya-Nvr-No
Old Timer
Posts: 188
Joined: Wed Sep 08, 2010 11:15 am

Auggie Early posts

Post by Ya-Nvr-No »

https://youtu.be/EH_32DUqivg

shows how you can take a whole screen and make a panel out of it and they all can still interact with a little script editing.
(changed Main to Default2)
Main was my initial screens, main panel name and Default2 was the screen name, save it as a panel and it is now the Default2 panel

Video also shows the ability to use a button as a toggle to set states.
Getting ether the Work or Machine Coords and creating the vectors from the axis DRO's

Note: at this time i am just using the sliders to drive the dros for ease and to show response.

I can assure you this is a snap to grasp and fun to play with. I can envision screens with tabs of wizards. Create your wizard write the script to control it, then share the wizard and script as a panel set with others. Someone includes it in their screen and refines it and passes it back as a new updated panel.

This is the easiest possible control interface ever created to use. and I would bet $$$ this will keep getting better. You don't have to do CNC, you could create a screen or panel to calculate and balance your checkbook or keep track of inventory or you name it. It's just a graphical tool to display the data in the scripts or in do time a motion controller or an I/O board. And you can make it as pretty or sinister as you desire with your own graphic files.

I swear, Art did more on his vacation then anyone would have dreamed is possible. This man is a treasure.

Do admit, I did beat him up a lot this summer.  ;D Ya-Nvr-No  ;D

Keep up the good work. Sweet job!!!!!!!!!



Attachments
test1Screen2.JPG
Last edited by Ya-Nvr-No on Thu Aug 13, 2015 8:02 am, edited 1 time in total.
Ya-Nvr-No
Old Timer
Posts: 188
Joined: Wed Sep 08, 2010 11:15 am

Auggie Early posts

Post by Ya-Nvr-No »

Created a Calculate Speeds & Feeds Panel

Code for the Calc Button:

Code: Select all

global SurfaceSpeedCalc_BUT0 = function( current ) 
{
local PI=3.141592654;
local RPM_Inch=1000;	
local RPM_Metric=6400;
local SFM=A.CtrlGet("SurfaceSpeedCalc_DRO0");
local SMM=A.CtrlGet("SurfaceSpeedCalc_DRO4");
local DIA_Inch=A.CtrlGet("SurfaceSpeedCalc_DRO1");
local DIA_Metric=A.CtrlGet("SurfaceSpeedCalc_DRO5");

RPM_Inch = (SFM * 12)/(DIA_Inch * PI);
RPM_Metric = (SMM * 318.057)/DIA_Metric;

SFM = (DIA_Inch * PI * RPM_Inch)/12;
SMM = (DIA_Metric * 0.00314 * RPM_Metric);

local TeethInch=A.CtrlGet("SurfaceSpeedCalc_DRO2");
local FeedToothInch=A.CtrlGet("SurfaceSpeedCalc_DRO3");

local TeethMetric=A.CtrlGet("SurfaceSpeedCalc_DRO6");
local FeedToothMetric=A.CtrlGet("SurfaceSpeedCalc_DRO7");

local FeedRateInch = TeethInch * FeedToothInch * RPM_Inch;
local FeedRateMetric = TeethMetric * FeedToothMetric * RPM_Metric;

A.CtrlSet("SurfaceSpeedCalc_DRO10",FeedRateInch);
A.CtrlSet("SurfaceSpeedCalc_DRO13",FeedRateMetric);
A.CtrlSet("SurfaceSpeedCalc_DRO9",RPM_Inch);
A.CtrlSet("SurfaceSpeedCalc_DRO12",RPM_Metric);
A.CtrlSet("SurfaceSpeedCalc_DRO8",SFM);
A.CtrlSet("SurfaceSpeedCalc_DRO11",SMM);

 return;
};

Attachments
sfpm2.JPG
Last edited by Ya-Nvr-No on Fri Aug 14, 2015 12:19 am, edited 1 time in total.
DanL
Old Timer
Posts: 362
Joined: Wed Sep 10, 2014 1:35 pm

Auggie Early posts

Post by DanL »

yer it does not look to hard to do easier than Lua I don't have access to the scripted so I cant learn yet

art will this be able to control a machine this program only using a pokeys board
User avatar
ArtF
Global Moderator
Global Moderator
Posts: 4592
Joined: Sun Sep 05, 2010 6:14 am
Contact:

Auggie Early posts

Post by ArtF »

Ken:

  Auggie Phase 2 is for wizards and scripting,
  Auggie Phase 3 is for motion using a pokeys,
  and if popular enough,
  Auggie Phase 4 is for attachment to any other device thats interested.

Thats the plan..

  There is a video tonight on my youtube channel on basic scripting, Ill repost a demo in a few days
that can script.

Art
DanL
Old Timer
Posts: 362
Joined: Wed Sep 10, 2014 1:35 pm

Auggie Early posts

Post by DanL »

thanks art
Ya-Nvr-No
Old Timer
Posts: 188
Joined: Wed Sep 08, 2010 11:15 am

Re: Auggie Early posts

Post by Ya-Nvr-No »

Roughing in a Bolt Circle Wizard

Code: Select all

global BoltCircle_BUT0 = function( current ) 
{
local a = {Interface("BoltCircle_BUT1").curr,
Interface("BoltCircle_BUT2").curr,
Interface("BoltCircle_BUT3").curr,
Interface("BoltCircle_BUT4").curr,
Interface("BoltCircle_BUT5").curr,
Interface("BoltCircle_BUT6").curr,
Interface("BoltCircle_BUT7").curr,
Interface("BoltCircle_BUT8").curr,
Interface("BoltCircle_BUT9").curr};

local Gcode ="g80";
 for( i = 0; i < 10; i=i+1)
{
&nbsp; &nbsp; if (a[i]== true ) 
&nbsp; &nbsp; {
&nbsp; &nbsp; Gcode = Interface("BoltCircle_BUT"+(i+1)).text;
&nbsp; &nbsp; }
}

&nbsp; &nbsp; local x_center = A.CtrlGet("BoltCircle_DRO0");
&nbsp; &nbsp; local y_center = A.CtrlGet("BoltCircle_DRO1");
&nbsp; &nbsp; local StartAngle = A.CtrlGet("BoltCircle_DRO2");
&nbsp; &nbsp; local dia = A.CtrlGet("BoltCircle_DRO3");
&nbsp; &nbsp; local numberofholes = A.CtrlGet("BoltCircle_DRO4");
&nbsp; &nbsp; local PI = 3.14159265;

&nbsp; &nbsp; local stAngle = (PI / 180) * StartAngle;
&nbsp; &nbsp; local Xangle = cos(stAngle);
&nbsp; &nbsp; local Yangle = sin(stAngle);
&nbsp; &nbsp; local x = x_center + (dia / 2) * Xangle;
&nbsp; &nbsp; local y = y_center + (dia / 2) * Yangle;
&nbsp; &nbsp; local StepAng = (2 * PI) / numberofholes;
 for( i = 0; i < numberofholes; i=i+1)
{
&nbsp; x = x_center + (dia / 2) * cos(stAngle + (StepAng * i));
		y = y_center + (dia / 2) * sin(stAngle + (StepAng * i));
&nbsp; Gcode =&nbsp; Gcode + " G1 "+ "X"+x + " Y"+y + "\r\n";
}
Gcode =&nbsp; Gcode + " G80";
Interface("BoltCircle_LABEL1").text = Gcode;

 return;
};
BoltCircle_BUT0();

Attachments
boltcircle.JPG
DanL
Old Timer
Posts: 362
Joined: Wed Sep 10, 2014 1:35 pm

Re: Auggie Early posts

Post by DanL »

this does look a lot easier you can read and see where the info comes from, get info from here plus math, do this with it, output G code like this. does not mean I will pick it up in weeks it very close to arduino plus the other code type I use c type stuff.

have you found any good online stuff for this code, monkey what ever art said it was called
User avatar
ArtF
Global Moderator
Global Moderator
Posts: 4592
Joined: Sun Sep 05, 2010 6:14 am
Contact:

Re: Auggie Early posts

Post by ArtF »

Ken:

&nbsp; There is a referance document that Ill add to the distribution, the lanbguage is very C like, so its great for arduino users, and Im pretty
sure Ill add an arduino hook so you can simply get things like Arduino.GetAnalog(1) so to fill a DRO woudl be

Interface("DRO1").curr = arduino.Analog(3);

&nbsp; Thats the type of syntax it will use. To make Gcode in this type of wizard it is planned for the scripter to never
use a Gcode, you would call GCode.PeckDrill( x, y, depth, pass); Augie will worry about what kind of machine, coordinate
rotation and translation and the post the appropriuate Gcodes for the users machine. The idea is the scripter should
not have to worry about what kind of Gcode, just that is be produced.&nbsp; I want scripters to worry about functionallity,
not syntax..

&nbsp; I realize the difficulty in learning a scripting language, Im going to be attempting some out of the box ideas to get you
to learn with as little effort as possible. We'll see how that works out. It wont be fast, I'm trying to do this right, those of you that
can assist as we go through trials would be highly appreciated.

Thx
Art

DanL
Old Timer
Posts: 362
Joined: Wed Sep 10, 2014 1:35 pm

Re: Auggie Early posts

Post by DanL »

sounds good art, look`s like it will cover the noobs as well if I can use Arduino type stuff with it like the 32u4 boards the teenys (keyboard and mouse emulation) what I use now it would make it quite easy to make a pendent and have other useful addons.

and to get it nice and simple will be one of the hardest thing you can ever do easy is never easy to do, all the disable products I re engineer take a long time to do, to have it to a point where you can go to a hardware shop to get something that will work for a quick fix`s is quite hard and getting the cost down to make said item very low cost is not fun.
Last edited by DanL on Sat Aug 15, 2015 3:47 pm, edited 1 time in total.
Ya-Nvr-No
Old Timer
Posts: 188
Joined: Wed Sep 08, 2010 11:15 am

Re: Auggie Early posts

Post by Ya-Nvr-No »

http://youtu.be/ZRhQN331na8

Video shows a created button panel calling Notepad and Lua scripts, and some additional control capabilities.

Here is an idea of an example function that gets data and computes a circular drilling hole pattern

Code: Select all

global&nbsp; DrillBoltHoleCircle = function(gcode,x,y,z,sAngle,dia,numHoles,feed)&nbsp; 
{	
//cast any value that needs to be in to a float, just in case they were passed as an integer
&nbsp; x = x.Float();&nbsp; // the x.Float takes the x value passed in the function and casts it to a float with the same x name
&nbsp; y = y.Float();
&nbsp; z = z.Float();
&nbsp; sAngle = sAngle.Float();
&nbsp; dia = dia.Float();

 local Gcode = gcode + feed;
 local x_center = x;
	local y_center = y;
	local StartAngle = sAngle;
	local dia = dia;
	local numberofholes = numHoles;
	local stAngle = (PI / 180) * StartAngle;
	local Xangle = cos(stAngle);
	local Yangle = sin(stAngle);
	local x = x_center + (dia / 2) * Xangle;
	local y = y_center + (dia / 2) * Yangle;
	local StepAng = (2 * PI) / numberofholes;
 	for( i = 0; i < numberofholes; i=i+1)
		{
&nbsp; 			x = x_center + (dia / 2) * cos(stAngle + (StepAng * i));
			y = y_center + (dia / 2) * sin(stAngle + (StepAng * i));
&nbsp; 			Gcode =&nbsp; Gcode + " G1 "+ "X"+x + " Y"+y + "\r\n";
		}
		Gcode =&nbsp; Gcode + " G80";
		Interface("BoltCircle_LABEL1").text = Gcode;

	return;
};
//("gcode",x,y,z,sangle,dia,numHoles,"feed") ;
DrillBoltHoleCircle("G86",10,1,-1,0,7,5,"F20");
 
Attachments
buttonPanel.JPG
DanL
Old Timer
Posts: 362
Joined: Wed Sep 10, 2014 1:35 pm

Re: Auggie Early posts

Post by DanL »

nice your leaving nothing for anyone to do well I can under stand that quite well buy the time art does put out augggie there is going to be plenty of examples
User avatar
Mooselake
Old Timer
Posts: 522
Joined: Sun Dec 26, 2010 12:21 pm
Location: Mooselake Manor

Re: Auggie Early posts

Post by Mooselake »

Does this mean that we can combine Auggie and the PokeysCNC, and get rid of all that other laser software?

Kirk
User avatar
ArtF
Global Moderator
Global Moderator
Posts: 4592
Joined: Sun Sep 05, 2010 6:14 am
Contact:

Re: Auggie Early posts

Post by ArtF »

Thats my hope. Most laser software is pretty bad, Im hoping to replace it with a pokeys and auggie. No DSP based panel required.
A pokeys has the capability to do everything required. But Ill post sucesses and failures as I go. Auggie already finds all Pokeys on the system,
but development stops at that point until scripting and interfaceing are properly tested and I feel we're ready for the next step of breakout baord integration.

Thx
Art
Dan
Old Timer
Posts: 63
Joined: Sun Sep 26, 2010 2:26 am

Re: Auggie Early posts

Post by Dan »

Very interesting project, Art! Wonder where do you get all the great ideas from ;)

Dan
Post Reply

Who is online

Users browsing this forum: No registered users and 63 guests