comparison examples/basic_blink/render.cpp @ 300:dbeed520b014 prerelease

Renamed projects to examples
author Giulio Moro <giuliomoro@yahoo.it>
date Fri, 27 May 2016 13:58:20 +0100
parents projects/basic_blink/render.cpp@92145ba7aabf
children e4392164b458
comparison
equal deleted inserted replaced
297:a3d83ebdf49b 300:dbeed520b014
1 #include <BeagleRT.h>
2 #include <Utilities.h>
3 #include <cmath>
4 #include <rtdk.h>
5
6 // setup() is called once before the audio rendering starts.
7 // Use it to perform any initialisation and allocation which is dependent
8 // on the period size or sample rate.
9 //
10 // userData holds an opaque pointer to a data structure that was passed
11 // in from the call to initAudio().
12 //
13 // Return true on success; returning false halts the program.
14
15 bool setup(BeagleRTContext *context, void *userData)
16 {
17 pinModeFrame(context, 0, P8_07, OUTPUT);
18 return true;
19 }
20
21 // render() is called regularly at the highest priority by the audio engine.
22 // Input and output are given from the audio hardware and the other
23 // ADCs and DACs (if available). If only audio is available, numAnalogFrames
24 // will be 0.
25
26 /* basic_blink
27 * Connect an LED in series with a 470ohm resistor between P8_07 and ground.
28 * The LED will blink every @interval seconds.
29 */
30
31 void render(BeagleRTContext *context, void *userData)
32 {
33 static int count=0; //counts elapsed samples
34 float interval=0.5; //how often to toggle the LED (in seconds)
35 static int status=GPIO_LOW;
36 for(unsigned int n=0; n<context->digitalFrames; n++){
37 if(count==context->digitalSampleRate*interval){ //if enough samples have elapsed
38 count=0; //reset the counter
39 // status=digitalReadFrame(context, 0, P8_07);
40 if(status==GPIO_LOW) { //toggle the status
41 digitalWriteFrame(context, n, P8_07, status); //write the status to the LED
42 status=GPIO_HIGH;
43 }
44 else {
45 digitalWriteFrame(context, n, P8_07, status); //write the status to the LED
46 status=GPIO_LOW;
47 }
48 }
49 count++;
50 }
51 }
52
53 // cleanup() is called once at the end, after the audio has stopped.
54 // Release any resources that were allocated in setup().
55
56 void cleanup(BeagleRTContext *context, void *userData)
57 {
58 // Nothing to do here
59 }