Index homing Mesa 7i96s

More
3 years 4 months ago #273651 by besriworld
Replied by besriworld on topic Index homing Mesa 7i96s
Yes, I want this option. Can you share a sample file / configuration .

Please Log in to join the conversation.

More
3 years 4 months ago #273658 by PCW
Replied by PCW on topic Index homing Mesa 7i96s
Its the same as a normal stepgen configuration
with the following connections:
(assuming pncconf like names, stepgen.00 is mapped
to the X axis, and joint.0 is X)

net x-index-enable [HMOT](CARD0).stepgen.00.index-enable
net x-index-enable joint.0.index-enable

Please Log in to join the conversation.

More
3 years 4 months ago #273683 by besriworld
Replied by besriworld on topic Index homing Mesa 7i96s
Yes, but you say at the beginning of the topic.
" If you mean homing to index in a step/dir system without encoder feedback,
that requires special firmware. "

Attachment not found


Attachment not found



Is there something I need to change in my firmware?

 

Please Log in to join the conversation.

More
3 years 4 months ago #273695 by PCW
Replied by PCW on topic Index homing Mesa 7i96s
Umm that's not 7I96S firmware...

To support stepgen index, you need
1. Recent LinuxCNC 2.9 or master

2 To change the stepgen revision from 0x02 to 0xC2

3. If you want shared encoder/stepgen index pins, replace
QCountIDXPin with SharedSDQCIdxPin
(the module number must match on shared pins
so stepgen index 00 == encoderindex 00)
like:
IOPortTag & x"NN" & QCountTag &SharedSDQCIdxPin,

4.If you want just a stepgen index, use :
IOPortTag & x"NN" & StepGenTag & StepGenIndexPin,

Please Log in to join the conversation.

More
3 years 4 months ago #273703 by besriworld
Replied by besriworld on topic Index homing Mesa 7i96s
Many thanks for the detailed information! Great support!

Please Log in to join the conversation.

More
2 years 5 months ago #301756 by besriworld
Replied by besriworld on topic Index homing Mesa 7i96s
@PCW

Now I am trying the shared index . But I have a problem. With the old firmware, the multiplexer inputs work. With new firmware that can use the index with stepgen all Input not works.

"hm2_7i98.0.inmux.00.input-23" does not exist 3566

I am attaching a link just for clarification

forum.linuxcnc.org/24-hal-components/329...-with-7i76e?start=20

PS:  The pins inmuxAddr0Pin ...  InMuxDataPin  are read as  inputs and outputs

Please Log in to join the conversation.

More
2 years 5 months ago #301758 by PCW
Replied by PCW on topic Index homing Mesa 7i96s
Look like you PIN_XXXX file does not have the INM module fully supported
It needs 2 entries in the module ID section, the normal module instantiation
plus a tag that specifies the number of inm inputs (check some PIN_XXX
files for standard configurations with inm = 7I96S or pin files for a 7I36)
 

Please Log in to join the conversation.

More
2 years 5 months ago #301767 by besriworld
Replied by besriworld on topic Index homing Mesa 7i96s
(InMuxTag, x"00", ClockLowTag, x"00", InMuxControlAddr&PadT, InMuxNumRegs, x"00", InmuxMPBitMask),

I have this line. If I change this ClockLowTag, x"00", to ClockLowTag, x"01", the firmware cannot be compiled.
I'm looking at a pin file PIN_7I96SD_INMP1.vhd

(InMTag, x"00", ClockLowTag, x"02", InMControlAddr&PadT, InMNumRegs, x"00", InMMPBitMask),


This file differs from mine . There are different pin names and more pins used.

Please Log in to join the conversation.

More
2 years 5 months ago #301768 by PCW
Replied by PCW on topic Index homing Mesa 7i96s
package PIN_7I96SD_51 is
    constant ModuleID : ModuleIDType :=(
        (HM2DPLLTag,            x"00",    ClockLowTag,        x"01",    HM2DPLLBaseRateAddr&PadT,        HM2DPLLNumRegs,            x"00",    HM2DPLLMPBitMask),
        (WatchDogTag,            x"00",    ClockLowTag,        x"01",    WatchDogTimeAddr&PadT,            WatchDogNumRegs,        x"00",    WatchDogMPBitMask),
        (IOPortTag,                x"00",    ClockLowTag,        x"03",    PortAddr&PadT,                    IOPortNumRegs,            x"00",    IOPortMPBitMask),
        (OutMTag,                x"00",    ClockLowTag,        x"01",    OutMDataAddr&PadT,                OutMNumRegs,            x"00",    OutMMPBitMask),
        (PWMTag,                x"00",    ClockHighTag,        x"01",    PWMValAddr&PadT,                PWMNumRegs,                x"00",    PWMMPBitMask),
        (StepGenTag,            x"02",    ClockLowTag,        x"05",    StepGenRateAddr&PadT,            StepGenNumRegs,            x"00",    StepGenMPBitMask),
        (QcountTag,                x"02",    ClockLowTag,        x"01",    QcounterAddr&PadT,                QCounterNumRegs,        x"00",    QCounterMPBitMask),
        (SSerialTag,            x"00",    ClockLowTag,        x"01",    SSerialCommandAddr&PadT,        SSerialNumRegs,            x"10",    SSerialMPBitMask),
        (XFrmrOutTag,            x"00",    ClockLowTag,        x"01",    XFrmrDataAddr&PadT,                XFrmrNumRegs,            x"00",    XFrmrMPBitMask ),
        (InMTag,                x"00",    ClockLowTag,        x"01",    InMControlAddr&PadT,            InMNumRegs,                x"00",    InMMPBitMask),
        (LEDTag,                x"00",    ClockLowTag,        x"01",    LEDAddr&PadT,                    LEDNumRegs,                x"00",    LEDMPBitMask),
        (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (InMWidth0Tag,            x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"0000000B") -- hide this tag here until we find a better way
        );

Please Log in to join the conversation.

More
2 years 5 months ago #301778 by besriworld
Replied by besriworld on topic Index homing Mesa 7i96s
i can't compile bit file

package PIN_5ABOBx3D_51Copy is
    constant ModuleID : ModuleIDType :=( 
        (HM2DPLLTag,    x"00",    ClockLowTag,    x"01",    HM2DPLLBaseRateAddr&PadT,    HM2DPLLNumRegs,        x"00",    HM2DPLLMPBitMask),
        (WatchDogTag,    x"00",    ClockLowTag,    x"01",    WatchDogTimeAddr&PadT,        WatchDogNumRegs,        x"00",    WatchDogMPBitMask),
        (IOPortTag,        x"00",    ClockLowTag,    x"03",    PortAddr&PadT,                    IOPortNumRegs,            x"00",    IOPortMPBitMask),
        (InMTag,       x"00",   ClockLowTag,   x"01",   InMControlAddr&PadT,       InMNumRegs,          x"00",   InMMPBitMask),
        (QcountTag,        x"02",    ClockLowTag,    x"05",    QcounterAddr&PadT,            QCounterNumRegs,        x"00",    QCounterMPBitMask),
        (StepGenTag,    x"C2",    ClockLowTag,    x"04",    StepGenRateAddr&PadT,        StepGenNumRegs,        x"00",    StepGenMPBitMask),
        (PWMTag,            x"00",    ClockHighTag,    x"01",    PWMValAddr&PadT,                PWMNumRegs,                x"00",    PWMMPBitMask),
       (SSerialTag,    x"00",    ClockLowTag,    x"01",    SSerialCommandAddr&PadT,    SSerialNumRegs,        x"10",    SSerialMPBitMask),
        (LEDTag,            x"00",    ClockLowTag,    x"01",    LEDAddr&PadT,                    LEDNumRegs,                x"00",    LEDMPBitMask),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (InMWidth0Tag, x"00",   NullTag,       x"00",   NullAddr&PadT,             x"00",               x"00",   x"0000000B") -- hide this tag here until we find a better way
        );
        
    
    constant PinDesc : PinDescType :=(
--     Base func  sec unit sec func      sec pin                                        -- external IDC 26
        IOPortTag & x"01" & QCountTag & QCountQAPin,                -- I/O 00    PIN 1        ENCODER QA 3
        IOPortTag & x"01" & QCountTag & SharedSDQCIdxPin,            -- I/O 01    PIN 2     ENCODER IDX3  
        IOPortTag & x"01" & QCountTag & QCountQBPin,             -- I/O 02    PIN 3    ENCODER QB 3
        IOPortTag & x"04" & QCountTag & QCountIDXPin,            -- I/O 03    PIN 4     ENCODER IDX4
        IOPortTag & x"00" & SSerialTag & SSerialRX0Pin,          -- I/O 04    PIN 5        SERIAL_RX    
        IOPortTag & x"04" & QCountTag & QCountQBPin,                -- I/O 05    PIN 6    ENCODER QB 4
        IOPortTag & x"00" & SSerialTag & SSerialTX0Pin,       -- I/O 06    PIN 7        SERIAL_TX
        IOPortTag & x"04" & QCountTag & QCountQAPin,                -- I/O 07    PIN 8     ENCODER QA 4
        IOPortTag & x"00" & QCountTag & QCountQAPin,              -- I/O 08    PIN 9     ENCODER QA 2
        IOPortTag & x"00" & QCountTag & QCountQBPin,             -- I/O 09    PIN 11    ENCODER QB 2
        IOPortTag & x"00" & QCountTag & SharedSDQCIdxPin,           -- I/O 10    PIN 13    ENCODER IDX2
        IOPortTag & x"03" & QCountTag & QCountIDXPin,          -- I/O 11    PIN 15    ENCODER IDX1
        IOPortTag & x"03" & QCountTag & QCountQBPin,              -- I/O 12    PIN 17    ENCODER QB 1
        IOPortTag & x"03" & QCountTag & QCountQAPin,                -- I/O 13    PIN 19    ENCODER QA 1
        IOPortTag & x"02" & QCountTag & QCountIDXPin,             -- I/O 14    PIN 21    ENCODER IDX0
        IOPortTag & x"02" & QCountTag & QCountQBPin,             -- I/O 15    PIN 23    ENCODER QB 0
        IOPortTag & x"02" & QCountTag & QCountQAPin,           -- I/O 16    PIN 25    ENCODER QA 0
        
                                                                            -- 26 HDR    -- IDC 26    
        IOPortTag & x"00" & PWMTag & PWMAOutPin,                -- I/O 17    PIN 1             Analog DAC PWM
        IOPortTag & x"00" & PWMTag & PWMBDirPin,                -- I/O 18   PIN 2            Analog DAC PWM_DIR
        IOPortTag & x"00" & StepGenTag & StepGenStepPin,    -- I/O 19   PIN 3            StepGenStep2 (1)
        IOPortTag & x"00" & StepGenTag & StepGenDirPin,       -- I/O 20    PIN 4            StepGenDir2 (1)
        IOPortTag & x"01" & StepGenTag & StepGenStepPin,    -- I/O 21    PIN 5           StepGenStep3  (2)  
        IOPortTag & x"01" & StepGenTag & StepGenDirPin,     -- I/O 22    PIN 6            StepGenDir3 (2)
        IOPortTag & x"02" & StepGenTag & StepGenStepPin,    -- I/O 23    PIN 7           StepGenStep4  (3)
        IOPortTag & x"02" & StepGenTag & StepGenDirPin,       -- I/O 24    PIN 8           StepGenDir4  (3)
        IOPortTag & x"03" & StepGenTag & StepGenStepPin,    -- I/O 25    PIN 9           StepGenStep5  (4)
        IOPortTag & x"03" & StepGenTag & StepGenDirPin,       -- I/O 26    PIN 11       StepGenDir5  (4)
        IOPortTag & x"00" & InMuxTag & InMuxAddr0Pin,       -- I/O 27    PIN 13       InMuxAddr0Pin
        IOPortTag & x"00" & InMuxTag & InMuxAddr1Pin,       -- I/O 28    PIN 15       InMuxAddr1Pin
        IOPortTag & x"00" & InMuxTag & InMuxAddr2Pin,        -- I/O 29    PIN 17       InMuxAddr2Pin
        IOPortTag & x"00" & InMuxTag & InMuxAddr3Pin,        -- I/O 30    PIN 19       InMuxAddr3Pin
        IOPortTag & x"00" & InMuxTag & InMuxAddr4Pin,          -- I/O 31    PIN 21       InMuxAddr4Pin
        IOPortTag & x"00" & InMuxTag & InMuxDataPin,          -- I/O 32    PIN 23       InMuxdata
        IOPortTag & x"17" & NullTag & NullPin,              -- I/O 33    PIN 25       free
        
                                                                            -- 26 HDR    -- IDC 26    
        IOPortTag & x"06" & NullTag & NullPin,                -- I/O 34    PIN 1            just GPIO_6
        IOPortTag & x"07" & NullTag & NullPin,                -- I/O 35   PIN 2            just GPIO_7
        IOPortTag & x"04" & NullTag & NullPin,           -- I/O 36   PIN 3           just GPIO_4
        IOPortTag & x"05" & NullTag & NullPin,                -- I/O 37    PIN 4            just GPIO_5
        IOPortTag & x"02" & NullTag & NullPin,              -- I/O 38    PIN 5           just GPIO_2 
        IOPortTag & x"03" & NullTag & NullPin,                -- I/O 39    PIN 6            just GPIO_3
        IOPortTag & x"00" & NullTag & NullPin,             -- I/O 40    PIN 7            just GPIO_0
        IOPortTag & x"01" & NullTag & NullPin,                -- I/O 41    PIN 8            just GPIO_1
        IOPortTag & x"08" & NullTag & NullPin,              -- I/O 42    PIN 9            just GPIO_8
        IOPortTag & x"09" & NullTag & NullPin,             -- I/O 43    PIN 11        just GPIO_9
        IOPortTag & x"10" & NullTag & NullPin,              -- I/O 44    PIN 13       just GPIO_10
        IOPortTag & x"11" & NullTag & NullPin,             -- I/O 45    PIN 15        just GPIO_11
        IOPortTag & x"12" & NullTag & NullPin,              -- I/O 46    PIN 17        just GPIO_12
        IOPortTag & x"13" & NullTag & NullPin,                -- I/O 47    PIN 19        just GPIO_13
        IOPortTag & x"14" & NullTag & NullPin,              -- I/O 48    PIN 21          just GPIO_14
        IOPortTag & x"15" & NullTag & NullPin,             -- I/O 49    PIN 23        just GPIO_15
        IOPortTag & x"16" & NullTag & NullPin,           -- I/O 50    PIN 25        just GPIO_16
        

        emptypin,emptypin,emptypin,emptypin,emptypin, -- added for IDROM v3
        emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
                    
        emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
        emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
        emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
        emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
        emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
        emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
        emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
        emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
        emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
        emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin);

end package PIN_5ABOBx3D_51Copy;


I tried this too  
        IOPortTag & x"00" & InMTag & InMData0Pin,       -- I/O 27    PIN 13       InMuxAddr0Pin
        IOPortTag & x"00" & InMTag & InMData1Pin,       -- I/O 28    PIN 15       InMuxAddr1Pin
        IOPortTag & x"00" & InMTag & InMData2Pin,        -- I/O 29    PIN 17       InMuxAddr2Pin
        IOPortTag & x"00" & InMTag & InMData3Pin,        -- I/O 30    PIN 19       InMuxAddr3Pin
        IOPortTag & x"00" & InMTag & InMData4Pin,          -- I/O 31    PIN 21       InMuxAddr4Pin
        IOPortTag & x"00" & InMTag & InMData5Pin,          -- I/O 32    PIN 23       InMuxdata
 

Please Log in to join the conversation.

Time to create page: 0.138 seconds
Powered by Kunena Forum