summaryrefslogtreecommitdiff
path: root/2.3-1/macros/Hardware/RasberryPi/Interrupt
diff options
context:
space:
mode:
Diffstat (limited to '2.3-1/macros/Hardware/RasberryPi/Interrupt')
-rwxr-xr-x2.3-1/macros/Hardware/RasberryPi/Interrupt/RPI_waitForInterrupt.sci45
-rwxr-xr-x2.3-1/macros/Hardware/RasberryPi/Interrupt/buildmacros.sce14
-rwxr-xr-x2.3-1/macros/Hardware/RasberryPi/Interrupt/names1
3 files changed, 60 insertions, 0 deletions
diff --git a/2.3-1/macros/Hardware/RasberryPi/Interrupt/RPI_waitForInterrupt.sci b/2.3-1/macros/Hardware/RasberryPi/Interrupt/RPI_waitForInterrupt.sci
new file mode 100755
index 00000000..bb180420
--- /dev/null
+++ b/2.3-1/macros/Hardware/RasberryPi/Interrupt/RPI_waitForInterrupt.sci
@@ -0,0 +1,45 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Email: toolbox@scilab.in
+
+function out=RPI_waitForInterrupt(pin,timeOut)
+// Function to set a pin to wait for interrupt.
+//
+// Calling Sequence
+// i=RPI_waitForInterrupt(pin,timeOut)
+//
+// Parameters
+// pin : The pin to check for interrupt. Numbering sequence to be followed as initiated using RPI_pinNumbering function.
+// timeOut: The time (in milliseconds) for which to wait for interrupt. -1 to wait forever.
+//
+// Description
+// When called, it will wait for an interrupt event to happen on that pin and the program will be stalled. The return value is -1 if an error occurred (and errno will be set appropriately), 0 if it timed out, or 1 on a successful interrupt event.
+//
+// Before using RPI_waitForInterrupt, first initialise the GPIO pin and at present the only way to do this is to use the gpio program, either in a script, or using the system() call from inside the program.
+// Eg: To wait for a falling-edge interrupt on GPIO pin 0, setup the hardware using (before running the program):
+// gpio edge 0 falling
+//
+// Examples
+// i=RPI_waitForInterrupt(0,5000)
+// See also
+//
+//
+// Authors
+// Jorawar Singh
+//
+// Bibliography
+// http://wiringpi.com/reference/
+
+ commande="Int#2#"+string(pin)+"#"+string(timeOut)+"#";
+ if getos()=="Linux" then
+ out=unix_g("python -c ""import socket;s=socket.socket();s.connect((''"+RPI_piAdress+"'',9077));s.send(''"+commande+"'');print(s.recv(1024));s.close()""");
+ elseif getos()=="Windows" then
+ [out,RPI_winR]=dos("python -c ""import socket;s=socket.socket();s.connect((''"+RPI_piAdress+"'',9077));s.send(''"+commande+"'');print(s.recv(1024));s.close()""");
+ end
+endfunction
diff --git a/2.3-1/macros/Hardware/RasberryPi/Interrupt/buildmacros.sce b/2.3-1/macros/Hardware/RasberryPi/Interrupt/buildmacros.sce
new file mode 100755
index 00000000..7d533f7b
--- /dev/null
+++ b/2.3-1/macros/Hardware/RasberryPi/Interrupt/buildmacros.sce
@@ -0,0 +1,14 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Author: Jorawar Singh
+// Organization: FOSSEE, IIT Bombay
+// Email: toolbox@scilab.in
+
+tbx_build_macros(TOOLBOX_NAME, get_absolute_file_path('buildmacros.sce'));
+
+clear tbx_build_macros;
diff --git a/2.3-1/macros/Hardware/RasberryPi/Interrupt/names b/2.3-1/macros/Hardware/RasberryPi/Interrupt/names
new file mode 100755
index 00000000..248c3e24
--- /dev/null
+++ b/2.3-1/macros/Hardware/RasberryPi/Interrupt/names
@@ -0,0 +1 @@
+RPI_waitForInterrupt