Re: [Emc-developers] LinuxCNC-aware chat bot
I wonder what would happen if you added the source code. From: andy pugh Sent: Friday, February 2, 2024 6:06:52 PM To: EMC developers Subject: Re: [Emc-developers] LinuxCNC-aware chat bot On Fri, 2 Feb 2024 at 23:43, Steffen Möller via Emc-developers wrote: > GPT 4 after receiving all our documentation: > In HAL (Hardware Abstraction Layer) configuration for LinuxCNC, traditional > programming constructs like loops (for, while) are not directly supported in > the HAL configuration language itself. ... > In summary, while HAL itself does not support loops in the way a conventional > programming language does, you can achieve similar outcomes through the > methods mentioned above. This design choice keeps HAL configurations > straightforward and focused on hardware-software interfacing, with more > complex logic handled by custom components or external scripts. That's really quite impressive. -- atp "A motorcycle is a bicycle with a pandemonium attachment and is designed for the especial use of mechanical geniuses, daredevils and lunatics." — George Fitch, Atlanta Constitution Newspaper, 1912 ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] Repositories for buildbot on bullseye
This issue is well known and was introduced to the Debian kernel with Bullseye (Kernel 5.10). It is caused by excessive kernel network latency and is nothing to do with 2.9.2 Building a kernel from pristine kernel.org sources mostly solves it. It has been slowly improving with successive versions of the kernel so I am surprised that Bookworm made it worse. We need more info to help much. CPU, number of cores, NIC manufacturers and model. Older 2 core PCs may not cut it today. If it's an Intel nic, be sure to add the coalescing settings as advised in man hm2_eth My guess is that you probably have realtek NIC's that get the wrong driver (R8169) installed. If this is the case, you need to install a dkms driver. (r8168-dkms or r8125-dkms) I have a document in Google drive that outlines the way forward (under the heading optional steps) https://docs.google.com/document/d/1jeV_4VKzVmOIzbB-ytcgsW2I_PhCm1x7oiw8VcLFdiY/edit?usp=sharing This has solved the issue for hundreds of users. One or 2 of them were using a 2 core PC but I have never had anything less than 4 cores So in summary, I would 1. Install the Linux 2.9.2 ISO 2. Pick up on step 36 of my Document and install my 6.3 kernel. There is an instructions document if you wish to try your hand at building a later version (say 6.6) 3. Install the correct Realtek DKMS driver 4. Enjoy using linuxcnc! Rod Webster *1300 896 832* +61 435 765 611 Vehicle Modifications Network www.vehiclemods.net.au On Sat, 3 Feb 2024 at 00:14, Peter Wallace wrote: > On Fri, 2 Feb 2024, Marius wrote: > > > Date: Fri, 2 Feb 2024 10:32:54 +0200 > > From: Marius > > Reply-To: EMC developers > > To: Alec Ari via Emc-developers > > Subject: Re: [Emc-developers] Repositories for buildbot on bullseye > > > > More information regarding this issue > > > > This is the max timings at startup of linuxcnc running Gmoccapy > > > > Parameters: > > Owner Type Dir Value Name > > 56 s32 RW 32713 comp.0.tmax > > 56 s32 RW 21741 comp.1.tmax > > 56 s32 RW 21649 comp.2.tmax > > 56 s32 RW 15801 comp.3.tmax > > 56 s32 RW 6484 comp.4.tmax > > 36 s32 RW 0 hm2_7i96s.0.read-request.tmax > > 36 s32 RW 937642 hm2_7i96s.0.read.tmax > > 36 s32 RW 79396 hm2_7i96s.0.write.tmax > > 29 s32 RW 35491 motion-command-handler.tmax > > 29 s32 RW 80781 motion-controller.tmax > > 39 s32 RW 22747 pid.b.do-pid-calcs.tmax > > 39 s32 RW 32665 pid.c.do-pid-calcs.tmax > > 39 s32 RW 36771 pid.s.do-pid-calcs.tmax > > 39 s32 RW 35744 pid.x.do-pid-calcs.tmax > > 39 s32 RW 32242 pid.y.do-pid-calcs.tmax > > 39 s32 RW 45865 pid.z.do-pid-calcs.tmax > > 30 s32 RW1022059 servo-thread.tmax > > > > Then this is the max timings right after the crash > > > > Parameters: > > Owner Type Dir Value Name > > 56 s32 RW 93620 comp.0.tmax > > 56 s32 RW 21866 comp.1.tmax > > 56 s32 RW 30257 comp.2.tmax > > 56 s32 RW 21831 comp.3.tmax > > 56 s32 RW 22149 comp.4.tmax > > 36 s32 RW 0 hm2_7i96s.0.read-request.tmax > > 36 s32 RW 941321 hm2_7i96s.0.read.tmax > > 36 s32 RW 163732 hm2_7i96s.0.write.tmax > > 29 s32 RW 52368 motion-command-handler.tmax > > 29 s32 RW 152143 motion-controller.tmax > > 39 s32 RW 45604 pid.b.do-pid-calcs.tmax > > 39 s32 RW 46064 pid.c.do-pid-calcs.tmax > > 39 s32 RW 93254 pid.s.do-pid-calcs.tmax > > 39 s32 RW 37166 pid.x.do-pid-calcs.tmax > > 39 s32 RW 48941 pid.y.do-pid-calcs.tmax > > 39 s32 RW 45865 pid.z.do-pid-calcs.tmax > > 30 s32 RW1031395 servo-thread.tmax > > > > > > Take note of the motion controller and the hm2_7i96s.0.read.tmax threads. > > > > > What is the CPU clock speed? > > Peter Wallace > Mesa Electronics > > > ___ > Emc-developers mailing list > Emc-developers@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/emc-developers > ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] LinuxCNC-aware chat bot
On Fri, 2 Feb 2024 at 23:43, Steffen Möller via Emc-developers wrote: > GPT 4 after receiving all our documentation: > In HAL (Hardware Abstraction Layer) configuration for LinuxCNC, traditional > programming constructs like loops (for, while) are not directly supported in > the HAL configuration language itself. ... > In summary, while HAL itself does not support loops in the way a conventional > programming language does, you can achieve similar outcomes through the > methods mentioned above. This design choice keeps HAL configurations > straightforward and focused on hardware-software interfacing, with more > complex logic handled by custom components or external scripts. That's really quite impressive. -- atp "A motorcycle is a bicycle with a pandemonium attachment and is designed for the especial use of mechanical geniuses, daredevils and lunatics." — George Fitch, Atlanta Constitution Newspaper, 1912 ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
[Emc-developers] LinuxCNC-aware chat bot
Hello, I created a GPT as an extension of chatGPT 4 that users of chatGPT 4 (it still costs a bit) can give a try at https://chat.openai.com/g/g-vfeQnX43z-linuxcnc-assistant If you know of documents that I should add - please tell me. So far I only added HTML-translated pages of our documentation. I am not ultimately sure why I did this. I think I wanted to have someone "local" to help me get my mill running. And questions that cannot be answered by that GPT may be a motivation to extend our documentation for. The extra documentation seems to make a small difference, though version 4 is impressive alone already. For instance, G-code is no longer listed as a means to configure LinuxCNC. I think this is correct. Feel free to send me questions to that chat bot you want me to ask if you do not have direct access to it. Once we have something like this implemented on a Free Software, should we have some bot like this on IRC/our home page? Best, Steffen Me: How is the language called that is used to configure LinuxCNC? GPT 3.5: The language used to configure LinuxCNC is called "G-code." G-code is a standardized language used in the CNC (Computer Numerical Control) industry to control machine tools and 3D printers. It consists of a series of alphanumeric codes that define the toolpath, feed rates, and other parameters for the machine. This information is based on general knowledge about CNC and LinuxCNC as of my last training data update in January 2022. GPT 4 out of the box: The language used to configure LinuxCNC, which is an open-source system for controlling machine tools, is primarily INI (Initialization) file format for configuration settings, along with a combination of G-code for operational commands and Python for scripting and customization. 1. **INI Files**: LinuxCNC uses INI files to configure the software for a specific machine. These files contain settings for hardware, motion control parameters, and interface options. The format is straightforward, allowing users to specify parameters in a key-value format within sections. 2. **HAL (Hardware Abstraction Layer) Configuration**: LinuxCNC also uses a specific system for connecting the software components to the hardware called the Hardware Abstraction Layer (HAL). Configuration of HAL is done through HAL files, which are written in a custom syntax specific to LinuxCNC. These files define how hardware and software components are interconnected. 3. **G-code**: For operational commands, such as moving the machine or executing a cutting operation, LinuxCNC uses G-code. G-code is a language used by machine tools to control CNC operations. It consists of commands that instruct the machine on movements and actions to perform. 4. **Python**: For scripting, automation, and more complex customization, LinuxCNC supports the use of Python scripts. Python can be used to create custom user interfaces, automate tasks, or extend the functionality of LinuxCNC beyond what is possible with G-code and INI configuration alone. These components together allow for a highly customizable and powerful system for CNC machine control, catering to a wide range of applications and machine types. GPT 4 with training on our documentation: The language used to configure LinuxCNC is not a single language but rather a combination of configuration files, HAL (Hardware Abstraction Layer) scripts, and sometimes Python scripts for more complex behaviors or customizations. Here's a breakdown of each: INI Files: Configuration for LinuxCNC is primarily done through INI files (.ini). These are plain text files that set parameters for the LinuxCNC software, including machine geometry, kinematics, hardware settings, and file paths. INI files are structured with sections, keys, and values, providing a straightforward way to configure the various aspects of a CNC system. HAL Files: The Hardware Abstraction Layer (HAL) configuration files (.hal) are used to connect the LinuxCNC software to the physical hardware. HAL files describe how software components are connected to each other and to the hardware interfaces. This allows for a flexible setup where users can define how signals are routed within the system, map inputs and outputs, and configure hardware drivers. HAL uses its own syntax to define these connections and configurations. Python Scripts: For advanced customization, Python scripts can be used to extend the functionality of LinuxCNC. Python allows for the creation of custom GUI elements, complex logic operations, and integration with external systems. This is more advanced than INI and HAL configurations and requires programming knowledge. Together, these components allow for highly customizable and flexible setups to suit a wide range of CNC machines and applications. Me: Is it possible to define loops in HAL? GPT 3.5: Yes, it is possible to define loops in HAL (Hardware Abstraction Layer) for LinuxCNC. HAL
Re: [Emc-developers] Repositories for buildbot on bullseye
On Fri, 2 Feb 2024, Marius wrote: Date: Fri, 2 Feb 2024 10:32:54 +0200 From: Marius Reply-To: EMC developers To: Alec Ari via Emc-developers Subject: Re: [Emc-developers] Repositories for buildbot on bullseye More information regarding this issue This is the max timings at startup of linuxcnc running Gmoccapy Parameters: Owner Type Dir Value Name 56 s32 RW 32713 comp.0.tmax 56 s32 RW 21741 comp.1.tmax 56 s32 RW 21649 comp.2.tmax 56 s32 RW 15801 comp.3.tmax 56 s32 RW 6484 comp.4.tmax 36 s32 RW 0 hm2_7i96s.0.read-request.tmax 36 s32 RW 937642 hm2_7i96s.0.read.tmax 36 s32 RW 79396 hm2_7i96s.0.write.tmax 29 s32 RW 35491 motion-command-handler.tmax 29 s32 RW 80781 motion-controller.tmax 39 s32 RW 22747 pid.b.do-pid-calcs.tmax 39 s32 RW 32665 pid.c.do-pid-calcs.tmax 39 s32 RW 36771 pid.s.do-pid-calcs.tmax 39 s32 RW 35744 pid.x.do-pid-calcs.tmax 39 s32 RW 32242 pid.y.do-pid-calcs.tmax 39 s32 RW 45865 pid.z.do-pid-calcs.tmax 30 s32 RW1022059 servo-thread.tmax Then this is the max timings right after the crash Parameters: Owner Type Dir Value Name 56 s32 RW 93620 comp.0.tmax 56 s32 RW 21866 comp.1.tmax 56 s32 RW 30257 comp.2.tmax 56 s32 RW 21831 comp.3.tmax 56 s32 RW 22149 comp.4.tmax 36 s32 RW 0 hm2_7i96s.0.read-request.tmax 36 s32 RW 941321 hm2_7i96s.0.read.tmax 36 s32 RW 163732 hm2_7i96s.0.write.tmax 29 s32 RW 52368 motion-command-handler.tmax 29 s32 RW 152143 motion-controller.tmax 39 s32 RW 45604 pid.b.do-pid-calcs.tmax 39 s32 RW 46064 pid.c.do-pid-calcs.tmax 39 s32 RW 93254 pid.s.do-pid-calcs.tmax 39 s32 RW 37166 pid.x.do-pid-calcs.tmax 39 s32 RW 48941 pid.y.do-pid-calcs.tmax 39 s32 RW 45865 pid.z.do-pid-calcs.tmax 30 s32 RW1031395 servo-thread.tmax Take note of the motion controller and the hm2_7i96s.0.read.tmax threads. What is the CPU clock speed? Peter Wallace Mesa Electronics ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] Repositories for buildbot on bullseye
On Fri, 2 Feb 2024 at 07:25, Marius wrote: > I need to get master installed to try and get the machines running > again. There seems to be no repository for Bullseye master. How do I go > about getting that please. Try Sebs experimental buildbot: http://buildbot2.highlab.com/ -- atp "A motorcycle is a bicycle with a pandemonium attachment and is designed for the especial use of mechanical geniuses, daredevils and lunatics." — George Fitch, Atlanta Constitution Newspaper, 1912 ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] Repositories for buildbot on bullseye
More information regarding this issue This is the max timings at startup of linuxcnc running Gmoccapy Parameters: Owner Type Dir Value Name 56 s32 RW 32713 comp.0.tmax 56 s32 RW 21741 comp.1.tmax 56 s32 RW 21649 comp.2.tmax 56 s32 RW 15801 comp.3.tmax 56 s32 RW 6484 comp.4.tmax 36 s32 RW 0 hm2_7i96s.0.read-request.tmax 36 s32 RW 937642 hm2_7i96s.0.read.tmax 36 s32 RW 79396 hm2_7i96s.0.write.tmax 29 s32 RW 35491 motion-command-handler.tmax 29 s32 RW 80781 motion-controller.tmax 39 s32 RW 22747 pid.b.do-pid-calcs.tmax 39 s32 RW 32665 pid.c.do-pid-calcs.tmax 39 s32 RW 36771 pid.s.do-pid-calcs.tmax 39 s32 RW 35744 pid.x.do-pid-calcs.tmax 39 s32 RW 32242 pid.y.do-pid-calcs.tmax 39 s32 RW 45865 pid.z.do-pid-calcs.tmax 30 s32 RW 1022059 servo-thread.tmax Then this is the max timings right after the crash Parameters: Owner Type Dir Value Name 56 s32 RW 93620 comp.0.tmax 56 s32 RW 21866 comp.1.tmax 56 s32 RW 30257 comp.2.tmax 56 s32 RW 21831 comp.3.tmax 56 s32 RW 22149 comp.4.tmax 36 s32 RW 0 hm2_7i96s.0.read-request.tmax 36 s32 RW 941321 hm2_7i96s.0.read.tmax 36 s32 RW 163732 hm2_7i96s.0.write.tmax 29 s32 RW 52368 motion-command-handler.tmax 29 s32 RW 152143 motion-controller.tmax 39 s32 RW 45604 pid.b.do-pid-calcs.tmax 39 s32 RW 46064 pid.c.do-pid-calcs.tmax 39 s32 RW 93254 pid.s.do-pid-calcs.tmax 39 s32 RW 37166 pid.x.do-pid-calcs.tmax 39 s32 RW 48941 pid.y.do-pid-calcs.tmax 39 s32 RW 45865 pid.z.do-pid-calcs.tmax 30 s32 RW 1031395 servo-thread.tmax Take note of the motion controller and the hm2_7i96s.0.read.tmax threads. On 2024/02/02 09:21, Marius wrote: Hi I have three machines that are running on Bullseye with 7i96S cards. We did an upgrade to 2.9.2 and now the mesa communication is unstable to the extend that the machines are unusable. Looking at the timing shows that motion has very long delays (like getting stuck) that causes the ethernet to loose packets and goes into fault mode. I need to get master installed to try and get the machines running again. There seems to be no repository for Bullseye master. How do I go about getting that please. P.S. I DON"T want to upgrade to Bookworm either as we have one computer that this error is so bad that we cannot connect to the mesa cards at all. This one we installed from the Bookwork 2.9.2 ISO. Marius ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers