base-files: gpio switch: set output value with direction
Use the "low" and "high" values to configure the GPIO as an output with that initial value. It ensures that the gpio doesn't have a unwanted value during the time the direction is set to ouput and the actual value is applied. We don't need to take care of the GPIO polarity for now, since our exported GPIOs are always active low. Signed-off-by: Mathias Kresin <dev@kresin.me>
This commit is contained in:
parent
ff874b656b
commit
e66c47fb14
2 changed files with 3 additions and 4 deletions
|
@ -12,7 +12,7 @@ include $(INCLUDE_DIR)/version.mk
|
|||
include $(INCLUDE_DIR)/feeds.mk
|
||||
|
||||
PKG_NAME:=base-files
|
||||
PKG_RELEASE:=181
|
||||
PKG_RELEASE:=182
|
||||
PKG_FLAGS:=nonshared
|
||||
|
||||
PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/
|
||||
|
|
|
@ -22,10 +22,9 @@ load_gpio_switch()
|
|||
echo "$gpio_pin" >/sys/class/gpio/export
|
||||
# we need to wait a bit until the GPIO appears
|
||||
[ -d "$gpio_path" ] || sleep 1
|
||||
echo out >"$gpio_path/direction"
|
||||
}
|
||||
# write 0 or 1 to the "value" field
|
||||
{ [ "$value" = "0" ] && echo "0" || echo "1"; } >"$gpio_path/value"
|
||||
# set the pin to output with high or low pin value
|
||||
{ [ "$value" = "0" ] && echo "high" || echo "low"; } >"$gpio_path/direction"
|
||||
}
|
||||
|
||||
service_triggers()
|
||||
|
|
Loading…
Reference in a new issue