If kernel panic happens after like a few hours I would guess there are some kind of timing involved. It might be some kind of shared resource not properly locked or similar. If data is sent with high frequency some errors are less likely because they would happen very fast. I think I have seen the behavior for Mesa Hostmot driver to buffer network access then other end does not reply and send them in a fast burst then connecting again, to throw away old outdated accesses would be better in this case, it may eat up the memory.
I am very interested in the main ideas of this component is that pass the interpolation data to pulsecard via Ethernet , pulsecard generate the pulse according to the count of pulses get form Ethernet every interpolation cycle and then drive the motor. I have modified the Mesa Hostmot driver to send positions instead of velocity for stepper. The difference here is you use pulse while I use position. I implemented calculation of average receive time filter and interpolation in receiving end. Even though there is a stepper in receiving end right now protocol should work equally with a servo motor. Number of step decimal point is also useful to place position changes withing servo period or there will be quite a lot of jitter around servo period frequency. Now we are two who think interpolation at receiving end is a good idea, are there more of us? On Sun, 26 Jun 2016 13:58:16 +0800 "其实" <[email protected]> wrote: > hi everyone > > > I had spend about several months for building a component which is used for > communicate with a pulsecard by ethernet. > > > The component is build as rt component ,now it can be talk with pulsecard > successfully.But several hours later,there will be a kernel panic happened. > Since I am not familiar with RTAI and Linux kernel modules ,So I want to know > what would you do when you meet this kind of question. What should I do ? > > > If someone is interest with my project and Know how to solve this problem , > Please contact me,I am very eager to have a like-minded partners. > > > The main ideas of this component is that pass the interpolation data to > pulsecard via Ethernet , pulsecard generate the pulse according to the count > of pulses get form Ethernet every interpolation cycle and then drive the > motor. > > > > The pulsecard code is in the mail attachment. Add component function > "update_pos" to servo thread with thread period 1000000ns. Link the computer > wiht another one which with software "Wireshark" or other software > function-like installed by ethernet and ethernet switch. You will receive the > Mac frame by wireshark. > > > In my test, the kernel will enter into panic after several hours.But I can't > find the reasion.So help me~ > > > In addition ,if someone is interest in or need the component,Email me~,we > can develop it with each other~ > > > Thanks~ > > > best recards > paul ------------------------------------------------------------------------------ Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San Francisco, CA to explore cutting-edge tech and listen to tech luminaries present their vision of the future. This family event has something for everyone, including kids. Get more information and register today. http://sdm.link/attshape _______________________________________________ Emc-developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-developers
