Index homing Mesa 7i96s

More
15 Jun 2023 21:35 #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 or Create an account to join the conversation.

More
15 Jun 2023 22:15 #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
The following user(s) said Thank You: besriworld

Please Log in or Create an account to join the conversation.

More
16 Jun 2023 06:13 #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. "




Is there something I need to change in my firmware?

 

Please Log in or Create an account to join the conversation.

More
16 Jun 2023 13:09 #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,
The following user(s) said Thank You: besriworld

Please Log in or Create an account to join the conversation.

More
16 Jun 2023 14:44 #273703 by besriworld
Replied by besriworld on topic Index homing Mesa 7i96s
Many thanks for the detailed information! Great support!

Please Log in or Create an account to join the conversation.

More
29 May 2024 17:36 - 29 May 2024 17:40 #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
Last edit: 29 May 2024 17:40 by besriworld.

Please Log in or Create an account to join the conversation.

More
29 May 2024 17:50 #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)
 
The following user(s) said Thank You: besriworld

Please Log in or Create an account to join the conversation.

More
29 May 2024 19:39 #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 or Create an account to join the conversation.

More
29 May 2024 19:47 #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
        );
The following user(s) said Thank You: besriworld

Please Log in or Create an account to join the conversation.

More
29 May 2024 21:16 - 29 May 2024 21:18 #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
 
Last edit: 29 May 2024 21:18 by besriworld.

Please Log in or Create an account to join the conversation.

Moderators: cmorley
Time to create page: 0.446 seconds
Powered by Kunena Forum