libpruio  0.2
Input/Output driver for digital/analog lines on Beagleboard hardware
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
pwm_adc.bas File Reference

Example: generate PWM outputs and fetch them as ADC samples, draw graf. More...

#include "../pruio/pruio.bi"
#include "../pruio/pruio_pins.bi"
#include "fbgfx.bi"
Include dependency graph for pwm_adc.bas:

Go to the source code of this file.

Classes

class  PWM_PIN
 UDT to hold data for an output channel. More...
 

Functions

int main ()
 

Variables

VAR S_W = 0
 The screen width.
 
VAR S_H = 0
 The srceen hight.
 
VAR BPP = 0
 The bits per plain number.
 
VAR full = fb.GFX_FULLSCREEN
 Fullscreen or windowed mode.
 
VAR p = INSTR(COMMAND, "x")
 The position of the 'x' character (if any).
 
VAR w = VALINT(COMMAND)
 The required window width.
 
VAR h = VALINT(MID(COMMAND, p + 1))
 The required window hight.
 
UInt32 col [...]
 The colors for the lines (= channels). More...
 
UInt32 last [...]
 The previous data of the channels. More...
 
PWM_PIN ch [...]
 The structures for the output pins. More...
 
VAR io = NEW PruIo
 Create a PruIo structure, wakeup subsystems.
 
VAR scale = S_H / 65520
 The factor to scale values.
 
VAR x = 0
 The start x position.
 
VAR gap = 1
 The gap between x values.
 
VAR xmax = S_W - gap - 1
 The maximal x position.
 
VAR m = 0
 The mask for in-active channels.
 
VAR n = 2
 The active channel number.
 
VAR fg = RGB(0, 0, 0)
 The foreground color.
 
VAR bg = RGB(250, 250, 250)
 The background color.
 
VAR k = ASC(INKEY())
 The key code.
 
VAR neu = S_H - CUINT(.Adc->Value[i + 1] * scale)
 The new value.
 

Detailed Description

Example: generate PWM outputs and fetch them as ADC samples, draw graf.

This file contains an example on how to use libpruio to generate pulse width modulated (PWM) output. Here the two channels (A + B) of an eHRPWM module and a eCAP module (in PWM) mode generate the PWM signal. The output can get measured by the ADC subsystem at channels AIN-0 to AIN-2 and shown as a line graf in a graphics windows.

Licence: GPLv3

Copyright 2014 by Thomas{ dOt ]Freiherr[ At ]gmx[ DoT }net

Compile by: fbc -w all pwm_adc.bas

Definition in file pwm_adc.bas.

Function Documentation

int main ( )

The main function.

Definition at line 176 of file pwm_adc.bas.

Here is the call graph for this function:

Variable Documentation

PWM_PIN ch[...]
Initial value:
= {
TYPE<PWM_PIN>(P9_14, 2.5, .5, @"P9_14 (A)")
, TYPE<PWM_PIN>(P9_16, 2.5, .2, @"P9_16 (B)")
, TYPE<PWM_PIN>(P9_42, 2.5, .8, @"P9_42 (C)")
}
#define P9_42
CPU ball number for pin 42 on header 9.
Definition: pruio_pins.bi:150
#define P9_16
CPU ball number for pin 16 on header 9.
Definition: pruio_pins.bi:116
#define P9_14
CPU ball number for pin 14 on header 9.
Definition: pruio_pins.bi:112

The structures for the output pins.

Definition at line 82 of file pwm_adc.bas.

UInt32 col[...]
Initial value:
= {
, RGBA( 0, 255, 0, 255)
, RGBA( 0, 0, 255, 255)
}

The colors for the lines (= channels).

Definition at line 51 of file pwm_adc.bas.

UInt32 last[...]
Initial value:
= {
0
, 0
, 0
, 0
, 0
, 0
, 0
, 0
}

The previous data of the channels.

Definition at line 59 of file pwm_adc.bas.