1 #include "simpletools.h" 4 void da_ctr_cog(
void *par);
7 #define DUTY_SE (0b110 << 26) 10 static unsigned int stack[(176 + (20*4)) / 4];
12 int abvolts_daCtrBits;
13 static unsigned int cog;
14 static volatile int ctra, ctrb, frqa, frqb;
15 static int pinCh0 = 26, pinCh1 = 27;
19 abvolts_daCtrBits = bits;
23 void da_init(
int pinDA0,
int pinDA1)
30 void da_out(
int channel,
int daVal)
32 if(abvolts_daCtrBits == 0) abvolts_daCtrBits = 8;
33 int daBitX = 32 - abvolts_daCtrBits;
37 cog = cogstart(da_ctr_cog, NULL,
38 stack,
sizeof(stack)) + 1;
43 ctra = (DUTY_SE + pinCh0);
44 frqa = (daVal << daBitX);
48 ctrb = (DUTY_SE + pinCh1);
49 frqb = (daVal << daBitX);
53 void da_ctr_cog(
void *par)
62 pin = CTRA & 0b111111;
69 pin = CTRA & 0b111111;
78 pin = CTRB & 0b111111;
85 pin = CTRB & 0b111111;
95 void da_ctr_stop(
void)
97 if(cog) cogstop(cog - 1);