summaryrefslogtreecommitdiff
path: root/tools/dtmf/soxdtmftest.sh
diff options
context:
space:
mode:
authorChristian Pointner <equinox@mur.at>2011-07-29 13:19:27 +0000
committerChristian Pointner <equinox@mur.at>2011-07-29 13:19:27 +0000
commitf9e3c761e4d856a2a47c02502e7278c55cd88a75 (patch)
tree120641cf2dd237164fcc4c700e313f9b1d1b9f1e /tools/dtmf/soxdtmftest.sh
parenttiny refactoring (diff)
moved software tests to tools
git-svn-id: https://svn.spreadspace.org/mur.sat@70 7de4ea59-55d0-425e-a1af-a3118ea81d4c
Diffstat (limited to 'tools/dtmf/soxdtmftest.sh')
-rwxr-xr-xtools/dtmf/soxdtmftest.sh64
1 files changed, 64 insertions, 0 deletions
diff --git a/tools/dtmf/soxdtmftest.sh b/tools/dtmf/soxdtmftest.sh
new file mode 100755
index 0000000..a67d97b
--- /dev/null
+++ b/tools/dtmf/soxdtmftest.sh
@@ -0,0 +1,64 @@
+#!/bin/zsh
+#
+# mur.sat
+#
+# Somewhen in the year 2011, mur.at will have a nano satellite launched
+# into a low earth orbit (310 km above the surface of our planet). The
+# satellite itself is a TubeSat personal satellite kit, developed and
+# launched by interorbital systems. mur.sat is a joint venture of mur.at,
+# ESC im Labor and realraum.
+#
+# Please visit the project hompage at sat.mur.at for further information.
+#
+#
+# Copyright (C) 2011 Bernhard Tittelbach <xro@realraum.at>
+#
+# This file is part of mur.sat.
+#
+# mur.sat is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# any later version.
+#
+# mur.sat is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with mur.sat. If not, see <http://www.gnu.org/licenses/>.
+#
+
+setopt extendedglob
+
+function killchilds
+{
+ for childspec (${jobstates}) print kill ${${childspec[(s/:/w)5]}%%\=*};
+}
+
+typeset -i DURATION=${1:-10}
+CMD="play -n synth $DURATION"
+while true; do
+ read -k 1 DIGIT
+ case $DIGIT in
+ 1) ${=CMD} sin 697 sin 1209 & ;;
+ 2) ${=CMD} sin 697 sin 1336 & ;;
+ 3) ${=CMD} sin 697 sin 1477 & ;;
+ 4) ${=CMD} sin 770 sin 1209 & ;;
+ 5) ${=CMD} sin 770 sin 1336 & ;;
+ 6) ${=CMD} sin 770 sin 1477 & ;;
+ 7) ${=CMD} sin 852 sin 1209 & ;;
+ 8) ${=CMD} sin 852 sin 1336 & ;;
+ 9) ${=CMD} sin 852 sin 1477 & ;;
+ 0) ${=CMD} sin 941 sin 1336 & ;;
+ '*') ${=CMD} sin 941 sin 1209 & ;;
+ '#') ${=CMD} sin 941 sin 1477 & ;;
+ a) ${=CMD} sin 697 sin 1633 & ;;
+ b) ${=CMD} sin 770 sin 1633 & ;;
+ c) ${=CMD} sin 852 sin 1633 & ;;
+ d) ${=CMD} sin 941 sin 1633 & ;;
+ s) killchilds ;;
+ ' ') killchilds ;;
+ q) killchilds; exit 0 ;;
+ esac
+done