buttony
2.0.0.0
cmake
buttony
lib_buttony
include
buttony.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 BUTTONY_H
29
#define BUTTONY_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 BUTTONY_DEF_FREQ 500
60
// buttony_cfg
62
77
#define BUTTONY_MAP_MIKROBUS( cfg, mikrobus ) \
78
cfg.pwm = MIKROBUS( mikrobus, MIKROBUS_PWM ); \
79
cfg.int_pin = MIKROBUS( mikrobus, MIKROBUS_INT )
80
// buttony_map // buttony
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
}
buttony_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
}
buttony_cfg_t
;
120
125
typedef
enum
126
{
127
BUTTONY_OK
= 0,
128
BUTTONY_ERROR
= -1
129
130
}
buttony_return_value_t
;
131
147
void
buttony_cfg_setup
(
buttony_cfg_t
*cfg );
148
163
err_t
buttony_init
(
buttony_t
*ctx,
buttony_cfg_t
*cfg );
164
177
err_t
buttony_set_duty_cycle
(
buttony_t
*ctx,
float
duty_cycle );
178
190
err_t
buttony_pwm_stop
(
buttony_t
*ctx );
191
203
err_t
buttony_pwm_start
(
buttony_t
*ctx );
204
216
uint8_t
buttony_get_button_state
(
buttony_t
*ctx );
217
218
#ifdef __cplusplus
219
}
220
#endif
221
#endif
// BUTTONY_H
222
// buttony
224
225
// ------------------------------------------------------------------------ END
buttony_return_value_t
buttony_return_value_t
Button Y Click return value data.
Definition:
buttony.h:126
BUTTONY_ERROR
@ BUTTONY_ERROR
Definition:
buttony.h:128
BUTTONY_OK
@ BUTTONY_OK
Definition:
buttony.h:127
buttony_cfg_setup
void buttony_cfg_setup(buttony_cfg_t *cfg)
Button Y configuration object setup function.
buttony_pwm_start
err_t buttony_pwm_start(buttony_t *ctx)
Button Y start PWM module.
buttony_pwm_stop
err_t buttony_pwm_stop(buttony_t *ctx)
Button Y stop PWM module.
buttony_get_button_state
uint8_t buttony_get_button_state(buttony_t *ctx)
Button Y get button state function.
buttony_init
err_t buttony_init(buttony_t *ctx, buttony_cfg_t *cfg)
Button Y initialization function.
buttony_set_duty_cycle
err_t buttony_set_duty_cycle(buttony_t *ctx, float duty_cycle)
Button Y sets PWM duty cycle.
buttony_cfg_t
Button Y Click configuration object.
Definition:
buttony.h:110
buttony_cfg_t::dev_pwm_freq
uint32_t dev_pwm_freq
Definition:
buttony.h:117
buttony_cfg_t::int_pin
pin_name_t int_pin
Definition:
buttony.h:114
buttony_cfg_t::pwm
pin_name_t pwm
Definition:
buttony.h:112
buttony_t
Button Y Click driver selector.
Definition:
buttony.h:94
buttony_t::pwm_freq
uint32_t pwm_freq
Definition:
buttony.h:101
buttony_t::int_pin
digital_in_t int_pin
Definition:
buttony.h:95
buttony_t::pwm
pwm_t pwm
Definition:
buttony.h:98
Generated by
1.9.4