annotate TaskManager/kernel/schedule/SchedTaskArrayNop.cc @ 1048:40cde8c1a6cd default tip

add ScaleXY (not for allExecute...)
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 08 Dec 2010 06:22:15 +0900
parents c67379f9d411
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
786
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
1 #include "SchedTaskArrayNop.h"
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
2 #include "Scheduler.h"
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
3
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
4
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
5 SchedTaskArrayNop::SchedTaskArrayNop(Scheduler *s, SchedTaskBase *savedTask_, Task *curTask_, Task *_array)
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
6 {
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
7 savedTask = savedTask_;
797
45c141669de7 SchedTask instance variable clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 786
diff changeset
8 atask = _array;
786
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
9 scheduler = s;
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
10
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
11 inListData.bound = 0;
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
12 inListData.size = 0;
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
13 inListData.length = 0;
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
14 inListData.element = 0;
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
15 outListData.bound = 0;
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
16 outListData.size = 0;
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
17 outListData.length = 0;
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
18 outListData.element = 0;
893
96536163c0a0 fix SimpleTask alignment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 890
diff changeset
19 cur_index = -3;
786
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
20 }
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
21
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
22
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
23
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
24 /**
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
25 */
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
26 SchedTaskArrayNop::~SchedTaskArrayNop()
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
27 {
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
28 }
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
29
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
30
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
31 /**
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
32 * Task data / code read
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
33 */
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
34 void
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
35 SchedTaskArrayNop::read()
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
36 {
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
37
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
38 }
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
39
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
40 /**
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
41 * Wait read data and execute task
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
42 * Start write DMA
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
43 */
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
44 void
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
45 SchedTaskArrayNop::exec()
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
46 {
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
47
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
48 }
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
49
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
50 /**
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
51 * Wait write DMA
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
52 * send finish mail
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
53 */
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
54 void
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
55 SchedTaskArrayNop::write()
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
56 {
1009
c67379f9d411 not yet....
yutaka@localhost.localdomain
parents: 893
diff changeset
57 savedTask->write();
c67379f9d411 not yet....
yutaka@localhost.localdomain
parents: 893
diff changeset
58
797
45c141669de7 SchedTask instance variable clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 786
diff changeset
59 free(atask);
888
586ed400413a call savedTask->write() in TaskArray finish.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 830
diff changeset
60 delete savedTask;
890
baae338d91da minor fix. possible schedTaskArray overrun
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 888
diff changeset
61 savedTask = 0;
786
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
62 }
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
63
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
64 SchedTaskBase*
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
65 SchedTaskArrayNop::next(Scheduler *scheduler, SchedTaskBase *p)
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
66 {
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
67
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
68 // 最後のTask が exec されて、次の Task を実行してかまわない。
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
69
893
96536163c0a0 fix SimpleTask alignment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 890
diff changeset
70 return savedTask->next(scheduler, savedTask);
786
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
71
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
72 }
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
73
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
74
ccf78a465459 fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff changeset
75 /* end */