; Call an IP program to downlink 1 image ; BRANCHEQ R0032 3 &LBIC3 BRANCHEQ R0032 4 &LBIC4 BRANCHEQ R0032 5 &LBIC5 END ; ;================================================= ; lbic 3 (extract standard 1024x1024 filtergram ; from memory 0) ;================================================= ; Address of 1st pixel to be extracted = 252 + 1040 + 8 = 1300 ; LBIC3: SETREGS R3500 2 0 0 SETREGS R3508 8 0:0x00514 7:0x00000 1024 1024 1040 R3500 ; SETREGS R3576 2 0xFFFF 0xFF14 EXTRACT R3508 SETREGS R3570 2 0x100000L GOTO &DOHR END ; ;================================================= ; lbic 4 (extract central 256x256 area from ; memory 0) ;================================================= ; Address of 1st pixel to be extracted ; = Header(252) + Eng_line(1040) + ; skip 384 rows (384 X 1040) + ; BLS(8) + skip 384 columns (384) ; = 401044 (0x61E94) ; LBIC4: SETREGS R3500 2 0 0 SETREGS R3508 8 0:0x61E94 7:0x00000 256 256 1040 R3500 ; SETREGS R3576 2 0xFFFF 0xFF13 EXTRACT R3508 SETREGS R3570 2 0x10000L GOTO &DOHR END ; ; ;================================================= ; lbic 5 (4x4 Sum of a single image in memory 0 ;================================================= ; IP Program to perform 4x4 summing ; Memory Page Usage: ; 0 - Raw Camera Image ; 4 - Extracted 1024x1024 image ; 5 - 1024x256 rowbinned image ; 6 - 256 x 256 lrbinned image ; 8 - Downlink page ; ; LBIC5: SETREGS R3500 2 0 0 ; ; EXTRACT R3516 ; Source Address 0:0x00514 ; Destination Address 4:0x00000 ; X-Length 1024 ; Y-Length 1024 ; Row Length 1040 ; Global Offset Register R3500 ; SETREGS R3516 8 0:0x00514 4:0x00000 1024 1024 1040 R3500 EXTRACT R3516 ; ; ; ROWBIN R3524 ; Source Address 4:0x00000 ; Destination Address 5:0x00000 ; X-Length 1024 ; Y-Length 4 ; Row Length 1024 ; Repeat Count 256 ; Shift Factor 16 ; Scale Factor 1 ; Global Offset Register R3500 ; SETREGS R3524 11 4:0x00000 5:0x00000 1024 4 1024 256 16 1 R3500 ROWBIN R3524 ; ;.................................................... ; LRBIN LIST ; Start Address Low 0 ; Start Address High 0 ; X Length 4 ; Repeat Count 2048 ; Shift Count 14 ; Scale Factor 1 ; ; Start Address Low 8192 ; Start Address High 0 ; X Length 4 ; Repeat Count 2048 ; Shift Count 14 ; Scale Factor 1 ; ; Start Address Low 16384 ; Start Address High 0 ; X Length 4 ; Repeat Count 2048 ; Shift Count 14 ; Scale Factor 1 ; ; Start Address Low 24576 ; Start Address High 0 ; X Length 4 ; Repeat Count 2048 ; Shift Count 14 ; Scale Factor 1 ;.................................................... ; ; Linear Rebin ; ; LRBIN R3508 ; Source Page 5 ; Destination Address 6:0x00000 ; List Pointer 0 ; List Count 4 ; List Address 14:0x00000 ; Global Offset Register R2560 ; ; SETREGS R3500 2 0 0 SETREGS R3502 2 0x8000 0 SETREGS R3508 3 0x2800 6:0x00000 ; RPT: SETREGS R3511 5 0 4 14:0xFFE00 R3500 LRBIN R3508 ADDADR R3500 R3502 R3504 ; New Offset COPYREG R3504 R3500 COPYREG R3505 R3501 BRANCHNE R3510 0x3001 &RPT ; SETREGS R3576 2 0xFFFF 0xFF12 MOVBLK 6:0x00000 7:0x00000 0x10000L SETREGS R3570 2 0x10000L ; ;.................................................... ; DOHR: ; BRANCHIF R3075 &DONE ; AVGTEMPS 0:0x00134 12 SETREGS R3566 2 7:0x00000 ; BRANCHEQ R33 0 &TLM0 ; TLM1: SETREGS R3568 2 12:0x00226 _MOVBLKI R3566 ; SETREGS R3572 3 0:0x00001 0x6000 COPYREG R61 R3575 BRANCHIF R61 &DLRAW1 HRDINIT R3572 START1HR 1 0x6000 R3570 GOTO &DONE DLRAW1: HRDINIT R3572 START1HR 3 0x6000 R3570 GOTO &DONE ; TLM0: SETREGS R3568 2 8:0x00226 _MOVBLKI R3566 ; SETREGS R3572 3 0:0x00001 0x4000 COPYREG R61 R3575 BRANCHIF R61 &DLRAW0 HRDINIT R3572 START1HR 1 0x4000 R3570 GOTO &DONE DLRAW0: HRDINIT R3572 START1HR 3 0x4000 R3570 ; DONE: END ;=============================================================