LTPS C++ API
Main Page
Classes
Files
Examples
File List
cpin.h
1
// This I Love
2
// (C) dvorkin@tibbo.com, 2015
3
4
#ifndef __CPIN_H__
5
#define __CPIN_H__
6
7
#include <stdio.h>
8
#include <string.h>
9
#include <dirent.h>
10
11
#define PIN_DIR_I 0
12
#define PIN_DIR_O 1
13
14
class
CPin {
15
16
protected
:
17
18
int
pin;
19
FILE *fp_rw;
20
21
FILE *x_open(
int
_pin,
const
char
*_what);
22
void
x_close(
void
) {
23
if
( this->fp_rw) fclose( this->fp_rw);
24
this->fp_rw = NULL; }
25
26
public
:
27
28
CPin(
void
) { this->pin = 0; this->fp_rw = NULL; }
29
~CPin(
void
) { this->x_close(); }
30
31
// call once
32
// ret: 0 - OK, -1 - err
33
int
init(
int
_pin);
34
int
cur(
void
) {
return
( this->pin); }
35
36
// ret: pin value = 0|1
37
int
R(
void
);
38
// ret: fwrite return code | < 0 on error
39
int
W(
int
_val);
40
41
// ret: -1 - err, 0 == PIN_DIR_I, 1 == PIN_DIR_O
42
int
dir_get(
void
);
43
// ret: -1 - err, 0 - success
44
int
dir_set(
int
_dir);
45
46
};
47
48
#endif
Wed Mar 22 2017 09:50:01