William, it can be done with H_COL_MID. Adjusting rod lengths is only necessary if you have a situation where the the servo arm is not at 90 degrees to the swash link at hover collective, and it can't be adjusted with the trims without getting too far from 1500 pwm
So when you set H_SV_MAN to 1, move the collective ("throttle") stick to mid position. Now look at the servo horns and links. This is your current trim settings (bold for the cyclic trims)
The servo 1 trim doesn't look too bad. That's pretty close to 1500. But the other two are way off. So what I would do is set the trims to 1500 on all three with the stick in the middle. Look at the angle of the servo arms to the swash links. If they are not at 90 degrees pull the arms off and put them back on the servo shafts so they are (or very close) 90 degrees.
If this can't be achieved it is likely somebody crashed the helicopter in the past and put different length swash links on it that aren't right length.
Now the swash will likely not be level after the above. So adjust the swash links until you get pretty close to level (just eyeball it). Once you get the swash pretty level looking, now just for giggles put your pitch gauge on a blade and see where you're at. You should be somewhere in the range of 5.5-7 degrees. Almost all RC helicopters are set up to have that geometry at hover collective pitch. There's some strange ones like Bergen heli's with mechanical CCPM mixing that it takes a mechanical engineer to figure out how to set up. But I don't think this is one of those
If it is not somewhere in that range of collective pitch with the above geometry I would try to get the right links for it. Anywhere from zero to 7 will probably be ok but it's always possible somebody put the wrong links on it, and that's a good way to check.
Put the heli on a level surface and ensure the mainshaft is vertical. Or if your pitch can be zero'd with it not level, zero the pitch gauge so it indicates actual blade angle.
So now that we have the mechanical geometry about right, put your swash leveling tool or dial indicator on it and level the swash by adjusting the servo trims slightly with H_SV_MAN set to 1 and stick in the middle.
Once the swash is level, now put the pitch gauge on it and set H_COL_MID to get your hover collective pitch, stick in the middle, and H_SV_MAN = 1
Now move the stick to the top and check pitch. It should be 10-12 degrees. If it's not adjust the H_COL_MAX to get 10-12 degrees.
Now move the stick to the bottom and see what you get. Set H_COL_MIN for the desired minimum pitch (usually anywhere from -3 to -10 for a RC heli, depending on your preference).
Now move your collective to get zero pitch, which now should happen somewhere around ~40% stick position (depending on where you set the H_COL_MIN). With the blades fore and aft move the cyclic lever to full right or left roll and note the pitch angle. It should be about 8 degrees.
Rotate the head so the blade are side to side and put in full pitch up or down with the cyclic lever and note the pitch angle. It should be about 8 degrees.
If it is not 8 degrees it can be adjusted with these two params:
Now set H_SV_MAN back to zero and put the flight controller in stabilize flight mode. The PID loop is now active so make sure the heli is level and mainshaft vertical or it will try to compensate for it being tipped.
Move the stick all the way to the bottom. Note the blade pitch angle. Set H_STAB_COL_MIN to get what you would like for minimum collective pitch in Stabilize flight mode. If you like doing autorotations for practice I would recommend no less than -3 degrees, as you can just slam it to the bottom in the first part of the auto and then feather it once you get forward cyclic into it for the glide. But every pilot will like a different minimum.
Now move the stick all the way to the top and set H_STAB_COL_MAX to your desired maximum collective pitch in Stabilize. This will usually be the same as H_COL_MAX, but again different pilots have different preference. Personally, I like to have full collective pitch on tap for any manually flown flight mode like Acro or Stabilize.
Take the heli outside and test hover it and ensure you're hovering at mid-stick on the collective. Note that since you're using H_RSC_MODE 1 you may have to adjust your throttle/pitch curve in the transmitter after changing all the above so the heli runs the head at the right speed. If necessary, tie the heli down solid and run it at the full collective pitch range before flying it to make sure the throttle curve compensates for collective pitch properly. That's one of my favorite methods to tweak the throttle/pitch curve for nice smooth rpm control without a governor.
If the heli does not hover at mid-stick make a further adjustment to H_COL_MID to get it there. You don't have to set H_SV_MAN to 1 to make this adjustment. Just change it a bit, reboot the flight controller and do another test hover to see if the change moved it in the desired direction.
Once you get it to hover at mid-stick, now try Alt Hold again. It should work this time.
William I highlighted the one sentence above about the throttle curve. This is important to get right because if the headspeed is varying, it will also affect how much collective pitch is required to hover. What you want for your throttle curve is that at zero pitch with the heli running the head will be at the desired speed. As you increase collective the load on the motor goes up, and causes headspeed to drop. So the throttle curve has to increase power to maintain headspeed smoothly.
Once you switch to Alt Hold now the throttle will be stationary because the collective lever is not moving in a steady hover. But the flight controller will be moving the collective pitch to maintain the hover. You don't want a wind gust to come along, put the heli into ETL, then suddenly have the heli try to sink when the wind dies out, the flight controller increases collective pitch to compensate, and the headspeed sags. That is bad.