#include <stdarg.h>
#include <zrtos/error.h>
#include <zrtos/types.h>
#include <zrtos/arch.h>
#include <zrtos/assert.h>
Go to the source code of this file.
|
| ZRTOS_ASSERT__STATIC (sizeof(zrtos_gpio_value_digital_t)<=sizeof(unsigned int)) |
|
| ZRTOS_ASSERT__STATIC (sizeof(zrtos_gpio_mode_t)<=sizeof(unsigned int)) |
|
| ZRTOS_ASSERT__STATIC (sizeof(zrtos_gpio_pin_t)<=sizeof(unsigned int)) |
|
bool | zrtos_gpio__init (zrtos_gpio_t *thiz, zrtos_error_t(*set_mode)(struct _zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin, zrtos_gpio_mode_t mode), zrtos_error_t(*digital_read)(struct _zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin, zrtos_gpio_value_digital_t *val), zrtos_error_t(*digital_write)(struct _zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin, zrtos_gpio_value_digital_t val), zrtos_error_t(*analog_read)(struct _zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin, zrtos_gpio_value_analog_t *val), zrtos_error_t(*analog_write)(struct _zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin, zrtos_gpio_value_analog_t val)) |
|
zrtos_error_t | zrtos_gpio__set_mode (zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin, zrtos_gpio_mode_t mode) |
|
zrtos_error_t | zrtos_gpio__set_mode_va (zrtos_gpio_t *thiz, va_list args) |
|
zrtos_error_t | zrtos_gpio__set_mode_ex (zrtos_gpio_t *thiz,...) |
|
zrtos_error_t | zrtos_gpio__digital_read (zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin, zrtos_gpio_value_digital_t *val) |
|
zrtos_error_t | zrtos_gpio__digital_read_va (zrtos_gpio_t *thiz, va_list args) |
|
zrtos_error_t | zrtos_gpio__digital_read_ex (zrtos_gpio_t *thiz,...) |
|
zrtos_error_t | zrtos_gpio__digital_write (zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin, zrtos_gpio_value_digital_t val) |
|
zrtos_error_t | zrtos_gpio__digital_write_va (zrtos_gpio_t *thiz, va_list args) |
|
zrtos_error_t | zrtos_gpio__digital_write_ex (zrtos_gpio_t *thiz,...) |
|
zrtos_error_t | zrtos_gpio__set_high (zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin) |
|
zrtos_error_t | zrtos_gpio__set_high_va (zrtos_gpio_t *thiz, va_list args) |
|
zrtos_error_t | zrtos_gpio__set_high_ex (zrtos_gpio_t *thiz,...) |
|
zrtos_error_t | zrtos_gpio__set_low (zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin) |
|
zrtos_error_t | zrtos_gpio__set_low_va (zrtos_gpio_t *thiz, va_list args) |
|
zrtos_error_t | zrtos_gpio__set_low_ex (zrtos_gpio_t *thiz,...) |
|
zrtos_error_t | zrtos_gpio__analog_read (zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin, zrtos_gpio_value_analog_t *val) |
|
zrtos_error_t | zrtos_gpio__analog_read_va (zrtos_gpio_t *thiz, va_list args) |
|
zrtos_error_t | zrtos_gpio__analog_read_ex (zrtos_gpio_t *thiz,...) |
|
zrtos_error_t | zrtos_gpio__analog_write (zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin, zrtos_gpio_value_analog_t val) |
|
zrtos_error_t | zrtos_gpio__analog_write_va (zrtos_gpio_t *thiz, va_list args) |
|
zrtos_error_t | zrtos_gpio__analog_write_ex (zrtos_gpio_t *thiz,...) |
|
uint8_t | zrtos_gpio__shift_in (zrtos_gpio_t *thiz, zrtos_gpio_pin_t dataPin, zrtos_gpio_pin_t clockPin, bool is_lsb) |
|
zrtos_error_t | zrtos_gpio__shift_out (zrtos_gpio_t *thiz, zrtos_gpio_pin_t dataPin, zrtos_gpio_pin_t clockPin, bool is_lsb, uint8_t value) |
|
void | zrtos_gpio__delay_microseconds (uint16_t us) |
|
void | zrtos_gpio__delay_milliseconds (uint16_t ms) |
|
◆ ZRTOS_GPIO__INIT
#define ZRTOS_GPIO__INIT |
( |
|
set_mode_, |
|
|
|
digital_read_, |
|
|
|
digital_write_, |
|
|
|
analog_read_, |
|
|
|
analog_write_ |
|
) |
| |
Value:{\
.set_mode = set_mode_\
,.digital_read = digital_read_\
,.digital_write = digital_write_\
,.analog_read = analog_read_\
,.analog_write = analog_write_\
}
Definition at line 78 of file gpio.h.
◆ ZRTOS_GPIO__VA_ARG_MODE
#define ZRTOS_GPIO__VA_ARG_MODE |
( |
|
args | ) |
((zrtos_gpio_mode_t)va_arg(args,unsigned int)) |
◆ ZRTOS_GPIO__VA_ARG_PIN
#define ZRTOS_GPIO__VA_ARG_PIN |
( |
|
args | ) |
((zrtos_gpio_pin_t)va_arg(args,unsigned int)) |
◆ ZRTOS_GPIO__VA_ARG_VALUE_ANALOG
◆ ZRTOS_GPIO__VA_ARG_VALUE_DIGITAL
◆ zrtos_gpio_pin_t
◆ zrtos_gpio_t
◆ zrtos_gpio_value_analog_t
◆ zrtos_gpio_value_digital_t
◆ zrtos_gpio_mode_t
Enumerator |
---|
ZRTOS_GPIO_MODE__INPUT | |
ZRTOS_GPIO_MODE__OUTPUT | |
ZRTOS_GPIO_MODE__PULLUP | |
Definition at line 24 of file gpio.h.
◆ ZRTOS_ASSERT__STATIC() [1/3]
◆ ZRTOS_ASSERT__STATIC() [2/3]
◆ ZRTOS_ASSERT__STATIC() [3/3]
◆ zrtos_gpio__analog_read()
Definition at line 365 of file gpio.h.
zrtos_error_t(* analog_read)(struct _zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin, zrtos_gpio_value_analog_t *val)
◆ zrtos_gpio__analog_read_ex()
Definition at line 395 of file gpio.h.
zrtos_error_t zrtos_gpio__analog_read_ex(zrtos_gpio_t *thiz,...)
◆ zrtos_gpio__analog_read_va()
Definition at line 373 of file gpio.h.
380 size_t len = va_arg(args,
size_t);
#define ZRTOS_GPIO__VA_ARG_PIN(args)
zrtos_error_t zrtos_gpio__analog_read(zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin, zrtos_gpio_value_analog_t *val)
zrtos_arch_gpio_pin_t zrtos_gpio_pin_t
bool zrtos_error__is_success(zrtos_error_t thiz)
Successful program execution status.
zrtos_arch_gpio_value_analog_t zrtos_gpio_value_analog_t
◆ zrtos_gpio__analog_write()
Definition at line 412 of file gpio.h.
zrtos_error_t(* analog_write)(struct _zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin, zrtos_gpio_value_analog_t val)
◆ zrtos_gpio__analog_write_ex()
Definition at line 442 of file gpio.h.
zrtos_error_t zrtos_gpio__analog_write_va(zrtos_gpio_t *thiz, va_list args)
◆ zrtos_gpio__analog_write_va()
Definition at line 420 of file gpio.h.
427 size_t len = va_arg(args,
size_t);
zrtos_error_t zrtos_gpio__analog_write(zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin, zrtos_gpio_value_analog_t val)
#define ZRTOS_GPIO__VA_ARG_PIN(args)
zrtos_arch_gpio_pin_t zrtos_gpio_pin_t
bool zrtos_error__is_success(zrtos_error_t thiz)
Successful program execution status.
#define ZRTOS_GPIO__VA_ARG_VALUE_ANALOG(args)
zrtos_arch_gpio_value_analog_t zrtos_gpio_value_analog_t
◆ zrtos_gpio__delay_microseconds()
void zrtos_gpio__delay_microseconds |
( |
uint16_t |
us | ) |
|
Definition at line 508 of file gpio.h.
void zrtos_arch__delay_microseconds(uint16_t us)
◆ zrtos_gpio__delay_milliseconds()
void zrtos_gpio__delay_milliseconds |
( |
uint16_t |
ms | ) |
|
Definition at line 512 of file gpio.h.
void zrtos_arch__delay_milliseconds(uint16_t ms)
◆ zrtos_gpio__digital_read()
Definition at line 177 of file gpio.h.
zrtos_error_t(* digital_read)(struct _zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin, zrtos_gpio_value_digital_t *val)
◆ zrtos_gpio__digital_read_ex()
Definition at line 207 of file gpio.h.
zrtos_error_t zrtos_gpio__digital_read_va(zrtos_gpio_t *thiz, va_list args)
◆ zrtos_gpio__digital_read_va()
Definition at line 185 of file gpio.h.
192 size_t len = va_arg(args,
size_t);
#define ZRTOS_GPIO__VA_ARG_PIN(args)
bool zrtos_gpio_value_digital_t
zrtos_arch_gpio_pin_t zrtos_gpio_pin_t
bool zrtos_error__is_success(zrtos_error_t thiz)
Successful program execution status.
zrtos_error_t zrtos_gpio__digital_read(zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin, zrtos_gpio_value_digital_t *val)
◆ zrtos_gpio__digital_write()
Definition at line 224 of file gpio.h.
zrtos_error_t(* digital_write)(struct _zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin, zrtos_gpio_value_digital_t val)
◆ zrtos_gpio__digital_write_ex()
Definition at line 254 of file gpio.h.
zrtos_error_t zrtos_gpio__digital_write_va(zrtos_gpio_t *thiz, va_list args)
◆ zrtos_gpio__digital_write_va()
Definition at line 232 of file gpio.h.
239 size_t len = va_arg(args,
size_t);
#define ZRTOS_GPIO__VA_ARG_PIN(args)
bool zrtos_gpio_value_digital_t
zrtos_arch_gpio_pin_t zrtos_gpio_pin_t
#define ZRTOS_GPIO__VA_ARG_VALUE_DIGITAL(args)
bool zrtos_error__is_success(zrtos_error_t thiz)
Successful program execution status.
zrtos_error_t zrtos_gpio__digital_write(zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin, zrtos_gpio_value_digital_t val)
◆ zrtos_gpio__init()
bool zrtos_gpio__init |
( |
zrtos_gpio_t * |
thiz, |
|
|
zrtos_error_t(*)(struct _zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin, zrtos_gpio_mode_t mode) |
set_mode, |
|
|
zrtos_error_t(*)(struct _zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin, zrtos_gpio_value_digital_t *val) |
digital_read, |
|
|
zrtos_error_t(*)(struct _zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin, zrtos_gpio_value_digital_t val) |
digital_write, |
|
|
zrtos_error_t(*)(struct _zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin, zrtos_gpio_value_analog_t *val) |
analog_read, |
|
|
zrtos_error_t(*)(struct _zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin, zrtos_gpio_value_analog_t val) |
analog_write |
|
) |
| |
Definition at line 93 of file gpio.h.
zrtos_error_t(* analog_write)(struct _zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin, zrtos_gpio_value_analog_t val)
zrtos_error_t(* digital_write)(struct _zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin, zrtos_gpio_value_digital_t val)
zrtos_error_t(* set_mode)(struct _zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin, zrtos_gpio_mode_t mode)
zrtos_error_t(* analog_read)(struct _zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin, zrtos_gpio_value_analog_t *val)
zrtos_error_t(* digital_read)(struct _zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin, zrtos_gpio_value_digital_t *val)
◆ zrtos_gpio__set_high()
Definition at line 271 of file gpio.h.
zrtos_error_t zrtos_gpio__digital_write(zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin, zrtos_gpio_value_digital_t val)
◆ zrtos_gpio__set_high_ex()
Definition at line 301 of file gpio.h.
zrtos_error_t zrtos_gpio__set_high_va(zrtos_gpio_t *thiz, va_list args)
◆ zrtos_gpio__set_high_va()
Definition at line 282 of file gpio.h.
288 size_t len = va_arg(args,
size_t);
#define ZRTOS_GPIO__VA_ARG_PIN(args)
zrtos_arch_gpio_pin_t zrtos_gpio_pin_t
bool zrtos_error__is_success(zrtos_error_t thiz)
Successful program execution status.
zrtos_error_t zrtos_gpio__set_high(zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin)
◆ zrtos_gpio__set_low()
Definition at line 318 of file gpio.h.
zrtos_error_t(* digital_write)(struct _zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin, zrtos_gpio_value_digital_t val)
◆ zrtos_gpio__set_low_ex()
Definition at line 348 of file gpio.h.
zrtos_error_t zrtos_gpio__set_low_va(zrtos_gpio_t *thiz, va_list args)
◆ zrtos_gpio__set_low_va()
Definition at line 329 of file gpio.h.
335 size_t len = va_arg(args,
size_t);
#define ZRTOS_GPIO__VA_ARG_PIN(args)
zrtos_arch_gpio_pin_t zrtos_gpio_pin_t
bool zrtos_error__is_success(zrtos_error_t thiz)
Successful program execution status.
zrtos_error_t zrtos_gpio__set_low(zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin)
◆ zrtos_gpio__set_mode()
Definition at line 130 of file gpio.h.
135 return thiz->
set_mode(thiz,pin,mode);
zrtos_error_t(* set_mode)(struct _zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin, zrtos_gpio_mode_t mode)
◆ zrtos_gpio__set_mode_ex()
Definition at line 160 of file gpio.h.
zrtos_error_t zrtos_gpio__set_mode_va(zrtos_gpio_t *thiz, va_list args)
◆ zrtos_gpio__set_mode_va()
Definition at line 138 of file gpio.h.
145 size_t len = va_arg(args,
size_t);
#define ZRTOS_GPIO__VA_ARG_MODE(args)
#define ZRTOS_GPIO__VA_ARG_PIN(args)
zrtos_error_t zrtos_gpio__set_mode(zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin, zrtos_gpio_mode_t mode)
zrtos_arch_gpio_pin_t zrtos_gpio_pin_t
bool zrtos_error__is_success(zrtos_error_t thiz)
Successful program execution status.
◆ zrtos_gpio__shift_in()
Definition at line 459 of file gpio.h.
469 for (i = 0; i < 8; ++i) {
475 value |= val << (7 - i);
bool zrtos_gpio_value_digital_t
zrtos_error_t zrtos_gpio__digital_read(zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin, zrtos_gpio_value_digital_t *val)
zrtos_error_t zrtos_gpio__set_high(zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin)
zrtos_error_t zrtos_gpio__set_low(zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin)
◆ zrtos_gpio__shift_out()
Definition at line 482 of file gpio.h.
492 for(i = 0; i < 8; i++){
497 val = ((value & 128) != 0);
bool zrtos_gpio_value_digital_t
Successful program execution status.
zrtos_error_t zrtos_gpio__set_high(zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin)
zrtos_error_t zrtos_gpio__digital_write(zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin, zrtos_gpio_value_digital_t val)
zrtos_error_t zrtos_gpio__set_low(zrtos_gpio_t *thiz, zrtos_gpio_pin_t pin)