-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSatTrackingSingle.ic10
88 lines (87 loc) · 1.89 KB
/
SatTrackingSingle.ic10
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
alias TrackingDish d0
define searchHStep 5
alias maxStrength r15
alias currentStrength r14
alias currentH r13
alias targetH r12
alias currentV r11
alias targetV r10
alias maxH r9
alias maxV r8
alias currentSignal r7
alias directionV r6
alias oldSignal r5
alias minOut r4
alias searchV r3
setup:
s db Setting 0
move maxStrength 0
move searchV 35
s TrackingDish Vertical 45
sleep 2
jal LoadStuff
move oldSignal currentSignal
Search:
yield
jal LoadStuff
add targetH currentH searchHStep
s TrackingDish Horizontal targetH
brgt currentH searchHStep 3
add searchV searchV 45
mod searchV searchV 90
s TrackingDish Vertical searchV
beq oldSignal currentSignal Search
# Track new Signal
s TrackingDish Vertical currentV
MoveDishH:
yield
jal LoadStuff
add targetH currentH searchHStep
s TrackingDish Horizontal targetH
blt currentStrength maxStrength GetDirectionV # maxH found -> Find maxV next
move maxH currentH
breq currentStrength maxStrength 2
move minOut currentH
move maxStrength currentStrength
j MoveDishH
GetDirectionV:
add r0 minOut maxH
brge maxH minOut 2
add r0 r0 360
div maxH r0 2
s TrackingDish Horizontal maxH
sleep 1
add targetV currentV 15
move maxStrength currentStrength
s TrackingDish Vertical targetV
yield
jal LoadStuff
sgt r0 currentStrength maxStrength
select directionV r0 5 -5
move maxStrength currentStrength
MoveDishV:
jal LoadStuff
add targetV currentV directionV
s TrackingDish Vertical targetV
blt currentStrength maxStrength Final # Max Signal Strength find -> finalize current search
move maxV currentV
breq currentStrength maxStrength 2
move minOut currentV
move maxStrength currentStrength
yield
j MoveDishV
Final:
add r0 minOut maxV
brge maxV minOut 2
add r0 r0 360
div maxV r0 2
s d5 Horizontal maxH
s d5 Vertical maxV
j error
j Search
LoadStuff:
l currentH TrackingDish Horizontal
l currentV TrackingDish Vertical
l currentStrength TrackingDish SignalStrength
l currentSignal TrackingDish SignalID
j ra