summaryrefslogtreecommitdiff
path: root/2.3-1/macros/Hardware/RasberryPi/mcp
diff options
context:
space:
mode:
Diffstat (limited to '2.3-1/macros/Hardware/RasberryPi/mcp')
-rwxr-xr-x2.3-1/macros/Hardware/RasberryPi/mcp/RPI_mcp23008Setup.sci41
-rwxr-xr-x2.3-1/macros/Hardware/RasberryPi/mcp/RPI_mcp23016Setup.sci41
-rwxr-xr-x2.3-1/macros/Hardware/RasberryPi/mcp/RPI_mcp23017Setup.sci41
-rwxr-xr-x2.3-1/macros/Hardware/RasberryPi/mcp/RPI_mcp23s08Setup.sci42
-rwxr-xr-x2.3-1/macros/Hardware/RasberryPi/mcp/RPI_mcp23s17Setup.sci42
-rwxr-xr-x2.3-1/macros/Hardware/RasberryPi/mcp/buildmacros.sce14
-rwxr-xr-x2.3-1/macros/Hardware/RasberryPi/mcp/names5
7 files changed, 226 insertions, 0 deletions
diff --git a/2.3-1/macros/Hardware/RasberryPi/mcp/RPI_mcp23008Setup.sci b/2.3-1/macros/Hardware/RasberryPi/mcp/RPI_mcp23008Setup.sci
new file mode 100755
index 00000000..03963bd1
--- /dev/null
+++ b/2.3-1/macros/Hardware/RasberryPi/mcp/RPI_mcp23008Setup.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_mcp23008Setup(pinBase,i2cAddress)
+// Function for setting up 8-bit MCP23008 I2C GPIO expansion chip.
+//
+// Calling Sequence
+// RPI_mcp23008Setup(pinBase,i2cAddress)
+//
+// Parameters
+// pinBase : any number above 64. The consecutive 8 pins will be allocated alongwith.
+// i2cAdress: integer, the I2C address obtained using RPI_i2cdetect function
+//
+// Description
+// This function sets up the extension module for the 8-bit MCP23008 I2C GPIO expansion chip.
+//
+// Examples
+// RPI_mcp23008Setup(73,64)
+// See also
+// RPI_sr595Setup, RPI_pcf8574Setup, RPI_pcf8591Setup, RPI_mcp23016Setup, RPI_mcp23017Setup, RPI_mcp23s08Setup, RPI_mcp23s17Setup
+//
+// Authors
+// Jorawar Singh
+//
+// Bibliography
+// http://wiringpi.com/reference/
+
+ commande="mp8#2#"+string(pinBase)+"#"+string(i2cAddress)+"#";
+ 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/mcp/RPI_mcp23016Setup.sci b/2.3-1/macros/Hardware/RasberryPi/mcp/RPI_mcp23016Setup.sci
new file mode 100755
index 00000000..0424616e
--- /dev/null
+++ b/2.3-1/macros/Hardware/RasberryPi/mcp/RPI_mcp23016Setup.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_mcp23016Setup(pinBase,i2cAddress)
+// Function for setting up 16-bit MCP23016 I2C GPIO expansion chip.
+//
+// Calling Sequence
+// RPI_mcp23016Setup(pinBase,i2cAddress)
+//
+// Parameters
+// pinBase : any number above 64. The consecutive 16 pins will be allocated alongwith.
+// i2cAdress: integer, the I2C address obtained using RPI_i2cdetect function
+//
+// Description
+// This function sets up the extension module for the MCP23017 (16-bit) I2C GPIO expansion chips. The MCP23016 is the fore-runner of the MCP23017 GPIO expansion chip and may be present on some older interface boards.
+//
+// Examples
+// RPI_mcp23016Setup(73,100)
+// See also
+// RPI_sr595Setup, RPI_pcf8574Setup, RPI_pcf8591Setup, RPI_mcp23008Setup, RPI_mcp23017Setup, RPI_mcp23s08Setup, RPI_mcp23s17Setup
+//
+// Authors
+// Jorawar Singh
+//
+// Bibliography
+// http://wiringpi.com/reference/
+
+ commande="mp6#2#"+string(pinBase)+"#"+string(i2cAddress)+"#";
+ 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/mcp/RPI_mcp23017Setup.sci b/2.3-1/macros/Hardware/RasberryPi/mcp/RPI_mcp23017Setup.sci
new file mode 100755
index 00000000..c453ebb3
--- /dev/null
+++ b/2.3-1/macros/Hardware/RasberryPi/mcp/RPI_mcp23017Setup.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_mcp23017Setup(pinBase,i2cAddress)
+// Function for setting up 16-bit MCP23017 I2C GPIO expansion chip.
+//
+// Calling Sequence
+// RPI_mcp23017Setup(pinBase,i2cAddress)
+//
+// Parameters
+// pinBase : any number above 64. The consecutive 16 pins will be allocated alongwith.
+// i2cAdress: integer, the I2C address obtained using RPI_i2cdetect function
+//
+// Description
+// This function setups the extension module for the 16-bit MCP23017 I2C GPIO expansion chip.
+//
+// Examples
+// RPI_mcp23017Setup(73,100)
+// See also
+// RPI_sr595Setup, RPI_pcf8574Setup, RPI_pcf8591Setup, RPI_mcp23008Setup, RPI_mcp23016Setup, RPI_mcp23s08Setup, RPI_mcp23s17Setup
+//
+// Authors
+// Jorawar Singh
+//
+// Bibliography
+// http://wiringpi.com/reference/
+
+ commande="mp7#2#"+string(pinBase)+"#"+string(i2cAddress)+"#";
+ 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/mcp/RPI_mcp23s08Setup.sci b/2.3-1/macros/Hardware/RasberryPi/mcp/RPI_mcp23s08Setup.sci
new file mode 100755
index 00000000..b5b215b6
--- /dev/null
+++ b/2.3-1/macros/Hardware/RasberryPi/mcp/RPI_mcp23s08Setup.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 out=RPI_mcp23s08Setup(pinBase,spiPort,devId)
+// Function for setting up 8-bit MCP23s08 SPI GPIO expansion chip.
+//
+// Calling Sequence
+// RPI_mcp23s08Setup(pinBase,spiPort,devId)
+//
+// Parameters
+// pinBase: any number above 64. The consecutive 8 pins will be allocated alongwith.
+// spiPort: 0 or 1 for one of the two SPI ports on the Raspberry Pi.
+// devId : the ID of the MCP23s08 on the SPI port.
+//
+// Description
+// This function setups the extension module for the 8-bit MCP23s08 SPI GPIO expansion chip.
+//
+// Examples
+// RPI_mcp23s08Setup(67,1,0)
+// See also
+// RPI_sr595Setup, RPI_pcf8574Setup, RPI_pcf8591Setup, RPI_mcp23008Setup, RPI_mcp23016Setup, RPI_mcp23017Setup, RPI_mcp23s17Setup
+//
+// Authors
+// Jorawar Singh
+//
+// Bibliography
+// http://wiringpi.com/reference/
+
+ commande="ms8#3#"+string(pinBase)+"#"+string(spiPort)+"#"+string(devId)+"#";
+ 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/mcp/RPI_mcp23s17Setup.sci b/2.3-1/macros/Hardware/RasberryPi/mcp/RPI_mcp23s17Setup.sci
new file mode 100755
index 00000000..4ba9fd65
--- /dev/null
+++ b/2.3-1/macros/Hardware/RasberryPi/mcp/RPI_mcp23s17Setup.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 out=RPI_mcp23s17Setup(pinBase,spiPort,devId)
+// Function for setting up 16-bit MCP23s17 SPI GPIO expansion chip.
+//
+// Calling Sequence
+// RPI_mcp23s17Setup(pinBase,spiPort,devId)
+//
+// Parameters
+// pinBase: any number above 64. The consecutive 16 pins will be allocated alongwith.
+// spiPort: 0 or 1 for one of the two SPI ports on the Raspberry Pi.
+// devId : the ID of the MCP23s17 on the SPI port.
+//
+// Description
+// This function setups the extension module for the 16-bit MCP23s17 SPI GPIO expansion chip.
+//
+// Examples
+// RPI_mcp23s17Setup(67,0,0)
+// See also
+// RPI_sr595Setup, RPI_pcf8574Setup, RPI_pcf8591Setup, RPI_mcp23008Setup, RPI_mcp23016Setup, RPI_mcp23017Setup, RPI_mcp23s08Setup
+//
+// Authors
+// Jorawar Singh
+//
+// Bibliography
+// http://wiringpi.com/reference/
+
+ commande="ms7#3#"+string(pinBase)+"#"+string(spiPort)+"#"+string(devId)+"#";
+ 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/mcp/buildmacros.sce b/2.3-1/macros/Hardware/RasberryPi/mcp/buildmacros.sce
new file mode 100755
index 00000000..7d533f7b
--- /dev/null
+++ b/2.3-1/macros/Hardware/RasberryPi/mcp/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/mcp/names b/2.3-1/macros/Hardware/RasberryPi/mcp/names
new file mode 100755
index 00000000..23e7af04
--- /dev/null
+++ b/2.3-1/macros/Hardware/RasberryPi/mcp/names
@@ -0,0 +1,5 @@
+RPI_mcp23008Setup
+RPI_mcp23016Setup
+RPI_mcp23017Setup
+RPI_mcp23s08Setup
+RPI_mcp23s17Setup