-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathtask_H.psy
More file actions
131 lines (110 loc) · 2.42 KB
/
task_H.psy
File metadata and controls
131 lines (110 loc) · 2.42 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
/************ Copyright Krono-Safe S.A. 2020, All rights reserved ************/
#include <app.psyh>
agent task_H (uses realtime, defaultclock clk_s, starttime 2)
{
consult { 1 $ H_CONTROL; }
global {
float noise_mat[IMG_H][IMG_W];
unsigned char image[IMG_H][IMG_W];
unsigned int counter = 0u;
}
#define GEN_TASK_H_LOCAL_WORK(EA) \
GEN_WORK(EA, filter, noise_mat, image, $[0]H_CONTROL.work_iterations, counter)
#define GEN_TASK_H_SHARED_WORK(EA) \
GEN_WORK(EA, filter2, noise_mat, image, $[0]H_CONTROL.work_iterations, counter)
body start
{
/* H0 */
GEN_TASK_H_LOCAL_WORK("H0");
@h_n0 advance 1;
/* H1 */
GEN_TASK_H_LOCAL_WORK("H1");
jump body_at_h2;
}
body body_at_h2
{
@h_at_h2 advance 1; /* <--- closes */
if ($[0]H_CONTROL.cond_h2_or_h5)
{
/* H2 */
GEN_TASK_H_LOCAL_WORK("H2");
@h_n1 advance 1;
/* H3 */
GEN_TASK_H_LOCAL_WORK("H3");
jump body_at_h9;
}
else
{
/* H5 */
GEN_TASK_H_LOCAL_WORK("H5");
jump body_at_h6;
}
}
body body_at_h9
{
@h_at_h9 advance 1; /* <--- closes */
if ($[0]H_CONTROL.cond_h4_or_h9)
{
/* H4 */
GEN_TASK_H_SHARED_WORK("H4");
@h_n4 advance 1;
/* H7 */
GEN_TASK_H_LOCAL_WORK("H7");
jump body_at_h2;
}
else
{
/* H9 */
GEN_TASK_H_LOCAL_WORK("H9");
jump body_at_h13;
}
}
body body_at_h6
{
@h_at_h6 advance 1; /* <--- closes */
/* H6 */
GEN_TASK_H_LOCAL_WORK("H6");
jump body_at_h9;
}
body body_at_h13
{
@h_at_h13 advance 1; /* <--- closes */
/* H13 */
GEN_TASK_H_LOCAL_WORK("H13");
jump body_at_h14;
}
body body_at_h14
{
@h_at_h14 advance 1; /* <--- closes */
/* H14 */
GEN_TASK_H_SHARED_WORK("H14");
@h_n2 advance 1;
/* H15 */
GEN_TASK_H_LOCAL_WORK("H15");
@h_n5 advance 1;
switch ($[0]H_CONTROL.switch_value)
{
case SWITCH_TO_H8:
{
/* H8 */
GEN_TASK_H_LOCAL_WORK("H8");
jump body_at_h6;
}
case SWITCH_TO_H10:
{
/* H10 */
GEN_TASK_H_LOCAL_WORK("H10");
@h_n3 advance 1;
/* H11 */
GEN_TASK_H_LOCAL_WORK("H11");
jump body_at_h14;
}
default: /* SWITCH_TO_H12 */
{
/* H12 */
GEN_TASK_H_SHARED_WORK("H12");
jump body_at_h13;
}
}
}
}