summaryrefslogtreecommitdiff
path: root/macros/Hardware/RasberryPi/SPI
diff options
context:
space:
mode:
Diffstat (limited to 'macros/Hardware/RasberryPi/SPI')
-rwxr-xr-xmacros/Hardware/RasberryPi/SPI/RPI_SPIDataRW.sci42
-rwxr-xr-xmacros/Hardware/RasberryPi/SPI/RPI_SPIGetFd.sci39
-rwxr-xr-xmacros/Hardware/RasberryPi/SPI/RPI_SPISetup.sci43
-rwxr-xr-xmacros/Hardware/RasberryPi/SPI/RPI_SPISetupMode.sci41
-rwxr-xr-xmacros/Hardware/RasberryPi/SPI/buildmacros.sce14
-rwxr-xr-xmacros/Hardware/RasberryPi/SPI/names4
6 files changed, 183 insertions, 0 deletions
diff --git a/macros/Hardware/RasberryPi/SPI/RPI_SPIDataRW.sci b/macros/Hardware/RasberryPi/SPI/RPI_SPIDataRW.sci
new file mode 100755
index 0000000..186e68f
--- /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 0000000..43cfc09
--- /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 0000000..5654cf9
--- /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 0000000..fec785a
--- /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 0000000..7d533f7
--- /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 0000000..6f458a7
--- /dev/null
+++ b/macros/Hardware/RasberryPi/SPI/names
@@ -0,0 +1,4 @@
+RPI_SPIDataRW
+RPI_SPIGetFd
+RPI_SPISetup
+RPI_SPISetupMode