Andy, thank you for the reply!
1. That's great news, I'll look into how to do that. Keeping folders separate should be a workable solution!
2. Yeah, I'd really prefer to stick with Pathpilot too.
3. I don't know how they removed the functionality, but it's not just removed from GUI. With the default INIs, I get the error "Axis b not present on this machine (valid axes are XYZA)" when I try something like an MDI G0 B120. Adding back the 5th axis callouts in the INI files is the first thing I tried and it led to an error that isn't letting me determine if the 5th axis is now working (details below). Honestly, I don't really know what I'm doing... yet.
INI modifications I've tried (in
tormach_mill_base.ini, tormach_440_specific.ini, tormach_440_7i92.ini, tormach_440_7i92_specific.ini, and
tormach_440_sim_specific.ini - though that last one is just for the GUI/preview/simulation I assume):
- I go through and any time the A axis (aka axis_3) is specified, I duplicate and increment the duplicate to B axis/axis_4.
- I duplicate the whole [AXIS_3] section and rename the duplicate [AXIS_4]
- In the [TRAJ] section, I set AXES = 5, and COORDINATES = X Y Z A B.
- In the [HOSTMOT2] section, I increment the num_stepgens from 5 to 6 (though I may eventually have more than 6 depending on my breakout pinout/firmware and HAL definitions).
- In the [MACHINE_CONFIG] section, I add the line B_AXIS_SUPPORT = B_AXIS_6_8_INCH B_AXIS_4_INCH under the line that says the same for the A axis. No idea what this is about, but yeah.. I'd like B axis support!
- I add "#pp_include ../common/5th_axes.inc" under the include for 4th_axes.inc and I duplicate the .inc file, rename to 5th axis and change any references to A/axis_3 to B/axis_4 in it. Though I don't know the syntax, does the # sign mean this is commented out? Or is that just how you do an include in an ini file?
- Weirdly, there are no [JOINT] sections in any INI files.. will I need to add one since the B axis is mounted on the A axis? Or would my 5-axis setup have no joints?
Here's the issue I get when I do all of that - PP starts normally, I reset and try to reference an axis (usually start with X), and the axis moves to home, but the "Reference X" button doesn't go away (and green light indicating it's referenced pops up) after it's homed like normal. Not until I try to reference a second axis (usually Y), then the "Reference X" button goes away, but now the "Reference Y" button doesn't go away, etc. And when I try to reference the second axis, I start getting hundreds of the same error message on the status page, I get several per second until I e-stop the machine. Here's the message:
19:27:52 | Periodic timer caught unexpected exception Traceback (most recent call last): File "/home/operator/v2.12.0/python/ui_common.py", line 2878, in periodic_status self.status_periodic_500ms( File "/home/operator/tmc/python/tormach_mill_ui.py", line 9735, in status_periodic_500ms if self.referencing in_progress and not self.is_any_axis_homing: File "/home/operator/v2.12.0/python/ui_common.py". line 10368, in is_any_axis_homing if self.hal[pinname]: AttributeError: Pin 'axis-4-homing does not exist
So I would assume that's an issue because I haven't defined a pin for
axis-4-homing in the HAL files. I've tried updating the HAL files with the same strategy as the INI files, but when I do that Pathpilot won't start. Possibly because I haven't yet flashed the firmware Mesa wrote for me or connected my 5th axis breakout board / driver / motor yet. But also I can't find
axis-3-homing defined anywhere in the HAL files to duplicate and modify to axis-4-homing, anyone know where it is? I've tried modifying
tormach_mill_mesa.hal, tormach_mill_mesa_440.hal , tormach_mill_sim.hal, and
postgui_tormach_mill.hal though I assume those last two are GUI related, so might not be contributing to this error.
I know I'll need to be more thorough/careful modifying the HAL files, especially to match the pinout of the 7i92 + generic 5-axis breakout board specified in the firmware Mesa wrote for me.. but there are some inconsistencies there that I'm asking them to clarify. Once they clarify I'll be able to get all the pin numbers and stepgen/pwm channel numbers to match across the 7i92 firmware and all of the HAL files. For now I was hoping that I could modify only the INI files and be able to make a
MDI G0 B120 command without getting a
"B axis not present" error (I know nothing would happen if it was working anyway since the HALs are incomplete/incorrect, new firmware isn't loaded, breakout board and 5th axis driver/motor aren't connected, but I was trying to take one thing at a time.. maybe that's not the right strategy here).
So yeah, that's where I'm at, and I'm kind of shooting in the dark at this point, but still have a lot of things to try. If you or anyone has any advice here, knows of any other files I need to modify or duplicate/rename for the additional axis, etc. please let me know.. my understanding of INI and HAL files is pretty poor. I'm working through LinuxCNC's HAL and INI documentation, but I can't find where (for example) some loadrt or addf HAL components and functions are defined (where are axis3-homing and axis3-not-homing defined!? I'm going to start looking in the python files).
I've attached the INI and HAL files (minus the sim specific ones) I've modified if anyone wants to look through them and tell me what dumb mistakes I made. Also a screenshot of the pinout/channel definition defined in the .PIN file in the firmware mesa wrote for my 7i92+breakout board, though keep in mind I'm checking with them if I should keep those pin/channel numbers and update the HAL files to match, or change the new firmware .PIN file to match my HAL pin / channel numbers (and add the additional pin/channel numbers on the P1 header (going to breakout board) where appropriate in the HAL files).
Thanks! Ryan