libsigrok
0.2.2
sigrok hardware access and backend library
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerator
Macros
Groups
Pages
output
output.c
Go to the documentation of this file.
1
/*
2
* This file is part of the libsigrok project.
3
*
4
* Copyright (C) 2010-2012 Bert Vermeulen <bert@biot.com>
5
*
6
* This program is free software: you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation, either version 3 of the License, or
9
* (at your option) any later version.
10
*
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with this program. If not, see <http://www.gnu.org/licenses/>.
18
*/
19
20
#include "
libsigrok.h
"
21
#include "libsigrok-internal.h"
22
23
/**
24
* @file
25
*
26
* Output file/data format handling.
27
*/
28
29
/**
30
* @defgroup grp_output Output formats
31
*
32
* Output file/data format handling.
33
*
34
* libsigrok supports several output (file) formats, e.g. binary, VCD,
35
* gnuplot, and so on. It provides an output API that frontends can use.
36
* New output formats can be added/implemented in libsigrok without having
37
* to change the frontends at all.
38
*
39
* All output modules are fed data in a stream. Devices that can stream data
40
* into libsigrok live, instead of storing and then transferring the whole
41
* buffer, can thus generate output live.
42
*
43
* Output modules are responsible for allocating enough memory to store
44
* their own output, and passing a pointer to that memory (and length) of
45
* the allocated memory back to the caller. The caller is then expected to
46
* free this memory when finished with it.
47
*
48
* @{
49
*/
50
51
/** @cond PRIVATE */
52
extern
SR_PRIV
struct
sr_output_format
output_text_bits;
53
extern
SR_PRIV
struct
sr_output_format
output_text_hex;
54
extern
SR_PRIV
struct
sr_output_format
output_text_ascii;
55
extern
SR_PRIV
struct
sr_output_format
output_binary;
56
extern
SR_PRIV
struct
sr_output_format
output_vcd;
57
extern
SR_PRIV
struct
sr_output_format
output_ols;
58
extern
SR_PRIV
struct
sr_output_format
output_gnuplot;
59
extern
SR_PRIV
struct
sr_output_format
output_chronovu_la8;
60
extern
SR_PRIV
struct
sr_output_format
output_csv;
61
extern
SR_PRIV
struct
sr_output_format
output_analog;
62
/* extern SR_PRIV struct sr_output_format output_analog_gnuplot; */
63
/* @endcond */
64
65
static
struct
sr_output_format
*output_module_list[] = {
66
&output_text_bits,
67
&output_text_hex,
68
&output_text_ascii,
69
&output_binary,
70
&output_vcd,
71
&output_ols,
72
&output_gnuplot,
73
&output_chronovu_la8,
74
&output_csv,
75
&output_analog,
76
/* &output_analog_gnuplot, */
77
NULL,
78
};
79
80
SR_API
struct
sr_output_format
**
sr_output_list
(
void
)
81
{
82
return
output_module_list;
83
}
84
85
/** @} */
Generated on Wed Nov 6 2013 01:02:03 for libsigrok by
1.8.3.1