NewtonHingeGetJointOmega should do some work similar as my code - i've learned all that stuff from joint lib code.
Now that you can set target angvel, you simply need to calculate the angvel to reach a target orientation (angle) at target time.
Very simple example:
currentAngle = 0.5 radians
targetAngle = 2.0
turnAngle = targetAngle - currentAngle
if (turnAngle > 0.01) turnAngle = 0.01; // set some max turning speed for turret
tAV = vector (0, turnAngle, 0);
See if you can get something running with that and then try to integrate the timestep in the equation,
so it runs same speed no matter what timestep you fanally choose.
You know how to calculate the angles, yes?
Next problem you may get is overspin: Turret reaches target orientation at the next timestep,
but it has velocity to do the same motion again -> oszillation.
To avoid that you need to slow down if turnAngle is small.
Then you could use two hinges for vertical motion too.
Somewhere in the forum i posted code to calculate necessary force for a projectile to hit a target.
So you could throw a rock - looks cool, if that fits to your game
