Advanced Search

Search Results (Searched for: )

  • tar_san
  • tar_san
27 Sep 2025 00:53
How to do "Unhome" when servo off was created by tar_san

How to do "Unhome" when servo off

Category: General LinuxCNC Questions

Hello friends,

I want to make LCNC "Unhome" when power-off (servo-off).

I'm using AXIS. 

How do I do that ?

 
  • blazini36
  • blazini36
27 Sep 2025 00:40
Replied by blazini36 on topic LinuxCNC RT blindspots (I2C and UART/Serial)

LinuxCNC RT blindspots (I2C and UART/Serial)

Category: Driver Boards

This isn't an answer to your question, but have you tried hal_gpio on the Odroid?

 

Actually no, I knew of the component but I don't think it dawned on me that it used gpiod. In that case it would certainly work for something like an MCP23017 or a different I2C IO expander. The catch there is I don't know if it would technically be "realtime" unless an IRQ was attached via interrupt GPIO. I believe that specific driver will run in polling mode if an IRQ isn't attached. I could be wrong about that. This would be limited to GPIO as they have to register as gpiochips. In my head I was thinking of a component that would pretty much do exactly this but be expanded out to use other types of chips like clockgens and ADCs. Some clockgens have good command control so they could be used like a Mesa stepgen with a GPIO pin for direction. Maybe it's better just to split up the components but then it's the whole segmentation thing, I've been messing with LinuxCNC for about a decade and it didn't even dawn on me that hal_gpio used gpiod. So it'd be great to do an all-in-one component but that might get very messy making sure all the drivers are loaded etc.

andypugh post=335457 userid=723I was actually wondering the same thing about the serial port las month:

sourceforge.net/p/emc/mailman/emc-develo...arg.org/#msg59226340

Maybe a realtime modbus driver through the onboard serial port could work, for example.

If you can drive the serial port by sending bytes with outb() / inb() it might work, though you would end up having to re-invent the drivers as non-blocking code.

I've been asking about RT serial around here for over a year now, you're popped in on one or 2 of the threads. I definately would not use modbus. RS485 is (generally) half duplex and requires flow control, it's multi-drop, etc. I don't think Modbus can ever be any more realtime than USB but I could be wrong. My Idea for using UART is single host interface just like Mesa SmartSerial and just sticking to simple full duplex just as Smart Serial does.

I've been banging chatgpt from every direction on the UART thing and the result is the Intel 8250 driver is pretty much perfect as is for real time with a custom protocol. Might sound like blasphemy to someone like you who know what they're doing but I've found that if you hit the bot with enough contention you can come up with fairly solid answers in the end. Seems just plain UART with the FIFO interrupts is just fine, no hardware flow control or anything else required.

Another somewhat sticky point that I didn't bother mentioning above is because there is no real GPIO on the H-series boards I need to get creative for a hardware interrupt for the I2C chips. These don't have a GPIO controller like some other boards do. It seems the CTS (and RTS) pins can be stolen from the UART and repurposed and likely still have a usable UART just without flow control. So I actually need a kernel module to set that up. That's what actually got me back on this kick, I was messing with an vendor I2C touchscreen kernel driver. That requires the I2C bus with an INT (IRQ input) and RES (output) GPIO pins. I was able to get about halfway there hanging the IO expander off the I2C bus and binding the MCP pins as the IO it almost worked, problem was I couldn't generate a real interrupt without an single IRQ capable input pin so I gave up at the time. Once I realized I might be able to steal the CTS pin for the I2C interrupt it snowballed back into me thinking "can I get this stuff working in LinuxCNC?"

So at the moment I'm just trying to get the CTS interrupt working with the MCP23017. If that works I might just try it out with the hal_gpio component. At some point I'll see if I can get a basic RT UART comp going. Once I know it all will probably work I'll try making it useful.
  • tar_san
  • tar_san
27 Sep 2025 00:38

How to disable following error while homing ?

Category: EtherCAT

How to disable following error while homing ?

Background:
When we use "internal homing function" with EtherCAT servo driver, 
command position from LCNC and feedback position difference become large.
We can avoid this by setting f_error with large number, but I don't think it is good idea.

Are there any settings or something to do this ?
 
Displaying 13321 - 13323 out of 13323 results.
Time to create page: 0.430 seconds
Powered by Kunena Forum