;***************************************************************************************** ; Mega 128 Scope Controller Program ; (c) Martin Cibulski ;**************************************************************************************** ;.db "UMi Alp ",0xAF,0x1A,0x87,0x7D .EQU ATEST1_AZ_STEPS = 63917 .EQU ATEST1_ALT_STEPS = -899 .EQU ATEST1_RECT_INT = 0x1aaf .EQU ATEST1_DECL_INT = 0x7d87 .EQU ATEST1_TIME = 8*128 ;.db "Leo Alp ",0xF0,0x6A,0xD4,0x10 .EQU ATEST2_AZ_STEPS = 5095031 .EQU ATEST2_ALT_STEPS = -1455213 .EQU ATEST2_RECT_INT = 0x6af0 .EQU ATEST2_DECL_INT = 0x10d4 .EQU ATEST2_TIME = 186*128 ;**************************************************************************************** .EQU ALG_POS_NULL = 0 .EQU ALG_POS_NEW = 1 .EQU ALG_POS_VALID = 2 .DSEG alg_search_z3_yn: .byte 1 ;Search Z3 (1=Yes) alg_sz3_errno: .byte 1 ;Search Z3 Error ;first alignment point alg_rectint1: .byte 2 ;int coordinates from database alg_declint1: .byte 2 ; alg_rect1: .byte 8 ;radians alg_decl1: .byte 8 ;radians alg_time1: .byte 4 ;time in IRQs (128 per second) alg_az_steps1: .byte 4 ;steps in az alg_alt_steps1: .byte 4 ;steps in alt alg_az_rad1: .byte 8 alg_alt_rad1: .byte 8 ;second alignment point alg_rectint2: .byte 2 alg_declint2: .byte 2 alg_rect2: .byte 8 alg_decl2: .byte 8 alg_time2: .byte 4 alg_az_steps2: .byte 4 alg_alt_steps2: .byte 4 alg_az_rad2: .byte 8 alg_alt_rad2: .byte 8 ;third point for fine adjustment alg_rectint3: .byte 2 alg_declint3: .byte 2 alg_rect3: .byte 8 alg_decl3: .byte 8 alg_time3: .byte 4 alg_az_steps3: .byte 4 alg_alt_steps3: .byte 4 alg_az_rad3: .byte 8 alg_alt_rad3: .byte 8 alg_newpos1: .byte 1 alg_newpos2: .byte 1 alg_newpos3: .byte 1 alg_completed: .byte 1 alg_mat_mnt: alg_mntvec1x: .byte 8 alg_mntvec1y: .byte 8 alg_mntvec1z: .byte 8 alg_mntvec2x: .byte 8 alg_mntvec2y: .byte 8 alg_mntvec2z: .byte 8 alg_mntvec3x: .byte 8 alg_mntvec3y: .byte 8 alg_mntvec3z: .byte 8 alg_mat_sky: alg_skyvec1x: .byte 8 alg_skyvec1y: .byte 8 alg_skyvec1z: .byte 8 alg_skyvec2x: .byte 8 alg_skyvec2y: .byte 8 alg_skyvec2z: .byte 8 alg_skyvec3x: .byte 8 alg_skyvec3y: .byte 8 alg_skyvec3z: .byte 8 alg_mat_mnt2sky: .byte 9*FLT_SIZE alg_mat_sky2mnt: .byte 9*FLT_SIZE alg_minz3: .byte 8 alg_maxz3: .byte 8 alg_minsep: .byte 8 alg_maxsep: .byte 8 alg_truesep: .byte 8 ;**************************************************************************************** .EQU ALG_ADJ_MAX = 100 .EQU ALG_ADJ_SIZE = (4 + 4 + 4 + 2 + 2 + 8) .DSEG alg_eep_open: .byte 1 alg_ana_errsum: .byte 8 alg_eep_counter: .byte 1 ;**************************************************************************************** .CSEG alg_label_tab: .dw alg_pos1 .db L_CMD ,"APOS1 " .dw alg_pos2 .db L_CMD ,"APOS2 " .dw alg_pos3 .db L_CMD ,"APOS3 " .dw alg_pos .db L_CMD ,"APOS " .dw alg_calc .db L_XCMD ,"ACALC " .dw alg_analysis .db L_XCMD ,"AANA " .dw eep_ana_array .db L_BEEP ,"AEARRAY " .dw alg_eep_open .db L_BRAM ,"AEOPEN " .dw alg_eep_counter .db L_BRAM ,"AECOUNTER " .dw alg_ana_errsum .db L_FRAM ,"AERRSUM " .dw clock .db L_LRAM ,"CLOCK " .dw clock_step .db L_BRAM ,"CLOCKSTEP " .dw alg_rectint1 .db L_WRAM ,"ARECTINT1 " .dw alg_declint1 .db L_WRAM ,"ADECLINT1 " .dw alg_rect1 .db L_FRAM ,"ARECTRAD1 " .dw alg_decl1 .db L_FRAM ,"ADECLRAD1 " .dw alg_time1 .db L_LRAM ,"ATIME1 " .dw alg_az_steps1 .db L_LRAM ,"AAZSTEPS1 " .dw alg_alt_steps1 .db L_LRAM ,"AALTSTEPS1 " .dw alg_az_rad1 .db L_FRAM ,"AAZRAD1 " .dw alg_alt_rad1 .db L_FRAM ,"AALTRAD1 " .dw alg_newpos1 .db L_BRAM ,"AFLAGS1 " .dw alg_rectint2 .db L_WRAM ,"ARECTINT2 " .dw alg_declint2 .db L_WRAM ,"ADECLINT2 " .dw alg_rect2 .db L_FRAM ,"ARECTRAD2 " .dw alg_decl2 .db L_FRAM ,"ADECLRAD2 " .dw alg_time2 .db L_LRAM ,"ATIME2 " .dw alg_az_steps2 .db L_LRAM ,"AAZSTEPS2 " .dw alg_alt_steps2 .db L_LRAM ,"AALTSTEPS2 " .dw alg_az_rad2 .db L_FRAM ,"AAZRAD2 " .dw alg_alt_rad2 .db L_FRAM ,"AALTRAD2 " .dw alg_newpos2 .db L_BRAM ,"AFLAGS2 " .dw alg_search_z3_yn .db L_BRAM ,"ASEARCHZ3 " .dw alg_sz3_errno .db L_BRAM ,"ASZ3ERRNO " .dw alg_mntvec1x .db L_FRAM ,"AMNTVEC1 " .dw alg_mntvec2x .db L_FRAM ,"AMNTVEC2 " .dw alg_mntvec3x .db L_FRAM ,"AMNTVEC3 " .dw alg_skyvec1x .db L_FRAM ,"ASKYVEC1 " .dw alg_skyvec2x .db L_FRAM ,"ASKYVEC2 " .dw alg_skyvec3x .db L_FRAM ,"ASKYVEC3 " .dw alg_minz3 .db L_FRAM ,"AMINZ3 " .dw alg_maxz3 .db L_FRAM ,"AMAXZ3 " .dw alg_minsep .db L_FRAM ,"AMINSEP " .dw alg_maxsep .db L_FRAM ,"AMAXSEP " .dw alg_truesep .db L_FRAM ,"ATRUESEP " .dw 0 .db L_END , 0 ;**************************************************************************************** ; Monitor Command APOS3 ; Set AzSteps, AltSteps, Clock for Alignment Tests ; ; APOS