diff options
author | Sandeep Gupta | 2017-06-18 23:55:40 +0530 |
---|---|---|
committer | Sandeep Gupta | 2017-06-18 23:55:40 +0530 |
commit | b43eccd4cffed5bd1017c5821524fb6e49202f78 (patch) | |
tree | 4c53d798252cbeae9bcf7dc9604524b20bb10f27 /2.3-1/macros/Scilab-Arduino/InsertSetupInList.sci | |
download | Scilab2C-b43eccd4cffed5bd1017c5821524fb6e49202f78.tar.gz Scilab2C-b43eccd4cffed5bd1017c5821524fb6e49202f78.tar.bz2 Scilab2C-b43eccd4cffed5bd1017c5821524fb6e49202f78.zip |
First commit
Diffstat (limited to '2.3-1/macros/Scilab-Arduino/InsertSetupInList.sci')
-rw-r--r-- | 2.3-1/macros/Scilab-Arduino/InsertSetupInList.sci | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/2.3-1/macros/Scilab-Arduino/InsertSetupInList.sci b/2.3-1/macros/Scilab-Arduino/InsertSetupInList.sci new file mode 100644 index 00000000..6584f293 --- /dev/null +++ b/2.3-1/macros/Scilab-Arduino/InsertSetupInList.sci @@ -0,0 +1,91 @@ +// Copyright (C) 2016 - 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 InsertSetupInList(FunName,InArg,NInArg,SetupListFile,FunType) +// ----------------------------------------------------------------- +// Generate list of setup functions required acorginto peripherals used +// +// Input data: +// FunName: scilab-arduino toolbox function +// InArg: input arguments for above mentioned function +// NInArg: no of input arguments for above mentioned function +// SetupListFile: file containing list of setup functions +// FunType: Gpio function or initialisation function for any other perpheral +// +// Output data: +// List of setup functions for Arduino +// +// Author: Siddhesh Wani +// ----------------------------------------------------------------- + + load(SetupListFile,'SetupList'); + + //Check first if current input function already exists in the list + nelements = size(SetupList); + + found=%F; + if(FunType=='Setup') + for i=1:nelements + if(SetupList(i)(1) == FunName) + for j=1:NInArg + if(SetupList(i)(j+1) ~= InArg(j).Name) + found = %F + break; + else + found = %T; + end + end + end + if (found == %T) + break; //One match found. No need to check further. + end + end + + if(found == %F) + temp = list(FunName); + for i=1:NInArg + temp($+1) = InArg(i).Name; + end + end + SetupList($+1) = temp; + elseif((FunType=='Init')&((FunName=='cmd_digital_out')|(FunName=='cmd_analog_out')|(FunName=='cmd_digital_in'))) + for i=1:nelements + if(SetupList(i)(1) == "pinMode") + if(SetupList(i)(2) == InArg(2).Name) + found = %T + break; + else + found = %F; + end + else + + found = %F; + + end + + end + + if(found == %F) + temp = list('pinMode'); + temp($+1) = InArg(2).Name; + if ((FunName=='cmd_digital_out')|(FunName=='cmd_analog_out')) + temp($+1) = 'OUTPUT'; + elseif ((FunName == 'cmd_digital_in') | (FunName=='cmd_analog_in')) + temp($+1) = 'INPUT'; + end + SetupList($+1) = temp; + + end + + + end + save(SetupListFile,'SetupList'); + +endfunction |