minidol: initial commit
[jump.git] / minidol / esrc / Gen.c
1 #include <stdio.h>
2 #include "Gen.h"
3
4 void Gen_delay(void)
5 {
6         for(volatile int a = 0; a < 50; a++)
7                 for(volatile int b = 0; b < 2000000; b++)
8                         ;
9 }
10
11 void Gen_init(DOLProcess *p) {
12         ((Gen_State*)p->local)->index = 0;
13 }
14
15 int Gen_fire(DOLProcess *p) {
16         float i;
17
18         if (p->local->index < LENGTH) {
19 Gen_delay();
20                 p->local->index++;
21                 i = p->local->index;
22                 DOL_write(PORT_OUTPUT, &i, sizeof(float), p);
23         } else {
24                 DOL_detach(p);
25         }
26
27         return 0;
28 }