Greetings all; I've managed to get a prempt-rt kernel built and installed on an rpi4. Then I just installed a locally made on that pi, linuxcnc.
There was no reported error result from a line in my hal: loadusr units But much later when the postgui.hal was ran, where I have this line: #net display-mode <= units.prog_mm => pyvcp.x-in-mm pyvcp.z-in-mm currently commented because no pins from units are to be found by any of the hal show facilities. So, thinking its a dependency I missed, I had apt install units. But its obviously the wrong units, as witnessed by the startup log to the terminal: pi@rpi4:~/linuxcnc/configs/sheldon-lathe $ LINUXCNC - 2.8.0~pre1 Machine configuration directory is '/home/pi/linuxcnc/configs/sheldon-lathe' Machine configuration file is '7i90-axis.ini' Starting LinuxCNC... Found file(REL): ./hm2-7i90-stepper.hal Note: Using POSIX realtime hm2: loading Mesa HostMot2 driver version 0.15 hm2/hm2_7i90.0: 72 I/O Pins used: hm2/hm2_7i90.0: IO Pin 000 (P1-01): StepGen #0, pin Step (Output) hm2/hm2_7i90.0: IO Pin 001 (P1-03): StepGen #0, pin Direction (Output) hm2/hm2_7i90.0: IO Pin 002 (P1-05): StepGen #1, pin Step (Output) hm2/hm2_7i90.0: IO Pin 003 (P1-07): StepGen #1, pin Direction (Output) hm2/hm2_7i90.0: IO Pin 004 (P1-09): Encoder #0, pin A (Input) hm2/hm2_7i90.0: IO Pin 005 (P1-11): Encoder #2, pin A (Input) hm2/hm2_7i90.0: IO Pin 006 (P1-13): Encoder #0, pin B (Input) hm2/hm2_7i90.0: IO Pin 007 (P1-15): Encoder #2, pin B (Input) hm2/hm2_7i90.0: IO Pin 008 (P1-17): Encoder #0, pin Index (Input) hm2/hm2_7i90.0: IO Pin 009 (P1-19): Encoder #2, pin Index (Input) hm2/hm2_7i90.0: IO Pin 010 (P1-21): Encoder #1, pin A (Input) hm2/hm2_7i90.0: IO Pin 011 (P1-23): Encoder #3, pin A (Input) hm2/hm2_7i90.0: IO Pin 012 (P1-25): Encoder #1, pin B (Input) hm2/hm2_7i90.0: IO Pin 013 (P1-27): Encoder #3, pin B (Input) hm2/hm2_7i90.0: IO Pin 014 (P1-29): Encoder #1, pin Index (Input) hm2/hm2_7i90.0: IO Pin 015 (P1-31): Encoder #3, pin Index (Input) hm2/hm2_7i90.0: IO Pin 016 (P1-33): StepGen #2, pin Step (Output) hm2/hm2_7i90.0: IO Pin 017 (P1-35): StepGen #2, pin Direction (Output) hm2/hm2_7i90.0: IO Pin 018 (P1-37): StepGen #3, pin Step (Output) hm2/hm2_7i90.0: IO Pin 019 (P1-39): StepGen #3, pin Direction (Output) hm2/hm2_7i90.0: IO Pin 020 (P1-41): PWMGen #0, pin Out0 (PWM or Up) (Output) hm2/hm2_7i90.0: IO Pin 021 (P1-43): PWMGen #0, pin Out1 (Dir or Down) (Output) hm2/hm2_7i90.0: IO Pin 022 (P1-45): IOPort hm2/hm2_7i90.0: IO Pin 023 (P1-47): IOPort hm2/hm2_7i90.0: IO Pin 024 (P2-01): IOPort hm2/hm2_7i90.0: IO Pin 025 (P2-03): IOPort hm2/hm2_7i90.0: IO Pin 026 (P2-05): IOPort hm2/hm2_7i90.0: IO Pin 027 (P2-07): IOPort hm2/hm2_7i90.0: IO Pin 028 (P2-09): IOPort hm2/hm2_7i90.0: IO Pin 029 (P2-11): IOPort hm2/hm2_7i90.0: IO Pin 030 (P2-13): IOPort hm2/hm2_7i90.0: IO Pin 031 (P2-15): IOPort hm2/hm2_7i90.0: IO Pin 032 (P2-17): IOPort hm2/hm2_7i90.0: IO Pin 033 (P2-19): IOPort hm2/hm2_7i90.0: IO Pin 034 (P2-21): IOPort hm2/hm2_7i90.0: IO Pin 035 (P2-23): IOPort hm2/hm2_7i90.0: IO Pin 036 (P2-25): IOPort hm2/hm2_7i90.0: IO Pin 037 (P2-27): IOPort hm2/hm2_7i90.0: IO Pin 038 (P2-29): IOPort hm2/hm2_7i90.0: IO Pin 039 (P2-31): IOPort hm2/hm2_7i90.0: IO Pin 040 (P2-33): IOPort hm2/hm2_7i90.0: IO Pin 041 (P2-35): IOPort hm2/hm2_7i90.0: IO Pin 042 (P2-37): IOPort hm2/hm2_7i90.0: IO Pin 043 (P2-39): IOPort hm2/hm2_7i90.0: IO Pin 044 (P2-41): IOPort hm2/hm2_7i90.0: IO Pin 045 (P2-43): IOPort hm2/hm2_7i90.0: IO Pin 046 (P2-45): IOPort hm2/hm2_7i90.0: IO Pin 047 (P2-47): IOPort hm2/hm2_7i90.0: IO Pin 048 (P3-01): IOPort hm2/hm2_7i90.0: IO Pin 049 (P3-03): IOPort hm2/hm2_7i90.0: IO Pin 050 (P3-05): IOPort hm2/hm2_7i90.0: IO Pin 051 (P3-07): IOPort hm2/hm2_7i90.0: IO Pin 052 (P3-09): IOPort hm2/hm2_7i90.0: IO Pin 053 (P3-11): IOPort hm2/hm2_7i90.0: IO Pin 054 (P3-13): IOPort hm2/hm2_7i90.0: IO Pin 055 (P3-15): IOPort hm2/hm2_7i90.0: IO Pin 056 (P3-17): IOPort hm2/hm2_7i90.0: IO Pin 057 (P3-19): IOPort hm2/hm2_7i90.0: IO Pin 058 (P3-21): IOPort hm2/hm2_7i90.0: IO Pin 059 (P3-23): IOPort hm2/hm2_7i90.0: IO Pin 060 (P3-25): IOPort hm2/hm2_7i90.0: IO Pin 061 (P3-27): IOPort hm2/hm2_7i90.0: IO Pin 062 (P3-29): IOPort hm2/hm2_7i90.0: IO Pin 063 (P3-31): IOPort hm2/hm2_7i90.0: IO Pin 064 (P3-33): IOPort hm2/hm2_7i90.0: IO Pin 065 (P3-35): IOPort hm2/hm2_7i90.0: IO Pin 066 (P3-37): IOPort hm2/hm2_7i90.0: IO Pin 067 (P3-39): IOPort hm2/hm2_7i90.0: IO Pin 068 (P3-41): IOPort hm2/hm2_7i90.0: IO Pin 069 (P3-43): IOPort hm2/hm2_7i90.0: IO Pin 070 (P3-45): IOPort hm2/hm2_7i90.0: IO Pin 071 (P3-47): IOPort hm2/hm2_7i90.0: registered Currency exchange rates from FloatRates (USD base) on 2018-10-20 3070 units, 109 prefixes, 109 nonlinear units You have: note: MAXV max: 1.250 units/sec 75.000 units/min note: LJOG max: 1.250 units/sec 75.000 units/min note: LJOG default: 0.500 units/sec 30.000 units/min note: jog_order='ZX' note: jog_invert=set(['X']) Shutting down and cleaning up LinuxCNC... task: 9579 cycles, min=0.000070, max=0.042214, avg=0.010136, 0 latency excursions (> 10x expected cycle time of 0.010000s) hm2: unloading Note: Using POSIX realtime Where this: Currency exchange rates from FloatRates (USD base) on 2018-10-20 3070 units, 109 prefixes, 109 nonlinear units You have: is from the units program. So obviously I need to "apt purge units" Which has been done. But now where do I find this "units" module. It is not part of the linuxcnc-dev build from a git clone of linuxcnc. This linuxcnc config has been running for around 2 years, but now: pi@rpi4:~/linuxcnc/configs/sheldon-lathe $ linuxcnc -l LINUXCNC - 2.8.0~pre1 Machine configuration directory is '/home/pi/linuxcnc/configs/sheldon-lathe' Machine configuration file is '7i90-axis.ini' Starting LinuxCNC... Found file(REL): ./hm2-7i90-stepper.hal Note: Using POSIX realtime hm2: loading Mesa HostMot2 driver version 0.15 hm2/hm2_7i90.0: 72 I/O Pins used: hm2/hm2_7i90.0: IO Pin 000 (P1-01): StepGen #0, pin Step (Output) hm2/hm2_7i90.0: IO Pin 001 (P1-03): StepGen #0, pin Direction (Output) hm2/hm2_7i90.0: IO Pin 002 (P1-05): StepGen #1, pin Step (Output) hm2/hm2_7i90.0: IO Pin 003 (P1-07): StepGen #1, pin Direction (Output) hm2/hm2_7i90.0: IO Pin 004 (P1-09): Encoder #0, pin A (Input) hm2/hm2_7i90.0: IO Pin 005 (P1-11): Encoder #2, pin A (Input) hm2/hm2_7i90.0: IO Pin 006 (P1-13): Encoder #0, pin B (Input) hm2/hm2_7i90.0: IO Pin 007 (P1-15): Encoder #2, pin B (Input) hm2/hm2_7i90.0: IO Pin 008 (P1-17): Encoder #0, pin Index (Input) hm2/hm2_7i90.0: IO Pin 009 (P1-19): Encoder #2, pin Index (Input) hm2/hm2_7i90.0: IO Pin 010 (P1-21): Encoder #1, pin A (Input) hm2/hm2_7i90.0: IO Pin 011 (P1-23): Encoder #3, pin A (Input) hm2/hm2_7i90.0: IO Pin 012 (P1-25): Encoder #1, pin B (Input) hm2/hm2_7i90.0: IO Pin 013 (P1-27): Encoder #3, pin B (Input) hm2/hm2_7i90.0: IO Pin 014 (P1-29): Encoder #1, pin Index (Input) hm2/hm2_7i90.0: IO Pin 015 (P1-31): Encoder #3, pin Index (Input) hm2/hm2_7i90.0: IO Pin 016 (P1-33): StepGen #2, pin Step (Output) hm2/hm2_7i90.0: IO Pin 017 (P1-35): StepGen #2, pin Direction (Output) hm2/hm2_7i90.0: IO Pin 018 (P1-37): StepGen #3, pin Step (Output) hm2/hm2_7i90.0: IO Pin 019 (P1-39): StepGen #3, pin Direction (Output) hm2/hm2_7i90.0: IO Pin 020 (P1-41): PWMGen #0, pin Out0 (PWM or Up) (Output) hm2/hm2_7i90.0: IO Pin 021 (P1-43): PWMGen #0, pin Out1 (Dir or Down) (Output) hm2/hm2_7i90.0: IO Pin 022 (P1-45): IOPort hm2/hm2_7i90.0: IO Pin 023 (P1-47): IOPort hm2/hm2_7i90.0: IO Pin 024 (P2-01): IOPort hm2/hm2_7i90.0: IO Pin 025 (P2-03): IOPort hm2/hm2_7i90.0: IO Pin 026 (P2-05): IOPort hm2/hm2_7i90.0: IO Pin 027 (P2-07): IOPort hm2/hm2_7i90.0: IO Pin 028 (P2-09): IOPort hm2/hm2_7i90.0: IO Pin 029 (P2-11): IOPort hm2/hm2_7i90.0: IO Pin 030 (P2-13): IOPort hm2/hm2_7i90.0: IO Pin 031 (P2-15): IOPort hm2/hm2_7i90.0: IO Pin 032 (P2-17): IOPort hm2/hm2_7i90.0: IO Pin 033 (P2-19): IOPort hm2/hm2_7i90.0: IO Pin 034 (P2-21): IOPort hm2/hm2_7i90.0: IO Pin 035 (P2-23): IOPort hm2/hm2_7i90.0: IO Pin 036 (P2-25): IOPort hm2/hm2_7i90.0: IO Pin 037 (P2-27): IOPort hm2/hm2_7i90.0: IO Pin 038 (P2-29): IOPort hm2/hm2_7i90.0: IO Pin 039 (P2-31): IOPort hm2/hm2_7i90.0: IO Pin 040 (P2-33): IOPort hm2/hm2_7i90.0: IO Pin 041 (P2-35): IOPort hm2/hm2_7i90.0: IO Pin 042 (P2-37): IOPort hm2/hm2_7i90.0: IO Pin 043 (P2-39): IOPort hm2/hm2_7i90.0: IO Pin 044 (P2-41): IOPort hm2/hm2_7i90.0: IO Pin 045 (P2-43): IOPort hm2/hm2_7i90.0: IO Pin 046 (P2-45): IOPort hm2/hm2_7i90.0: IO Pin 047 (P2-47): IOPort hm2/hm2_7i90.0: IO Pin 048 (P3-01): IOPort hm2/hm2_7i90.0: IO Pin 049 (P3-03): IOPort hm2/hm2_7i90.0: IO Pin 050 (P3-05): IOPort hm2/hm2_7i90.0: IO Pin 051 (P3-07): IOPort hm2/hm2_7i90.0: IO Pin 052 (P3-09): IOPort hm2/hm2_7i90.0: IO Pin 053 (P3-11): IOPort hm2/hm2_7i90.0: IO Pin 054 (P3-13): IOPort hm2/hm2_7i90.0: IO Pin 055 (P3-15): IOPort hm2/hm2_7i90.0: IO Pin 056 (P3-17): IOPort hm2/hm2_7i90.0: IO Pin 057 (P3-19): IOPort hm2/hm2_7i90.0: IO Pin 058 (P3-21): IOPort hm2/hm2_7i90.0: IO Pin 059 (P3-23): IOPort hm2/hm2_7i90.0: IO Pin 060 (P3-25): IOPort hm2/hm2_7i90.0: IO Pin 061 (P3-27): IOPort hm2/hm2_7i90.0: IO Pin 062 (P3-29): IOPort hm2/hm2_7i90.0: IO Pin 063 (P3-31): IOPort hm2/hm2_7i90.0: IO Pin 064 (P3-33): IOPort hm2/hm2_7i90.0: IO Pin 065 (P3-35): IOPort hm2/hm2_7i90.0: IO Pin 066 (P3-37): IOPort hm2/hm2_7i90.0: IO Pin 067 (P3-39): IOPort hm2/hm2_7i90.0: IO Pin 068 (P3-41): IOPort hm2/hm2_7i90.0: IO Pin 069 (P3-43): IOPort hm2/hm2_7i90.0: IO Pin 070 (P3-45): IOPort hm2/hm2_7i90.0: IO Pin 071 (P3-47): IOPort hm2/hm2_7i90.0: registered ./hm2-7i90-stepper.hal:61: execv(units): No such file or directory HAL: ERROR: thread 'jo' not found ./hm2-7i90-stepper.hal:107: addf failed Shutting down and cleaning up LinuxCNC... The addf failure in line 107 has to be hal getting confused by the missings units function. line 26:loadrt threads name1=jog-thread period1=10000000 fp1=1 line 54:loadrt not names=notjogx,notjogz line 107:addf notjogx jog-thread #j10x and is about the 15th module to inhabit the slow jog-thread in the primary .hal file. So I'm plumb bumfuzzled. This exact config has been running on a pi3 for 2 years. Up thru stretch. Thanks for any clues as to where "units" went. And obviously where I can find the correct module again. In the grand scheme of gui's, its used to do an automatic conversion of a value so the gui's gingerbread is showing data in metric format when the machine is in metric mode. Part of my display shows the spindles turn-around overshoot, valuable for a rigid move, saves me broken taps as it prevents me from hitting the bottom of the hole and breaking the tap if I subtract the overshoot distance from the z motion. This overshoot, at 300 revs, is about 3 turns worth of screeching tires noise from the drive belts as it does this turn-around to an 8" 4 jaw, or was on the OEM V belts, it now has the red Fenner linkbelts installed, which it seems have far more traction. Its a programmed turn around, doing a quick ramp to zero speed via suicide braking in the vfd until stopped, stop detected by a one-shot watching an encoder leg, then the opposing direction is applied thru a limit3 that profiles the speed applied to the vfd, which I may need to slow down some more. It was a work-in-progress when I tore it down to replace one of the drives shafts, and its bearings which someone had either metal sprayed, or mogliced to fix a badly worn shaft back in the fog of years before it followed me home in a u-haul cargo van. All that came loose and tore up the bearings. Putting a woodruff key slot in a new rockwell 61 shaft was quite a weeks project all by itself. All interrupted by my heart attack, which I'm now scheduled to get a valve replacement put in on 5 Nov. 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) If we desire respect for the law, we must first make the law respectable. - Louis D. Brandeis Genes Web page <http://geneslinuxbox.net:6309/gene> _______________________________________________ Emc-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-users
