buttonr
2.0.0.0
cmake
buttonr
lib_buttonr
include
buttonr.h
Go to the documentation of this file.
1
/****************************************************************************
2
** Copyright (C) 2020 MikroElektronika d.o.o.
3
** Contact: https://www.mikroe.com/contact
4
**
5
** Permission is hereby granted, free of charge, to any person obtaining a copy
6
** of this software and associated documentation files (the "Software"), to deal
7
** in the Software without restriction, including without limitation the rights
8
** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
** copies of the Software, and to permit persons to whom the Software is
10
** furnished to do so, subject to the following conditions:
11
** The above copyright notice and this permission notice shall be
12
** included in all copies or substantial portions of the Software.
13
**
14
** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
16
** OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17
** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
18
** DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
19
** OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
20
** USE OR OTHER DEALINGS IN THE SOFTWARE.
21
****************************************************************************/
22
28
#ifndef BUTTONR_H
29
#define BUTTONR_H
30
31
#ifdef __cplusplus
32
extern
"C"
{
33
#endif
34
35
#include "drv_digital_out.h"
36
#include "drv_digital_in.h"
37
#include "drv_pwm.h"
38
59
#define BUTTONR_DEF_FREQ 500
60
// buttonr_cfg
62
77
#define BUTTONR_MAP_MIKROBUS( cfg, mikrobus ) \
78
cfg.pwm = MIKROBUS( mikrobus, MIKROBUS_PWM ); \
79
cfg.int_pin = MIKROBUS( mikrobus, MIKROBUS_INT )
80
// buttonr_map // buttonr
83
93
typedef
struct
94
{
95
digital_in_t
int_pin
;
97
// Modules
98
pwm_t
pwm
;
100
// ctx variable
101
uint32_t
pwm_freq
;
103
}
buttonr_t
;
104
109
typedef
struct
110
{
111
// Communication gpio pins
112
pin_name_t
pwm
;
114
pin_name_t
int_pin
;
116
// Static variable
117
uint32_t
dev_pwm_freq
;
119
}
buttonr_cfg_t
;
120
125
typedef
enum
126
{
127
BUTTONR_OK
= 0,
128
BUTTONR_ERROR
= -1
129
130
}
buttonr_return_value_t
;
131
147
void
buttonr_cfg_setup
(
buttonr_cfg_t
*cfg );
148
163
err_t
buttonr_init
(
buttonr_t
*ctx,
buttonr_cfg_t
*cfg );
164
177
err_t
buttonr_set_duty_cycle
(
buttonr_t
*ctx,
float
duty_cycle );
178
190
err_t
buttonr_pwm_stop
(
buttonr_t
*ctx );
191
203
err_t
buttonr_pwm_start
(
buttonr_t
*ctx );
204
216
uint8_t
buttonr_get_button_state
(
buttonr_t
*ctx );
217
218
#ifdef __cplusplus
219
}
220
#endif
221
#endif
// BUTTONR_H
222
// buttonr
224
225
// ------------------------------------------------------------------------ END
buttonr_return_value_t
buttonr_return_value_t
Button R Click return value data.
Definition:
buttonr.h:126
BUTTONR_ERROR
@ BUTTONR_ERROR
Definition:
buttonr.h:128
BUTTONR_OK
@ BUTTONR_OK
Definition:
buttonr.h:127
buttonr_get_button_state
uint8_t buttonr_get_button_state(buttonr_t *ctx)
Button R get button state function.
buttonr_set_duty_cycle
err_t buttonr_set_duty_cycle(buttonr_t *ctx, float duty_cycle)
Button R sets PWM duty cycle.
buttonr_init
err_t buttonr_init(buttonr_t *ctx, buttonr_cfg_t *cfg)
Button R initialization function.
buttonr_pwm_start
err_t buttonr_pwm_start(buttonr_t *ctx)
Button R start PWM module.
buttonr_cfg_setup
void buttonr_cfg_setup(buttonr_cfg_t *cfg)
Button R configuration object setup function.
buttonr_pwm_stop
err_t buttonr_pwm_stop(buttonr_t *ctx)
Button R stop PWM module.
buttonr_cfg_t
Button R Click configuration object.
Definition:
buttonr.h:110
buttonr_cfg_t::dev_pwm_freq
uint32_t dev_pwm_freq
Definition:
buttonr.h:117
buttonr_cfg_t::int_pin
pin_name_t int_pin
Definition:
buttonr.h:114
buttonr_cfg_t::pwm
pin_name_t pwm
Definition:
buttonr.h:112
buttonr_t
Button R Click driver selector.
Definition:
buttonr.h:94
buttonr_t::pwm_freq
uint32_t pwm_freq
Definition:
buttonr.h:101
buttonr_t::int_pin
digital_in_t int_pin
Definition:
buttonr.h:95
buttonr_t::pwm
pwm_t pwm
Definition:
buttonr.h:98
Generated by
1.9.4