Changes for page SCChart Controller

Last modified by Richard Kreissig on 2025/01/30 12:18

From version 18.4
edited by stu122612
on 2023/07/11 10:12
Change comment: Update document after refactoring.
To version 19.1
edited by Richard Kreissig
on 2023/09/07 09:06
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.stu122612
1 +XWiki.stu230980
Content
... ... @@ -1,6 +1,6 @@
1 1  = Key Functions =
2 2  
3 -(% style="list-style-type: square;" %)
3 +(% style="list-style-type:square" %)
4 4  * Automatic launch when startup lamp is blinking
5 5  * Acquire 20 million point launch bonus
6 6  * Retrieve position predictions and actuate main flippers accordingly
... ... @@ -11,21 +11,18 @@
11 11  
12 12  [[image:attach:Overview.png]]
13 13  
14 -{{expand title="Full Overview (all regions expanded)"}}
14 +Full Overview (all regions expanded)
15 15  [[image:attach:expanded.png]]
16 16  
17 -{{expand title="Full Overview (user labels deactivated)"}}
17 +Full Overview (user labels deactivated)
18 18  [[image:attach:expanded2.png]]
19 -{{/expand}}
20 -{{/expand}}
21 21  
22 -\\
23 23  
24 -\\
25 25  
22 +
26 26  The behaviour and information processing is distributed across multiple regions in the controller.
27 27  
28 -(% style="list-style-type: square;" %)
25 +(% style="list-style-type:square" %)
29 29  * Yellow: These regions are in control of setting the output signals. These output signals are what is used to set the GPIO pins outside of the controller. The (((
30 30  {{code language="none"}}delayed{{/code}} regions are just a simple extension on top of the {{code language="none"}}actuate{{/code}} regions.
31 31  )))
... ... @@ -42,7 +42,6 @@
42 42  One of these is to catch the ball with the left flipper. Once this was successfully performed targeted shots to certain game elements are possible and the controller decides which one to aim for by analyzing some lamps that indicate certain game situations. The rule of thumb is: When there is a lamp lit above some target, it should be aimed at.
43 43  Another one is to detect a ball coming back after successfully hitting the big ramp. The ball is then led down a deterministic path feeding it into the left inlane. In this situation the controller tries to trigger the left flipper at the right timing to shoot the ball right into the big ramp again. This is useful since successive ramp shots are beneficial in most situations, as they score good points and lead to activation of a multiball mode.
44 44  
45 -\\
46 46  
47 47  = Actuating =
48 48  
... ... @@ -50,7 +50,7 @@
50 50  
51 51  The actuation of flippers is implemented via a common automaton to which the appropriate signals are connected. The connected output signals are what is used to set the values of the GPIO pins by the outside system. With the {{code language="none"}}trigger{{/code}} signal a standard actuation of the flipper can be initiated. The automaton waits after enabling and disabling for the real world to catch up, as the flipper arms take some time to move from their resting position and back. Additionally there is a hold signal which can be used from the outside to basically override the behaviour regarding the cooldown.
52 52  
53 -(% style="font-size: 24.0px;letter-spacing: -0.01em;" %)TriggerDelayed
49 +(% style="font-size:24.0px; letter-spacing:-0.01em" %)TriggerDelayed
54 54  
55 55  [[image:attach:Screen Shot 2020-03-14 at 10.47.09.png]]
56 56  
... ... @@ -79,22 +79,12 @@
79 79  
80 80  This region simply triggers the top flipper whenever there is a ball detected to be close to its range. Hitting the ball with the top flipper is often beneficial but never critical. So in order to save resources there is less computational effort put into it, i.e. no prediction is performed and the range is not precisely defined. It is implemented as a single state with a during action, since the work of detecting, whether there is a ball near the top flipper, is performed by the image processing, which sets a flag in the respective case.
81 81  
82 -\\
83 83  
84 -\\
85 85  
86 -\\
87 87  
88 -\\
89 89  
90 -\\
91 91  
92 -\\
93 93  
94 -\\
95 95  
96 -\\
97 97  
98 -\\
99 -
100 -\\
86 +