Machsupport Forum

Mach Discussion => Mach4 General Discussion => Topic started by: TimGS on May 04, 2015, 12:25:52 AM

Title: Defining Signal Scripts in Mach4
Post by: TimGS on May 04, 2015, 12:25:52 AM
I am trying to connect a switch to input #1 and have it control the Jog Mode (Incremental or Continuous).  When in "Step" mode the step LED on the screen will light and so will the physical LED on the switch to indicate that the Jog Mode is in Step.

Code: [Select]
--My Signal Code Starts Here
--Code added to the "Screen Load Script"
SigLib = {
    [mc.ISIG_INPUT1] = function(state)--Jog Mode
        local inst = mc.mcGetInstance();
        local hsig = mc.mcSignalGetHandle(inst, mc.OSIG_JOG_INC);--THIS IS WRONG

        if(state == 1)then
            --Jog Mode Increment On
            mc.mcSignalSetState(hsig,1);           
        else
           --Jog Mode Increment Off
            mc.mcSignalSetState(hsig,0);
        end
    end
}
--My Signal Code Ends Here

Anyone have any insight??
Title: Re: Defining Signal Scripts in Mach4
Post by: TimGS on May 04, 2015, 02:57:23 PM
I have looked in the Mach4CoreAPI... can't seem to find an API for JOG MODE.

...is there and API for setting the JOG MODE??
Title: Project Signal Scripts to Control Jogging from External Inputs
Post by: TimGS on May 06, 2015, 08:50:14 AM
My goal is to control Jogging from a set of switches and an MPG:
     Momentary Contact Switches:  X+; X-; Y+; Y-; Z+; Z-; A+; A-; JOG MODE {Used to cycle Jog Mode: Step, Continuous or OFF}
     5-POS 8-Terminal Switch:  {Used to set Jog Increment} 1.0000 (Default Open) , .1, .01, .001 and .0001
     5-POS 8-Terminal Switch:  {Used to set which axis the MPG will control} Axis X, Axis Y, Axis Z, Axis A
     MPG

Status still stuck.... 
I can read the status of inputs and change the state of output.  If I could only read/change the state of the machine I would be in business.  I have read and experimented with code from others on this site (THANK YOU ALL)

Code: [Select]
--Start of Signals from the end of the Screen Load Script
SignalTable = {
    --Enable
  --  [mc.OSIG_MACHINE_ENABLED] = function (state)
    --    machEnabled = state;
    --end,
        [mc.ISIG_INPUT1] = function (on_off)--mc.ISIG_INPUT1
            local inst= mc.mcGetInstance()
            local hsig = mc.mcSignalGetHandle(inst, mc.OSIG_OUTPUT1)
            state = mc.mcSignalGetState(hsig)
        if( on_off==1 ) then
            -- On
            --I would like to set the Jog Mode to Increment here;
            mc.mcSignalSetState(hsig, 1) --This code is just here to turn an LED connected to OUTPUT 1 "ON" to show me that I was really doing something.
        else
            -- Off
            mc.mcSignalSetState(hsig, 0)--This code is just here to turn an LED connected to OUTPUT 1 "OFF" to show me that I was really doing something.
        end
    end
}


--The following code is from members Analias and Ya-Nvr-no
sigNames = {
[mc.ISIG_EMERGENCY] = 'ISIG_EMERGENCY',
[mc.ISIG_INDEX] = 'ISIG_INDEX',
[mc.ISIG_INPUT0] = 'ISIG_INPUT0',
[mc.ISIG_INPUT1] = 'ISIG_INPUT1',
[mc.ISIG_INPUT10] = 'ISIG_INPUT10',
[mc.ISIG_INPUT11] = 'ISIG_INPUT11',
[mc.ISIG_INPUT12] = 'ISIG_INPUT12',
[mc.ISIG_INPUT13] = 'ISIG_INPUT13',
[mc.ISIG_INPUT14] = 'ISIG_INPUT14',
[mc.ISIG_INPUT15] = 'ISIG_INPUT15',
[mc.ISIG_INPUT16] = 'ISIG_INPUT16',
[mc.ISIG_INPUT17] = 'ISIG_INPUT17',
[mc.ISIG_INPUT18] = 'ISIG_INPUT18',
[mc.ISIG_INPUT19] = 'ISIG_INPUT19',
[mc.ISIG_INPUT2] = 'ISIG_INPUT2',
[mc.ISIG_INPUT20] = 'ISIG_INPUT20',
[mc.ISIG_INPUT21] = 'ISIG_INPUT21',
[mc.ISIG_INPUT22] = 'ISIG_INPUT22',
[mc.ISIG_INPUT23] = 'ISIG_INPUT23',
[mc.ISIG_INPUT24] = 'ISIG_INPUT24',
[mc.ISIG_INPUT25] = 'ISIG_INPUT25',
[mc.ISIG_INPUT26] = 'ISIG_INPUT26',
[mc.ISIG_INPUT27] = 'ISIG_INPUT27',
[mc.ISIG_INPUT28] = 'ISIG_INPUT28',
[mc.ISIG_INPUT29] = 'ISIG_INPUT29',
[mc.ISIG_INPUT3] = 'ISIG_INPUT3',
[mc.ISIG_INPUT30] = 'ISIG_INPUT30',
[mc.ISIG_INPUT31] = 'ISIG_INPUT31',
[mc.ISIG_INPUT32] = 'ISIG_INPUT32',
[mc.ISIG_INPUT33] = 'ISIG_INPUT33',
[mc.ISIG_INPUT34] = 'ISIG_INPUT34',
[mc.ISIG_INPUT35] = 'ISIG_INPUT35',
[mc.ISIG_INPUT36] = 'ISIG_INPUT36',
[mc.ISIG_INPUT37] = 'ISIG_INPUT37',
[mc.ISIG_INPUT38] = 'ISIG_INPUT38',
[mc.ISIG_INPUT39] = 'ISIG_INPUT39',
[mc.ISIG_INPUT4] = 'ISIG_INPUT4',
[mc.ISIG_INPUT40] = 'ISIG_INPUT40',
[mc.ISIG_INPUT41] = 'ISIG_INPUT41',
[mc.ISIG_INPUT42] = 'ISIG_INPUT42',
[mc.ISIG_INPUT43] = 'ISIG_INPUT43',
[mc.ISIG_INPUT44] = 'ISIG_INPUT44',
[mc.ISIG_INPUT45] = 'ISIG_INPUT45',
[mc.ISIG_INPUT46] = 'ISIG_INPUT46',
[mc.ISIG_INPUT47] = 'ISIG_INPUT47',
[mc.ISIG_INPUT48] = 'ISIG_INPUT48',
[mc.ISIG_INPUT49] = 'ISIG_INPUT49',
[mc.ISIG_INPUT5] = 'ISIG_INPUT5',
[mc.ISIG_INPUT50] = 'ISIG_INPUT50',
[mc.ISIG_INPUT51] = 'ISIG_INPUT51',
[mc.ISIG_INPUT52] = 'ISIG_INPUT52',
[mc.ISIG_INPUT53] = 'ISIG_INPUT53',
[mc.ISIG_INPUT54] = 'ISIG_INPUT54',
[mc.ISIG_INPUT55] = 'ISIG_INPUT55',
[mc.ISIG_INPUT56] = 'ISIG_INPUT56',
[mc.ISIG_INPUT57] = 'ISIG_INPUT57',
[mc.ISIG_INPUT58] = 'ISIG_INPUT58',
[mc.ISIG_INPUT59] = 'ISIG_INPUT59',
[mc.ISIG_INPUT6] = 'ISIG_INPUT6',
[mc.ISIG_INPUT60] = 'ISIG_INPUT60',
[mc.ISIG_INPUT61] = 'ISIG_INPUT61',
[mc.ISIG_INPUT62] = 'ISIG_INPUT62',
[mc.ISIG_INPUT63] = 'ISIG_INPUT63',
[mc.ISIG_INPUT7] = 'ISIG_INPUT7',
[mc.ISIG_INPUT8] = 'ISIG_INPUT8',
[mc.ISIG_INPUT9] = 'ISIG_INPUT9',
[mc.ISIG_JOGAN] = 'ISIG_JOGAN',
[mc.ISIG_JOGAP] = 'ISIG_JOGAP',
[mc.ISIG_JOGBN] = 'ISIG_JOGBN',
[mc.ISIG_JOGBP] = 'ISIG_JOGBP',
[mc.ISIG_JOGCN] = 'ISIG_JOGCN',
[mc.ISIG_JOGCP] = 'ISIG_JOGCP',
[mc.ISIG_JOGXN] = 'ISIG_JOGXN',
[mc.ISIG_JOGXP] = 'ISIG_JOGXP',
[mc.ISIG_JOGYN] = 'ISIG_JOGYN',
[mc.ISIG_JOGYP] = 'ISIG_JOGYP',
[mc.ISIG_JOGZN] = 'ISIG_JOGZN',
[mc.ISIG_JOGZP] = 'ISIG_JOGZP',
[mc.ISIG_LIMITOVER] = 'ISIG_LIMITOVER',
[mc.ISIG_MOTOR0_HOME] = 'ISIG_MOTOR0_HOME',
[mc.ISIG_MOTOR0_MINUS] = 'ISIG_MOTOR0_MINUS',
[mc.ISIG_MOTOR0_PLUS] = 'ISIG_MOTOR0_PLUS',
[mc.ISIG_MOTOR1_HOME] = 'ISIG_MOTOR1_HOME',
[mc.ISIG_MOTOR1_MINUS] = 'ISIG_MOTOR1_MINUS',
[mc.ISIG_MOTOR1_PLUS] = 'ISIG_MOTOR1_PLUS',
[mc.ISIG_MOTOR10_HOME] = 'ISIG_MOTOR10_HOME',
[mc.ISIG_MOTOR10_MINUS] = 'ISIG_MOTOR10_MINUS',
[mc.ISIG_MOTOR10_PLUS] = 'ISIG_MOTOR10_PLUS',
[mc.ISIG_MOTOR11_HOME] = 'ISIG_MOTOR11_HOME',
[mc.ISIG_MOTOR11_MINUS] = 'ISIG_MOTOR11_MINUS',
[mc.ISIG_MOTOR11_PLUS] = 'ISIG_MOTOR11_PLUS',
[mc.ISIG_MOTOR12_HOME] = 'ISIG_MOTOR12_HOME',
[mc.ISIG_MOTOR12_MINUS] = 'ISIG_MOTOR12_MINUS',
[mc.ISIG_MOTOR12_PLUS] = 'ISIG_MOTOR12_PLUS',
[mc.ISIG_MOTOR13_HOME] = 'ISIG_MOTOR13_HOME',
[mc.ISIG_MOTOR13_MINUS] = 'ISIG_MOTOR13_MINUS',
[mc.ISIG_MOTOR13_PLUS] = 'ISIG_MOTOR13_PLUS',
[mc.ISIG_MOTOR14_HOME] = 'ISIG_MOTOR14_HOME',
[mc.ISIG_MOTOR14_MINUS] = 'ISIG_MOTOR14_MINUS',
[mc.ISIG_MOTOR14_PLUS] = 'ISIG_MOTOR14_PLUS',
[mc.ISIG_MOTOR15_HOME] = 'ISIG_MOTOR15_HOME',
[mc.ISIG_MOTOR15_MINUS] = 'ISIG_MOTOR15_MINUS',
[mc.ISIG_MOTOR15_PLUS] = 'ISIG_MOTOR15_PLUS',
[mc.ISIG_MOTOR16_HOME] = 'ISIG_MOTOR16_HOME',
[mc.ISIG_MOTOR16_MINUS] = 'ISIG_MOTOR16_MINUS',
[mc.ISIG_MOTOR16_PLUS] = 'ISIG_MOTOR16_PLUS',
[mc.ISIG_MOTOR17_HOME] = 'ISIG_MOTOR17_HOME',
[mc.ISIG_MOTOR17_MINUS] = 'ISIG_MOTOR17_MINUS',
[mc.ISIG_MOTOR17_PLUS] = 'ISIG_MOTOR17_PLUS',
[mc.ISIG_MOTOR18_HOME] = 'ISIG_MOTOR18_HOME',
[mc.ISIG_MOTOR18_MINUS] = 'ISIG_MOTOR18_MINUS',
[mc.ISIG_MOTOR18_PLUS] = 'ISIG_MOTOR18_PLUS',
[mc.ISIG_MOTOR19_HOME] = 'ISIG_MOTOR19_HOME',
[mc.ISIG_MOTOR19_MINUS] = 'ISIG_MOTOR19_MINUS',
[mc.ISIG_MOTOR19_PLUS] = 'ISIG_MOTOR19_PLUS',
[mc.ISIG_MOTOR2_HOME] = 'ISIG_MOTOR2_HOME',
[mc.ISIG_MOTOR2_MINUS] = 'ISIG_MOTOR2_MINUS',
[mc.ISIG_MOTOR2_PLUS] = 'ISIG_MOTOR2_PLUS',
[mc.ISIG_MOTOR20_HOME] = 'ISIG_MOTOR20_HOME',
[mc.ISIG_MOTOR20_MINUS] = 'ISIG_MOTOR20_MINUS',
[mc.ISIG_MOTOR20_PLUS] = 'ISIG_MOTOR20_PLUS',
[mc.ISIG_MOTOR21_HOME] = 'ISIG_MOTOR21_HOME',
[mc.ISIG_MOTOR21_MINUS] = 'ISIG_MOTOR21_MINUS',
[mc.ISIG_MOTOR21_PLUS] = 'ISIG_MOTOR21_PLUS',
[mc.ISIG_MOTOR22_HOME] = 'ISIG_MOTOR22_HOME',
[mc.ISIG_MOTOR22_MINUS] = 'ISIG_MOTOR22_MINUS',
[mc.ISIG_MOTOR22_PLUS] = 'ISIG_MOTOR22_PLUS',
[mc.ISIG_MOTOR23_HOME] = 'ISIG_MOTOR23_HOME',
[mc.ISIG_MOTOR23_MINUS] = 'ISIG_MOTOR23_MINUS',
[mc.ISIG_MOTOR23_PLUS] = 'ISIG_MOTOR23_PLUS',
[mc.ISIG_MOTOR24_HOME] = 'ISIG_MOTOR24_HOME',
[mc.ISIG_MOTOR24_MINUS] = 'ISIG_MOTOR24_MINUS',
[mc.ISIG_MOTOR24_PLUS] = 'ISIG_MOTOR24_PLUS',
[mc.ISIG_MOTOR25_HOME] = 'ISIG_MOTOR25_HOME',
[mc.ISIG_MOTOR25_MINUS] = 'ISIG_MOTOR25_MINUS',
[mc.ISIG_MOTOR25_PLUS] = 'ISIG_MOTOR25_PLUS',
[mc.ISIG_MOTOR26_HOME] = 'ISIG_MOTOR26_HOME',
[mc.ISIG_MOTOR26_MINUS] = 'ISIG_MOTOR26_MINUS',
[mc.ISIG_MOTOR26_PLUS] = 'ISIG_MOTOR26_PLUS',
[mc.ISIG_MOTOR27_HOME] = 'ISIG_MOTOR27_HOME',
[mc.ISIG_MOTOR27_MINUS] = 'ISIG_MOTOR27_MINUS',
[mc.ISIG_MOTOR27_PLUS] = 'ISIG_MOTOR27_PLUS',
[mc.ISIG_MOTOR28_HOME] = 'ISIG_MOTOR28_HOME',
[mc.ISIG_MOTOR28_MINUS] = 'ISIG_MOTOR28_MINUS',
[mc.ISIG_MOTOR28_PLUS] = 'ISIG_MOTOR28_PLUS',
[mc.ISIG_MOTOR29_HOME] = 'ISIG_MOTOR29_HOME',
[mc.ISIG_MOTOR29_MINUS] = 'ISIG_MOTOR29_MINUS',
[mc.ISIG_MOTOR29_PLUS] = 'ISIG_MOTOR29_PLUS',
[mc.ISIG_MOTOR3_HOME] = 'ISIG_MOTOR3_HOME',
[mc.ISIG_MOTOR3_MINUS] = 'ISIG_MOTOR3_MINUS',
[mc.ISIG_MOTOR3_PLUS] = 'ISIG_MOTOR3_PLUS',
[mc.ISIG_MOTOR30_HOME] = 'ISIG_MOTOR30_HOME',
[mc.ISIG_MOTOR30_MINUS] = 'ISIG_MOTOR30_MINUS',
[mc.ISIG_MOTOR30_PLUS] = 'ISIG_MOTOR30_PLUS',
[mc.ISIG_MOTOR31_HOME] = 'ISIG_MOTOR31_HOME',
[mc.ISIG_MOTOR31_MINUS] = 'ISIG_MOTOR31_MINUS',
[mc.ISIG_MOTOR31_PLUS] = 'ISIG_MOTOR31_PLUS',
[mc.ISIG_MOTOR4_HOME] = 'ISIG_MOTOR4_HOME',
[mc.ISIG_MOTOR4_MINUS] = 'ISIG_MOTOR4_MINUS',
[mc.ISIG_MOTOR4_PLUS] = 'ISIG_MOTOR4_PLUS',
[mc.ISIG_MOTOR5_HOME] = 'ISIG_MOTOR5_HOME',
[mc.ISIG_MOTOR5_MINUS] = 'ISIG_MOTOR5_MINUS',
[mc.ISIG_MOTOR5_PLUS] = 'ISIG_MOTOR5_PLUS',
[mc.ISIG_MOTOR6_HOME] = 'ISIG_MOTOR6_HOME',
[mc.ISIG_MOTOR6_MINUS] = 'ISIG_MOTOR6_MINUS',
[mc.ISIG_MOTOR6_PLUS] = 'ISIG_MOTOR6_PLUS',
[mc.ISIG_MOTOR7_HOME] = 'ISIG_MOTOR7_HOME',
[mc.ISIG_MOTOR7_MINUS] = 'ISIG_MOTOR7_MINUS',
[mc.ISIG_MOTOR7_PLUS] = 'ISIG_MOTOR7_PLUS',
[mc.ISIG_MOTOR8_HOME] = 'ISIG_MOTOR8_HOME',
[mc.ISIG_MOTOR8_MINUS] = 'ISIG_MOTOR8_MINUS',
[mc.ISIG_MOTOR8_PLUS] = 'ISIG_MOTOR8_PLUS',
[mc.ISIG_MOTOR9_HOME] = 'ISIG_MOTOR9_HOME',
[mc.ISIG_MOTOR9_MINUS] = 'ISIG_MOTOR9_MINUS',
[mc.ISIG_MOTOR9_PLUS] = 'ISIG_MOTOR9_PLUS',
[mc.ISIG_PROBE] = 'ISIG_PROBE',
[mc.ISIG_PROBE1] = 'ISIG_PROBE1',
[mc.ISIG_PROBE2] = 'ISIG_PROBE2',
[mc.ISIG_PROBE3] = 'ISIG_PROBE3',
[mc.ISIG_SPINDLE_AT_SPEED] = 'ISIG_SPINDLE_AT_SPEED',
[mc.ISIG_SPINDLE_AT_ZERO] = 'ISIG_SPINDLE_AT_ZERO',
[mc.ISIG_THCDOWN] = 'ISIG_THCDOWN',
[mc.ISIG_THCON] = 'ISIG_THCON',
[mc.ISIG_THCUP] = 'ISIG_THCUP',
[mc.ISIG_TIMING] = 'ISIG_TIMING',
[mc.OSIG_AHOME] = 'OSIG_AHOME',
[mc.OSIG_ALARM] = 'OSIG_ALARM',
[mc.OSIG_ALIMITMINUS] = 'OSIG_ALIMITMINUS',
[mc.OSIG_ALIMITPLUS] = 'OSIG_ALIMITPLUS',
[mc.OSIG_BHOME] = 'OSIG_BHOME',
[mc.OSIG_BLIMITMINUS] = 'OSIG_BLIMITMINUS',
[mc.OSIG_BLIMITPLUS] = 'OSIG_BLIMITPLUS',
[mc.OSIG_BLOCK_DELETE] = 'OSIG_BLOCK_DELETE',
[mc.OSIG_CHARGE] = 'OSIG_CHARGE',
[mc.OSIG_CHARGE2] = 'OSIG_CHARGE2',
[mc.OSIG_CHOME] = 'OSIG_CHOME',
[mc.OSIG_CLIMITMINUS] = 'OSIG_CLIMITMINUS',
[mc.OSIG_CLIMITPLUS] = 'OSIG_CLIMITPLUS',
[mc.OSIG_COOLANTON] = 'OSIG_COOLANTON',
[mc.OSIG_CURRENTHILOW] = 'OSIG_CURRENTHILOW',
[mc.OSIG_DIGTRIGGER] = 'OSIG_DIGTRIGGER',
[mc.OSIG_DIST_TOGO] = 'OSIG_DIST_TOGO',
[mc.OSIG_DWELL] = 'OSIG_DWELL',
[mc.OSIG_ENABLE0] = 'OSIG_ENABLE0',
[mc.OSIG_ENABLE1] = 'OSIG_ENABLE1',
[mc.OSIG_ENABLE10] = 'OSIG_ENABLE10',
[mc.OSIG_ENABLE11] = 'OSIG_ENABLE11',
[mc.OSIG_ENABLE12] = 'OSIG_ENABLE12',
[mc.OSIG_ENABLE13] = 'OSIG_ENABLE13',
[mc.OSIG_ENABLE14] = 'OSIG_ENABLE14',
[mc.OSIG_ENABLE15] = 'OSIG_ENABLE15',
[mc.OSIG_ENABLE16] = 'OSIG_ENABLE16',
[mc.OSIG_ENABLE17] = 'OSIG_ENABLE17',
[mc.OSIG_ENABLE18] = 'OSIG_ENABLE18',
[mc.OSIG_ENABLE19] = 'OSIG_ENABLE19',
[mc.OSIG_ENABLE2] = 'OSIG_ENABLE2',
[mc.OSIG_ENABLE20] = 'OSIG_ENABLE20',
[mc.OSIG_ENABLE21] = 'OSIG_ENABLE21',
[mc.OSIG_ENABLE22] = 'OSIG_ENABLE22',
[mc.OSIG_ENABLE23] = 'OSIG_ENABLE23',
[mc.OSIG_ENABLE24] = 'OSIG_ENABLE24',
[mc.OSIG_ENABLE25] = 'OSIG_ENABLE25',
[mc.OSIG_ENABLE26] = 'OSIG_ENABLE26',
[mc.OSIG_ENABLE27] = 'OSIG_ENABLE27',
[mc.OSIG_ENABLE28] = 'OSIG_ENABLE28',
[mc.OSIG_ENABLE29] = 'OSIG_ENABLE29',
[mc.OSIG_ENABLE3] = 'OSIG_ENABLE3',
[mc.OSIG_ENABLE30] = 'OSIG_ENABLE30',
[mc.OSIG_ENABLE31] = 'OSIG_ENABLE31',
[mc.OSIG_ENABLE4] = 'OSIG_ENABLE4',
[mc.OSIG_ENABLE5] = 'OSIG_ENABLE5',
[mc.OSIG_ENABLE6] = 'OSIG_ENABLE6',
[mc.OSIG_ENABLE7] = 'OSIG_ENABLE7',
[mc.OSIG_ENABLE8] = 'OSIG_ENABLE8',
[mc.OSIG_ENABLE9] = 'OSIG_ENABLE9',
[mc.OSIG_FEEDHOLD] = 'OSIG_FEEDHOLD',
[mc.OSIG_HOMED_A] = 'OSIG_HOMED_A',
[mc.OSIG_HOMED_B] = 'OSIG_HOMED_B',
[mc.OSIG_HOMED_C] = 'OSIG_HOMED_C',
[mc.OSIG_HOMED_X] = 'OSIG_HOMED_X',
[mc.OSIG_HOMED_Y] = 'OSIG_HOMED_Y',
[mc.OSIG_HOMED_Z] = 'OSIG_HOMED_Z',
[mc.OSIG_JOG_CONT] = 'OSIG_JOG_CONT',
[mc.OSIG_JOG_ENABLED] = 'OSIG_JOG_ENABLED',
[mc.OSIG_JOG_INC] = 'OSIG_JOG_INC',
[mc.OSIG_JOG_MPG] = 'OSIG_JOG_MPG',
[mc.OSIG_LIMITOVER] = 'OSIG_LIMITOVER',
[mc.OSIG_MACHINE_CORD] = 'OSIG_MACHINE_CORD',
[mc.OSIG_MACHINE_ENABLED] = 'OSIG_MACHINE_ENABLED',
[mc.OSIG_MISTON] = 'OSIG_MISTON',
[mc.OSIG_OPT_STOP] = 'OSIG_OPT_STOP',
[mc.OSIG_OUTPUT0] = 'OSIG_OUTPUT0',
[mc.OSIG_OUTPUT1] = 'OSIG_OUTPUT1',
[mc.OSIG_OUTPUT10] = 'OSIG_OUTPUT10',
[mc.OSIG_OUTPUT11] = 'OSIG_OUTPUT11',
[mc.OSIG_OUTPUT12] = 'OSIG_OUTPUT12',
[mc.OSIG_OUTPUT13] = 'OSIG_OUTPUT13',
[mc.OSIG_OUTPUT14] = 'OSIG_OUTPUT14',
[mc.OSIG_OUTPUT15] = 'OSIG_OUTPUT15',
[mc.OSIG_OUTPUT16] = 'OSIG_OUTPUT16',
[mc.OSIG_OUTPUT17] = 'OSIG_OUTPUT17',
[mc.OSIG_OUTPUT18] = 'OSIG_OUTPUT18',
[mc.OSIG_OUTPUT19] = 'OSIG_OUTPUT19',
[mc.OSIG_OUTPUT2] = 'OSIG_OUTPUT2',
[mc.OSIG_OUTPUT20] = 'OSIG_OUTPUT20',
[mc.OSIG_OUTPUT21] = 'OSIG_OUTPUT21',
[mc.OSIG_OUTPUT22] = 'OSIG_OUTPUT22',
[mc.OSIG_OUTPUT23] = 'OSIG_OUTPUT23',
[mc.OSIG_OUTPUT24] = 'OSIG_OUTPUT24',
[mc.OSIG_OUTPUT25] = 'OSIG_OUTPUT25',
[mc.OSIG_OUTPUT26] = 'OSIG_OUTPUT26',
[mc.OSIG_OUTPUT27] = 'OSIG_OUTPUT27',
[mc.OSIG_OUTPUT28] = 'OSIG_OUTPUT28',
[mc.OSIG_OUTPUT29] = 'OSIG_OUTPUT29',
[mc.OSIG_OUTPUT3] = 'OSIG_OUTPUT3',
[mc.OSIG_OUTPUT30] = 'OSIG_OUTPUT30',
[mc.OSIG_OUTPUT31] = 'OSIG_OUTPUT31',
[mc.OSIG_OUTPUT32] = 'OSIG_OUTPUT32',
[mc.OSIG_OUTPUT33] = 'OSIG_OUTPUT33',
[mc.OSIG_OUTPUT34] = 'OSIG_OUTPUT34',
[mc.OSIG_OUTPUT35] = 'OSIG_OUTPUT35',
[mc.OSIG_OUTPUT36] = 'OSIG_OUTPUT36',
[mc.OSIG_OUTPUT37] = 'OSIG_OUTPUT37',
[mc.OSIG_OUTPUT38] = 'OSIG_OUTPUT38',
[mc.OSIG_OUTPUT39] = 'OSIG_OUTPUT39',
[mc.OSIG_OUTPUT4] = 'OSIG_OUTPUT4',
[mc.OSIG_OUTPUT40] = 'OSIG_OUTPUT40',
[mc.OSIG_OUTPUT41] = 'OSIG_OUTPUT41',
[mc.OSIG_OUTPUT42] = 'OSIG_OUTPUT42',
[mc.OSIG_OUTPUT43] = 'OSIG_OUTPUT43',
[mc.OSIG_OUTPUT44] = 'OSIG_OUTPUT44',
[mc.OSIG_OUTPUT45] = 'OSIG_OUTPUT45',
[mc.OSIG_OUTPUT46] = 'OSIG_OUTPUT46',
[mc.OSIG_OUTPUT47] = 'OSIG_OUTPUT47',
[mc.OSIG_OUTPUT48] = 'OSIG_OUTPUT48',
[mc.OSIG_OUTPUT49] = 'OSIG_OUTPUT49',
[mc.OSIG_OUTPUT5] = 'OSIG_OUTPUT5',
[mc.OSIG_OUTPUT50] = 'OSIG_OUTPUT50',
[mc.OSIG_OUTPUT51] = 'OSIG_OUTPUT51',
[mc.OSIG_OUTPUT52] = 'OSIG_OUTPUT52',
[mc.OSIG_OUTPUT53] = 'OSIG_OUTPUT53',
[mc.OSIG_OUTPUT54] = 'OSIG_OUTPUT54',
[mc.OSIG_OUTPUT55] = 'OSIG_OUTPUT55',
[mc.OSIG_OUTPUT56] = 'OSIG_OUTPUT56',
[mc.OSIG_OUTPUT57] = 'OSIG_OUTPUT57',
[mc.OSIG_OUTPUT58] = 'OSIG_OUTPUT58',
[mc.OSIG_OUTPUT59] = 'OSIG_OUTPUT59',
[mc.OSIG_OUTPUT6] = 'OSIG_OUTPUT6',
[mc.OSIG_OUTPUT60] = 'OSIG_OUTPUT60',
[mc.OSIG_OUTPUT61] = 'OSIG_OUTPUT61',
[mc.OSIG_OUTPUT62] = 'OSIG_OUTPUT62',
[mc.OSIG_OUTPUT63] = 'OSIG_OUTPUT63',
[mc.OSIG_OUTPUT7] = 'OSIG_OUTPUT7',
[mc.OSIG_OUTPUT8] = 'OSIG_OUTPUT8',
[mc.OSIG_OUTPUT9] = 'OSIG_OUTPUT9',
[mc.OSIG_PRTSF] = 'OSIG_PRTSF',
[mc.OSIG_REVERSE_RUN] = 'OSIG_REVERSE_RUN',
[mc.OSIG_RUNNING_GCODE] = 'OSIG_RUNNING_GCODE',
[mc.OSIG_SINGLE_BLOCK] = 'OSIG_SINGLE_BLOCK',
[mc.OSIG_SOFTLIMITS_ON] = 'OSIG_SOFTLIMITS_ON',
[mc.OSIG_SPINDLEFWD] = 'OSIG_SPINDLEFWD',
[mc.OSIG_SPINDLEON] = 'OSIG_SPINDLEON',
[mc.OSIG_SPINDLEREV] = 'OSIG_SPINDLEREV',
[mc.OSIG_TOOL_CHANGE] = 'OSIG_TOOL_CHANGE',
[mc.OSIG_TP_MOUSE_DN] = 'OSIG_TP_MOUSE_DN',
[mc.OSIG_XHOME] = 'OSIG_XHOME',
[mc.OSIG_XLIMITMINUS] = 'OSIG_XLIMITMINUS',
[mc.OSIG_XLIMITPLUS] = 'OSIG_XLIMITPLUS',
[mc.OSIG_YHOME] = 'OSIG_YHOME',
[mc.OSIG_YLIMITMINUS] = 'OSIG_YLIMITMINUS',
[mc.OSIG_YLIMITPLUS] = 'OSIG_YLIMITPLUS',
[mc.OSIG_ZHOME] = 'OSIG_ZHOME',
[mc.OSIG_ZLIMITMINUS] = 'OSIG_ZLIMITMINUS',
[mc.OSIG_ZLIMITPLUS] = 'OSIG_ZLIMITPLUS',
}


The following code was installed in the Signal Script ...
Code: [Select]
local inst = mc.mcGetInstance();

if (sig == mc.OSIG_MACHINE_ENABLED) then
    machEnabled = state;
end
if(SignalTable[sig] ~= nil)then
local sigName = sigNames[sig] or sig;
mc.mcCntlSetLastError(inst,'State - '..sigName..' = '..tostring(state));
SignalTable[sig](state);  -- comment out if you don't have any SigTable definitions in your screen startup script.
end

The code works to detect when INPUT1 changes state and controls OUTPUT1 to match changes to INPUT1 but I only see INPUT1 show up in the HISTORY log; no entries for OUTPUT1 even though OUTPUT1 changes state....this is a bit confusing but a problem for another day.

My 1st goal was to change the JOG MODE from an external input; still not there yet...and so far no insight as to how to manipulate JOG MODE ... :(
Thank You any help/insight would be greatly appreciated!!!! 
Title: Re: Defining Signal Scripts in Mach4
Post by: TimGS on May 06, 2015, 10:07:23 AM
For a visual of what I am trying to do...See attached
Title: Re: Defining Signal Scripts in Mach4
Post by: TimGS on May 06, 2015, 12:41:41 PM
Another option for Jog Mode would be to make the Jog Mode control switch binary...Step or Continuous.

Code: [Select]
SignalTable = {
        [mc.ISIG_INPUT1] = function (on_off)--mc.ISIG_INPUT1
            local inst= mc.mcGetInstance()
            local hsig = mc.mcSignalGetHandle(inst, mc.OSIG_OUTPUT1)
            state = mc.mcSignalGetState(hsig)
        if( on_off==1 ) then
            -- On = Step Mode
            mcJogSetType(inst, 0, MC_JOG_TYPE_INC);
            mcJogSetType(inst, 1, MC_JOG_TYPE_INC);
            mcJogSetType(inst, 2, MC_JOG_TYPE_INC);
            mcJogSetType(inst, 3, MC_JOG_TYPE_INC);
            mc.mcSignalSetState(hsig, 1)
        else
            -- Off = Continuous
            mcJogSetType(inst, 0, MC_JOG_TYPE_VEL);
            mcJogSetType(inst, 1, MC_JOG_TYPE_VEL);
            mcJogSetType(inst, 2, MC_JOG_TYPE_VEL);
            mcJogSetType(inst, 3, MC_JOG_TYPE_VEL);
            mc.mcSignalSetState(hsig, 0)
        end
    end
}
...Just a thought and I have to figure out how the Axis are referenced; I don't know if 0,1,2,3 map to X,Y,Z,A
Title: Re: Defining Signal Scripts in Mach4
Post by: dude1 on May 07, 2015, 12:38:57 AM
have a look at this http://www.machsupport.com/forum/index.php/topic,28149.0.html

and in the ftp there is a function for useing a mouse as a jog wheel
Title: Re: Defining Signal Scripts in Mach4
Post by: TimGS on May 07, 2015, 08:25:58 AM
Thank You.  There is a facility provided for Jogging controls X+, X-.... and so on.  What seems to be missing is a facility for Jogging Control of Mode and Increment.
Title: Re: Defining Signal Scripts in Mach4
Post by: poppabear on May 07, 2015, 01:58:00 PM
to set type in lua:

local inst = 0;
local Xaxis = mc.X_AXIS;
local JogVel = mc.MC_JOG_TYPE_VEL;
local JogInc = mc.MC_JOG_TYPE_INC;

rc = mc.mcJogSetType(inst, Xaxis, JogVel);

Scott
Title: Re: Defining Signal Scripts in Mach4
Post by: TimGS on May 07, 2015, 09:55:28 PM
I should have posted this earlier...

Code: [Select]
SignalTable = {
    --Enable
  --  [mc.OSIG_MACHINE_ENABLED] = function (state)
    --    machEnabled = state;
    --end,
        [mc.ISIG_INPUT1] = function (on_off)--mc.ISIG_INPUT1
            local inst= mc.mcGetInstance()
            local hsig = mc.mcSignalGetHandle(inst, mc.OSIG_OUTPUT1)
            local jogRate
            mc.mcJogGetRate(inst, mc.X_AXIS, jogRate);
            state = mc.mcSignalGetState(hsig)
        if( on_off==1 ) then
            -- Jog Inc
            mc.mcJogSetType(inst, mc.X_AXIS, mc.MC_JOG_TYPE_INC,1);
            mc.mcJogSetType(inst, mc.Y_AXIS, mc.MC_JOG_TYPE_INC,1);
            mc.mcJogSetType(inst, mc.Z_AXIS, mc.MC_JOG_TYPE_INC,1);
            mc.mcJogSetType(inst, mc.A_AXIS, mc.MC_JOG_TYPE_INC,1);
            mc.mcSignalSetState(hsig, 1)
        else
            -- Jog Continuous
            mc.mcJogSetType(inst, mc.X_AXIS, mc.MC_JOG_TYPE_VEL,jogRate);
            mc.mcJogSetType(inst, mc.Y_AXIS, mc.MC_JOG_TYPE_VEL,jogRate);
            mc.mcJogSetType(inst, mc.Z_AXIS, mc.MC_JOG_TYPE_VEL,jogRate);
            mc.mcJogSetType(inst, mc.A_AXIS, mc.MC_JOG_TYPE_VEL,jogRate);

            mc.mcSignalSetState(hsig, 0)
        end
    end
}

I want to change the inc and vel of all axis at once so I don't get confused.

My other desire is to keep the current jog screen in sink with what I was doing.  It makes it look as if I did not change anything.  I need to hook up some little test motors for playing at the computer so I can test out the actual motion of the jog control script.

Thank You for any and all help... I am gaining more knowledge and having a little more success every day.
Title: Re: Defining Signal Scripts in Mach4
Post by: dude1 on May 07, 2015, 10:02:08 PM
poppabear always gives use the best hint`s to what we are doing wrong or to put use on the right track to fix what ever is wrong it will get easier when more people are using M4
Title: Re: Defining Signal Scripts in Mach4
Post by: TimGS on May 18, 2015, 09:41:39 PM
Made some progress today...
1)  I can now change the Jog Mode and update the Jog Tab Display and Jog "Cont" and "Step" LEDs to match the JOG Mode in sync with a SPST latching switch <Inc/Cont>.  I also played with the jog increment for when I add the 5 position switch.  <1, .1, .01, .001 and .0001>.  The "mc.mcJogSetInc(inst, mc.X_AXIS, 1)" works fine and it appears that the display is mapped to the X_Axis.   I could change the others and they worked independently of what the display showed until I clicked the display <Jog Inc> button.  I am thinking about using a register to implement the switch function; not sure yet though.

2) I can also change the state of the Machine to Enable but I haven't yet cracked the code for updating the button using the LUA script and not the tbutton2 "Input" field.  {I could use some advice here  ;D}

The following is the code to date:
Code: [Select]
SignalTable = {
    --Enable
    --[mc.OSIG_MACHINE_ENABLED] = function (state)
    --    machEnabled = state;
    --end,
    [mc.ISIG_INPUT0] = function (on_off)
        local inst= mc.mcGetInstance()
        local hsig = mc.mcSignalGetHandle(inst, mc.OSIG_MACHINE_ENABLED)
        if( on_off==1 ) then
            -- On
            mc.mcCntlEnable(inst, true);
            scr.SetProperty('tbutton2','State','Up');--This does not update display
        else
            -- Off
            mc.mcCntlEnable(inst, false);
            scr.SetProperty('tbutton2','State','Down');--This does not update display
        end
    end,
    [mc.ISIG_INPUT1] = function (on_off)
        local inst= mc.mcGetInstance()
           local jogRate
            local hsig1 = mc.mcSignalGetHandle(inst, mc.OSIG_JOG_INC)
            local hsig2 = mc.mcSignalGetHandle(inst, mc.OSIG_JOG_CONT)
            mc.mcJogGetRate(inst, mc.X_AXIS, jogRate);
        if( on_off==1 ) then
            -- On
            mc.mcJogSetType(inst, mc.X_AXIS, mc.MC_JOG_TYPE_INC);
            --mc.mcJogSetInc(inst, mc.X_AXIS, 1); --I will us this command when setting INC Later in another switch
            --Display INC number seems to track X_Axis setting though INC setting can be set for each Axis
            mc.mcJogSetType(inst, mc.Y_AXIS, mc.MC_JOG_TYPE_INC);
            mc.mcJogSetType(inst, mc.Z_AXIS, mc.MC_JOG_TYPE_INC);
            mc.mcJogSetType(inst, mc.A_AXIS, mc.MC_JOG_TYPE_INC);
            --Update Jog Display Tab LEDs
            mc.mcSignalSetState(hsig1, 1)--Real LED mapped to Jog Inc in MACH 4 Config
            mc.mcSignalSetState(hsig2, 0)
        else
            -- Off
            mc.mcJogSetType(inst, mc.X_AXIS, mc.MC_JOG_TYPE_VEL,jogRate);
            mc.mcJogSetType(inst, mc.Y_AXIS, mc.MC_JOG_TYPE_VEL,jogRate);
            mc.mcJogSetType(inst, mc.Z_AXIS, mc.MC_JOG_TYPE_VEL,jogRate);
            mc.mcJogSetType(inst, mc.A_AXIS, mc.MC_JOG_TYPE_VEL,jogRate);
            --Update Jog Display Tab LEDs
            mc.mcSignalSetState(hsig1, 0) --Real LED mapped to Jog Inc in MACH 4 Config
            mc.mcSignalSetState(hsig2, 1)
        end
    end
}



sigNames = {
[mc.ISIG_EMERGENCY] = 'ISIG_EMERGENCY',
[mc.ISIG_INDEX] = 'ISIG_INDEX',
[mc.ISIG_INPUT0] = 'ISIG_INPUT0',
[mc.ISIG_INPUT1] = 'ISIG_INPUT1',
[mc.ISIG_INPUT10] = 'ISIG_INPUT10',
[mc.ISIG_INPUT11] = 'ISIG_INPUT11',
[mc.ISIG_INPUT12] = 'ISIG_INPUT12',
[mc.ISIG_INPUT13] = 'ISIG_INPUT13',
[mc.ISIG_INPUT14] = 'ISIG_INPUT14',
[mc.ISIG_INPUT15] = 'ISIG_INPUT15',
[mc.ISIG_INPUT16] = 'ISIG_INPUT16',
[mc.ISIG_INPUT17] = 'ISIG_INPUT17',
[mc.ISIG_INPUT18] = 'ISIG_INPUT18',
[mc.ISIG_INPUT19] = 'ISIG_INPUT19',
[mc.ISIG_INPUT2] = 'ISIG_INPUT2',
[mc.ISIG_INPUT20] = 'ISIG_INPUT20',
[mc.ISIG_INPUT21] = 'ISIG_INPUT21',
[mc.ISIG_INPUT22] = 'ISIG_INPUT22',
[mc.ISIG_INPUT23] = 'ISIG_INPUT23',
[mc.ISIG_INPUT24] = 'ISIG_INPUT24',
[mc.ISIG_INPUT25] = 'ISIG_INPUT25',
[mc.ISIG_INPUT26] = 'ISIG_INPUT26',
[mc.ISIG_INPUT27] = 'ISIG_INPUT27',
[mc.ISIG_INPUT28] = 'ISIG_INPUT28',
[mc.ISIG_INPUT29] = 'ISIG_INPUT29',
[mc.ISIG_INPUT3] = 'ISIG_INPUT3',
[mc.ISIG_INPUT30] = 'ISIG_INPUT30',
[mc.ISIG_INPUT31] = 'ISIG_INPUT31',
[mc.ISIG_INPUT32] = 'ISIG_INPUT32',
[mc.ISIG_INPUT33] = 'ISIG_INPUT33',
[mc.ISIG_INPUT34] = 'ISIG_INPUT34',
[mc.ISIG_INPUT35] = 'ISIG_INPUT35',
[mc.ISIG_INPUT36] = 'ISIG_INPUT36',
[mc.ISIG_INPUT37] = 'ISIG_INPUT37',
[mc.ISIG_INPUT38] = 'ISIG_INPUT38',
[mc.ISIG_INPUT39] = 'ISIG_INPUT39',
[mc.ISIG_INPUT4] = 'ISIG_INPUT4',
[mc.ISIG_INPUT40] = 'ISIG_INPUT40',
[mc.ISIG_INPUT41] = 'ISIG_INPUT41',
[mc.ISIG_INPUT42] = 'ISIG_INPUT42',
[mc.ISIG_INPUT43] = 'ISIG_INPUT43',
[mc.ISIG_INPUT44] = 'ISIG_INPUT44',
[mc.ISIG_INPUT45] = 'ISIG_INPUT45',
[mc.ISIG_INPUT46] = 'ISIG_INPUT46',
[mc.ISIG_INPUT47] = 'ISIG_INPUT47',
[mc.ISIG_INPUT48] = 'ISIG_INPUT48',
[mc.ISIG_INPUT49] = 'ISIG_INPUT49',
[mc.ISIG_INPUT5] = 'ISIG_INPUT5',
[mc.ISIG_INPUT50] = 'ISIG_INPUT50',
[mc.ISIG_INPUT51] = 'ISIG_INPUT51',
[mc.ISIG_INPUT52] = 'ISIG_INPUT52',
[mc.ISIG_INPUT53] = 'ISIG_INPUT53',
[mc.ISIG_INPUT54] = 'ISIG_INPUT54',
[mc.ISIG_INPUT55] = 'ISIG_INPUT55',
[mc.ISIG_INPUT56] = 'ISIG_INPUT56',
[mc.ISIG_INPUT57] = 'ISIG_INPUT57',
[mc.ISIG_INPUT58] = 'ISIG_INPUT58',
[mc.ISIG_INPUT59] = 'ISIG_INPUT59',
[mc.ISIG_INPUT6] = 'ISIG_INPUT6',
[mc.ISIG_INPUT60] = 'ISIG_INPUT60',
[mc.ISIG_INPUT61] = 'ISIG_INPUT61',
[mc.ISIG_INPUT62] = 'ISIG_INPUT62',
[mc.ISIG_INPUT63] = 'ISIG_INPUT63',
[mc.ISIG_INPUT7] = 'ISIG_INPUT7',
[mc.ISIG_INPUT8] = 'ISIG_INPUT8',
[mc.ISIG_INPUT9] = 'ISIG_INPUT9',
[mc.ISIG_JOGAN] = 'ISIG_JOGAN',
[mc.ISIG_JOGAP] = 'ISIG_JOGAP',
[mc.ISIG_JOGBN] = 'ISIG_JOGBN',
[mc.ISIG_JOGBP] = 'ISIG_JOGBP',
[mc.ISIG_JOGCN] = 'ISIG_JOGCN',
[mc.ISIG_JOGCP] = 'ISIG_JOGCP',
[mc.ISIG_JOGXN] = 'ISIG_JOGXN',
[mc.ISIG_JOGXP] = 'ISIG_JOGXP',
[mc.ISIG_JOGYN] = 'ISIG_JOGYN',
[mc.ISIG_JOGYP] = 'ISIG_JOGYP',
[mc.ISIG_JOGZN] = 'ISIG_JOGZN',
[mc.ISIG_JOGZP] = 'ISIG_JOGZP',
[mc.ISIG_LIMITOVER] = 'ISIG_LIMITOVER',
[mc.ISIG_MOTOR0_HOME] = 'ISIG_MOTOR0_HOME',
[mc.ISIG_MOTOR0_MINUS] = 'ISIG_MOTOR0_MINUS',
[mc.ISIG_MOTOR0_PLUS] = 'ISIG_MOTOR0_PLUS',
[mc.ISIG_MOTOR1_HOME] = 'ISIG_MOTOR1_HOME',
[mc.ISIG_MOTOR1_MINUS] = 'ISIG_MOTOR1_MINUS',
[mc.ISIG_MOTOR1_PLUS] = 'ISIG_MOTOR1_PLUS',
[mc.ISIG_MOTOR10_HOME] = 'ISIG_MOTOR10_HOME',
[mc.ISIG_MOTOR10_MINUS] = 'ISIG_MOTOR10_MINUS',
[mc.ISIG_MOTOR10_PLUS] = 'ISIG_MOTOR10_PLUS',
[mc.ISIG_MOTOR11_HOME] = 'ISIG_MOTOR11_HOME',
[mc.ISIG_MOTOR11_MINUS] = 'ISIG_MOTOR11_MINUS',
[mc.ISIG_MOTOR11_PLUS] = 'ISIG_MOTOR11_PLUS',
[mc.ISIG_MOTOR12_HOME] = 'ISIG_MOTOR12_HOME',
[mc.ISIG_MOTOR12_MINUS] = 'ISIG_MOTOR12_MINUS',
[mc.ISIG_MOTOR12_PLUS] = 'ISIG_MOTOR12_PLUS',
[mc.ISIG_MOTOR13_HOME] = 'ISIG_MOTOR13_HOME',
[mc.ISIG_MOTOR13_MINUS] = 'ISIG_MOTOR13_MINUS',
[mc.ISIG_MOTOR13_PLUS] = 'ISIG_MOTOR13_PLUS',
[mc.ISIG_MOTOR14_HOME] = 'ISIG_MOTOR14_HOME',
[mc.ISIG_MOTOR14_MINUS] = 'ISIG_MOTOR14_MINUS',
[mc.ISIG_MOTOR14_PLUS] = 'ISIG_MOTOR14_PLUS',
[mc.ISIG_MOTOR15_HOME] = 'ISIG_MOTOR15_HOME',
[mc.ISIG_MOTOR15_MINUS] = 'ISIG_MOTOR15_MINUS',
[mc.ISIG_MOTOR15_PLUS] = 'ISIG_MOTOR15_PLUS',
[mc.ISIG_MOTOR16_HOME] = 'ISIG_MOTOR16_HOME',
[mc.ISIG_MOTOR16_MINUS] = 'ISIG_MOTOR16_MINUS',
[mc.ISIG_MOTOR16_PLUS] = 'ISIG_MOTOR16_PLUS',
[mc.ISIG_MOTOR17_HOME] = 'ISIG_MOTOR17_HOME',
[mc.ISIG_MOTOR17_MINUS] = 'ISIG_MOTOR17_MINUS',
[mc.ISIG_MOTOR17_PLUS] = 'ISIG_MOTOR17_PLUS',
[mc.ISIG_MOTOR18_HOME] = 'ISIG_MOTOR18_HOME',
[mc.ISIG_MOTOR18_MINUS] = 'ISIG_MOTOR18_MINUS',
[mc.ISIG_MOTOR18_PLUS] = 'ISIG_MOTOR18_PLUS',
[mc.ISIG_MOTOR19_HOME] = 'ISIG_MOTOR19_HOME',
[mc.ISIG_MOTOR19_MINUS] = 'ISIG_MOTOR19_MINUS',
[mc.ISIG_MOTOR19_PLUS] = 'ISIG_MOTOR19_PLUS',
[mc.ISIG_MOTOR2_HOME] = 'ISIG_MOTOR2_HOME',
[mc.ISIG_MOTOR2_MINUS] = 'ISIG_MOTOR2_MINUS',
[mc.ISIG_MOTOR2_PLUS] = 'ISIG_MOTOR2_PLUS',
[mc.ISIG_MOTOR20_HOME] = 'ISIG_MOTOR20_HOME',
[mc.ISIG_MOTOR20_MINUS] = 'ISIG_MOTOR20_MINUS',
[mc.ISIG_MOTOR20_PLUS] = 'ISIG_MOTOR20_PLUS',
[mc.ISIG_MOTOR21_HOME] = 'ISIG_MOTOR21_HOME',
[mc.ISIG_MOTOR21_MINUS] = 'ISIG_MOTOR21_MINUS',
[mc.ISIG_MOTOR21_PLUS] = 'ISIG_MOTOR21_PLUS',
[mc.ISIG_MOTOR22_HOME] = 'ISIG_MOTOR22_HOME',
[mc.ISIG_MOTOR22_MINUS] = 'ISIG_MOTOR22_MINUS',
[mc.ISIG_MOTOR22_PLUS] = 'ISIG_MOTOR22_PLUS',
[mc.ISIG_MOTOR23_HOME] = 'ISIG_MOTOR23_HOME',
[mc.ISIG_MOTOR23_MINUS] = 'ISIG_MOTOR23_MINUS',
[mc.ISIG_MOTOR23_PLUS] = 'ISIG_MOTOR23_PLUS',
[mc.ISIG_MOTOR24_HOME] = 'ISIG_MOTOR24_HOME',
[mc.ISIG_MOTOR24_MINUS] = 'ISIG_MOTOR24_MINUS',
[mc.ISIG_MOTOR24_PLUS] = 'ISIG_MOTOR24_PLUS',
[mc.ISIG_MOTOR25_HOME] = 'ISIG_MOTOR25_HOME',
[mc.ISIG_MOTOR25_MINUS] = 'ISIG_MOTOR25_MINUS',
[mc.ISIG_MOTOR25_PLUS] = 'ISIG_MOTOR25_PLUS',
[mc.ISIG_MOTOR26_HOME] = 'ISIG_MOTOR26_HOME',
[mc.ISIG_MOTOR26_MINUS] = 'ISIG_MOTOR26_MINUS',
[mc.ISIG_MOTOR26_PLUS] = 'ISIG_MOTOR26_PLUS',
[mc.ISIG_MOTOR27_HOME] = 'ISIG_MOTOR27_HOME',
[mc.ISIG_MOTOR27_MINUS] = 'ISIG_MOTOR27_MINUS',
[mc.ISIG_MOTOR27_PLUS] = 'ISIG_MOTOR27_PLUS',
[mc.ISIG_MOTOR28_HOME] = 'ISIG_MOTOR28_HOME',
[mc.ISIG_MOTOR28_MINUS] = 'ISIG_MOTOR28_MINUS',
[mc.ISIG_MOTOR28_PLUS] = 'ISIG_MOTOR28_PLUS',
[mc.ISIG_MOTOR29_HOME] = 'ISIG_MOTOR29_HOME',
[mc.ISIG_MOTOR29_MINUS] = 'ISIG_MOTOR29_MINUS',
[mc.ISIG_MOTOR29_PLUS] = 'ISIG_MOTOR29_PLUS',
[mc.ISIG_MOTOR3_HOME] = 'ISIG_MOTOR3_HOME',
[mc.ISIG_MOTOR3_MINUS] = 'ISIG_MOTOR3_MINUS',
[mc.ISIG_MOTOR3_PLUS] = 'ISIG_MOTOR3_PLUS',
[mc.ISIG_MOTOR30_HOME] = 'ISIG_MOTOR30_HOME',
[mc.ISIG_MOTOR30_MINUS] = 'ISIG_MOTOR30_MINUS',
[mc.ISIG_MOTOR30_PLUS] = 'ISIG_MOTOR30_PLUS',
[mc.ISIG_MOTOR31_HOME] = 'ISIG_MOTOR31_HOME',
[mc.ISIG_MOTOR31_MINUS] = 'ISIG_MOTOR31_MINUS',
[mc.ISIG_MOTOR31_PLUS] = 'ISIG_MOTOR31_PLUS',
[mc.ISIG_MOTOR4_HOME] = 'ISIG_MOTOR4_HOME',
[mc.ISIG_MOTOR4_MINUS] = 'ISIG_MOTOR4_MINUS',
[mc.ISIG_MOTOR4_PLUS] = 'ISIG_MOTOR4_PLUS',
[mc.ISIG_MOTOR5_HOME] = 'ISIG_MOTOR5_HOME',
[mc.ISIG_MOTOR5_MINUS] = 'ISIG_MOTOR5_MINUS',
[mc.ISIG_MOTOR5_PLUS] = 'ISIG_MOTOR5_PLUS',
[mc.ISIG_MOTOR6_HOME] = 'ISIG_MOTOR6_HOME',
[mc.ISIG_MOTOR6_MINUS] = 'ISIG_MOTOR6_MINUS',
[mc.ISIG_MOTOR6_PLUS] = 'ISIG_MOTOR6_PLUS',
[mc.ISIG_MOTOR7_HOME] = 'ISIG_MOTOR7_HOME',
[mc.ISIG_MOTOR7_MINUS] = 'ISIG_MOTOR7_MINUS',
[mc.ISIG_MOTOR7_PLUS] = 'ISIG_MOTOR7_PLUS',
[mc.ISIG_MOTOR8_HOME] = 'ISIG_MOTOR8_HOME',
[mc.ISIG_MOTOR8_MINUS] = 'ISIG_MOTOR8_MINUS',
[mc.ISIG_MOTOR8_PLUS] = 'ISIG_MOTOR8_PLUS',
[mc.ISIG_MOTOR9_HOME] = 'ISIG_MOTOR9_HOME',
[mc.ISIG_MOTOR9_MINUS] = 'ISIG_MOTOR9_MINUS',
[mc.ISIG_MOTOR9_PLUS] = 'ISIG_MOTOR9_PLUS',
[mc.ISIG_PROBE] = 'ISIG_PROBE',
[mc.ISIG_PROBE1] = 'ISIG_PROBE1',
[mc.ISIG_PROBE2] = 'ISIG_PROBE2',
[mc.ISIG_PROBE3] = 'ISIG_PROBE3',
[mc.ISIG_SPINDLE_AT_SPEED] = 'ISIG_SPINDLE_AT_SPEED',
[mc.ISIG_SPINDLE_AT_ZERO] = 'ISIG_SPINDLE_AT_ZERO',
[mc.ISIG_THCDOWN] = 'ISIG_THCDOWN',
[mc.ISIG_THCON] = 'ISIG_THCON',
[mc.ISIG_THCUP] = 'ISIG_THCUP',
[mc.ISIG_TIMING] = 'ISIG_TIMING',
[mc.OSIG_AHOME] = 'OSIG_AHOME',
[mc.OSIG_ALARM] = 'OSIG_ALARM',
[mc.OSIG_ALIMITMINUS] = 'OSIG_ALIMITMINUS',
[mc.OSIG_ALIMITPLUS] = 'OSIG_ALIMITPLUS',
[mc.OSIG_BHOME] = 'OSIG_BHOME',
[mc.OSIG_BLIMITMINUS] = 'OSIG_BLIMITMINUS',
[mc.OSIG_BLIMITPLUS] = 'OSIG_BLIMITPLUS',
[mc.OSIG_BLOCK_DELETE] = 'OSIG_BLOCK_DELETE',
[mc.OSIG_CHARGE] = 'OSIG_CHARGE',
[mc.OSIG_CHARGE2] = 'OSIG_CHARGE2',
[mc.OSIG_CHOME] = 'OSIG_CHOME',
[mc.OSIG_CLIMITMINUS] = 'OSIG_CLIMITMINUS',
[mc.OSIG_CLIMITPLUS] = 'OSIG_CLIMITPLUS',
[mc.OSIG_COOLANTON] = 'OSIG_COOLANTON',
[mc.OSIG_CURRENTHILOW] = 'OSIG_CURRENTHILOW',
[mc.OSIG_DIGTRIGGER] = 'OSIG_DIGTRIGGER',
[mc.OSIG_DIST_TOGO] = 'OSIG_DIST_TOGO',
[mc.OSIG_DWELL] = 'OSIG_DWELL',
[mc.OSIG_ENABLE0] = 'OSIG_ENABLE0',
[mc.OSIG_ENABLE1] = 'OSIG_ENABLE1',
[mc.OSIG_ENABLE10] = 'OSIG_ENABLE10',
[mc.OSIG_ENABLE11] = 'OSIG_ENABLE11',
[mc.OSIG_ENABLE12] = 'OSIG_ENABLE12',
[mc.OSIG_ENABLE13] = 'OSIG_ENABLE13',
[mc.OSIG_ENABLE14] = 'OSIG_ENABLE14',
[mc.OSIG_ENABLE15] = 'OSIG_ENABLE15',
[mc.OSIG_ENABLE16] = 'OSIG_ENABLE16',
[mc.OSIG_ENABLE17] = 'OSIG_ENABLE17',
[mc.OSIG_ENABLE18] = 'OSIG_ENABLE18',
[mc.OSIG_ENABLE19] = 'OSIG_ENABLE19',
[mc.OSIG_ENABLE2] = 'OSIG_ENABLE2',
[mc.OSIG_ENABLE20] = 'OSIG_ENABLE20',
[mc.OSIG_ENABLE21] = 'OSIG_ENABLE21',
[mc.OSIG_ENABLE22] = 'OSIG_ENABLE22',
[mc.OSIG_ENABLE23] = 'OSIG_ENABLE23',
[mc.OSIG_ENABLE24] = 'OSIG_ENABLE24',
[mc.OSIG_ENABLE25] = 'OSIG_ENABLE25',
[mc.OSIG_ENABLE26] = 'OSIG_ENABLE26',
[mc.OSIG_ENABLE27] = 'OSIG_ENABLE27',
[mc.OSIG_ENABLE28] = 'OSIG_ENABLE28',
[mc.OSIG_ENABLE29] = 'OSIG_ENABLE29',
[mc.OSIG_ENABLE3] = 'OSIG_ENABLE3',
[mc.OSIG_ENABLE30] = 'OSIG_ENABLE30',
[mc.OSIG_ENABLE31] = 'OSIG_ENABLE31',
[mc.OSIG_ENABLE4] = 'OSIG_ENABLE4',
[mc.OSIG_ENABLE5] = 'OSIG_ENABLE5',
[mc.OSIG_ENABLE6] = 'OSIG_ENABLE6',
[mc.OSIG_ENABLE7] = 'OSIG_ENABLE7',
[mc.OSIG_ENABLE8] = 'OSIG_ENABLE8',
[mc.OSIG_ENABLE9] = 'OSIG_ENABLE9',
[mc.OSIG_FEEDHOLD] = 'OSIG_FEEDHOLD',
[mc.OSIG_HOMED_A] = 'OSIG_HOMED_A',
[mc.OSIG_HOMED_B] = 'OSIG_HOMED_B',
[mc.OSIG_HOMED_C] = 'OSIG_HOMED_C',
[mc.OSIG_HOMED_X] = 'OSIG_HOMED_X',
[mc.OSIG_HOMED_Y] = 'OSIG_HOMED_Y',
[mc.OSIG_HOMED_Z] = 'OSIG_HOMED_Z',
[mc.OSIG_JOG_CONT] = 'OSIG_JOG_CONT',
[mc.OSIG_JOG_ENABLED] = 'OSIG_JOG_ENABLED',
[mc.OSIG_JOG_INC] = 'OSIG_JOG_INC',
[mc.OSIG_JOG_MPG] = 'OSIG_JOG_MPG',
[mc.OSIG_LIMITOVER] = 'OSIG_LIMITOVER',
[mc.OSIG_MACHINE_CORD] = 'OSIG_MACHINE_CORD',
[mc.OSIG_MACHINE_ENABLED] = 'OSIG_MACHINE_ENABLED',
[mc.OSIG_MISTON] = 'OSIG_MISTON',
[mc.OSIG_OPT_STOP] = 'OSIG_OPT_STOP',
[mc.OSIG_OUTPUT0] = 'OSIG_OUTPUT0',
[mc.OSIG_OUTPUT1] = 'OSIG_OUTPUT1',
[mc.OSIG_OUTPUT10] = 'OSIG_OUTPUT10',
[mc.OSIG_OUTPUT11] = 'OSIG_OUTPUT11',
[mc.OSIG_OUTPUT12] = 'OSIG_OUTPUT12',
[mc.OSIG_OUTPUT13] = 'OSIG_OUTPUT13',
[mc.OSIG_OUTPUT14] = 'OSIG_OUTPUT14',
[mc.OSIG_OUTPUT15] = 'OSIG_OUTPUT15',
[mc.OSIG_OUTPUT16] = 'OSIG_OUTPUT16',
[mc.OSIG_OUTPUT17] = 'OSIG_OUTPUT17',
[mc.OSIG_OUTPUT18] = 'OSIG_OUTPUT18',
[mc.OSIG_OUTPUT19] = 'OSIG_OUTPUT19',
[mc.OSIG_OUTPUT2] = 'OSIG_OUTPUT2',
[mc.OSIG_OUTPUT20] = 'OSIG_OUTPUT20',
[mc.OSIG_OUTPUT21] = 'OSIG_OUTPUT21',
[mc.OSIG_OUTPUT22] = 'OSIG_OUTPUT22',
[mc.OSIG_OUTPUT23] = 'OSIG_OUTPUT23',
[mc.OSIG_OUTPUT24] = 'OSIG_OUTPUT24',
[mc.OSIG_OUTPUT25] = 'OSIG_OUTPUT25',
[mc.OSIG_OUTPUT26] = 'OSIG_OUTPUT26',
[mc.OSIG_OUTPUT27] = 'OSIG_OUTPUT27',
[mc.OSIG_OUTPUT28] = 'OSIG_OUTPUT28',
[mc.OSIG_OUTPUT29] = 'OSIG_OUTPUT29',
[mc.OSIG_OUTPUT3] = 'OSIG_OUTPUT3',
[mc.OSIG_OUTPUT30] = 'OSIG_OUTPUT30',
[mc.OSIG_OUTPUT31] = 'OSIG_OUTPUT31',
[mc.OSIG_OUTPUT32] = 'OSIG_OUTPUT32',
[mc.OSIG_OUTPUT33] = 'OSIG_OUTPUT33',
[mc.OSIG_OUTPUT34] = 'OSIG_OUTPUT34',
[mc.OSIG_OUTPUT35] = 'OSIG_OUTPUT35',
[mc.OSIG_OUTPUT36] = 'OSIG_OUTPUT36',
[mc.OSIG_OUTPUT37] = 'OSIG_OUTPUT37',
[mc.OSIG_OUTPUT38] = 'OSIG_OUTPUT38',
[mc.OSIG_OUTPUT39] = 'OSIG_OUTPUT39',
[mc.OSIG_OUTPUT4] = 'OSIG_OUTPUT4',
[mc.OSIG_OUTPUT40] = 'OSIG_OUTPUT40',
[mc.OSIG_OUTPUT41] = 'OSIG_OUTPUT41',
[mc.OSIG_OUTPUT42] = 'OSIG_OUTPUT42',
[mc.OSIG_OUTPUT43] = 'OSIG_OUTPUT43',
[mc.OSIG_OUTPUT44] = 'OSIG_OUTPUT44',
[mc.OSIG_OUTPUT45] = 'OSIG_OUTPUT45',
[mc.OSIG_OUTPUT46] = 'OSIG_OUTPUT46',
[mc.OSIG_OUTPUT47] = 'OSIG_OUTPUT47',
[mc.OSIG_OUTPUT48] = 'OSIG_OUTPUT48',
[mc.OSIG_OUTPUT49] = 'OSIG_OUTPUT49',
[mc.OSIG_OUTPUT5] = 'OSIG_OUTPUT5',
[mc.OSIG_OUTPUT50] = 'OSIG_OUTPUT50',
[mc.OSIG_OUTPUT51] = 'OSIG_OUTPUT51',
[mc.OSIG_OUTPUT52] = 'OSIG_OUTPUT52',
[mc.OSIG_OUTPUT53] = 'OSIG_OUTPUT53',
[mc.OSIG_OUTPUT54] = 'OSIG_OUTPUT54',
[mc.OSIG_OUTPUT55] = 'OSIG_OUTPUT55',
[mc.OSIG_OUTPUT56] = 'OSIG_OUTPUT56',
[mc.OSIG_OUTPUT57] = 'OSIG_OUTPUT57',
[mc.OSIG_OUTPUT58] = 'OSIG_OUTPUT58',
[mc.OSIG_OUTPUT59] = 'OSIG_OUTPUT59',
[mc.OSIG_OUTPUT6] = 'OSIG_OUTPUT6',
[mc.OSIG_OUTPUT60] = 'OSIG_OUTPUT60',
[mc.OSIG_OUTPUT61] = 'OSIG_OUTPUT61',
[mc.OSIG_OUTPUT62] = 'OSIG_OUTPUT62',
[mc.OSIG_OUTPUT63] = 'OSIG_OUTPUT63',
[mc.OSIG_OUTPUT7] = 'OSIG_OUTPUT7',
[mc.OSIG_OUTPUT8] = 'OSIG_OUTPUT8',
[mc.OSIG_OUTPUT9] = 'OSIG_OUTPUT9',
[mc.OSIG_PRTSF] = 'OSIG_PRTSF',
[mc.OSIG_REVERSE_RUN] = 'OSIG_REVERSE_RUN',
[mc.OSIG_RUNNING_GCODE] = 'OSIG_RUNNING_GCODE',
[mc.OSIG_SINGLE_BLOCK] = 'OSIG_SINGLE_BLOCK',
[mc.OSIG_SOFTLIMITS_ON] = 'OSIG_SOFTLIMITS_ON',
[mc.OSIG_SPINDLEFWD] = 'OSIG_SPINDLEFWD',
[mc.OSIG_SPINDLEON] = 'OSIG_SPINDLEON',
[mc.OSIG_SPINDLEREV] = 'OSIG_SPINDLEREV',
[mc.OSIG_TOOL_CHANGE] = 'OSIG_TOOL_CHANGE',
[mc.OSIG_TP_MOUSE_DN] = 'OSIG_TP_MOUSE_DN',
[mc.OSIG_XHOME] = 'OSIG_XHOME',
[mc.OSIG_XLIMITMINUS] = 'OSIG_XLIMITMINUS',
[mc.OSIG_XLIMITPLUS] = 'OSIG_XLIMITPLUS',
[mc.OSIG_YHOME] = 'OSIG_YHOME',
[mc.OSIG_YLIMITMINUS] = 'OSIG_YLIMITMINUS',
[mc.OSIG_YLIMITPLUS] = 'OSIG_YLIMITPLUS',
[mc.OSIG_ZHOME] = 'OSIG_ZHOME',
[mc.OSIG_ZLIMITMINUS] = 'OSIG_ZLIMITMINUS',
[mc.OSIG_ZLIMITPLUS] = 'OSIG_ZLIMITPLUS',
}
Title: Re: Defining Signal Scripts in Mach4
Post by: dude1 on May 19, 2015, 02:14:01 AM
just been playing with your code since I cant get mine working set to num keys you are right about it working if in estop or not, something I found is set some jog keys and see what happens when in estop or not