This project enables PWM on the GPIO pins you request of a Raspberry Pi. The 
technique used is extremely efficient: does not use the CPU and gives very 
stable pulses.

Signed-off-by: Alex J Lennon <ajlen...@dynamicdevices.co.uk>
---
 recipes-devtools/pi-blaster/files/initscript.patch | 71 ++++++++++++++++++++++
 recipes-devtools/pi-blaster/pi-blaster.inc         | 36 +++++++++++
 recipes-devtools/pi-blaster/pi-blaster_git.bb      |  3 +
 3 files changed, 110 insertions(+)
 create mode 100644 recipes-devtools/pi-blaster/files/initscript.patch
 create mode 100644 recipes-devtools/pi-blaster/pi-blaster.inc
 create mode 100644 recipes-devtools/pi-blaster/pi-blaster_git.bb

diff --git a/recipes-devtools/pi-blaster/files/initscript.patch 
b/recipes-devtools/pi-blaster/files/initscript.patch
new file mode 100644
index 0000000..8545546
--- /dev/null
+++ b/recipes-devtools/pi-blaster/files/initscript.patch
@@ -0,0 +1,71 @@
+diff -ur git.org/pi-blaster.boot.sh git/pi-blaster.boot.sh
+--- git.org/pi-blaster.boot.sh 2014-05-20 14:49:44.378582168 +0100
++++ git/pi-blaster.boot.sh     2014-05-20 14:51:08.330582386 +0100
+@@ -28,12 +28,12 @@
+ [ -r /etc/default/$NAME ] && . /etc/default/$NAME
+ 
+ # Load the VERBOSE setting and other rcS variables
+-. /lib/init/vars.sh
++#. /lib/init/vars.sh
+ 
+ # Define LSB log_* functions.
+ # Depend on lsb-base (>= 3.2-14) to ensure that this file is present
+ # and status_of_proc is working.
+-. /lib/lsb/init-functions
++#. /lib/lsb/init-functions
+ 
+ #
+ # Function that starts the daemon/service
+@@ -77,48 +77,23 @@
+ 
+ case "$1" in
+   start)
+-      [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
++      [ "$VERBOSE" != no ] && echo "Starting $DESC" "$NAME"
+       do_start
+-      case "$?" in
+-              0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+-              2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+-      esac
+       ;;
+   stop)
+-      [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
++      [ "$VERBOSE" != no ] && echo "Stopping $DESC" "$NAME"
+       do_stop
+-      case "$?" in
+-              0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+-              2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+-      esac
+-      ;;
+-  status)
+-      status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+       ;;
+   restart|force-reload)
+       #
+       # If the "reload" option is implemented then remove the
+       # 'force-reload' alias
+       #
+-      log_daemon_msg "Restarting $DESC" "$NAME"
+       do_stop
+-      case "$?" in
+-        0|1)
+-              do_start
+-              case "$?" in
+-                      0) log_end_msg 0 ;;
+-                      1) log_end_msg 1 ;; # Old process is still running
+-                      *) log_end_msg 1 ;; # Failed to start
+-              esac
+-              ;;
+-        *)
+-              # Failed to stop
+-              log_end_msg 1
+-              ;;
+-      esac
++      do_start
+       ;;
+   *)
+-      echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
++      echo "Usage: $SCRIPTNAME {start|stop|restart}" >&2
+       exit 3
+       ;;
+ esac
diff --git a/recipes-devtools/pi-blaster/pi-blaster.inc 
b/recipes-devtools/pi-blaster/pi-blaster.inc
new file mode 100644
index 0000000..85a6a4d
--- /dev/null
+++ b/recipes-devtools/pi-blaster/pi-blaster.inc
@@ -0,0 +1,36 @@
+DESCRIPTION = "This project enables PWM on the GPIO pins you request of a 
Raspberry Pi."
+HOMEPAGE = "https://github.com/sarfata/pi-blaster/";
+SECTION = "devel/libs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = 
"file://README.md;beginline=138;endline=151;md5=e0f0f92050a87a160939707c60940307"
+
+SRC_URI = "git://github.com/sarfata/pi-blaster \
+          file://initscript.patch \
+"
+
+
+S = "${WORKDIR}/git"
+
+COMPATIBLE_MACHINE = "raspberrypi"
+
+inherit update-rc.d
+
+INITSCRIPT_PACKAGES = "${PN}"
+INITSCRIPT_NAME_${PN} = "pi-blaster.boot.sh"
+INITSCRIPT_PARAMS_${PN} = "defaults 15 85"
+
+do_configure() {
+  sed -e "s|gcc|${CC}|g" -i Makefile
+}
+
+do_compile() {
+  oe_runmake 
+}
+
+do_install() {
+  install -d ${D}${sbindir}
+  install -m 0755 ${S}/pi-blaster ${D}${sbindir}
+  install -d ${D}${sysconfdir}
+  install -d ${D}${sysconfdir}/init.d
+  install -m 0755 ${S}/pi-blaster.boot.sh ${D}${sysconfdir}/init.d
+}
diff --git a/recipes-devtools/pi-blaster/pi-blaster_git.bb 
b/recipes-devtools/pi-blaster/pi-blaster_git.bb
new file mode 100644
index 0000000..25eb382
--- /dev/null
+++ b/recipes-devtools/pi-blaster/pi-blaster_git.bb
@@ -0,0 +1,3 @@
+require pi-blaster.inc
+
+SRCREV = "177cef81774d6df5c6284c198ff818515281db14"
-- 
1.9.3

-- 
_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to