libpruio  0.6.8
Fast and easy Digital/Analog Input/Output for Beaglebones
rb_file.bas File Reference

Example: fetch ADC samples in a ring buffer and save to file. More...

#include "BBB/pruio.bi"
Include dependency graph for rb_file.bas:

Go to the source code of this file.

Functions

int main ()
 

Variables

const tSamp = 123401
 The number of samples in the files (per step).
 
const tmr = 20000
 The sampling rate in ns (20000 -> 50 kHz).
 
const NoStep = 3
 The number of active steps (must match setStep calls and mask).
 
const NoFile = 2
 The number of files to write.
 
const NamFil = "output."
 The output file names.
 
VAR io = NEW PruIo()
 Create a PruIo structure, wakeup subsystems.
 
VAR mask = &b111 SHL 9
 The active steps (9 to 11).
 
VAR tInd = tSamp * NoStep
 The maximum total index.
 
VAR half = ((.ESize SHR 2) \ NoStep) * NoStep
 The maximum index of the half ring buffer.
 
VAR samp = (half SHL 1) \ NoStep
 The number of samples (per step).
 
VAR p0 = .Adc->Value
 A pointer to the start of the ring buffer.
 
VAR p1 = p0 + half
 A pointer to the middle of the ring buffer.
 
VAR fnam = NamFil & n
 The file name.
 
VAR fnr = FREEFILE
 The file number.
 
VAR i = 0
 Start index.
 
VAR rest = tInd + half - i
 The rest of the buffer (in bytes)
 
VAR iEnd = IIF(p1 >= p0, rest, rest + half)
 The last byte of the rest.
 

Detailed Description

Example: fetch ADC samples in a ring buffer and save to file.

This file contains an example on how to use the ring buffer mode of libpruio. A fixed step mask of AIN-0, AIN-1 and AIN-2 get configured for maximum speed, sampled in to the ring buffer and from there saved as raw data to some files. Find a functional description in section rb_file.

Licence: GPLv3, Copyright 2014-2023 by Thomas{ doT ]Freiherr[ At ]gmx[ DoT }net

Compile by: fbc -w all rb_file.bas

Since
0.4.0

Definition in file rb_file.bas.

Function Documentation

◆ main()

int main ( )

The main function.

Definition at line 92 of file rb_file.bas.

Here is the call graph for this function: