cindy_wijaya

GPIO MR3420 V.2

Jan 9th, 2013
285
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 7.80 KB | None | 0 0
  1. root@OpenWrt:/usr/bin# cat gpio_export.sh
  2. ##################################
  3. #    Export GPIO from 1 to 18    #
  4. ##################################
  5.  
  6. GPIO_DIR="/sys/devices/virtual/gpio/gpio"
  7.  
  8. for i in `seq 1 18`; do
  9.   echo -ne "Exporting gpio$i... "
  10.   echo $i > /sys/class/gpio/export
  11.   if [ $? == 0 ]; then echo "ok"; fi
  12. done
  13. root@OpenWrt:~#
  14. root@OpenWrt:~#
  15. root@OpenWrt:~# cat gpio_set_value.sh
  16. ##################################
  17. #    Set value for GPIO 1-18     #
  18. ##################################
  19.  
  20. GPIO_DIR="/sys/devices/virtual/gpio/gpio"
  21.  
  22. if [ "$1" != "0" ] && [ "$1" != "1" ]; then
  23.   echo -e "Arguments: [0, 1].\n"
  24.   exit 1
  25. fi
  26.  
  27. for i in `seq 1 18`; do
  28.   if [ -d $GPIO_DIR$i ] && [ $i != 6 ]; then
  29.     echo -ne "Set value $1 for gpio$i..."
  30.     echo $1 > $GPIO_DIR$i/value
  31.     if [ $? == 0 ]; then echo "ok"; else echo "failed"; fi
  32.   fi
  33. doneroot@OpenWrt:/usr/bin#
  34. root@OpenWrt:/usr/bin#
  35. root@OpenWrt:/usr/bin# cat gpio_set_value.sh
  36. cat: can't open 'gpio_set_value.sh': No such file or directory
  37. root@OpenWrt:/usr/bin# cat gpio_set_value.sh
  38. cat: can't open 'gpio_set_value.sh': No such file or directory
  39. root@OpenWrt:/usr/bin# clear
  40. root@OpenWrt:/usr/bin# cat gpio_export.sh
  41. ##################################
  42. #    Export GPIO from 1 to 18    #
  43. ##################################
  44.  
  45. GPIO_DIR="/sys/devices/virtual/gpio/gpio"
  46.  
  47. for i in `seq 1 18`; do
  48.   echo -ne "Exporting gpio$i... "
  49.   echo $i > /sys/class/gpio/export
  50.   if [ $? == 0 ]; then echo "ok"; fi
  51. done
  52. root@OpenWrt:~#
  53. root@OpenWrt:~#
  54. root@OpenWrt:~# cat gpio_set_value.sh
  55. ##################################
  56. #    Set value for GPIO 1-18     #
  57. ##################################
  58.  
  59. GPIO_DIR="/sys/devices/virtual/gpio/gpio"
  60.  
  61. if [ "$1" != "0" ] && [ "$1" != "1" ]; then
  62.   echo -e "Arguments: [0, 1].\n"
  63.   exit 1
  64. fi
  65.  
  66. for i in `seq 1 18`; do
  67.   if [ -d $GPIO_DIR$i ] && [ $i != 6 ]; then
  68.     echo -ne "Set value $1 for gpio$i..."
  69.     echo $1 > $GPIO_DIR$i/value
  70.     if [ $? == 0 ]; then echo "ok"; else echo "failed"; fi
  71.   fi
  72. done
  73. root@OpenWrt:/usr/bin#
  74. root@OpenWrt:/usr/bin#
  75. root@OpenWrt:/usr/bin# cat gpio_set_value.sh
  76. ##################################
  77. #    Set value for GPIO 1-18     #
  78. ##################################
  79.  
  80. GPIO_DIR="/sys/devices/virtual/gpio/gpio"
  81.  
  82. if [ "$1" != "0" ] && [ "$1" != "1" ]; then
  83.   echo -e "Arguments: [0, 1].\n"
  84.   exit 1
  85. fi
  86.  
  87. for i in `seq 1 18`; do
  88.   if [ -d $GPIO_DIR$i ] && [ $i != 6 ]; then
  89.     echo -ne "Set value $1 for gpio$i..."
  90.     echo $1 > $GPIO_DIR$i/value
  91.     if [ $? == 0 ]; then echo "ok"; else echo "failed"; fi
  92.   fi
  93. done
  94. root@OpenWrt:/usr/bin# cat gpio_set_direction.sh
  95. ##################################
  96. #   Set direction of GPIO 1-18   #
  97. ##################################
  98.  
  99. GPIO_DIR="/sys/devices/virtual/gpio/gpio"
  100.  
  101. if [ "$1" != "in" ]   && \
  102.    [ "$1" != "out" ]  && \
  103.    [ "$1" != "high" ] && \
  104.    [ "$1" != "low" ]; then
  105.   echo -e "Arguments: ['in', 'out', 'high', 'low']\n"
  106.   exit 1
  107. fi
  108.  
  109. for i in `seq 1 18`; do
  110.   if [ -d $GPIO_DIR$i ] && [ $i != 6 ]; then
  111.     echo -ne "Set direction $1 for gpio$i..."
  112.     echo $1 > $GPIO_DIR$i/direction
  113.     if [ $? == 0 ]; then echo "ok"; else echo "failed"; fi
  114.   fi
  115. done
  116. root@OpenWrt:/usr/bin# cat gpio_read.sh
  117. ##################################
  118. #   Read all from of GPIO 1-18   #
  119. ##################################
  120.  
  121. GPIO_DIR="/sys/devices/virtual/gpio/gpio"
  122.  
  123. if [ "$1" != "value" ]      && \
  124.    [ "$1" != "direction" ]  && \
  125.    [ "$1" != "active_low" ] && \
  126.    [ "$1" != "event" ]; then
  127.   echo -e "Arguments: ['value', 'direction', 'active_low', 'event'].-n"
  128.   exit 1
  129. fi
  130.  
  131. for i in `seq 1 18`; do
  132.   if [ -d $GPIO_DIR$i ] && [ $i != 6 ]; then
  133.     echo -ne "$1 for gpio$i: "
  134.     cat $GPIO_DIR$i/$1
  135.   fi
  136. done
  137. root@OpenWrt:/usr/bin# sh gpio_export.sh
  138. Exporting gpio1... sh: write error: Device or resource busy
  139. Exporting gpio2... sh: write error: Device or resource busy
  140. Exporting gpio3... sh: write error: Device or resource busy
  141. Exporting gpio4... sh: write error: Device or resource busy
  142. Exporting gpio5... sh: write error: Device or resource busy
  143. Exporting gpio6... sh: write error: Device or resource busy
  144. Exporting gpio7... sh: write error: Device or resource busy
  145. Exporting gpio8... sh: write error: Device or resource busy
  146. Exporting gpio9... sh: write error: Device or resource busy
  147. Exporting gpio10... sh: write error: Device or resource busy
  148. Exporting gpio11... sh: write error: Device or resource busy
  149. Exporting gpio12... sh: write error: Device or resource busy
  150. Exporting gpio13... sh: write error: Device or resource busy
  151. Exporting gpio14... sh: write error: Device or resource busy
  152. Exporting gpio15... sh: write error: Device or resource busy
  153. Exporting gpio16... sh: write error: Device or resource busy
  154. Exporting gpio17... sh: write error: Device or resource busy
  155. Exporting gpio18... sh: write error: Device or resource busy
  156. gpio_export.sh: line 12: root@OpenWrt:~#: not found
  157. gpio_export.sh: line 13: root@OpenWrt:~#: not found
  158. gpio_export.sh: line 14: root@OpenWrt:~#: not found
  159. Arguments: [0, 1].
  160.  
  161. root@OpenWrt:/usr/bin# gpio_set_direction.sh out
  162. Set direction out for gpio1...ok
  163. Set direction out for gpio2...ok
  164. Set direction out for gpio3...ok
  165. Set direction out for gpio4...ok
  166. Set direction out for gpio5...ok
  167. Set direction out for gpio7...ok
  168. Set direction out for gpio8...ok
  169. Set direction out for gpio9...ok
  170. Set direction out for gpio10...ok
  171. Set direction out for gpio11...ok
  172. root@OpenWrt:/usr/bin# gpio_set_value.sh 1
  173. Set value 1 for gpio1...ok
  174. Set value 1 for gpio2...ok
  175. Set value 1 for gpio3...ok
  176. Set value 1 for gpio4...ok
  177. Set value 1 for gpio5...ok
  178. Set value 1 for gpio7...ok
  179. Set value 1 for gpio8...ok
  180. Set value 1 for gpio9...ok
  181. Set value 1 for gpio10...ok
  182. Set value 1 for gpio11...ok
  183. root@OpenWrt:/usr/bin# gpio_read.sh direction
  184. direction for gpio1: out
  185. direction for gpio2: out
  186. direction for gpio3: out
  187. direction for gpio4: out
  188. direction for gpio5: out
  189. direction for gpio7: out
  190. direction for gpio8: out
  191. direction for gpio9: out
  192. direction for gpio10: out
  193. direction for gpio11: out
  194. root@OpenWrt:/usr/bin# sh gpio_read.sh value
  195. value for gpio1: 0
  196. value for gpio2: 0
  197. value for gpio3: 0
  198. value for gpio4: 0
  199. value for gpio5: 1
  200. value for gpio7: 0
  201. value for gpio8: 1
  202. value for gpio9: 1
  203. value for gpio10: 1
  204. value for gpio11: 1
  205. root@OpenWrt:/usr/bin# gpio_set_value.sh 0
  206. Set value 0 for gpio1...ok
  207. Set value 0 for gpio2...ok
  208. Set value 0 for gpio3...ok
  209. Set value 0 for gpio4...ok
  210. Set value 0 for gpio5...ok
  211. Set value 0 for gpio7...ok
  212. Set value 0 for gpio8...ok
  213. Set value 0 for gpio9...ok
  214. Set value 0 for gpio10...ok
  215. Set value 0 for gpio11...ok
  216. root@OpenWrt:/usr/bin# gpio_read.sh value
  217. value for gpio1: 0
  218. value for gpio2: 0
  219. value for gpio3: 0
  220. value for gpio4: 0
  221. value for gpio5: 1
  222. value for gpio7: 0
  223. value for gpio8: 0
  224. value for gpio9: 0
  225. value for gpio10: 1
  226. value for gpio11: 0
  227. root@OpenWrt:/usr/bin#
  228. root@OpenWrt:/usr/bin# cat /sys/kernel/debug/gpio
  229. GPIOs 0-22, ath79:
  230.  gpio-1   (sysfs               ) out lo
  231.  gpio-2   (sysfs               ) out lo
  232.  gpio-3   (sysfs               ) out lo
  233.  gpio-4   (sysfs               ) out lo
  234.  gpio-5   (sysfs               ) out hi
  235.  gpio-6   (sysfs               ) in  lo
  236.  gpio-7   (sysfs               ) out lo
  237.  gpio-8   (sysfs               ) out hi
  238.  gpio-9   (sysfs               ) out hi
  239.  gpio-10  (sysfs               ) out hi
  240.  gpio-11  (sysfs               ) out hi
  241.  gpio-12  (tp-link:green:lan4  ) out hi
  242.  gpio-13  (tp-link:green:wlan  ) out hi
  243.  gpio-14  (tp-link:green:system) out lo
  244.  gpio-15  (tp-link:green:qss   ) out hi
  245.  gpio-16  (RFKILL switch       ) in  hi
  246.  gpio-17  (Reset button        ) in  hi
  247.  gpio-18  (tp-link:green:wan   ) out lo
  248.  gpio-19  (tp-link:green:lan1  ) out hi
  249.  gpio-20  (tp-link:green:lan2  ) out lo
  250.  gpio-21  (tp-link:green:lan3  ) out hi
  251.  gpio-22  (sysfs               ) in  lo
  252. root@OpenWrt:/usr/bin#
Advertisement
Add Comment
Please, Sign In to add comment