data shared between RT and non-RT programs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

I'm setting up a system on a raspberry Pi where 2 isolated cpus are each dedicated to monitoring an encoder (and compare the current values to the tresholds "enc_target_1" and "enc_target_2"). These tresholds will be written at a stage where nothing moves, thus I have no RT constraints while writing them.

The two other "housekeeping" cpus  will also run some programs : external communication, setting of enc_target_x values, launching of the RT-sequence on the dedicated cpus and display of the value of the encoder "enc_current_value" (for information only, no time constraint)

What would be the more efficient/safe way to communicate the current encoder value to the no-RT cpus ?

If the speed of the encoder is near the limits of the RT-cpus, reading the "enc_current_value" from the non-RT cpus won't be possible ?

I thought to have the RT cpus write a variable not too often (every 0,5s, or every 50 steps on the encoder) to leave enough time for the non-RT to read it (the non-RT reading being preempted by the RT writing if it is too slow ?).

Is it correct ? Or is there a more "standardized" or more efficient way to do it ?

Thanks,

Mathieu

--





[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux