About unexpected realtime delay ...

More
7 years 8 months ago #125832 by l2-max
That makes sens, but if I swap ports in HAL and use only one port (no matters which) then there is no real time delay. Delay appears only when I use both.

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

More
7 years 8 months ago - 7 years 8 months ago #125835 by PCW
Sure, the access times add up...

You should be able to get a estimate of the worst case access times by reading the tmax number for the read/write functions
(these are in CPU clock cycles)
Last edit: 7 years 8 months ago by PCW.
The following user(s) said Thank You: l2-max

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

More
7 years 8 months ago #125840 by l2-max
Thanks. You helped me a lot.

Estimating using these parameters gave me 16uS write to PCIe parport and 15uS to integrated port. While reading are 10uS and 11uS respectively.

So, what I did is I commented out read function for second parallel port as there are no inputs and reduced BASE_PERIOD by 10uS from stable 41000nS to 31000nS and no error messages appear!!

I think, I will separate all my inputs and outputs between parports thus will be able to decrease BASE_PERIOD even more.

Thanks again.

P.S. Still I am curious, why LinuxCNC reads second parport if no pins are connected for reading?

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

More
7 years 8 months ago #125849 by Todd Zuercher
I don't think Stepconfig checks if a port is read or write only, it automatically sets up both when you define a port.

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

More
7 years 8 months ago #125856 by l2-max
I do not use stepconfig, i edited hal file manualy

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

More
7 years 8 months ago #125858 by Todd Zuercher

l2-max wrote: I do not use stepconfig, i edited hal file manualy


Then I'm confused by your question "why LinuxCNC reads second parport if no pins are connected for reading?"
The answer is it doesn't, it only reads them if you tell it to with the "addf addf parport.N.read base−thread" or "addf parport.read−all base−thread"

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

Time to create page: 0.154 seconds
Powered by Kunena Forum