libDaisy
Hardware Library for Daisy
Loading...
Searching...
No Matches
switch3.h
Go to the documentation of this file.
1#pragma once
2#include "daisy_core.h"
3#include "per/gpio.h"
4
5namespace daisy
6{
7class Switch3
8{
9 public:
10 enum
11 {
14 POS_UP = 1,
17 };
18
19
22
24 {
25 pina_gpio_.pin = pina;
26 pina_gpio_.mode = DSY_GPIO_MODE_INPUT;
27 pina_gpio_.pull = DSY_GPIO_PULLUP;
28 dsy_gpio_init(&pina_gpio_);
29
30 pinb_gpio_.pin = pinb;
31 pinb_gpio_.mode = DSY_GPIO_MODE_INPUT;
32 pinb_gpio_.pull = DSY_GPIO_PULLUP;
33 dsy_gpio_init(&pinb_gpio_);
34 }
35
36 int Read()
37 {
38 if(!dsy_gpio_read(&pina_gpio_))
39 return POS_UP;
40 if(!dsy_gpio_read(&pinb_gpio_))
41 return POS_DOWN;
42 return POS_CENTER;
43 }
44
45 private:
46 dsy_gpio pina_gpio_;
47 dsy_gpio pinb_gpio_;
48};
49
50} // namespace daisy
Definition leddriver.h:33
Definition switch3.h:8
int Read()
Definition switch3.h:36
@ POS_CENTER
Definition switch3.h:12
@ POS_DOWN
Definition switch3.h:16
@ POS_UP
Definition switch3.h:14
@ POS_RIGHT
Definition switch3.h:15
@ POS_LEFT
Definition switch3.h:13
void Init(dsy_gpio_pin pina, dsy_gpio_pin pinb)
Definition switch3.h:23
Switch3()
Definition switch3.h:20
~Switch3()
Definition switch3.h:21
void dsy_gpio_init(const dsy_gpio *p)
uint8_t dsy_gpio_read(const dsy_gpio *p)
@ DSY_GPIO_MODE_INPUT
Definition gpio.h:158
@ DSY_GPIO_PULLUP
Definition gpio.h:169
Hardware defines and helpers for daisy field platform.
Definition index.h:2
Definition daisy_core.h:205
Definition gpio.h:175
dsy_gpio_mode mode
Definition gpio.h:177
dsy_gpio_pin pin
Definition gpio.h:176
dsy_gpio_pull pull
Definition gpio.h:178