UdonLibrary
1.0.0
機械システム研究部 C++ ライブラリ
読み取り中…
検索中…
一致する文字列を見つけられません
DipSwitch.hpp
[詳解]
1
//
2
// DIPスイッチ
3
//
4
// Copyright (c) 2022-2024 udonrobo
5
//
6
7
#pragma once
8
9
#include <
Udon/Stl/EnableSTL.hpp
>
10
#include <vector>
11
#include <stdint.h>
12
13
#ifdef ARDUINO
14
15
namespace
Udon
16
{
17
22
inline
int
DecodeDipSwitch(std::initializer_list<uint8_t> pins)
23
{
24
for
(
auto
&& pin : pins)
25
{
26
pinMode(pin, INPUT_PULLUP);
27
}
28
29
int
dec = 0;
30
int
i = 0;
31
32
for
(
auto
&& pin : pins)
33
{
34
bitWrite(dec, i++, not digitalRead(pin));
35
delayMicroseconds(5);
// チャタリング対策
36
}
37
38
return
dec;
39
}
40
41
}
// namespace Udon
42
43
#endif
EnableSTL.hpp
Udon
Definition
Bit.hpp:12