On 9/17/2018 10:07 PM, Joshua Dickerson wrote: > > My naive approach would be to have a registry of output signals which > includes which MCU each actually resides on. So if a particular HAL > component task is reading a signal that's already on the MCU it's running > on, it's immediately returned- otherwise it pulls the data over a network > layer (which could shared memory bus, RS485, ethernet, etc.) Is there > something out there that does this? Maybe some kind of mutant hybrid > between HAL/NML/SCADA? > > Of course this complicates things over simply using pointers to a single > shared memory space. I also get the sense the linuxCNC group balks at this > kind of idea, they want to keep it all on one machine in the interest of > latency anyway. Just searching various machine controller project > communities for where this kind of idea might be interesting. I would > really like something like a Raspberry Pi tied into a MCU which does all > the hard-RT/IO stuff, but not quite in the way Klipper does it. Klipper > basically sends commands to be followed at some specific time stamp. > That's actually pretty cool, but I want something that allows for more > feedback and flexibility between the various systems.
Look into the haltalk stuff using Zero-MQ messaging. It was specifically written to enable connecting various HAL "islands" which may or may not have a shared memory space. The messaging protocol is transport agnostic, so you can setup HAL nodes that communicate via shared memory, Ethernet, serial, or whatever. The existing haltalk may not do everything you want, but it's probably the best place to start: https://machinekoder.com/machinetalk-explained-part-4-hal-remote/ -- Charles Steinkuehler [email protected] -- website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit --- You received this message because you are subscribed to the Google Groups "Machinekit" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. Visit this group at https://groups.google.com/group/machinekit. For more options, visit https://groups.google.com/d/optout.
