// 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 GenerateSetupFunction(FileInfo) // ----------------------------------------------------------------- // Generate setup functions for Arduino peripherals according to // entries in given input file // // Input data: // File containing required peripheral initialisation // // Output data: // generates file with setup functions // // Author: Siddhesh Wani // ----------------------------------------------------------------- SetupListFile = FileInfo.SetupListFile; load(SetupListFile,'SetupList'); SetupArduinoFile = fullfile(FileInfo.CStyleOutCCCodeDir,'setup_arduino.c'); SetupArduinoFile = fullfile(FileInfo.CStyleOutCCCodeDir,'setup_arduino.cpp'); C_SCI2CHeader(SetupArduinoFile); PrintStringInfo('#include ""setup_arduino.h""',SetupArduinoFile,'file','y'); PrintStringInfo(' ',SetupArduinoFile,'file','y'); PrintStringInfo('int setup_arduino()',SetupArduinoFile,'file','y'); PrintStringInfo('{',SetupArduinoFile,'file','y'); nelements=size(SetupList); for i=1:nelements funcall = ' '; funcall = funcall + SetupList(i)(1); funcall = funcall + '('; NInArg = size(SetupList(i))-1; for j=1:NInArg-1 funcall = funcall + SetupList(i)(j+1); funcall = funcall + ', '; end funcall = funcall + SetupList(i)(NInArg+1); funcall = funcall + ');'; PrintStringInfo(funcall,SetupArduinoFile,'file','y'); end PrintStringInfo(' ',SetupArduinoFile,'file','y'); PrintStringInfo(' return (0); ',SetupArduinoFile,'file','y'); PrintStringInfo('}',SetupArduinoFile,'file','y'); endfunction