-
Notifications
You must be signed in to change notification settings - Fork 4
/
binio.h
74 lines (54 loc) · 1.8 KB
/
binio.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
/* =====================================================================
Copyright © 2016, Avnet (R)
www.avnet.com
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
either express or implied. See the License for the specific
language governing permissions and limitations under the License.
@file binio.h
@version 1.0
@date Sept 2017
======================================================================== */
#ifndef __BINIO_H__
#define __BINIO_H__
typedef void (*gpio_in_cb_fn_t)(size_t);
typedef struct _gpios {
int nbr;
int rate;
int val;
gpio_handle_t hndl;
size_t timr;
} GPIOPIN;
typedef struct _gpio_in {
int nbr; //GPIO pin #
int rate; // TBD
gpio_level_t val;
gpio_in_cb_fn_t func; //call back function on change
gpio_handle_t hndl; //GPIO handle
size_t timr; //timer handle
} GPIOPIN_IN;
#ifdef __cplusplus
extern "C" {
#endif
void gpio_timer(size_t timer_id, void * user_data);
extern size_t m2x_sensor_timer;
extern const int _max_gpiopins;
extern GPIOPIN gpios[];
void sensor_hts221(int interval);
void do_gpio_blink( int i, int interval );
void monitor_gpios(void);
void binary_io_init(void);
void binario_io_close(void);
#ifdef __cplusplus
}
#endif
#include <sys/types.h>
#include <stdint.h>
#include <nettle/nettle-stdint.h>
#include <hwlib/hwlib.h>
#endif // __BINIO_H__