Advanced Search

Search Results (Searched for: )

  • rodw
  • rodw's Avatar
22 Nov 2025 01:17

Updating from LINUXCNC - 2.8.4-23, Mint 20.3 - gmoccapy lathe structure

Category: Gmoccapy

Really all you need to port across is your ~/linuxcnc folder
  • langdons
  • langdons's Avatar
22 Nov 2025 01:12 - 22 Nov 2025 17:31

Updating from LINUXCNC - 2.8.4-23, Mint 20.3 - gmoccapy lathe structure

Category: Gmoccapy

After looking at the error message it seems that this would be an issue for PCW to advise on. Maybe corrupted firmware, just a blind guess.

Could be.

Randomly not working after not being used for 18 months without any clear reason is pretty odd.

If firmware is indeed the culprit, perhaps running sudo apt update && sudo apt upgrade would install a new linux-firmware package and overwrite the existing (and potentially broken) firmware, which could fix the issue.


Hardware weirdly breaks all the time!

The fan in my mom's iMac decided to run at full speed one day, and it remains at full speed without the aid of a 3rd-party fan control app.
I had an old PC that I installed LinuxCNC on; one day I powered it off and it never turned on again (stupid HP).
Then I moved the HDD to a new computer and then one day the PSU fan of that computer decided to break!
But why?
  • smc.collins
  • smc.collins
22 Nov 2025 01:08

I created a new programming language, building a new Hal component model

Category: Off Topic and Test Posts

feel free , let me know how it goes !!!!. i don't used freebsd but PR;s accepted !
  • langdons
  • langdons's Avatar
22 Nov 2025 01:01

I created a new programming language, building a new Hal component model

Category: Off Topic and Test Posts

Try benchmarking AiLang against FreeBSD utilities.

GNU makes some cool stuff, but it's not necessarily benchmark-candidate worthy.
  • unknown
  • unknown
22 Nov 2025 00:53 - 22 Nov 2025 01:04

Updating from LINUXCNC - 2.8.4-23, Mint 20.3 - gmoccapy lathe structure

Category: Gmoccapy

After looking at the error message it seems that this would be an issue for PCW to advise on. Maybe corrupted firmware, just a blind guess.

I know its generally frowned upon but the issue seems to be with the 5i25 card so.........
Maybe starting a new thread under driver boards referencing hm2/hm2_5i25.0: Module Descriptor 1 (at 0x044c) has invalid ClockTag 255, may yield a better answer, as it would seem to be more of an issue with the hardware rather than the UI. So it might be best to put off upgrading until this issue is resolved.

For the interim, if not all ready attempted, it may be worth cleaning the contacts of the card and reseating the card. I can't say whether or not this would resolve the issue.
  • smc.collins
  • smc.collins
22 Nov 2025 00:52

I created a new programming language, building a new Hal component model

Category: Off Topic and Test Posts

yeah it';s MIT licensed, not doing the bike shedding thing, if you have PR's for the repo or language lmk !
  • langdons
  • langdons's Avatar
22 Nov 2025 00:41
  • smc.collins
  • smc.collins
22 Nov 2025 00:14 - 22 Nov 2025 14:39

I created a new programming language, building a new Hal component model

Category: Off Topic and Test Posts

Heads up this is ALPHA only CODE !!!!! ALPHA !!!!!!!!!! . I sat down this morning and rewrote my initial post. I was tired so here is the edited post containing all my thoughts. NO WARRANTY OR FITNESS IS IMPLIED OR GIVEN USE AT YOUR OWN RISK !!!!! AiLang & Microkernel Architecture for LinuxCNC – License Grant & Technical OverviewBackground & Motivation

What is Ailang ? 

Ailang is a bijective x86 direct to assembler compiled language. It emits elf files directly, does not depend on LLVM GCC CLANG etc. 


github.com/AiLang-Author/AiLang
github.com/AiLang-Author/CoreUtils-

Background & Motivation

I originally built AiLang for my internal AGI and LLM research—it was designed  for low-level systems programming. The problem it solves for LinuxCNC is simple: writing complex HAL components in C with the current RTAPI is a nightmare. You can't use normal control structures (while, sleep, delay, etc.) or blocking calls without risking realtime violations or outright kernel crashes. Anything beyond trivial I/O explodes into hundreds or thousands of lines of manual state counters, one-shot flags, hand-rolled timers, and flood-controlled error messages.The  toolchanger.comp I had to write is the perfect example. Here's what that looks like in practice:Old way (classic .comp):
  •  C with manual state counters (count1, count2_5, count4_55...)
  • Dozens of separate timers that must be manually reset
  • Runs in realtime thread → one mistake crashes the machine
  • No sleep(), no while(), no normal control structures
  • Debugging = watching 40 cryptic count pins in halscope
  • Copy-paste nightmare for every different turret design
New way (AiLang + microkernel):
  • Readable, low-level syntax that reads like high level code
  • Normal while loops, proper delays, readable state machines
  • Runs as normal userspace process → segfault only kills itself
  • Full debugging with printf() and standard tools
  • Runs in hard realtime with zero Python-style latency penalty
  • LLMs can actually generate correct code from the manual + examples
Why AiLang Works Where Others Fail for LLM's and reasoning as a first class design intent not terseness and typing optimization

AiLang was designed from day one with explicit, verbose syntax that's unambiguous for both humans and LLMs—no operator precedence mysteries, no implicit type coercion, no hidden control flow. Every operation is a named function call or a parenthesized infix expression, which means code generation is deterministic and debuggable. That verbosity is the entire point: when an LLM seesAdd(a, b)
or(a + b)
, there's zero ambiguity about what's happening. When you're debugging a toolchanger at 2 AM, that clarity matters. The compiler generates native x86-64 assembly with zero runtime overhead—no interpreter, no VM, no garbage collection. Early benchmarks show AiLang-compiled utilities outperforming GNU coreutils in typical use cases (100-5000 line files, the sweet spot for source code and config files), and this is before any serious optimization work or SSE vectorization. The toolchanger microkernel compiles to an 18 kB binary that runs for days without issues.


Microkernel Architecture for Hal Components The solution: move everything that isn't cycle-critical into normal Linux userspace processes, leaving only a tiny shim in the realtime thread. Here's what's actually running on my bench right now:


HAL_Microkernel daemon (~600 lines AiLang → ~18 kB binary)
  • Single persistent userspace process that owns shared memory (/tmp/hal_pins.shm, 4 KB expandable)
  • Provides atomic register/read/write of pins from any process with optional change-detection for debugging
  • Runs at 1 kHz when idle, 100 µs when active
  • No root needed—runs as the linuxcnc user
Realtime shim (~150 lines C, currently in alpha testing)
  • Classic LinuxCNC realtime component whose only job is copying HAL pins to/from the microkernel's shared memory at servo-thread rate
  • Zero allocation, zero syscalls, zero blocking—completely safe for hard realtime
  • Once loaded, the rest of the system can forget RTAPI even exists
Userspace services (normal processes)
  • Each complex component (toolchanger, PLC, probe routines, THC, etc.) runs as a normal binary
  • Uses standard while(), sleep_us(), timers, file I/O, networking—anything Linux allows
  • Communicates with HAL only via shared memory → realtime violations are impossible
  • Can be written in AiLang, C, Rust, Python—whatever you want
  • Crash recovery: if a service dies, the microkernel and realtime shim keep running; just restart the dead service
What This Means for the LinuxCNC Ecosystem


This isn't just about toolchangers. The microkernel architecture fundamentally changes what's possible:
  • Complex logic becomes maintainable - Write a 2000-line component without fear of taking down motion
  • Multiple independent services - Run toolchanger + PLC + remote panel + logging simultaneously without fighting over the realtime thread
  • LLM code generation - The deliberately verbose syntax means modern LLMs can actually generate correct, working components when fed the manual and examples
  • Built-in debugging - AiLang has native debug primitives (Debug, DebugPerf, the other debug features are not yet fully implemented in the compiler) that compile to zero overhead in production but give you full visibility during development
  • Easier debugging - Standard printf(), gdb, valgrind—all the normal tools work
  • Safer experimentation - Userspace crashes don't kill the machine
  • Performance - Native compiled code with minimal overhead; typical operations faster than scripting languages by orders of magnitude
  • Long-term vision - Once this is proven stable, the motion backend itself could be rewritten in this architecture
Test code is running on my bench simulating my  Cincinnati 6-position turret that previously required A nightmare C now runs in  readable AiLang as a normal userspace service, with a reactive hardware simulator driving full bidirectional cycles with realistic timing and fault injection.


Documentation:

AiLang ships with 22 full reference manuals covering roughly 90% of language features. If you can read normal programming docs, you can start writing useful LinuxCNC components on day one. Here's what's covered:

Core Language Features:
  • Arithmetic & Math Operations - Dual syntax support (both function calls and infix operators), full bitwise operations, compiler-level math primitives (ISqrt, Abs, Min/Max) implemented as optimized assembly
  • Flow Control - Three-tier documentation from beginner to advanced, proven patterns for 30-level deep recursion at 3 million calls, state machines, pipelines, and ring buffers
  • Functions & SubRoutines - Clear distinction between value-returning Functions and side-effect SubRoutines, full calling convention docs, performance considerations
Memory & Data:
  • Memory Management - Four specialized pool types (FixedPool for globals, DynamicPool for growable collections, TemporalPool for scoped allocations, LinkagePool for structured data), direct heap control with Allocate/Deallocate, zero garbage collection overhead
  • Arrays - Built-in fixed-size arrays as compiler primitives with O(1) access, detailed memory layout documentation, plus library dynamic arrays when you need auto-resize
  • LinkagePool (Structured Data) - Type-safe field-based access, automatic null-checking, supports integers and strings, perfect for passing complex data between functions
System Programming:
  • Unix/Linux Syscall API - Complete coverage of process management (fork, exec, wait, kill), IPC (pipes), time functions, with real syscall numbers and register usage documented
  • Advanced Patterns - Working examples of ring buffers, state machines, producer-consumer, memory pools, all tested in production code
Developer Experience:
  • Built-in Debugging - Native debug primitives compile conditionally (zero overhead when disabled), DebugAssert for safety, DebugTrace for execution flow, DebugPerf for performance profiling, DebugMemory for leak detection
  • Getting Started Guide - Practical introduction with working examples, common patterns, compilation instructions
The manuals aren't just API references—they include exact byte layouts, register allocations, assembly patterns, performance characteristics, and real-world examples. Flow-control docs alone span beginner guides through stress-test documentation proving 30-level recursion at three million calls. Memory docs provide exact byte layouts for every pool type plus decision matrices for choosing the right one.License Grant

Git hub page, all linuxcnc specific code is MIT licensed

github.com/AiLang-Author/LinuxCNC-HAL-Component-Redesign


Effective immediately, the LinuxCNC project has a perpetual, irrevocable, royalty-free license to AiLang and the entire compiler toolchain for use in LinuxCNC and related open-source efforts. If anyone needs a signed/notarized hard copy for official records, let me know the correct contact channel.For individual use: hobby, education, private, and non-commercial use is freely permitted. Non-profits and research institutions are welcome—contact me for a written license to keep everything clear (copyright remains with my estate).Current Status
  • Microkernel daemon: stable under load, runs for days without issues
  • Toolchanger logic: Tech Demonstrator, full bidirectional cycles with fault injection pass in simulation
  • Realtime shim: alpha testing (~150 lines C, nearly complete)
  • Hardware validation: Next step is testing on actual machine hardware
  • Known limitations: Pin collision detection not yet implemented (coming soon)
The userspace components (microkernel, toolchanger services) are running in simulation. The shim is one of many pieces being validated. Once sufficient testing is complete, any machine with a modern kernel (PREEMPT-RT or 6.1+ mainline) can run complex components with zero risk to motion. Examples (microkernel, toolchanger, and test harness) are all in the repo. The simulation works. Multiple component validation is the next milestone.

I have attached a zip file with my current working code, the ailang compiler is very easy to use. If you have any questions post them up this is the first public disclosure of the language I have made. Feedback welcome. 
  • unknown
  • unknown
21 Nov 2025 23:43
Replied by unknown on topic [SOLVED] Backlash issues on Y-AXIS

[SOLVED] Backlash issues on Y-AXIS

Category: Advanced Configuration

It's more constructive trying to converse with an inanimate object than you Master Langdon's.
  • langdons
  • langdons's Avatar
21 Nov 2025 23:22
Replied by langdons on topic CNC AXIS IN PARKING MODE

CNC AXIS IN PARKING MODE

Category: Advanced Configuration

OP: Is this a one axis machine?
  • ihavenofish
  • ihavenofish
21 Nov 2025 23:03

lemontart - a call for help with s curve, ui's, and all the cool toys

Category: General LinuxCNC Questions

Design done, first one in the works, I put some limited earlybird preorders up, wont be too many of those. Just want to iron out the process before it goes full on for sale. This should be fun. :)








  • Muftijaja
  • Muftijaja
21 Nov 2025 22:22

problems with Y-Axis, elliptic deviations after several changes -Probe Basic V.5

Category: QtPyVCP

Hello Lcvette,
Thanks for your time and ideas!

The motor on the Y axis is a JMC iHSSC60-36-35-21-38-POCA. The manual says the pulse and pause should not be shorter than 2.5 µs; I have set this in the .ini file to 2,500 ns. This worked fine until now. Today, I changed this to 4000 ns, thinking it would be safer. After that change, an error occurred: 'stepgen.01.maxvel is too big for current step timings and position scale; clipping to maximum possible', so I reduced my Vel settings to 100 mm/s and 125 for overhead. This means that I cannot drive the axis at 7.5 m/min as before, but only at 6 m/min. I would accept this if the axis runs correctly afterwards. I will check this tomorrow.
Indeed, I change the motor-spindle gear in the X-axis a while ago to 20/32 teeth, which gives me a 640-step scale on the X-axis. This is not 1:2 as in the Y-axis, but 1:1.25.
My motor settings are 2000 steps/rev, which is not a problem for the motor or LCNC. The motor can run up to a frequency of 200 kHz, but I did tests with an oscillator and found the limit to be 180 kHz. So, 4000 ns will be safer.
Could the motor be losing steps at the shorter 2500 setting? I mean, it's a closed-loop motor that corrects lost steps. I changed to this motor from a 400 W OMC servo motor to check whether the motor and parametric settings were at fault with regard to my dimensions. That is not the case, as I can see. So I will go back to the servo if I get the problem solved.
The motor settings, especially the step scale, are correct; I measured them and found no deviations on a 400 mm straight line on a steel scale. Straight cuts were very accurate before. The problem was elliptical deviations when cutting circles.

OK, I will do another test cut tomorrow and report back.

Thanks, and have a good Friday!

Hanno
  • PCW
  • PCW's Avatar
21 Nov 2025 21:49
Replied by PCW on topic CNC AXIS IN PARKING MODE

CNC AXIS IN PARKING MODE

Category: Advanced Configuration

Isn't there a component that creates the command position = position read by the transducer?

LinuxCNC does this (sets commanded position to actual position) when motion is disabled, but it's global (all joints)
It might require a modification of LinuxCNCs motion component to do this correctly on a joint by joint basis
  • langdons
  • langdons's Avatar
21 Nov 2025 21:45

Updating from LINUXCNC - 2.8.4-23, Mint 20.3 - gmoccapy lathe structure

Category: Gmoccapy

If you happen have an extra spare hard drive/SSD, install your new system to that, so you can always revert to your old install if needed.

Don't count on your HAL and INI files to work on your new system, especially as they don't even work on the old one.
  • langdons
  • langdons's Avatar
21 Nov 2025 21:42 - 22 Nov 2025 00:36
Replied by langdons on topic [SOLVED] Backlash issues on Y-AXIS

[SOLVED] Backlash issues on Y-AXIS

Category: Advanced Configuration

That is NOT the image I'm referring to.
In fact I would be grateful if you would not host any of the images I create. I do not trust the security of you server.
Please remove NOW.

What's your problem?
Why don't you download the file and actually test it instead of randomly assuming my server serves "bad" files.

Consider comparing the hash of the file on my server and the hash of the file on linuxcnc.org before making accusations.

www3.langdonstaab.ca, linuxcnc.langdonstaab.ca, and linuxcnc-home.langdonstaab.ca are all slightly faster than their respective *.linuxcnc.org sites.

What's wrong with me offering identical, faster alternatives to offical LinuxCNC sites?

What image are you referring to?
Displaying 556 - 570 out of 22282 results.
Time to create page: 0.789 seconds
Powered by Kunena Forum