Roy,
From what I've read in the F/A-18 NATOPS and from what a few Naval Aviators have told me, the FCS system, controls the trim to maintain whatever AOA the pilot has set. He sets this by using the trim hat on the stick. I confirmed this when I flew this past weekend. I used trim as I came in on approach, and every time I pushed or pulled the trim hat, I got a number that briefly flashed on the bottom right of the HUD telling me what AOA I was now telling the aircraft to trim to and maintain. Just as in a normal aircraft with a trim system, the nose would initially move up or down based on what I dialed in, but unlike most aircraft, once the set AOA was reached, the aircraft would re-adjust its pitch to maintain selected AOA, leaving me to use throttle to maintain glideslope on approach. As far as the link, it shouldn't require certain access to it. I will double check.
Roy/tgibson,
I decided to try a different approach today. I decided to lower the elevator effectiveness to 0 and re-code the pitch trim system to use the ELEVATOR (not elevator trim) as the primary control surface to maintain assigned flight conditions. Now the elevator trim value, is only effective an numeric input to be used by the FCS to include in its calculations for the elevator.
Here's how it works now:
During Up & Away flight (Gear Up, Above 250), every 0.1 indicated on the elevator trim indicator now tells the FCS to add and maintain that value, but in terms of G. So, if I dial in 0.1 Nose Up on the trim indicator, the jet will apply fore and aft elevator until it reaches and maintains 1.1 G. If I set -0.1 Nose Down, it will achieve and maintain 0.9 G. It continues do do this as trim is added or subtracted, so if i dial in .5 Nose Up, the FCS will maintain 1.5 G, 1.8 Nose Up, the FCS will maintain 2.8 G.
During Powered Approach flight (Gear Down, Below 250), the value indicated on the Elevator Trim Indicator now becomes the AOA that the FCS strives to maintain. So, I've I use my trim buttons, to dial in 8.1, the elevators will move up/down in order to establish and maintain 8.1 degrees of AOA. If I use my buttons to change the value on the Trim Indicator, the aircraft will re-adjust itself accordingly.
Only problem now, is to figure out how to stop it from oscillating so much. Although the system will maintain the selected G/AoA, this is a noticeable oscillation going on. I am pretty sure this is due to the ELEV_UP & ELEV_DOWN key events which increment the elevators up or down instead of giving the elevators a direct or set value to go to. Just thinking off the top of my head... the needed algorithm need to give an accurate value to the elevators would have to include, aircraft weight, speed, angle of bank, and pitch angle. Not to mention that the elevator effectiveness/speed is not linear in this model. Sounds like a pretty complex algorithm if you ask me.
Anyways, this is what I have coded now:
// --- POWERED APPROACH
(L:TRIM SET, number) 0 >
(A:GEAR CENTER POSITION,Percent) 30 > &&
if{ (A:ELEVATOR TRIM POSITION, degrees) (A:INCIDENCE ALPHA,Degrees) } / (>L:AOA ADJ, number) }
(L:AOA ADJ, number) 1 >
(A:GEAR CENTER POSITION,Percent) 30 > &&
(L:switch_master_arm,number) 1 < &&
(A:INCIDENCE ALPHA,Degrees) 22 < &&
(A:AIRSPEED TRUE,knots) 250 < &&
(A

LANE BANK DEGREES,degrees) -90 > &&
(A

LANE BANK DEGREES,degrees) 90 < &&
(A:SIM ON GROUND, bool) ! &&
(A:AUTOPILOT MASTER, bool) ! &&
if{ (>K:ELEV_UP) } els{ }
(L:AOA ADJ, number) 1 <
(A:GEAR CENTER POSITION,Percent) 30 > &&
(L:switch_master_arm,number) 1 < &&
(A:INCIDENCE ALPHA,Degrees) 22 < &&
(A:AIRSPEED TRUE,knots) 250 < &&
(A

LANE BANK DEGREES,degrees) -90 > &&
(A

LANE BANK DEGREES,degrees) 90 < &&
(A:SIM ON GROUND, bool) ! &&
(A:AUTOPILOT MASTER, bool) ! &&
if{ (>K:ELEV_DOWN) } els{ }
// --- UP AND AWAY
(A:SIM ON GROUND, bool) !
if{ (A:ELEVATOR TRIM POSITION, degrees) 1 } + (>L:TRIM SET, number) }
(L:TRIM SET, number) 0 >
(A:GEAR CENTER POSITION,Percent) 30 < &&
if{ (A:G FORCE,G Force) (L:TRIM SET, number) } / (>L:TRIM ADJ, number) }
(L:TRIM ADJ, number) 1 <
(A:GEAR CENTER POSITION,Percent) 30 < &&
(L:switch_master_arm,number) 1 < &&
(A:INCIDENCE ALPHA,Degrees) 22 < &&
(A:AIRSPEED TRUE,knots) 250 > &&
(A

LANE BANK DEGREES,degrees) -90 > &&
(A

LANE BANK DEGREES,degrees) 90 < &&
(A:SIM ON GROUND, bool) ! &&
(A:AUTOPILOT MASTER, bool) ! &&
if{ (>K:ELEV_UP) } els{ }
(L:TRIM ADJ, number) 1 >
(A:GEAR CENTER POSITION,Percent) 30 < &&
(L:switch_master_arm,number) 1 < &&
(A:INCIDENCE ALPHA,Degrees) 22 < &&
(A:AIRSPEED TRUE,knots) 250 > &&
(A

LANE BANK DEGREES,degrees) -90 > &&
(A

LANE BANK DEGREES,degrees) 90 < &&
(A:SIM ON GROUND, bool) ! &&
(A:AUTOPILOT MASTER, bool) ! &&
if{ (>K:ELEV_DOWN) } els{ }
(A:ROTATION VELOCITY BODY X, feet per second) 0.00 <
(L:TRIM ADJ, number) 0.2 > &&
(L:TRIM ADJ, number) 1.8 < &&
(A:ELEVATOR TRIM POSITION, degrees) 0 ==; &&
(L:switch_master_arm,number) 1 < &&
(A:GEAR CENTER POSITION,Percent) 30 < &&
(A:INCIDENCE ALPHA,Degrees) 22 < &&
(A:AIRSPEED TRUE,knots) 250 > &&
(A:SIM ON GROUND, bool) ! &&
(A:AUTOPILOT MASTER, bool) ! &&
if{ (>K:ELEV_DOWN) } els{ }
(A:ROTATION VELOCITY BODY X, feet per second) 0.00 >
(L:TRIM ADJ, number) 0.2 > &&
(L:TRIM ADJ, number) 1.8 < &&
(A:ELEVATOR TRIM POSITION, degrees) 0 ==; &&
(L:switch_master_arm,number) 1 < &&
(A:GEAR CENTER POSITION,Percent) 30 < &&
(A:INCIDENCE ALPHA,Degrees) 22 < &&
(A:AIRSPEED TRUE,knots) 250 > &&
(A:SIM ON GROUND, bool) ! &&
(A:AUTOPILOT MASTER, bool) ! &&
if{ (>K:ELEV_UP) } els