忍者ブログ
たんなるメモです。
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

GPIOの5,6,13,19,26を使って振り分ける部分作ってみました。
起動時に32個のオプションがディップスイッチで動かせます



#!/bin/sh
NUM=0
PRG="sudo PROGRAM -OPTION "
# GPIOのポート5,6,13,19,26を入力でオープン
#
echo 5 > /sys/class/gpio/export
echo in > /sys/class/gpio/gpio2/direction
echo low > /sys/class/gpio/gpio2/direction
echo 6 > /sys/class/gpio/export
echo in > /sys/class/gpio/gpio3/direction
echo low > /sys/class/gpio/gpio3/direction
echo 13 > /sys/class/gpio/export
echo in > /sys/class/gpio/gpio4/direction
echo low > /sys/class/gpio/gpio4/direction
echo 19 > /sys/class/gpio/export
echo in > /sys/class/gpio/gpio17/direction
echo low > /sys/class/gpio/gpio17/direction
echo 26 > /sys/class/gpio/export
echo in > /sys/class/gpio/gpio17/direction
echo low > /sys/class/gpio/gpio17/direction
# GPIOポートの入力状態を調べ数値に変更
#
if [`cat /sys/class/gpio/gpio5/value` -eq 1] ; then
  NUM=`expr $NUM + 1`
fi
if [`cat /sys/class/gpio/gpio6/value` -eq 1] ; then
  NUM=`expr $NUM + 2`
fi
if [`cat /sys/class/gpio/gpio13/value` -eq 1] ; then
  NUM=`expr $NUM + 4`
fi
if [`cat /sys/class/gpio/gpio19/value` -eq 1] ; then
  NUM=`expr $NUM + 8`
fi
if [`cat /sys/class/gpio/gpio26/value` -eq 1] ; then
  NUM=`expr $NUM + 16`
fi
# GPIOのポートを閉じる
#
echo 5 > /sys/class/gpio/unexport
echo 6 > /sys/class/gpio/unexport
echo 13 > /sys/class/gpio/unexport
echo 19 > /sys/class/gpio/unexport
echo 26 > /sys/class/gpio/unexport
# 条件に応じて実行データを設定
#
case $NUM in
   0 ) EXE="OBJECT01" ;;
   1 ) EXE="OBJECT02" ;;
   2 ) EXE="OBJECT03" ;;
   3 ) EXE="OBJECT04" ;;
   4 ) EXE="OBJECT05" ;;
   5 ) EXE="OBJECT06" ;;
   6 ) EXE="OBJECT07" ;;
   7 ) EXE="OBJECT08" ;;
   8 ) EXE="OBJECT09" ;;
   9 ) EXE="OBJECT10" ;;
  10 ) EXE="OBJECT11" ;;
  11 ) EXE="OBJECT12" ;;
  12 ) EXE="OBJECT13" ;;
  13 ) EXE="OBJECT14" ;;
  14 ) EXE="OBJECT15" ;;
  15 ) EXE="OBJECT16" ;;
  16 ) EXE="OBJECT17" ;;
  17 ) EXE="OBJECT18" ;;
  18 ) EXE="OBJECT19" ;;
  19 ) EXE="OBJECT20" ;;
  20 ) EXE="OBJECT21" ;;
  21 ) EXE="OBJECT22" ;;
  22 ) EXE="OBJECT23" ;;
  23 ) EXE="OBJECT24" ;;
  24 ) EXE="OBJECT25" ;;
  25 ) EXE="OBJECT26" ;;
  26 ) EXE="OBJECT27" ;;
  27 ) EXE="OBJECT28" ;;
  28 ) EXE="OBJECT29" ;;
  29 ) EXE="OBJECT30" ;;
  30 ) EXE="OBJECT31" ;;
  31 ) EXE="OBJECT32" ;;
esac
# プログラム オプションと結合
#
EXE=$PRG$EXE`
# 表示と実行
#
echo ${EXE}
${EXE}
# v0.0.2 Jul. 20 2017
PR
この記事にコメントする
お名前
タイトル
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
プロフィール
HN:
ぽんかん
性別:
非公開
P R
忍者カウンター
忍者ブログ [PR]