Realtime delay with custom Mesa firmware

More
2 years 5 months ago #300118 by TangentAudio
I've got an old 7i43-400 EPP card that I'm using for testing on a conversion.  I had no latency errors while I was using it with one of the stock servo-only firmware images (SV8.BIT).  I needed to add a couple of stepgens on specific pins for testing, so I built FPGA firmware with a custom pinout.

The stepgens seem to work just fine, except that now, whenever I start linuxcnc, I get a realtime delay/latency error that I was not getting before.  It happens right at launch every time.

Here are the modules enabled in my FPGA pin file.  I've attached the whole thing as well. 
Code:
        (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"02",    PortAddr&PadT,                    IOPortNumRegs,            x"00",    IOPortMPBitMask),         (QcountTag,        x"02",    ClockLowTag,    x"06",    QcounterAddr&PadT,            QCounterNumRegs,        x"00",    QCounterMPBitMask),         (PWMTag,            x"00",    ClockHighTag,    x"03",    PWMValAddr&PadT,                PWMNumRegs,                x"00",    PWMMPBitMask),         (StepGenTag,    x"02",    ClockLowTag,    x"02",    StepGenRateAddr&PadT,        StepGenNumRegs,        x"00",    StepGenMPBitMask),         (AddrXTag,        x"00",    ClockLowTag,    x"01",    TranslateRAMAddr&PadT,        TranslateNumRegs,        x"00",    TranslateMPBitMask),         (SSerialTag,   x"00",   ClockLowTag,   x"01",   SSerialCommandAddr&PadT,   SSerialNumRegs,      x"10",   SSerialMPBitMask),

Any obvious culprits I should look for?  I don't have access to my config files at the moment (forgot to push them up to github last night), but I will be back at the machine later today.

thanks,
Steve
 

Please Log in to join the conversation.

More
2 years 5 months ago #300128 by PCW
I would check the tmax values, it may be that the I/O time
accessing the added functions is too great for the servo period

halcmd show param *.tmax
 (when LinuxCNC is running)
 These times are in CPU cycles on X86

Please Log in to join the conversation.

Time to create page: 0.071 seconds
Powered by Kunena Forum