-- old pr_servo_remove_tt -------------------------------------------- 1. Cal Delta Drive: delta_drive[a] = pr_sign * inverse[a][s] * signal[s] 2. Intergrator temp_pr_out[a] = pr_out[a] + (delta_drive[a] * pr_gain) 3. remove tilt. a. Cal TT from DM data: tt_dd[a] = tt_sign * (ttdm_inverse[a][s] * temp_pr_out[s] ) b. Cal pr_out[s] values related only to tiptilt. pr_out_tt[s] = input_imat[s][a] * tt_dd[a] c. Removes tt component from temp_pr_out[a] temp_pr_out[a] = temp_pr_out[a] - (pr_out_tt[a] * pr_gain2) 4. set actuators pout[a] = temp_pr_out[a] --- new pr_servo_remove_tt ------------------------------------------- 1. Cal Delta Drive: delta_drive[a] = pr_sign * inverse[a][s] * signal[s] 2. Intergrator temp_pr_out[a] = pr_out[a] + (delta_drive[a] * pr_gain) 3. remove tilt. a. Cal TT Delta Drive: tt_dd[a] = tt_sign * (ttdm_inverse[a][s] * temp_pr_out[s] ) - save tt_dd[a] for TT_SERVO_DM. if TT_DM is used, don't use pr_out since it has TT information removed. TT_DD[a] = tt_dd[a] b. Cal pr_out[s] values related only to tiptilt. pr_out_tt[s] = input_imat[s][a] * tt_dd[a] c. Removes tt component from temp_pr_out[a] temp_pr_out[a] = temp_pr_out[a] - (pr_out_tt[a] * pr_gain2) 4. set actuators pout[a] = temp_pr_out[a] -- change to tt_servo_dm() ---------------------------------------------------------- pr_servo must be on (PR_SERVO_PR, PR_SERVO_PRTT) if( PR_SERVO_PR ) { tt_delta_drive[a] = tt_sign * ttdm_inverse[a][s] * pr_out[s] } else { //use saved tt_dm[a] from pr_servo_remove_tt() tt_delta_drive[a] = TT_DD[a]. } -- feedback ---------------------------------------------------------- PR_SERVO_PR -> pr_servo() PR_SERVO_PRTT -> pr_servo_remove_tt() TT_SERVO_DM && pr_servo -> tt_servo_dm() TT_SERVO_SA -> tt_servo_sa()