From d9d92203ea349d5eb44c0edc5565d827322caabe Mon Sep 17 00:00:00 2001
From: Jorawar Singh
Date: Sun, 16 Jul 2017 22:17:43 +0530
Subject: Toolbox merge, RPI demos and structured demos

---
 macros/Hardware/RasberryPi/SPI/RPI_SPIDataRW.sci   | 42 +++++++++++++++++++++
 macros/Hardware/RasberryPi/SPI/RPI_SPIGetFd.sci    | 39 ++++++++++++++++++++
 macros/Hardware/RasberryPi/SPI/RPI_SPISetup.sci    | 43 ++++++++++++++++++++++
 .../Hardware/RasberryPi/SPI/RPI_SPISetupMode.sci   | 41 +++++++++++++++++++++
 macros/Hardware/RasberryPi/SPI/buildmacros.sce     | 14 +++++++
 macros/Hardware/RasberryPi/SPI/names               |  4 ++
 6 files changed, 183 insertions(+)
 create mode 100755 macros/Hardware/RasberryPi/SPI/RPI_SPIDataRW.sci
 create mode 100755 macros/Hardware/RasberryPi/SPI/RPI_SPIGetFd.sci
 create mode 100755 macros/Hardware/RasberryPi/SPI/RPI_SPISetup.sci
 create mode 100755 macros/Hardware/RasberryPi/SPI/RPI_SPISetupMode.sci
 create mode 100755 macros/Hardware/RasberryPi/SPI/buildmacros.sce
 create mode 100755 macros/Hardware/RasberryPi/SPI/names

(limited to 'macros/Hardware/RasberryPi/SPI')

diff --git a/macros/Hardware/RasberryPi/SPI/RPI_SPIDataRW.sci b/macros/Hardware/RasberryPi/SPI/RPI_SPIDataRW.sci
new file mode 100755
index 00000000..186e68ff
--- /dev/null
+++ b/macros/Hardware/RasberryPi/SPI/RPI_SPIDataRW.sci
@@ -0,0 +1,42 @@
+// 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 RPI_SPIDataRW(channel,data,len)
+// Function to perform simultaneous read-write on SPI
+//
+// Calling Sequence
+//  RPI_SPIDataRW(channel,data,len)
+//
+// Parameters
+//  channel: channel number, 0 or 1
+//  data   : data to write as list of integers
+//  len    : length of the data
+//
+// Description
+//  This performs a simultaneous write/read transaction over the selected SPI bus. Data that was in your buffer is overwritten by data returned from the SPI bus.
+//
+// Examples
+//  RPI_SPIDataRW(0,[13,58],2)
+// See also
+//  RPI_SPISetup, RPI_SPISetupMode, RPI_SPIGetFd
+//
+// Authors
+//  Jorawar Singh
+//
+// Bibliography
+//  http://wiringpi.com/reference/
+
+    commande="SPD#3#"+string(channel)+"#"+string(data)+"#"+string(len)+"#";
+    if getos=="Linux" then
+        unix_w("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
+        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/macros/Hardware/RasberryPi/SPI/RPI_SPIGetFd.sci b/macros/Hardware/RasberryPi/SPI/RPI_SPIGetFd.sci
new file mode 100755
index 00000000..43cfc098
--- /dev/null
+++ b/macros/Hardware/RasberryPi/SPI/RPI_SPIGetFd.sci
@@ -0,0 +1,39 @@
+// 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_SPIGetFd(channel)
+//
+// Calling Sequence
+//  RPI_SPIGetFd(channel)
+//
+// Parameters
+//  channel: channel number, 0 or 1
+//
+// Description
+//
+//
+// Examples
+//  RPI_SPIGetFd(1)
+// See also
+//  RPI_SPIDataRW, RPI_SPISetup, RPI_SPISetupMode
+//
+// Authors
+//  Jorawar Singh
+//
+// Bibliography
+//  http://wiringpi.com/reference/
+
+    commande="SPG#1#"+string(channel)+"#";
+    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/macros/Hardware/RasberryPi/SPI/RPI_SPISetup.sci b/macros/Hardware/RasberryPi/SPI/RPI_SPISetup.sci
new file mode 100755
index 00000000..5654cf9b
--- /dev/null
+++ b/macros/Hardware/RasberryPi/SPI/RPI_SPISetup.sci
@@ -0,0 +1,43 @@
+// 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 RPI_SPISetup(channel,speed)
+// Function to initialize SPI
+//
+// Calling Sequence
+//  RPI_SPISetup(channel,spped)
+//
+// Parameters
+//  channel: channel number, 0 or 1
+//  speed  : SPI clock speed in Hz
+//
+// Description
+//  This function initialises a channel (The Pi has 2 channels; 0 and 1). The speed parameter is an integer in the range 500,000 through 32,000,000 and represents the SPI clock speed in Hz.
+//
+//The returned value is the Linux file-descriptor for the device, or -1 on error.
+//
+// Examples
+//  RPI_SPISetup(1,500000)
+// See also
+//  RPI_SPIDataRW, RPI_SPISetupMode, RPI_SPIGetFd
+//
+// Authors
+//  Jorawar Singh
+//
+// Bibliography
+//  http://wiringpi.com/reference/
+
+    commande="SPS#2#"+string(channel)+"#"+string(speed)+"#";
+    if getos=="Linux" then
+        unix_w("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
+        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/macros/Hardware/RasberryPi/SPI/RPI_SPISetupMode.sci b/macros/Hardware/RasberryPi/SPI/RPI_SPISetupMode.sci
new file mode 100755
index 00000000..fec785ab
--- /dev/null
+++ b/macros/Hardware/RasberryPi/SPI/RPI_SPISetupMode.sci
@@ -0,0 +1,41 @@
+// 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_SPISetupMode(channel,speed,Mode)
+// Function to initialize SPI
+//
+// Calling Sequence
+//  RPI_SPISetupMode(channel,spped,Mode)
+//
+// Parameters
+//  channel: channel number, 0 or 1
+//  speed  : SPI clock speed in Hz
+//  Mode   : integer, mode to set
+//
+// Description
+//
+// Examples
+//  RPI_SPISetupMode(1,500000,2)
+// See also
+//  RPI_SPIDataRW, RPI_SPISetup, RPI_SPIGetFd
+//
+// Authors
+//  Jorawar Singh
+//
+// Bibliography
+//  http://wiringpi.com/reference/
+
+    commande="SPM#23#"+string(channel)+"#"+string(speed)+"#"+string(Mode)+"#";
+    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/macros/Hardware/RasberryPi/SPI/buildmacros.sce b/macros/Hardware/RasberryPi/SPI/buildmacros.sce
new file mode 100755
index 00000000..7d533f7b
--- /dev/null
+++ b/macros/Hardware/RasberryPi/SPI/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/macros/Hardware/RasberryPi/SPI/names b/macros/Hardware/RasberryPi/SPI/names
new file mode 100755
index 00000000..6f458a7e
--- /dev/null
+++ b/macros/Hardware/RasberryPi/SPI/names
@@ -0,0 +1,4 @@
+RPI_SPIDataRW
+RPI_SPIGetFd
+RPI_SPISetup
+RPI_SPISetupMode
-- 
cgit