Module: Smalruby::Hardware::Pin
- Defined in:
- lib/smalruby/hardware/pin.rb
Constant Summary collapse
- DIO_DINO_RE =
/\A([0-9]|1[0-3])\z/
- DIO_SMALRUBY_RE =
/\AD([0-9]|1[0-3])\z/
- AI_RE =
/\AA[0-5]\z/
Class Method Summary collapse
-
.dino_to_smalruby(pin) ⇒ String
Dinoのピン番号をSmalrubyのピン番号に変換する.
-
.smalruby_to_dino(pin) ⇒ Numeric, String
Smalrubyのピン番号をDinoのピン番号に変換する.
Class Method Details
.dino_to_smalruby(pin) ⇒ String
Dinoのピン番号をSmalrubyのピン番号に変換する
ピン番号が0~13、D0~D13、A0~A5でなければ例外が発生する
40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/smalruby/hardware/pin.rb', line 40 def dino_to_smalruby(pin) pin = pin.to_s case pin when DIO_DINO_RE "D#{pin}" when DIO_SMALRUBY_RE pin when AI_RE pin else fail "ハードウェアのピンの番号が間違っています: #{pin}" end end |
.smalruby_to_dino(pin) ⇒ Numeric, String
Smalrubyのピン番号をDinoのピン番号に変換する
ピン番号が0~13、D0~D13、A0~A5でなければ例外が発生する
20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/smalruby/hardware/pin.rb', line 20 def smalruby_to_dino(pin) pin = pin.to_s case pin when DIO_DINO_RE pin.to_i when DIO_SMALRUBY_RE pin[1..-1].to_i when AI_RE pin else fail "ハードウェアのピンの番号が間違っています: #{pin}" end end |