From 7cba1cf7d2ee89559239a22c50297a1545de0587 Mon Sep 17 00:00:00 2001 From: siddhu8990 Date: Wed, 13 Jan 2016 11:15:17 +0530 Subject: Test commit --- macros/CCodeGeneration/C_GenerateFunName.bin | Bin 5444 -> 6288 bytes macros/CCodeGeneration/C_GenerateFunName.sci | 36 +++++++++++++-------- macros/Hardware/AVR/AVRTimerSetup.bin | Bin 3552 -> 3480 bytes macros/Hardware/AVR/AVRTimerSetup.sci | 2 +- macros/Hardware/AVR/AVRUARTSetup.sci | 31 ++++++++++++++++++ macros/Hardware/AVR/GetAVRSupportFunctions.bin | Bin 1256 -> 1888 bytes macros/Hardware/AVR/GetAVRSupportFunctions.sci | 11 ++++++- macros/Scilab-Arduino/GenerateSetupFunction.sci | 2 +- .../ToolInitialization/INIT_FillSCI2LibCDirs.bin | Bin 950836 -> 951340 bytes .../ToolInitialization/INIT_FillSCI2LibCDirs.sci | 8 ++--- macros/ToolInitialization/UpdateSCI2CInfo.sci | 7 +++- macros/findDeps/getAllInterfaces.sci | 2 +- 12 files changed, 76 insertions(+), 23 deletions(-) create mode 100644 macros/Hardware/AVR/AVRUARTSetup.sci (limited to 'macros') diff --git a/macros/CCodeGeneration/C_GenerateFunName.bin b/macros/CCodeGeneration/C_GenerateFunName.bin index 6551c7f..4f3c591 100644 Binary files a/macros/CCodeGeneration/C_GenerateFunName.bin and b/macros/CCodeGeneration/C_GenerateFunName.bin differ diff --git a/macros/CCodeGeneration/C_GenerateFunName.sci b/macros/CCodeGeneration/C_GenerateFunName.sci index 9d40d2b..657258a 100644 --- a/macros/CCodeGeneration/C_GenerateFunName.sci +++ b/macros/CCodeGeneration/C_GenerateFunName.sci @@ -23,22 +23,30 @@ function CFunName = C_GenerateFunName(FunctionName,InArg,NInArg,OutArg,NOutArg) // ------------------------------ SCI2CNInArgCheck(argn(2),5,5); CFunName = ''; +if(IsAVRSupportFunction(FunctionName)) +//If current function is an AVR function, then function name can be just plain +//function name without any input/output arguments types -for tmpcnt = 1:NInArg - if (InArg(tmpcnt).Dimension == 1) - CFunName = CFunName+InArg(tmpcnt).Type+'2'; - else - CFunName = CFunName+InArg(tmpcnt).Type+SCI2Cstring(InArg(tmpcnt).Dimension); - end -end + CFunName = CFunName+FunctionName; + +else + + for tmpcnt = 1:NInArg + if (InArg(tmpcnt).Dimension == 1) + CFunName = CFunName+InArg(tmpcnt).Type+'2'; + else + CFunName = CFunName+InArg(tmpcnt).Type+SCI2Cstring(InArg(tmpcnt).Dimension); + end + end -CFunName = CFunName+FunctionName; + CFunName = CFunName+FunctionName; -for tmpcnt = 1:NOutArg - if (OutArg(tmpcnt).Dimension == 1) - CFunName = CFunName+OutArg(tmpcnt).Type+'2'; - else - CFunName = CFunName+OutArg(tmpcnt).Type+SCI2Cstring(OutArg(tmpcnt).Dimension); - end + for tmpcnt = 1:NOutArg + if (OutArg(tmpcnt).Dimension == 1) + CFunName = CFunName+OutArg(tmpcnt).Type+'2'; + else + CFunName = CFunName+OutArg(tmpcnt).Type+SCI2Cstring(OutArg(tmpcnt).Dimension); + end + end end endfunction diff --git a/macros/Hardware/AVR/AVRTimerSetup.bin b/macros/Hardware/AVR/AVRTimerSetup.bin index 65e8f45..4a49b86 100644 Binary files a/macros/Hardware/AVR/AVRTimerSetup.bin and b/macros/Hardware/AVR/AVRTimerSetup.bin differ diff --git a/macros/Hardware/AVR/AVRTimerSetup.sci b/macros/Hardware/AVR/AVRTimerSetup.sci index 6316cdd..1529c34 100644 --- a/macros/Hardware/AVR/AVRTimerSetup.sci +++ b/macros/Hardware/AVR/AVRTimerSetup.sci @@ -6,7 +6,7 @@ function AVRTimerSetup(timer, prescalar) // // Parameters // timer: timer to be set up (0,1,2) -// prescalar: prescalar to be used for generating PWM waveform (0-7) +// prescalar: prescalar to be used for timer (0-7) // ***Refer datasheet for more description about timer // // Description diff --git a/macros/Hardware/AVR/AVRUARTSetup.sci b/macros/Hardware/AVR/AVRUARTSetup.sci new file mode 100644 index 0000000..1529c34 --- /dev/null +++ b/macros/Hardware/AVR/AVRUARTSetup.sci @@ -0,0 +1,31 @@ +function AVRTimerSetup(timer, prescalar) +// Function to set the prescalar for timer. +// +// Calling Sequence +// AVRTimerSetup(timer, prescalar) +// +// Parameters +// timer: timer to be set up (0,1,2) +// prescalar: prescalar to be used for timer (0-7) +// ***Refer datasheet for more description about timer +// +// Description +// This function sets prescalr for timers. 'timer' decides which of the +// three (0,1,2) timers available to be used. The 'prescalar' is needed for +// deciding timer clock. Select appropriate prescalar depending on MCU clock +// and requirement. +// +// +// Examples +// AVRTimerSetup(0,1) //Timer 0 with no scaling +// +// See also +// AVRGetTimerValue +// +// Authors +// Siddhesh Wani +// + +// This is curretly dummy function. It provides no functionality but is required +// for providing support for generating C code for AVR. +endfunction diff --git a/macros/Hardware/AVR/GetAVRSupportFunctions.bin b/macros/Hardware/AVR/GetAVRSupportFunctions.bin index eed8be3..0aa7587 100644 Binary files a/macros/Hardware/AVR/GetAVRSupportFunctions.bin and b/macros/Hardware/AVR/GetAVRSupportFunctions.bin differ diff --git a/macros/Hardware/AVR/GetAVRSupportFunctions.sci b/macros/Hardware/AVR/GetAVRSupportFunctions.sci index 50a913f..cce49f9 100644 --- a/macros/Hardware/AVR/GetAVRSupportFunctions.sci +++ b/macros/Hardware/AVR/GetAVRSupportFunctions.sci @@ -11,6 +11,15 @@ function AVRSupportFunctions = GetAVRSupportFunctions() // Author: Siddhesh Wani // ----------------------------------------------------------------- -AVRSupportFunctions = ["AVRDigitalOut"]; +AVRSupportFunctions = [ + "AVRADCSetup" + "AVRDigitalIn" + "AVRDigitalOut" + "AVRDigitalSetup" + "AVRGetTimerValue" + "AVRPWMSetDuty" + "AVRPWMSetup" + "AVRReadADC" + "AVRTimerSetup"]; endfunction diff --git a/macros/Scilab-Arduino/GenerateSetupFunction.sci b/macros/Scilab-Arduino/GenerateSetupFunction.sci index db96e19..7322cea 100644 --- a/macros/Scilab-Arduino/GenerateSetupFunction.sci +++ b/macros/Scilab-Arduino/GenerateSetupFunction.sci @@ -4,7 +4,7 @@ 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'); diff --git a/macros/ToolInitialization/INIT_FillSCI2LibCDirs.bin b/macros/ToolInitialization/INIT_FillSCI2LibCDirs.bin index be0c48f..2653039 100644 Binary files a/macros/ToolInitialization/INIT_FillSCI2LibCDirs.bin and b/macros/ToolInitialization/INIT_FillSCI2LibCDirs.bin differ diff --git a/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci b/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci index c3981a4..4aff7b7 100644 --- a/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci +++ b/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci @@ -4175,8 +4175,8 @@ PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y'); // --- Function List Class. --- ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls); -PrintStringInfo('d0d0d0d0'+ArgSeparator+'u80',ClassFileName,'file','y'); - +//PrintStringInfo('d0d0d0d0'+ArgSeparator+'u80',ClassFileName,'file','y'); +PrintStringInfo(''+ArgSeparator+'',ClassFileName,'file','y'); // --- Annotation Function And Function List Function. --- FunctionName = 'AVRPWMSetup'; @@ -4200,8 +4200,8 @@ PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y'); // --- Function List Class. --- ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls); -PrintStringInfo('d0d0'+ArgSeparator+'u80',ClassFileName,'file','y'); - +//PrintStringInfo('d0d0'+ArgSeparator+'u80',ClassFileName,'file','y'); +PrintStringInfo(''+ArgSeparator+'',ClassFileName,'file','y'); // --- Annotation Function And Function List Function. --- FunctionName = 'AVRPWMSetDuty'; diff --git a/macros/ToolInitialization/UpdateSCI2CInfo.sci b/macros/ToolInitialization/UpdateSCI2CInfo.sci index 445507b..253299a 100644 --- a/macros/ToolInitialization/UpdateSCI2CInfo.sci +++ b/macros/ToolInitialization/UpdateSCI2CInfo.sci @@ -61,7 +61,12 @@ FileInfo.Funct(funnumber).PfxP1WhileEpilFileName = fullfile(FileInfo.WorkingDir, FileInfo.Funct(funnumber).CPass1FreeFileName = fullfile(FileInfo.WorkingDir,funname,SharedInfo.NextCFunName+'_pass1free.c'); FileInfo.Funct(funnumber).CPass2FileName = fullfile(FileInfo.WorkingDir,funname,SharedInfo.NextCFunName+'_pass2.c'); FileInfo.Funct(funnumber).Pass1HeaderFileName = fullfile(FileInfo.WorkingDir,funname,SharedInfo.NextCFunName+'.h'); -FileInfo.Funct(funnumber).FinalCFileName = fullfile(FileInfo.OutCCCodeDir,SharedInfo.NextCFunName+'.c'); +if (SharedInfo.OutFormat == 'Arduino') +//In case of "Arduino" target, *.cpp files should be generated, not *.c files. + FileInfo.Funct(funnumber).FinalCFileName = fullfile(FileInfo.OutCCCodeDir,SharedInfo.NextCFunName+'.cpp'); +else + FileInfo.Funct(funnumber).FinalCFileName = fullfile(FileInfo.OutCCCodeDir,SharedInfo.NextCFunName+'.c'); +end FileInfo.Funct(funnumber).FinalHeaderFileName = fullfile(FileInfo.OutCCCodeDir,SharedInfo.NextCFunName+'.h'); FileInfo.Funct(funnumber).CInitVarsFileName = fullfile(FileInfo.WorkingDir,funname,SharedInfo.NextCFunName+'_initvars.c'); FileInfo.Funct(funnumber).CDeclarationFileName = fullfile(FileInfo.WorkingDir,funname,SharedInfo.NextCFunName+'_declarations.c'); diff --git a/macros/findDeps/getAllInterfaces.sci b/macros/findDeps/getAllInterfaces.sci index 7813809..194a9ab 100644 --- a/macros/findDeps/getAllInterfaces.sci +++ b/macros/findDeps/getAllInterfaces.sci @@ -134,7 +134,7 @@ function allInterfaces = getAllInterfaces(OutFormat) AVR_interfaces = [ "src/c/hardware/avr/interfaces/int_AVRPeripheralGPIO.h" "src/c/hardware/avr/interfaces/int_AVRPeripheralADC.h" - "src/c/hardware/avr/interfaces/int_AVRPeripheralADC.h" + "src/c/hardware/avr/interfaces/int_AVRPeripheralPWM.h" "src/c/hardware/avr/interfaces/int_AVRUtil.h" ]; -- cgit