On Thursday 11 April 2019 15:41:15 Chris Albertson wrote:

> I have to agree,   The entire point of moving al real time functions
> to hardware is so that a real-time OS is no longer required.
> The only reason Linux is even needed is that it is an easy way to get
> a real-time OS.   If not for the RT requirement you could use a Mac or
> Windows or even an iPad or any cell phone.
> If the machine controler could run on a me=aintstream OS (like Windows
> 10) and on a normal notebook PC it would be orders of magnitude more
> popular and widly used
> "EMC" as it was called (then later Linux CNC and then MK) was a great
> idea: Use existing, low cost off the shelf hardware to control a CNC
> machine. This is still a good a very idea but today the existing
> low-cost hardware looks like an STM32 chip and cost about $5.   These
> chips have "compute power" roughly the same as the old PCs EMC was
> developed with.  These little chips are nice to use not just because
> of the price but because there typically come with an RT operating
> system (based on CMSIS)  that has much better RT performance than any
> RT-Linux.
Even th D-525-MW motherboard? I can latency-test for an hour or 2 on this 
machine I'm building up right now, and not show any worse than 5.1 
microseconds for base thread latency, and If I run without that thread, 
which I don't use anyway, and the worst case latency is 4850ns.  Thats 
right alongside the figures I've seen quoted for the STM-32.

> There is nothing special about Linux other than it provided a cheap
> and easy to get RT OS.

And security. Windows may be improving, but connected directly to the 
net, how long before its owned. I went from amiga to linux in 1998, and 
have not been touched since. That of course includes using another linux 
product, dd-wrt, between my local network, and the network at large on 
the other side of my cable modem.

> The CMSIS based RTOSes on STM32 are better.   
> I have some experience with both ways and believe by moving to the
> smaller RT system is nearly Arduino-like simplicity and ease of use.  
> I'm using it for robotic motion control now.
> On Thu, Apr 11, 2019 at 3:32 AM Les Newell <les.new...@fastmail.co.uk>
> wrote:
> > >       Actually I *don't* want to run a form of Linux.
> >
> > I suggested running a Linux variant because it would simplify
> > porting code. Most HAL code only uses a few system calls so you
> > could emulate those calls. IMHO rewriting everything to run on
> > dedicated hardware is a bad idea. Not having compatibility with the
> > main LinuxCNC code base will mean you have to maintain all of the
> > code by yourself. That is a lot of work.
> >
> > > Since it's dedicated
> > > HW, the tasks can be hardcoded for bare metal and stored in flash
> > > and directly load the STEP/DIR pins with SPI data which does
> > > precise, synchronized step-outs.. This is leaner, simpler, more
> > > reliable and the latency can be very low and consistent (although
> > > LinuxCNC on Preempt-RT is already all of that for my machine).
> >
> > If you are just concerned with accurate steps then just move step
> > generation to external hardware. The trajectory planning etc is done
> > at a relatively low speed (usually 1ms intervals) and even a few
> > hundred microseconds of jitter isn't a big deal so there is nothing
> > much to gain in moving this to dedicated hardware. The Ethernet Mesa
> > boards work this way. They use hardware step generation that is
> > updated every 1ms over Ethernet.
> >
> > > This would require somewhat extensive modification of code.
> > > Microcontrollers typically use C and cannot handle C++'s OOP nor
> > > dynamic memory allocation.
> >
> > This is a myth. Even the lowly 8 bit ATMEGA series is fine running
> > OOP C++. Look at Arduino. The majority of that code is C++. Several
> > years ago I wrote a preemptive+cooperative multi tasking real time
> > OS in C++ and it ran well on an ATMEGA. On more memory restricted
> > parts you need to be careful with dynamic memory allocation but it
> > still works as long as you don't go overboard. If you're considering
> > moving emcmot etc to another processor you're gonna need something
> > with considerably more grunt than an ATMEGA anyway.
> >
> > Les

Cheers, Gene Heskett
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Genes Web page <http://geneslinuxbox.net:6309/gene>

Emc-users mailing list

Reply via email to