-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathtask_G.psy
More file actions
132 lines (113 loc) · 2.5 KB
/
task_G.psy
File metadata and controls
132 lines (113 loc) · 2.5 KB
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
/************ Copyright Krono-Safe S.A. 2020, All rights reserved ************/
#include <app.psyh>
agent task_G (uses realtime, defaultclock clk_s, starttime 2)
{
consult { 1 $ G_CONTROL; }
global {
float noise_mat[IMG_H][IMG_W];
unsigned char image[IMG_H][IMG_W];
unsigned int counter = 0u;
}
#define GEN_TASK_G_LOCAL_WORK(EA) \
GEN_WORK(EA, filter, noise_mat, image, $[0]G_CONTROL.work_iterations, counter)
#define GEN_TASK_G_SHARED_WORK(EA) \
GEN_WORK(EA, filter2, noise_mat, image, $[0]G_CONTROL.work_iterations, counter)
body start
{
/* G0 */
GEN_TASK_G_LOCAL_WORK("G0");
jump body_at_g1;
}
body body_at_g1
{
@g_at_1 advance 1; /* <--- closes */
/* G1 */
GEN_TASK_G_LOCAL_WORK("G1");
@g_n1 advance 1;
switch ($[0]G_CONTROL.switch_value)
{
case SWITCH_TO_G2:
{
/* G2 */
GEN_TASK_G_LOCAL_WORK("G2");
@g_n2 advance 1;
/* G3 */
GEN_TASK_G_SHARED_WORK("G3");
@g_n3 advance 1;
/* G4 */
GEN_TASK_G_LOCAL_WORK("G4");
jump body_at_g5;
}
case SWITCH_TO_G7:
{
/* G7 */
GEN_TASK_G_LOCAL_WORK("G7");
@g_n4 advance 1;
/* G8 */
GEN_TASK_G_SHARED_WORK("G8");
jump body_at_g9;
}
case SWITCH_TO_G10:
{
/* G10 */
GEN_TASK_G_LOCAL_WORK("G10");
@g_n5 advance 1;
/* G11 */
GEN_TASK_G_LOCAL_WORK("G11");
jump body_at_g9;
}
default: /* (SWITCH_TO_G12) */
{
/* G12 */
GEN_TASK_G_LOCAL_WORK("G12");
jump body_at_g17;
}
}
}
body body_at_g9
{
@g_at_9 advance 1; /* <--- closes */
/* G9 */
GEN_TASK_G_LOCAL_WORK("G9");
jump body_at_g5;
}
body body_at_g5
{
@g_at_5 advance 1; /* <--- closes */
/* G5 */
GEN_TASK_G_LOCAL_WORK("G5");
jump body_at_g6;
}
body body_at_g6
{
@g_at_6 advance 1; /* <--- closes */
/* G6 */
GEN_TASK_G_SHARED_WORK("G6");
jump body_at_g1;
}
body body_at_g17
{
@g_at_17 advance 1; /* <--- closes */
/* G17 */
GEN_TASK_G_LOCAL_WORK("G17");
@g_n6 advance 1;
/* G13 */
GEN_TASK_G_LOCAL_WORK("G13");
@g_n7 advance 1;
if ($[0]G_CONTROL.cond_g14_or_g15)
{
/* G14 */
GEN_TASK_G_SHARED_WORK("G14");
@g_n8 advance 1;
/* G16 */
GEN_TASK_G_LOCAL_WORK("G16");
jump body_at_g17;
}
else
{
/* G15 */
GEN_TASK_G_LOCAL_WORK("G15");
jump body_at_g6;
}
}
}