summaryrefslogtreecommitdiff
path: root/2.3-1/macros
diff options
context:
space:
mode:
Diffstat (limited to '2.3-1/macros')
-rw-r--r--2.3-1/macros/ASTManagement/libbin1680 -> 1544 bytes
-rw-r--r--2.3-1/macros/CCodeGeneration/C_GenDeclarations.binbin22004 -> 22004 bytes
-rw-r--r--2.3-1/macros/CCodeGeneration/libbin1184 -> 1048 bytes
-rw-r--r--2.3-1/macros/ErrorMessages/libbin696 -> 560 bytes
-rw-r--r--2.3-1/macros/FunctionAnnotation/libbin2348 -> 3562 bytes
-rw-r--r--2.3-1/macros/FunctionList/libbin760 -> 628 bytes
-rw-r--r--2.3-1/macros/GeneralFunctions/libbin1308 -> 1172 bytes
-rw-r--r--2.3-1/macros/Hardware/AVR/AVRADCSetup.binbin4168 -> 5156 bytes
-rw-r--r--2.3-1/macros/Hardware/AVR/AVRADCSetup.sci31
-rw-r--r--2.3-1/macros/Hardware/AVR/AVRDigitalIn.binbin3688 -> 4808 bytes
-rw-r--r--2.3-1/macros/Hardware/AVR/AVRDigitalIn.sci22
-rw-r--r--2.3-1/macros/Hardware/AVR/AVRDigitalOut.binbin3760 -> 5320 bytes
-rw-r--r--2.3-1/macros/Hardware/AVR/AVRDigitalOut.sci23
-rw-r--r--2.3-1/macros/Hardware/AVR/AVRDigitalPortSetup.binbin0 -> 5132 bytes
-rw-r--r--2.3-1/macros/Hardware/AVR/AVRDigitalPortSetup.sci47
-rw-r--r--2.3-1/macros/Hardware/AVR/AVRDigitalSetup.binbin3932 -> 5528 bytes
-rw-r--r--2.3-1/macros/Hardware/AVR/AVRDigitalSetup.sci25
-rw-r--r--2.3-1/macros/Hardware/AVR/AVRGetTimerValue.binbin3564 -> 3256 bytes
-rw-r--r--2.3-1/macros/Hardware/AVR/AVRGetTimerValue.sci41
-rw-r--r--2.3-1/macros/Hardware/AVR/AVRPWM0SetDuty.binbin0 -> 3536 bytes
-rw-r--r--2.3-1/macros/Hardware/AVR/AVRPWM0SetDuty.sci35
-rw-r--r--2.3-1/macros/Hardware/AVR/AVRPWM0Setup.binbin0 -> 8196 bytes
-rw-r--r--2.3-1/macros/Hardware/AVR/AVRPWM0Setup.sci68
-rw-r--r--2.3-1/macros/Hardware/AVR/AVRPWM1SetDuty.binbin0 -> 6764 bytes
-rw-r--r--2.3-1/macros/Hardware/AVR/AVRPWM1SetDuty.sci52
-rw-r--r--2.3-1/macros/Hardware/AVR/AVRPWM1Setup.binbin0 -> 10600 bytes
-rw-r--r--2.3-1/macros/Hardware/AVR/AVRPWM1Setup.sci79
-rw-r--r--2.3-1/macros/Hardware/AVR/AVRPWM2SetDuty.binbin0 -> 3580 bytes
-rw-r--r--2.3-1/macros/Hardware/AVR/AVRPWM2SetDuty.sci38
-rw-r--r--2.3-1/macros/Hardware/AVR/AVRPWM2Setup.binbin0 -> 8464 bytes
-rw-r--r--2.3-1/macros/Hardware/AVR/AVRPWM2Setup.sci69
-rw-r--r--2.3-1/macros/Hardware/AVR/AVRPWMSetDuty.binbin2428 -> 0 bytes
-rw-r--r--2.3-1/macros/Hardware/AVR/AVRPWMSetDuty.sci24
-rw-r--r--2.3-1/macros/Hardware/AVR/AVRPWMSetup.binbin5760 -> 0 bytes
-rw-r--r--2.3-1/macros/Hardware/AVR/AVRPWMSetup.sci39
-rw-r--r--2.3-1/macros/Hardware/AVR/AVRReadADC.binbin4048 -> 4840 bytes
-rw-r--r--2.3-1/macros/Hardware/AVR/AVRReadADC.sci21
-rw-r--r--2.3-1/macros/Hardware/AVR/AVRSleep.binbin0 -> 88 bytes
-rw-r--r--2.3-1/macros/Hardware/AVR/AVRSleep.sci4
-rw-r--r--2.3-1/macros/Hardware/AVR/AVRTimerSetup.binbin3480 -> 7880 bytes
-rw-r--r--2.3-1/macros/Hardware/AVR/AVRTimerSetup.sci75
-rw-r--r--2.3-1/macros/Hardware/AVR/AVRUARTReceive.binbin0 -> 2504 bytes
-rw-r--r--2.3-1/macros/Hardware/AVR/AVRUARTReceive.sci30
-rw-r--r--2.3-1/macros/Hardware/AVR/AVRUARTSetup.binbin3480 -> 8212 bytes
-rw-r--r--2.3-1/macros/Hardware/AVR/AVRUARTSetup.sci70
-rw-r--r--2.3-1/macros/Hardware/AVR/AVRUARTTransmit.binbin0 -> 2756 bytes
-rw-r--r--2.3-1/macros/Hardware/AVR/AVRUARTTransmit.sci33
-rw-r--r--2.3-1/macros/Hardware/AVR/GetAVRSupportFunctions.binbin1888 -> 2460 bytes
-rw-r--r--2.3-1/macros/Hardware/AVR/GetAVRSupportFunctions.sci26
-rw-r--r--2.3-1/macros/Hardware/AVR/GetPeripheral.sci10
-rw-r--r--2.3-1/macros/Hardware/AVR/InsertPeripheralInList.sci10
-rw-r--r--2.3-1/macros/Hardware/AVR/IsAVRSupportFunction.sci10
-rw-r--r--2.3-1/macros/Hardware/AVR/libbin956 -> 1012 bytes
-rw-r--r--2.3-1/macros/Hardware/AVR/names12
-rw-r--r--2.3-1/macros/Hardware/RasberryPi/libbin1152 -> 1312 bytes
-rw-r--r--2.3-1/macros/Scilab-Arduino/libbin772 -> 636 bytes
-rw-r--r--2.3-1/macros/SymbolTable/libbin904 -> 768 bytes
-rw-r--r--2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci419
-rw-r--r--2.3-1/macros/ToolInitialization/libbin980 -> 844 bytes
-rw-r--r--2.3-1/macros/findDeps/getAllHeaders.sci14
-rw-r--r--2.3-1/macros/findDeps/getAllInterfaces.sci14
-rw-r--r--2.3-1/macros/findDeps/getAllSources.sci89
-rw-r--r--2.3-1/macros/findDeps/libbin772 -> 636 bytes
-rw-r--r--2.3-1/macros/libbin712 -> 576 bytes
-rw-r--r--2.3-1/macros/runsci2c.sci6
-rw-r--r--2.3-1/macros/scilab2c.sci2
66 files changed, 1272 insertions, 166 deletions
diff --git a/2.3-1/macros/ASTManagement/lib b/2.3-1/macros/ASTManagement/lib
index 36d91dec..7f0e1d70 100644
--- a/2.3-1/macros/ASTManagement/lib
+++ b/2.3-1/macros/ASTManagement/lib
Binary files differ
diff --git a/2.3-1/macros/CCodeGeneration/C_GenDeclarations.bin b/2.3-1/macros/CCodeGeneration/C_GenDeclarations.bin
index c3b36009..62636dc5 100644
--- a/2.3-1/macros/CCodeGeneration/C_GenDeclarations.bin
+++ b/2.3-1/macros/CCodeGeneration/C_GenDeclarations.bin
Binary files differ
diff --git a/2.3-1/macros/CCodeGeneration/lib b/2.3-1/macros/CCodeGeneration/lib
index 9007df7e..2d0fc0f4 100644
--- a/2.3-1/macros/CCodeGeneration/lib
+++ b/2.3-1/macros/CCodeGeneration/lib
Binary files differ
diff --git a/2.3-1/macros/ErrorMessages/lib b/2.3-1/macros/ErrorMessages/lib
index 2b3ee2f3..e989c7f7 100644
--- a/2.3-1/macros/ErrorMessages/lib
+++ b/2.3-1/macros/ErrorMessages/lib
Binary files differ
diff --git a/2.3-1/macros/FunctionAnnotation/lib b/2.3-1/macros/FunctionAnnotation/lib
index b36e12c2..9f0b8066 100644
--- a/2.3-1/macros/FunctionAnnotation/lib
+++ b/2.3-1/macros/FunctionAnnotation/lib
Binary files differ
diff --git a/2.3-1/macros/FunctionList/lib b/2.3-1/macros/FunctionList/lib
index 74542a2a..006272fb 100644
--- a/2.3-1/macros/FunctionList/lib
+++ b/2.3-1/macros/FunctionList/lib
Binary files differ
diff --git a/2.3-1/macros/GeneralFunctions/lib b/2.3-1/macros/GeneralFunctions/lib
index a3af87e6..9d153876 100644
--- a/2.3-1/macros/GeneralFunctions/lib
+++ b/2.3-1/macros/GeneralFunctions/lib
Binary files differ
diff --git a/2.3-1/macros/Hardware/AVR/AVRADCSetup.bin b/2.3-1/macros/Hardware/AVR/AVRADCSetup.bin
index 44e3d790..25352e51 100644
--- a/2.3-1/macros/Hardware/AVR/AVRADCSetup.bin
+++ b/2.3-1/macros/Hardware/AVR/AVRADCSetup.bin
Binary files differ
diff --git a/2.3-1/macros/Hardware/AVR/AVRADCSetup.sci b/2.3-1/macros/Hardware/AVR/AVRADCSetup.sci
index ce9117d0..264062bc 100644
--- a/2.3-1/macros/Hardware/AVR/AVRADCSetup.sci
+++ b/2.3-1/macros/Hardware/AVR/AVRADCSetup.sci
@@ -1,32 +1,47 @@
-function AVRADCSetup(prescalar,adc_ref)
+// 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 AVRADCSetup(prescaler,adc_ref)
// Function to initialise ADC of AVR
//
// Calling Sequence
-// AVRADCSetup(uint8 prescalar, uint8 adc_ref)
+// AVRADCSetup(uint8 prescaler, uint8 adc_ref)
//
// Parameters
-// prescalar: prescalar to be used for generating ADC clock (0-7)
+// prescaler: prescaler to be used for generating ADC clock (0-7)
// adc_ref : reference voltage to be used for ADC conversion
// 0 -> Voltage on VREF pin
// 1 -> Voltage on AVCC pin
// 2 -> Internal 2.56 reference voltage
//
// Description
-// This function initialises ADc of AVR with given parameters. 'prescalar' is
+// This function initialises ADc of AVR with given parameters. 'prescaler' is
// needed for deciding ADC clock. ADC clock should be between 50KHz and 200KHz
-// and it given as (MCU clock/2^prescalar). Select appropriate prescalar depending
+// and it given as (MCU clock/2^prescaler). Select appropriate prescaler depending
// on MCU clock. 'adc_ref' selects one of the available reference voltage sources
// available
// Examples
// AVRADCSetup(128,0)
-
// See also
// AVRReadADC
//
// Authors
-// Siddhesh Wani
+// Siddhesh Wani Ashish Kamble
//
-
// This is curretly dummy function. It provides no functionality but is required
// for providing support for generating C code for AVR.
+
+if(prescaler>=8)
+disp("Error : Invalid input argument ''prescaler'' in AVRADCSetup function.");
+end
+if(adc_ref>=3) then
+disp("Error : Invalid input argument ''adc_ref'' in AVRADCSetup function.");
+end
endfunction
diff --git a/2.3-1/macros/Hardware/AVR/AVRDigitalIn.bin b/2.3-1/macros/Hardware/AVR/AVRDigitalIn.bin
index 7ff2c98d..e88f6a63 100644
--- a/2.3-1/macros/Hardware/AVR/AVRDigitalIn.bin
+++ b/2.3-1/macros/Hardware/AVR/AVRDigitalIn.bin
Binary files differ
diff --git a/2.3-1/macros/Hardware/AVR/AVRDigitalIn.sci b/2.3-1/macros/Hardware/AVR/AVRDigitalIn.sci
index ef57564c..54eb327b 100644
--- a/2.3-1/macros/Hardware/AVR/AVRDigitalIn.sci
+++ b/2.3-1/macros/Hardware/AVR/AVRDigitalIn.sci
@@ -1,3 +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
+// Organization: FOSSEE, IIT Bombay
+// Email: toolbox@scilab.in
+
+
function state = AVRDigitalIn(port,pin)
// Function to get state (high\low) of a digital input pin on AVR
//
@@ -24,9 +35,16 @@ function state = AVRDigitalIn(port,pin)
//
//
// Authors
-// Siddhesh Wani
+// Siddhesh Wani Ashish Kamble
//
-
// This is curretly dummy function. It provides no functionality but is required
// for providing support for generating C code for AVR.
+
+if((port==0)|(port>=5)) then
+disp("Error : Inavalid input argument ''port'' in AVRDigitalIn function.");
+end
+if(pin>=8) then
+disp("Error : Inavalid input argument ''pin'' in AVRDigitalIn function.");
+end
+state = 0;
endfunction
diff --git a/2.3-1/macros/Hardware/AVR/AVRDigitalOut.bin b/2.3-1/macros/Hardware/AVR/AVRDigitalOut.bin
index 7a09b0d8..d0dcb553 100644
--- a/2.3-1/macros/Hardware/AVR/AVRDigitalOut.bin
+++ b/2.3-1/macros/Hardware/AVR/AVRDigitalOut.bin
Binary files differ
diff --git a/2.3-1/macros/Hardware/AVR/AVRDigitalOut.sci b/2.3-1/macros/Hardware/AVR/AVRDigitalOut.sci
index f17c8a07..a86a5aa9 100644
--- a/2.3-1/macros/Hardware/AVR/AVRDigitalOut.sci
+++ b/2.3-1/macros/Hardware/AVR/AVRDigitalOut.sci
@@ -1,3 +1,13 @@
+// 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 AVRDigitalOut(port,pin,state)
// Function to change state (high\low) of a digital output pin on AVR
//
@@ -24,9 +34,18 @@ function AVRDigitalOut(port,pin,state)
//
//
// Authors
-// Siddhesh Wani
+// Siddhesh Wani Ashish Kamble
//
-
// This is curretly dummy function. It provides no functionality but is required
// for providing support for generating C code for AVR.
+
+if((port==0)|(port>=8)) then
+disp("Error : Inavalid input argument ''port'' in AVRDigitalOut function.");
+end
+if(pin>=8) then
+disp("Error : Invalid input argument ''pin'' in AVRDigitalOut function.");
+end
+if(state>=2) then
+disp("Error : Invalid input argument ''state'' in AVRDigitalOut function.");
+end
endfunction
diff --git a/2.3-1/macros/Hardware/AVR/AVRDigitalPortSetup.bin b/2.3-1/macros/Hardware/AVR/AVRDigitalPortSetup.bin
new file mode 100644
index 00000000..dacf6a34
--- /dev/null
+++ b/2.3-1/macros/Hardware/AVR/AVRDigitalPortSetup.bin
Binary files differ
diff --git a/2.3-1/macros/Hardware/AVR/AVRDigitalPortSetup.sci b/2.3-1/macros/Hardware/AVR/AVRDigitalPortSetup.sci
new file mode 100644
index 00000000..5f0b9671
--- /dev/null
+++ b/2.3-1/macros/Hardware/AVR/AVRDigitalPortSetup.sci
@@ -0,0 +1,47 @@
+// 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 AVRDigitalPortSetup(port,direction)
+// Function to decide direction of port on AVR
+//
+// Calling Sequence
+// AVRDigitalPortSetup(port,direction)
+//
+// Parameters
+// port : port of microcontroller to be used(1 for PORTA, 2 for PORTB,...)
+// direction : direction to be set for pin (0 for INPUT, 1 for OUTPUT)
+//
+// Description
+// Each AVR microcontroller has pins which can be configured as digital
+// outputs/inputs. These are normally divided among some 'ports' (group of pins).
+// User has to select one of these port and which pin of that port to be
+// used as digital output/input. Also, desired direction must be specified as
+// 'INPUT' or 'OUTPUT'.
+//
+// Examples
+// AVRDigitalPortSetup(1,0); //This function will make PortA as input port
+//
+// See also
+// AVRDigitalIn AVRDigitalOut
+//
+//
+// Authors
+// Siddhesh Wani Ashish Kamble
+//
+// This is curretly dummy function. It provides no functionality but is required
+// for providing support for generating C code for AVR.
+
+if((port==0)|(port>=5)) then
+disp("Error : Invalid input argument ''port'' in AVRDigitalPortSetup function.");
+end
+if(direction>=2) then
+disp("Error : Invalid input argument ''direction'' in AVRDigitalPortSetup function.");
+end
+endfunction
diff --git a/2.3-1/macros/Hardware/AVR/AVRDigitalSetup.bin b/2.3-1/macros/Hardware/AVR/AVRDigitalSetup.bin
index 98a592e3..60b07497 100644
--- a/2.3-1/macros/Hardware/AVR/AVRDigitalSetup.bin
+++ b/2.3-1/macros/Hardware/AVR/AVRDigitalSetup.bin
Binary files differ
diff --git a/2.3-1/macros/Hardware/AVR/AVRDigitalSetup.sci b/2.3-1/macros/Hardware/AVR/AVRDigitalSetup.sci
index 3de56c21..e707d4fa 100644
--- a/2.3-1/macros/Hardware/AVR/AVRDigitalSetup.sci
+++ b/2.3-1/macros/Hardware/AVR/AVRDigitalSetup.sci
@@ -1,9 +1,19 @@
+// 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 AVRDigitalSetup(port,pin,direction)
// Function to decide direction of a digital pin on AVR
//
// Calling Sequence
// AVRDigitalSetup(port,pin,direction)
-//
+//
// Parameters
// port : port of microcontroller to be used
// pin : pin of port (mentioned above) to be used
@@ -24,9 +34,18 @@ function AVRDigitalSetup(port,pin,direction)
//
//
// Authors
-// Siddhesh Wani
+// Siddhesh Wani Ashish Kamble
//
-
// This is curretly dummy function. It provides no functionality but is required
// for providing support for generating C code for AVR.
+
+if((port==0)|(port>=5)) then
+disp("Error : Invalid input argument ''port'' in AVRDigitalSetup function.");
+end
+if(pin>=8) then
+disp("Error : Invalid input argument ''pin'' in AVRDigitalSetup function.");
+end
+if(direction>=2) then
+disp("Error : Invalid input argument ''direction'' in AVRDigitalSetup function.");
+end
endfunction
diff --git a/2.3-1/macros/Hardware/AVR/AVRGetTimerValue.bin b/2.3-1/macros/Hardware/AVR/AVRGetTimerValue.bin
index 26b4b47e..82f8ed42 100644
--- a/2.3-1/macros/Hardware/AVR/AVRGetTimerValue.bin
+++ b/2.3-1/macros/Hardware/AVR/AVRGetTimerValue.bin
Binary files differ
diff --git a/2.3-1/macros/Hardware/AVR/AVRGetTimerValue.sci b/2.3-1/macros/Hardware/AVR/AVRGetTimerValue.sci
index ab0146aa..afb47ac8 100644
--- a/2.3-1/macros/Hardware/AVR/AVRGetTimerValue.sci
+++ b/2.3-1/macros/Hardware/AVR/AVRGetTimerValue.sci
@@ -1,31 +1,40 @@
-function counts = AVRGetTimerValue(timer)
-// Function to set the prescalar for timer.
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
//
-// Calling Sequence
-// AVRgetTimerValue(timer, prescalar)
+// 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 count = AVRGetTimerValue(timer)
+// Function to get timer count
//
// Parameters
-// timer: timer to be set up (0,1,2)
-// prescalar: prescalar to be used for generating PWM waveform (0-7)
-// ***Refer datasheet for more description about timer
+// timer : timer whose current count is to be returned
+// 0 for timer0
+// 1 for timer1
+// 2 for timer2
//
// 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.
-//
+// This function returns the count value of a desired timer.By knowing the count value
+// certain interrupt action can be taken.
//
// Examples
-// AVRTimerSetup(0,1) //Timer 0 with no scaling
+// AVRGetTimerValue(0); //returns present count of the TCNT0 counter
//
// See also
-// AVRGetTimerValue
+// AVRTimerSetup
//
// Authors
-// Siddhesh Wani
+// Ashish Kamble
//
-
// This is curretly dummy function. It provides no functionality but is required
// for providing support for generating C code for AVR.
+
+if(timer>=3) then
+disp("Error : Invalid input argument ''timer'' in AVRGetTimerValue function.");
+end
+count = 0;
endfunction
diff --git a/2.3-1/macros/Hardware/AVR/AVRPWM0SetDuty.bin b/2.3-1/macros/Hardware/AVR/AVRPWM0SetDuty.bin
new file mode 100644
index 00000000..bc15dd38
--- /dev/null
+++ b/2.3-1/macros/Hardware/AVR/AVRPWM0SetDuty.bin
Binary files differ
diff --git a/2.3-1/macros/Hardware/AVR/AVRPWM0SetDuty.sci b/2.3-1/macros/Hardware/AVR/AVRPWM0SetDuty.sci
new file mode 100644
index 00000000..604d2f40
--- /dev/null
+++ b/2.3-1/macros/Hardware/AVR/AVRPWM0SetDuty.sci
@@ -0,0 +1,35 @@
+// 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 AVRPWM0SetDuty(duty)
+//Function to Set Duty cycle of PWM Output generated by Timer0 at OC0 pin.
+//Parameters
+// duty : It holds an integer value from 0 to 100 which sets the percentage
+// of time for which signal is active.
+//Description
+// Each Micro controller has PWM output pins which can generate varying voltage
+// from 0V-5V.In this function by varying the duty cycle, varying voltage can be
+// produced.
+//Example
+// AVRPWM0SetDuty(50); //Produces 2.5V at OC0 pin
+// AVRPWM0SetDuty(0); //Produces 0V at OC0 pin
+//See also
+// AVRPWM0Setup
+//
+//Authors
+// Ashish Kamble
+//
+// This is curretly dummy function. It provides no functionality but is required
+// for providing support for generating C code for AVR.
+
+if(duty>100) then
+disp("Error : Invalid input argument ''duty'' in AVRPWM0SetDuty function.");
+end
+endfunction
diff --git a/2.3-1/macros/Hardware/AVR/AVRPWM0Setup.bin b/2.3-1/macros/Hardware/AVR/AVRPWM0Setup.bin
new file mode 100644
index 00000000..08867048
--- /dev/null
+++ b/2.3-1/macros/Hardware/AVR/AVRPWM0Setup.bin
Binary files differ
diff --git a/2.3-1/macros/Hardware/AVR/AVRPWM0Setup.sci b/2.3-1/macros/Hardware/AVR/AVRPWM0Setup.sci
new file mode 100644
index 00000000..39861c86
--- /dev/null
+++ b/2.3-1/macros/Hardware/AVR/AVRPWM0Setup.sci
@@ -0,0 +1,68 @@
+// 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 AVRPWM0Setup(waveform_mode,output_mode)
+//Function to Setup OC0 pin for required PWM mode
+//Description
+// Every Micro controller has PWM pins which can generate varying voltages
+// from 0V-5V.This function helps to use OC0 pin to produce required
+// output waveform by setting the waveform mode and otput mode.
+//
+//Parameters
+// waveform_mode:
+// 0 for Phase correct PWM Mode
+// 1 for Fast PWM Mode
+// 2 for CTC Mode
+// output_mode:
+// For Phase Correct PWM Mode:
+// 0 for Clear OC0 on compare match when up-counting. Set OC0 on compare
+// match when down-counting.
+// 1 for Set OC0 on compare match when up-counting. Clear OC0 on compare
+// match when down-counting.
+//
+// For Fast PWM Mode:
+// 0 for non-inverted output i.e Clear OC0 on compare match, set OC0 at BOTTOM.
+// 1 for inverted output i.e Set OC0 on compare match, clear OC0 at BOTTOM.
+//
+// For CTC Mode:
+// 0 to Clear OC0 on compare match
+// 1 to Set OC0 on compare match
+// 2 to toggle OC0 on compare match
+//
+//Example
+// AVRPWM0Setup(2,0); //This function will select CTC waveform mode and will clear OC0 on
+// compare match
+//See also
+// AVRPWM0SetDuty
+//
+//Authors
+// Ashish Kamble
+//
+//This is curretly dummy function. It provides no functionality but is required
+//for providing support for generating C code for AVR.
+
+if(waveform_mode>=3) then
+disp("Error : Invalid input argument ''waveform_mode'' in AVRPWM0Setup function.");
+end
+
+if((waveform_mode==0)|(waveform_mode==1)) then
+ if(output_mode>=2) then
+ disp("Error : Invalid input argument ''output_mode'' in AVRPWM0Setup function.");
+ end
+end
+
+
+if(waveform_mode==2) then
+ if(output_mode>=3) then
+ disp("Error : Invalid input argument ''output_mode'' in AVRPWM0Setup function.");
+ end
+end
+
+endfunction
diff --git a/2.3-1/macros/Hardware/AVR/AVRPWM1SetDuty.bin b/2.3-1/macros/Hardware/AVR/AVRPWM1SetDuty.bin
new file mode 100644
index 00000000..36567dbf
--- /dev/null
+++ b/2.3-1/macros/Hardware/AVR/AVRPWM1SetDuty.bin
Binary files differ
diff --git a/2.3-1/macros/Hardware/AVR/AVRPWM1SetDuty.sci b/2.3-1/macros/Hardware/AVR/AVRPWM1SetDuty.sci
new file mode 100644
index 00000000..60dc0a9f
--- /dev/null
+++ b/2.3-1/macros/Hardware/AVR/AVRPWM1SetDuty.sci
@@ -0,0 +1,52 @@
+// 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 AVRPWM1SetDuty(output_pin,duty,Top_Value)
+//Function to Set Duty cycle of PWM Output generated by Timer1 at OC1A or OC1B pin.
+//Parameters
+// ouput_pin:
+// 0 for selecting OC1A as output pin
+// 1 for selecting OC1B as output pin
+//
+// duty: It holds an integer value from 0 to 100 which sets the percentage
+// of time for which signal is active.
+//
+// Top_Value: It holds an integer value from 0 to 65535.This value sets the Top
+// value of the counter TCNT1 i.e ICR.(for more info refer datasheet)
+//
+//Description
+// Each Micro controller has PWM output pins which can generate varying voltage
+// from 0V-5V.This function Sets the duty cycle of output PWM signal.Also this function
+// decides the Top Vale of TCNT1 and the output pin to output PWM signal.
+//
+//Example
+// AVRPWM1SetDuty(0,50,40000); //This function will produce PWM signal of 50% duty
+// cycle on OC1A pin and TCNT1 will reset at 40000 instead
+// at 65535.
+//
+//See also
+// AVRPWM1Setup
+//
+//Authors
+// Ashish Kamble
+//
+// This is curretly dummy function. It provides no functionality but is required
+// for providing support for generating C code for AVR.
+
+if(output_pin>=2) then
+disp("Error : Invalid input argument ''output_pin'' in AVRPWM1SetDuty function.");
+end
+if(duty>100) then
+disp("Error : Invalid input argument ''duty'' in AVRPWM1SetDuty function.");
+end
+if(Top_Value>65535) then
+disp("Error : Invalid input argument ''Top_Value'' in AVRPWM1Setduty function.");
+end
+endfunction
diff --git a/2.3-1/macros/Hardware/AVR/AVRPWM1Setup.bin b/2.3-1/macros/Hardware/AVR/AVRPWM1Setup.bin
new file mode 100644
index 00000000..d0b17c24
--- /dev/null
+++ b/2.3-1/macros/Hardware/AVR/AVRPWM1Setup.bin
Binary files differ
diff --git a/2.3-1/macros/Hardware/AVR/AVRPWM1Setup.sci b/2.3-1/macros/Hardware/AVR/AVRPWM1Setup.sci
new file mode 100644
index 00000000..51aa25b1
--- /dev/null
+++ b/2.3-1/macros/Hardware/AVR/AVRPWM1Setup.sci
@@ -0,0 +1,79 @@
+// 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 AVRPWM1Setup(waveform_mode,output_mode,output_pin)
+//Function to Setup OC1A or OC1B pin for required PWM mode
+//Description
+// Every Micro controller has PWM pins which can generate varying voltages
+// from 0V-5V.This function helps to use OC1A or OC1B pin to produces required
+// output waveform by setting the waveform mode and otput mode.
+//
+//Parameters
+// waveform_mode:
+// 0 for Phase correct PWM Mode
+// 1 for Fast PWM Mode
+// 2 for CTC Mode
+//
+// output_mode:
+// For Phase Correct PWM Mode:
+// 0 for Clear OC1A or OC1B on compare match when up-counting. Set OC1A or OC1B
+// on compare match when down-counting.
+// 1 for Set OC1A or OC1B on compare match when up-counting. Clear OC1A or OC1B
+// on compare match when down-counting.
+//
+// For Fast PWM Mode:
+// 0 for non-inverted output i.e Clear OC1A or OC1B on compare match, set OC1A
+// OC1B at BOTTOM.
+// 1 for inverted output i.e Set OC1A or OC1B on compare match, clear OC1A or OC1B
+// at BOTTOM.
+//
+// For CTC Mode:
+// 0 to Clear OC1A or OC1B on compare match
+// 1 to Set OC1A or OC1B on compare match
+// 2 to toggle OC1A or OC1B on compare match
+//
+// output_pin:
+// 0 for selecting OC1A as output pin
+// 1 for selecting OC1B as output pin
+//
+//Example
+// AVRPWM1Setup(2,0,0); //This function will select CTC mode and will clear OC1A or OC1B
+// on compare match.Also as defined the output will be produced at
+// 0C1A pin.
+//See also
+// AVRPWM1SetDuty
+//
+//Authors
+// Ashish Kamble
+//
+// This is curretly dummy function. It provides no functionality but is required
+// for providing support for generating C code for AVR.
+
+if(waveform_mode>=3) then
+disp("Error : Invalid input argument ''waveform_mode'' in AVRPWM1Setup function.");
+end
+if(waveform_mode==0|waveform_mode==1) then
+{
+ //if((type(output_mode)~=8)|(output_mode>=2)) then
+ //disp("Error : Invalid input argument ''output_mode'' in AVRPWM1Setup function.");
+ //end
+}
+end
+if(waveform_mode==2) then
+{
+ if((type(output_mode)~=8)|(output_mode>=3)) then
+ disp("Error : Invalid input argument ''output_mode'' in AVRPWM1Setup function.");
+ end
+}
+end
+if(output_pin>=2) then
+disp("Error : Invalid input argument ''output_pin'' in AVRPWM1Setup function.");
+end
+endfunction
diff --git a/2.3-1/macros/Hardware/AVR/AVRPWM2SetDuty.bin b/2.3-1/macros/Hardware/AVR/AVRPWM2SetDuty.bin
new file mode 100644
index 00000000..47fb5321
--- /dev/null
+++ b/2.3-1/macros/Hardware/AVR/AVRPWM2SetDuty.bin
Binary files differ
diff --git a/2.3-1/macros/Hardware/AVR/AVRPWM2SetDuty.sci b/2.3-1/macros/Hardware/AVR/AVRPWM2SetDuty.sci
new file mode 100644
index 00000000..929c1a0a
--- /dev/null
+++ b/2.3-1/macros/Hardware/AVR/AVRPWM2SetDuty.sci
@@ -0,0 +1,38 @@
+// 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 AVRPWM2SetDuty(duty)
+//Function to Set Duty cycle of PWM Output generated by Timer2 at OC2 pin.
+//Description
+// Each Micro controller has PWM output pins which can generate varying voltage
+// from 0V-5V.In this function by varying the duty cycle, varying voltage can be
+// produced.
+//
+//Parameters
+// duty : It holds an integer value from 0 to 100 which sets the percentage
+// of time for which signal is active.
+//
+//Example
+// AVRPWM2SetDuty(50); //Produces 2.5V at OC2 pin
+// AVRPWM2SetDuty(0); //Produces 0V at OC2 pin
+//
+//See also
+// AVRPWM2Setup
+//
+//Authors
+// Ashish Kamble
+//
+// This is curretly dummy function. It provides no functionality but is required
+// for providing support for generating C code for AVR.
+
+if(duty>100) then
+disp("Error : Invalid input argument ''duty'' in AVRPWM2SetDuty function.");
+end
+endfunction
diff --git a/2.3-1/macros/Hardware/AVR/AVRPWM2Setup.bin b/2.3-1/macros/Hardware/AVR/AVRPWM2Setup.bin
new file mode 100644
index 00000000..66996c08
--- /dev/null
+++ b/2.3-1/macros/Hardware/AVR/AVRPWM2Setup.bin
Binary files differ
diff --git a/2.3-1/macros/Hardware/AVR/AVRPWM2Setup.sci b/2.3-1/macros/Hardware/AVR/AVRPWM2Setup.sci
new file mode 100644
index 00000000..d4bc74a6
--- /dev/null
+++ b/2.3-1/macros/Hardware/AVR/AVRPWM2Setup.sci
@@ -0,0 +1,69 @@
+// 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 AVRPWM2Setup(waveform_mode,output_mode)
+//Function to Setup OC2 pin for required PWM mode
+//Description
+// Every Micro controller has PWM pins which can generate varying voltages
+// from 0V-5V.This function helps to use OC2 pin to produces required
+// output waveform by setting the waveform mode and otput mode.
+//
+//Parameters
+// waveform_mode:
+// 0 for Phase correct PWM Mode
+// 1 for Fast PWM Mode
+// 2 for CTC Mode
+//output_mode:
+// For Phase Correct PWM Mode:
+// 0 for Clear OC2 on compare match when up-counting. Set OC2 on compare
+// match when down-counting.
+// 1 for Set OC2 on compare match when up-counting. Clear OC2 on compare
+// match when down-counting.
+//
+// For Fast PWM Mode:
+// 0 for non-inverted output i.e Clear OC2 on compare match, set OC2 at BOTTOM.
+// 1 for inverted output i.e Set OC2 on compare match, clear OC2 at BOTTOM.
+//
+// For CTC Mode:
+// 0 to Clear OC2 on compare match
+// 1 to Set OC2 on compare match
+// 2 to toggle OC2 on compare match
+//
+//Example
+// AVRPWM2Setup(2,0); //This function will select CTC waveform mode and will clear OC2 on
+// compare match
+//See also
+// AVRPWM2SetDuty
+//
+//Authors
+// Ashish Kamble
+//
+//This is curretly dummy function. It provides no functionality but is required
+//for providing support for generating C code for AVR.
+
+if(waveform_mode>=3) then
+disp("Error : Invalid input argument ''waveform_mode'' in AVRPWM2Setup function.");
+end
+if((waveform_mode==0)|(waveform_mode==1)) then
+{
+ //if((type(output_mode)~=8)|(output_mode>=2)) then
+ //disp("Error : Invalid input argument ''output_mode'' in AVRPWM2Setup function.");
+ //end
+}
+end
+if(waveform_mode==2) then
+{
+ if((type(output_mode)~=8)|(output_mode>=3)) then
+ disp("Error : Invalid input argument ''output_mode'' in AVRPWM2Setup function.");
+ end
+}
+end
+
+endfunction
diff --git a/2.3-1/macros/Hardware/AVR/AVRPWMSetDuty.bin b/2.3-1/macros/Hardware/AVR/AVRPWMSetDuty.bin
deleted file mode 100644
index f3c9e3e4..00000000
--- a/2.3-1/macros/Hardware/AVR/AVRPWMSetDuty.bin
+++ /dev/null
Binary files differ
diff --git a/2.3-1/macros/Hardware/AVR/AVRPWMSetDuty.sci b/2.3-1/macros/Hardware/AVR/AVRPWMSetDuty.sci
deleted file mode 100644
index 0042540a..00000000
--- a/2.3-1/macros/Hardware/AVR/AVRPWMSetDuty.sci
+++ /dev/null
@@ -1,24 +0,0 @@
-function AVRPWMSetDuty(timer, duty)
-// Function to set duty for PWM of AVR
-//
-// Calling Sequence
-// AVRPWMSetDuty(uint8 timer, uint8 duty)
-//
-// Parameters
-// timer: timer to be used for PWM generation (0,1,2)
-// duty: duty for PWM waveform (0-100)
-//
-// Description
-// This function sets duty for PWM waveform according to given parameters.
-//
-// Examples
-// AVRPWMSetDuty(0,10) //Sets 10% duty for timer 0 output.
-//
-// 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/2.3-1/macros/Hardware/AVR/AVRPWMSetup.bin b/2.3-1/macros/Hardware/AVR/AVRPWMSetup.bin
deleted file mode 100644
index 971e43ee..00000000
--- a/2.3-1/macros/Hardware/AVR/AVRPWMSetup.bin
+++ /dev/null
Binary files differ
diff --git a/2.3-1/macros/Hardware/AVR/AVRPWMSetup.sci b/2.3-1/macros/Hardware/AVR/AVRPWMSetup.sci
deleted file mode 100644
index 1bee050d..00000000
--- a/2.3-1/macros/Hardware/AVR/AVRPWMSetup.sci
+++ /dev/null
@@ -1,39 +0,0 @@
-function AVRPWMSetup(timer, prescalar, waveform_mode, output_mode)
-// Function to initialise PWM of AVR
-//
-// Calling Sequence
-// AVRPWMSetup(timer, prescalar, waveform_mode, output_mode)
-//
-// Parameters
-// timer: timer to be used for PWM generation (0,1,2)
-// prescalar: prescalar to be used for generating PWM waveform (0-7)
-// waveform_mode: decides type of waveform generation
-// 0 -> Normal mode
-// 1 -> Phase correct mode
-// 2 -> CTC mode
-// 3 -> Fase PWM mode
-// output_mode: decides the compare output mode. (0-3)
-// behaviour of the output is different for different inputs
-// depending upon 'waveform_mode' chosen.
-// ***Refer datasheet for more description about above modes
-//
-// Description
-// This function initialises PWM of AVR with given parameters. 'timer'
-// decides which of the three (0,1,2) timers available to be used. The
-// 'prescalar' is needed for deciding PWM clock. Select appropriate prescalar
-// depending on MCU clock. Choose required pwmmode using 'waveform_generation'
-// and 'output_mode'. Please refer datasheet for more description of 'wafefom_mode'
-// and 'output mode'.
-// Examples
-// AVRPWMSetup(0,1,2,2)
-//
-// See also
-// AVRPMWSetDuty
-//
-// 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/2.3-1/macros/Hardware/AVR/AVRReadADC.bin b/2.3-1/macros/Hardware/AVR/AVRReadADC.bin
index c1067084..37350973 100644
--- a/2.3-1/macros/Hardware/AVR/AVRReadADC.bin
+++ b/2.3-1/macros/Hardware/AVR/AVRReadADC.bin
Binary files differ
diff --git a/2.3-1/macros/Hardware/AVR/AVRReadADC.sci b/2.3-1/macros/Hardware/AVR/AVRReadADC.sci
index f9dfdac0..7fd3e67e 100644
--- a/2.3-1/macros/Hardware/AVR/AVRReadADC.sci
+++ b/2.3-1/macros/Hardware/AVR/AVRReadADC.sci
@@ -1,4 +1,14 @@
-function AVRReadADC(channel)
+// 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 adc_result = AVRReadADC(channel)
// Function to get voltage on analog pin on AVR
//
// Calling Sequence
@@ -22,10 +32,13 @@ function AVRReadADC(channel)
// adc_result = u8AVRReadADC(0) //Read ADC0
//
// Authors
-// Siddhesh Wani
+// Siddhesh Wani Ashish Kamble
//
-
-
// This is curretly dummy function. It provides no functionality but is required
// for providing support for generating C code for AVR.
+
+if(channel>=8) then
+disp("Error : Inavlid input argument ''channel'' in AVRReadADC function.");
+end
+adc_result = 0; //adc_result has been initialised to avoid runtime error.
endfunction
diff --git a/2.3-1/macros/Hardware/AVR/AVRSleep.bin b/2.3-1/macros/Hardware/AVR/AVRSleep.bin
new file mode 100644
index 00000000..e4b10d83
--- /dev/null
+++ b/2.3-1/macros/Hardware/AVR/AVRSleep.bin
Binary files differ
diff --git a/2.3-1/macros/Hardware/AVR/AVRSleep.sci b/2.3-1/macros/Hardware/AVR/AVRSleep.sci
new file mode 100644
index 00000000..a1b6add2
--- /dev/null
+++ b/2.3-1/macros/Hardware/AVR/AVRSleep.sci
@@ -0,0 +1,4 @@
+function AVRSleep(delay)
+
+
+endfunction
diff --git a/2.3-1/macros/Hardware/AVR/AVRTimerSetup.bin b/2.3-1/macros/Hardware/AVR/AVRTimerSetup.bin
index 4a49b861..d7d8c427 100644
--- a/2.3-1/macros/Hardware/AVR/AVRTimerSetup.bin
+++ b/2.3-1/macros/Hardware/AVR/AVRTimerSetup.bin
Binary files differ
diff --git a/2.3-1/macros/Hardware/AVR/AVRTimerSetup.sci b/2.3-1/macros/Hardware/AVR/AVRTimerSetup.sci
index 1529c347..7c5dd1da 100644
--- a/2.3-1/macros/Hardware/AVR/AVRTimerSetup.sci
+++ b/2.3-1/macros/Hardware/AVR/AVRTimerSetup.sci
@@ -1,31 +1,56 @@
-function AVRTimerSetup(timer, prescalar)
-// Function to set the prescalar for timer.
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
//
-// 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
+// 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 AVRTimerSetup(timer,prescaler,clock_source)
+//Function to setup Timers in ATmega16
+//Descrpition:
+// This function tells the micro controller which clock source you will be using.
+// The timer value and prescaler value passed in this function setup the timer as per
+// your requirement.
//
-// See also
-// AVRGetTimerValue
+//Parameters:
+// timer : It is an integer value.
+// 0 to setup timer0
+// 1 to setup timer1
+// 2 to setup timer2
+// prescaler : It is an integer value.
+// 1 for no prescaling i.e clock will run at max 16Hz frequency
+// 8 for prescaling clock by 8 i.e new clock frequency will be (clk/8)
+// 64 for prescaling clock by 64 i.e new clock frequency will be (clk/64)
+// 256 for prescaling clock by 256 i.e new clock frequency will be (clk/256)
+// 1024 for prescaling clock by 1024 i.e new clock frequency will be (clk/1024)
+// clock_source : It is an integer value.
+// 0 if you are using internal clock source
+// 1 if you are using external clock source
+//Example
+// AVRTimerSetup(0,64,0); //This function will select timer0 with timer running as per
+// internal clock source and prescaled by 64.
+//
+//See also
+// AVRGetTimerValues
//
-// Authors
-// Siddhesh Wani
+//Authors
+// Ashish Kamble
//
+//This is curretly dummy function. It provides no functionality but is required
+//for providing support for generating C code for AVR.
+
+if(timer>=3) then
+disp("Error : Invalid input argument ''timer'' in AVRTimerSetup function.");
+end
+
+if(~((prescaler==1)|(prescaler==8)|(prescaler==64)|(prescaler==256)|(prescaler==1024))) then
+disp("Error : Invalid input argument ''prescaler'' in AVRTimerSetup function.");
+end
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for AVR.
+if(clock_source>=2) then
+disp("Error : Invalid input argument ''clock_source'' in AVRTimerSetup function.");
+end
endfunction
diff --git a/2.3-1/macros/Hardware/AVR/AVRUARTReceive.bin b/2.3-1/macros/Hardware/AVR/AVRUARTReceive.bin
new file mode 100644
index 00000000..013036e3
--- /dev/null
+++ b/2.3-1/macros/Hardware/AVR/AVRUARTReceive.bin
Binary files differ
diff --git a/2.3-1/macros/Hardware/AVR/AVRUARTReceive.sci b/2.3-1/macros/Hardware/AVR/AVRUARTReceive.sci
new file mode 100644
index 00000000..790894fb
--- /dev/null
+++ b/2.3-1/macros/Hardware/AVR/AVRUARTReceive.sci
@@ -0,0 +1,30 @@
+// 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 received = AVRUARTReceive()
+// Function to Receive Char value send to ATmega16 using UART or USART.
+// Description
+// This function Receives Char as 8 bit value.This value is stored in UDR at receiving
+// end.
+//
+//Examples
+// state = AVRUARTReceive(); //This function will Receive char and return the entire value
+//
+//See also
+// AVRUARTSetup
+// AVRUARTTransmit
+//
+// Authors
+// Ashish Kamble
+//
+// This is curretly dummy function. It provides no functionality but is required
+// for providing support for generating C code for AVR.
+received = 0; // received has been initialised to avoid runtime error.
+endfunction
diff --git a/2.3-1/macros/Hardware/AVR/AVRUARTSetup.bin b/2.3-1/macros/Hardware/AVR/AVRUARTSetup.bin
index 4a49b861..82ec2911 100644
--- a/2.3-1/macros/Hardware/AVR/AVRUARTSetup.bin
+++ b/2.3-1/macros/Hardware/AVR/AVRUARTSetup.bin
Binary files differ
diff --git a/2.3-1/macros/Hardware/AVR/AVRUARTSetup.sci b/2.3-1/macros/Hardware/AVR/AVRUARTSetup.sci
index 1529c347..32e5db86 100644
--- a/2.3-1/macros/Hardware/AVR/AVRUARTSetup.sci
+++ b/2.3-1/macros/Hardware/AVR/AVRUARTSetup.sci
@@ -1,31 +1,61 @@
-function AVRTimerSetup(timer, prescalar)
-// Function to set the prescalar for timer.
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
//
-// 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
-//
+// 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 AVRUARTSetup(mode, baudrate, stopbits, parity)
+// Function to Setup Serial Communication i.e UART or USART in ATmega16.
// 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.
-//
+// This function Setup the UART or USART for Serial Communicaion between ATmega16
+// and different micro controllers or between ATmega16 and Computer.
+//
+// Parameters
+// mode :
+// 0 for Asynchronous Normal mode
+// 1 for Asynchronous Double Speed mode
+// 2 for Synchronous mode
+//
+// baudrate : Enter one of the following available baudrates
+// 2400 , 4800 , 9600 , 14400 , 19200 , 28800 , 38400 , 57600 ,
+// 768000 , 115200 , 230400 , 250000 , 1000000 .
//
-// Examples
-// AVRTimerSetup(0,1) //Timer 0 with no scaling
+// stopbits :
+// 0 for one stopbit
+// 1 for two stopbits
//
+// parity :
+// 0 for parity disabled
+// 1 for even parity
+// 2 for odd parity
+//
+//Examples
+// AVRUARTSetup(0,9600,0,0); //This function will enable UART Communication for ATmega16
+// with 9600 as baudrate,one stop bit and parity disabled
// See also
-// AVRGetTimerValue
+// AVRUARTTransmit
+// AVRUARTReceive
//
// Authors
-// Siddhesh Wani
+// Ashish Kamble
//
-
// This is curretly dummy function. It provides no functionality but is required
// for providing support for generating C code for AVR.
+if(mode>=3) then
+disp("Error : Invalid input argument ''mode'' in AVRUARTSetup function.");
+end
+
+if((baudrate <> 2400)&(baudrate <> 4800)&(baudrate <> 9600)&(baudrate <> 14400)&(baudrate <> 28800)&(baudrate <> 38400)&(baudrate <> 57600)&(baudrate <> 768000)&(baudrate <> 115200)&(baudrate <> 230400)&(baudrate <> 250000)& (baudrate <> 1000000)) then
+disp("Error : Invalid input argument ''baudrate'' in AVRUARTSetup function.");
+end
+if(stopbits>=2) then
+disp("Error : Invalid input argument ''stopbits'' in AVRUARTSetup function.");
+end
+if(parity>=3) then
+disp("Error : Invalid input argument ''parity'' in AVRUARTSetup function.");
+end
endfunction
diff --git a/2.3-1/macros/Hardware/AVR/AVRUARTTransmit.bin b/2.3-1/macros/Hardware/AVR/AVRUARTTransmit.bin
new file mode 100644
index 00000000..9e53d9a6
--- /dev/null
+++ b/2.3-1/macros/Hardware/AVR/AVRUARTTransmit.bin
Binary files differ
diff --git a/2.3-1/macros/Hardware/AVR/AVRUARTTransmit.sci b/2.3-1/macros/Hardware/AVR/AVRUARTTransmit.sci
new file mode 100644
index 00000000..eb358499
--- /dev/null
+++ b/2.3-1/macros/Hardware/AVR/AVRUARTTransmit.sci
@@ -0,0 +1,33 @@
+// 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 AVRUARTTransmit(data)
+// Function to Transmit data using UART or USART.
+// Description
+// This function Tranmits data over UART or USART.The data to be transmitted can
+// be a Char , String , Unsigned Int, Signed Int.
+//
+// Parameter
+// data :
+// The data to be transmitted can be a Char,String,Unsigned Int,Signed Int.
+//
+//Examples
+// AVRUARTTransmit("This is example"); //This function will transmit the entered string.
+//
+//See also
+// AVRUARTSetup
+// AVRUARTReceive
+//
+// Authors
+// Ashish Kamble
+//
+// 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/2.3-1/macros/Hardware/AVR/GetAVRSupportFunctions.bin b/2.3-1/macros/Hardware/AVR/GetAVRSupportFunctions.bin
index 0aa7587f..ba847830 100644
--- a/2.3-1/macros/Hardware/AVR/GetAVRSupportFunctions.bin
+++ b/2.3-1/macros/Hardware/AVR/GetAVRSupportFunctions.bin
Binary files differ
diff --git a/2.3-1/macros/Hardware/AVR/GetAVRSupportFunctions.sci b/2.3-1/macros/Hardware/AVR/GetAVRSupportFunctions.sci
index cce49f91..99c6242f 100644
--- a/2.3-1/macros/Hardware/AVR/GetAVRSupportFunctions.sci
+++ b/2.3-1/macros/Hardware/AVR/GetAVRSupportFunctions.sci
@@ -1,3 +1,13 @@
+// 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 AVRSupportFunctions = GetAVRSupportFunctions()
// -----------------------------------------------------------------
// Get list of AVR peripherals supported
@@ -8,7 +18,7 @@ function AVRSupportFunctions = GetAVRSupportFunctions()
// Output data:
// None
//
-// Author: Siddhesh Wani
+// Author: Siddhesh Wani Ashish Kamble
// -----------------------------------------------------------------
AVRSupportFunctions = [
@@ -16,10 +26,18 @@ AVRSupportFunctions = [
"AVRDigitalIn"
"AVRDigitalOut"
"AVRDigitalSetup"
+ "AVRDigitalPortSetup"
+ "AVRTimerSetup"
"AVRGetTimerValue"
- "AVRPWMSetDuty"
- "AVRPWMSetup"
+ "AVRPWM0Setup"
+ "AVRPWM0SetDuty"
+ "AVRPWM1Setup"
+ "AVRPWM1SetDuty"
+ "AVRPWM2Setup"
+ "AVRPWM2SetDuty"
"AVRReadADC"
- "AVRTimerSetup"];
+ "AVRSleep"
+ "AVRUARTSetup"
+ ];
endfunction
diff --git a/2.3-1/macros/Hardware/AVR/GetPeripheral.sci b/2.3-1/macros/Hardware/AVR/GetPeripheral.sci
index 73e9f19e..ac909deb 100644
--- a/2.3-1/macros/Hardware/AVR/GetPeripheral.sci
+++ b/2.3-1/macros/Hardware/AVR/GetPeripheral.sci
@@ -1,3 +1,13 @@
+// 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 Peripheral = GetPeripheral(FunName,InArg)
// -----------------------------------------------------------------
// Get an acronym for peripheral being used to be inserted in list of
diff --git a/2.3-1/macros/Hardware/AVR/InsertPeripheralInList.sci b/2.3-1/macros/Hardware/AVR/InsertPeripheralInList.sci
index bafc5935..198ea1da 100644
--- a/2.3-1/macros/Hardware/AVR/InsertPeripheralInList.sci
+++ b/2.3-1/macros/Hardware/AVR/InsertPeripheralInList.sci
@@ -1,3 +1,13 @@
+// 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 InsertPeripheralInList(Peripheral,PeripheralListFile)
// -----------------------------------------------------------------
// Insert input peripheral in peripherals' list
diff --git a/2.3-1/macros/Hardware/AVR/IsAVRSupportFunction.sci b/2.3-1/macros/Hardware/AVR/IsAVRSupportFunction.sci
index a4cbbc88..94f4af7c 100644
--- a/2.3-1/macros/Hardware/AVR/IsAVRSupportFunction.sci
+++ b/2.3-1/macros/Hardware/AVR/IsAVRSupportFunction.sci
@@ -1,3 +1,13 @@
+// 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 Output = IsAVRSupportFunction(FunName)
// -----------------------------------------------------------------
// Check whether input function name is an AVR support function or not.
diff --git a/2.3-1/macros/Hardware/AVR/lib b/2.3-1/macros/Hardware/AVR/lib
index 64d346af..f07c4e6b 100644
--- a/2.3-1/macros/Hardware/AVR/lib
+++ b/2.3-1/macros/Hardware/AVR/lib
Binary files differ
diff --git a/2.3-1/macros/Hardware/AVR/names b/2.3-1/macros/Hardware/AVR/names
index 624fee8a..8fcfdb75 100644
--- a/2.3-1/macros/Hardware/AVR/names
+++ b/2.3-1/macros/Hardware/AVR/names
@@ -1,13 +1,21 @@
AVRADCSetup
AVRDigitalIn
AVRDigitalOut
+AVRDigitalPortSetup
AVRDigitalSetup
AVRGetTimerValue
-AVRPWMSetDuty
-AVRPWMSetup
+AVRPWM0SetDuty
+AVRPWM0Setup
+AVRPWM1SetDuty
+AVRPWM1Setup
+AVRPWM2SetDuty
+AVRPWM2Setup
AVRReadADC
+AVRSleep
AVRTimerSetup
+AVRUARTReceive
AVRUARTSetup
+AVRUARTTransmit
GetAVRSupportFunctions
GetPeripheral
InsertPeripheralInList
diff --git a/2.3-1/macros/Hardware/RasberryPi/lib b/2.3-1/macros/Hardware/RasberryPi/lib
index d25d9440..2426bc1a 100644
--- a/2.3-1/macros/Hardware/RasberryPi/lib
+++ b/2.3-1/macros/Hardware/RasberryPi/lib
Binary files differ
diff --git a/2.3-1/macros/Scilab-Arduino/lib b/2.3-1/macros/Scilab-Arduino/lib
index bd0cb707..ce6d16d4 100644
--- a/2.3-1/macros/Scilab-Arduino/lib
+++ b/2.3-1/macros/Scilab-Arduino/lib
Binary files differ
diff --git a/2.3-1/macros/SymbolTable/lib b/2.3-1/macros/SymbolTable/lib
index 7ff755ef..cd1105bb 100644
--- a/2.3-1/macros/SymbolTable/lib
+++ b/2.3-1/macros/SymbolTable/lib
Binary files differ
diff --git a/2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci b/2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci
index b9e7d8af..5c8ff33e 100644
--- a/2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci
+++ b/2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci
@@ -863,6 +863,12 @@ PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file',
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+FunctionName = 'acosd'; //BJ : Works but not able to generate all cases , AS : same for float
+ //--> acosd(%pi)
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
FunctionName = 'acosh'; // BJ : Done AS : Float_Done
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
@@ -873,11 +879,66 @@ PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file',
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
FunctionName = 'acot'; // BJ : Done AS : Float_Done
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+FunctionName = 'acotd'; // BJ : Done AS : Float_Done
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+FunctionName = 'acoth'; // BJ : Done AS : Float_Done
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+FunctionName = 'acsc'; // BJ : Done AS : Float_Done
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+FunctionName = 'asec'; // BJ : Done AS : Float_Done
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+FunctionName = 'asech'; // BJ : Done AS : Float_Done
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+FunctionName = 'asind'; // BJ : Done AS : Float_Done
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+FunctionName = 'atand'; // BJ : Done AS : Float_Done
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+FunctionName = 'asecd'; // BJ : Done AS : Float_Done
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+FunctionName = 'acscd'; // BJ : Done AS : Float_Done
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+FunctionName = 'acsch'; // BJ : Done AS : Float_Done
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
FunctionName = 'sqrt'; // BJ : Done AS : Float_Done
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
@@ -4591,6 +4652,39 @@ PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file',
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+//------------------------------------
+//---- Class AVRDigitalPortSetup ---------
+//------------------------------------
+ClassName = 'AVRDigitalPortSetup';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1 ',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''u8''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+
+// --- Function List Class. ---
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+//PrintStringInfo('d0d0d0'+ArgSeparator+'u80',ClassFileName,'file','y');
+//PrintStringInfo('d0d0u80'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo(''+ArgSeparator+'',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'AVRDigitalPortSetup';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+
+
+
+
//------------------------------------
//---- Class AVRDigitalOut -----------
//------------------------------------
@@ -4681,7 +4775,7 @@ PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
PrintStringInfo('NIN= 1',ClassFileName,'file','y');
PrintStringInfo('NOUT= 1 ',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= ''u16''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''u8''',ClassFileName,'file','y');
PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
@@ -4697,16 +4791,17 @@ INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,E
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
//------------------------------------
-//---- Class AVRPWMSetup -------------
+//---- Class AVRPWM0Setup -------------
//------------------------------------
-ClassName = 'AVRPWMSetup';
+ClassName = 'AVRPWM0Setup';
// --- Class Annotation. ---
PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
-PrintStringInfo('NIN= 4',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 0',ClassFileName,'file','y');
+PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1 ',ClassFileName,'file','y');
PrintStringInfo('OUT(1).TP= ''u8''',ClassFileName,'file','y');
PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
@@ -4716,35 +4811,337 @@ ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
PrintStringInfo(''+ArgSeparator+'',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'AVRPWMSetup';
+FunctionName = 'AVRPWM0Setup';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
//------------------------------------
-//---- Class AVRPWMSetDuty -----------
+//---- Class AVRPWM2Setup -------------
//------------------------------------
-ClassName = 'AVRPWMSetDuty';
+ClassName = 'AVRPWM2Setup';
// --- Class Annotation. ---
PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
PrintStringInfo('NIN= 2',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 0 ',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1 ',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''u8''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+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(''+ArgSeparator+'',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'AVRPWM2Setup';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+//------------------------------------
+//---- Class AVRPWM1Setup -------------
+//------------------------------------
+ClassName = 'AVRPWM1Setup';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+PrintStringInfo('NIN= 3',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1 ',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''u8''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+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(''+ArgSeparator+'',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'AVRPWM1Setup';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+
+
+//------------------------------------
+//---- Class AVRPWM0SetDuty -----------
+//------------------------------------
+ClassName = 'AVRPWM0SetDuty';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+PrintStringInfo('NIN= 1',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1 ',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''u8''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+
+// --- Function List Class. ---
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo(''+ArgSeparator+'',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'AVRPWM0SetDuty';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+//------------------------------------
+//---- Class AVRPWM2SetDuty -----------
+//------------------------------------
+ClassName = 'AVRPWM2SetDuty';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+PrintStringInfo('NIN= 1',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1 ',ClassFileName,'file','y');
PrintStringInfo('OUT(1).TP= ''u8''',ClassFileName,'file','y');
PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
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(''+ArgSeparator+'',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'AVRPWMSetDuty';
+FunctionName = 'AVRPWM2SetDuty';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+//------------------------------------
+//---- Class AVRPWM1SetDuty -----------
+//------------------------------------
+ClassName = 'AVRPWM1SetDuty';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+PrintStringInfo('NIN= 3',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1 ',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''u8''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+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(''+ArgSeparator+'',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'AVRPWM1SetDuty';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+
+
+
+//------------------------------------
+//---- Class AVRTimerInit -----------
+//------------------------------------
+ClassName = 'AVRTimerSetup';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+PrintStringInfo('NIN= 3',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1 ',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''u8''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+
+// --- Function List Class. ---
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+//PrintStringInfo('d0d0d0'+ArgSeparator+'u80',ClassFileName,'file','y');
+//PrintStringInfo('d0d0u80'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo(''+ArgSeparator+'',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'AVRTimerSetup';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+
+
+
+//------------------------------------
+//---- Class AVRGetTimerValue -----------
+//------------------------------------
+ClassName = 'AVRGetTimerValue';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+PrintStringInfo('NIN= 1',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1 ',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''u16''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+
+// --- Function List Class. ---
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+//PrintStringInfo('d0d0d0'+ArgSeparator+'u80',ClassFileName,'file','y');
+//PrintStringInfo('d0d0u80'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo(''+ArgSeparator+'',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'AVRGetTimerValue';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+//------------------------------------
+//---- Class AVRSleep -----------
+//------------------------------------
+ClassName = 'AVRSleep';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+PrintStringInfo('NIN= 1',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1 ',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''u16''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+
+// --- Function List Class. ---
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+//PrintStringInfo('d0d0d0'+ArgSeparator+'u80',ClassFileName,'file','y');
+//PrintStringInfo('d0d0u80'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo(''+ArgSeparator+'',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'AVRSleep';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+
+
+//------------------------------------
+//---- Class AVRUARTSetup -----------
+//------------------------------------
+ClassName = 'AVRUARTSetup';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+PrintStringInfo('NIN= 4',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1 ',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''u8''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+
+// --- Function List Class. ---
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+//PrintStringInfo('d0d0d0'+ArgSeparator+'u80',ClassFileName,'file','y');
+//PrintStringInfo('d0d0u80'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo(''+ArgSeparator+'',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'AVRUARTSetup';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+
+//------------------------------------
+//---- Class AVRUARTTransmit -----------
+//------------------------------------
+ClassName = 'AVRUARTTransmit';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+PrintStringInfo('NIN= 1',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1 ',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''u8''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+
+// --- Function List Class. ---
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+//PrintStringInfo('d0'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('s0'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('u80'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('i80'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('u160'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('i160'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('g0'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('d0'+ArgSeparator+'u80',ClassFileName,'file','y');
+//
+//PrintStringInfo('d2'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('s2'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('u82'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('i82'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('u162'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('i162'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('g2'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('d2'+ArgSeparator+'u80',ClassFileName,'file','y');
+
+//PrintStringInfo('d0d0u80'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo(''+ArgSeparator+'',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'AVRUARTTransmit';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+
+
+
+
+//------------------------------------
+//---- Class AVRUARTReceiveChar -----------
+//------------------------------------
+ClassName = 'AVRUARTReceiveChar';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+PrintStringInfo('NIN= 0',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1 ',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''u8''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+
+// --- Function List Class. ---
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+//PrintStringInfo('d0d0d0'+ArgSeparator+'u80',ClassFileName,'file','y');
+//PrintStringInfo('d0d0u80'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo(''+ArgSeparator+'',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'AVRUARTReceiveChar';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+
//------------------------------------
//---- Class RPI_DigitalSetup --------
//------------------------------------
@@ -4754,7 +5151,7 @@ ClassName = 'RPI_DigitalSetup';
PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
PrintStringInfo('NIN= 2',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 0',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1 ',ClassFileName,'file','y');
PrintStringInfo('OUT(1).TP= ''u8''',ClassFileName,'file','y');
PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
diff --git a/2.3-1/macros/ToolInitialization/lib b/2.3-1/macros/ToolInitialization/lib
index 6240d3dd..06164e65 100644
--- a/2.3-1/macros/ToolInitialization/lib
+++ b/2.3-1/macros/ToolInitialization/lib
Binary files differ
diff --git a/2.3-1/macros/findDeps/getAllHeaders.sci b/2.3-1/macros/findDeps/getAllHeaders.sci
index 175c8dc7..67f5cea2 100644
--- a/2.3-1/macros/findDeps/getAllHeaders.sci
+++ b/2.3-1/macros/findDeps/getAllHeaders.sci
@@ -111,6 +111,18 @@ function allHeaders = getAllHeaders(SharedInfo)
"src/c/elementaryFunctions/includes/int8.h"
"src/c/elementaryFunctions/includes/uint16.h"
"src/c/elementaryFunctions/includes/int16.h"
+ "src/c/elementaryFunctions/includes/acosd.h"
+ "src/c/elementaryFunctions/includes/acot.h"
+ "src/c/elementaryFunctions/includes/acotd.h"
+ "src/c/elementaryFunctions/includes/acoth.h"
+ "src/c/elementaryFunctions/includes/acsc.h"
+ "src/c/elementaryFunctions/includes/acscd.h"
+ "src/c/elementaryFunctions/includes/acsch.h"
+ "src/c/elementaryFunctions/includes/asec.h"
+ "src/c/elementaryFunctions/includes/asecd.h"
+ "src/c/elementaryFunctions/includes/asech.h"
+ "src/c/elementaryFunctions/includes/asind.h"
+ "src/c/elementaryFunctions/includes/atand.h"
"src/c/statisticsFunctions/includes/variance.h"
"src/c/statisticsFunctions/includes/sum.h"
"src/c/statisticsFunctions/includes/mean.h"
@@ -174,6 +186,8 @@ function allHeaders = getAllHeaders(SharedInfo)
"src/c/hardware/avr/includes/AVRPeripheralADC.h"
"src/c/hardware/avr/includes/AVRPeripheralPWM.h"
"src/c/hardware/avr/includes/AVRUtil.h"
+ "src/c/hardware/avr/includes/AVRPeripheralTimer.h"
+ "src/c/hardware/avr/includes/AVRPeripheralUART.h"
];
RPi_headers = [
diff --git a/2.3-1/macros/findDeps/getAllInterfaces.sci b/2.3-1/macros/findDeps/getAllInterfaces.sci
index 92f4db95..135f88b7 100644
--- a/2.3-1/macros/findDeps/getAllInterfaces.sci
+++ b/2.3-1/macros/findDeps/getAllInterfaces.sci
@@ -100,6 +100,18 @@ function allInterfaces = getAllInterfaces(SharedInfo)
"src/c/elementaryFunctions/interfaces/int_int8.h"
"src/c/elementaryFunctions/interfaces/int_uint16.h"
"src/c/elementaryFunctions/interfaces/int_int16.h"
+ "src/c/elementaryFunctions/interfaces/int_acosd.h"
+ "src/c/elementaryFunctions/interfaces/int_acot.h"
+ "src/c/elementaryFunctions/interfaces/int_acotd.h"
+ "src/c/elementaryFunctions/interfaces/int_acoth.h"
+ "src/c/elementaryFunctions/interfaces/int_acsc.h"
+ "src/c/elementaryFunctions/interfaces/int_acscd.h"
+ "src/c/elementaryFunctions/interfaces/int_acsch.h"
+ "src/c/elementaryFunctions/interfaces/int_asec.h"
+ "src/c/elementaryFunctions/interfaces/int_asecd.h"
+ "src/c/elementaryFunctions/interfaces/int_asech.h"
+ "src/c/elementaryFunctions/interfaces/int_asind.h"
+ "src/c/elementaryFunctions/interfaces/int_atand.h"
"src/c/statisticsFunctions/interfaces/int_mean.h"
"src/c/statisticsFunctions/interfaces/int_meanf.h"
"src/c/statisticsFunctions/interfaces/int_stdevf.h"
@@ -167,6 +179,8 @@ function allInterfaces = getAllInterfaces(SharedInfo)
"src/c/hardware/avr/interfaces/int_AVRPeripheralADC.h"
"src/c/hardware/avr/interfaces/int_AVRPeripheralPWM.h"
"src/c/hardware/avr/interfaces/int_AVRUtil.h"
+ "src/c/hardware/avr/interfaces/int_AVRPeripheralTimer.h"
+ "src/c/hardware/avr/interfaces/int_AVRPeripheralUART.h"
];
RPI_interfaces = [
diff --git a/2.3-1/macros/findDeps/getAllSources.sci b/2.3-1/macros/findDeps/getAllSources.sci
index 624de4bc..9a5a5c26 100644
--- a/2.3-1/macros/findDeps/getAllSources.sci
+++ b/2.3-1/macros/findDeps/getAllSources.sci
@@ -684,6 +684,66 @@ function allSources = getAllSources(SharedInfo)
"src/c/elementaryFunctions/linspace/dlinspacea.c"
"src/c/elementaryFunctions/logspace/dlogspaces.c"
"src/c/elementaryFunctions/logspace/dlogspacea.c"
+ "src/c/elementaryFunctions/acosd/dacosda.c"
+ "src/c/elementaryFunctions/acosd/dacosds.c"
+ "src/c/elementaryFunctions/acosd/sacosda.c"
+ "src/c/elementaryFunctions/acosd/sacosds.c"
+ "src/c/elementaryFunctions/acot/dacota.c"
+ "src/c/elementaryFunctions/acot/dacots.c"
+ "src/c/elementaryFunctions/acot/sacota.c"
+ "src/c/elementaryFunctions/acot/sacots.c"
+ "src/c/elementaryFunctions/acot/cacots.c"
+ "src/c/elementaryFunctions/acot/cacota.c"
+ "src/c/elementaryFunctions/acot/zacots.c"
+ "src/c/elementaryFunctions/acot/zacota.c"
+ "src/c/elementaryFunctions/acotd/dacotda.c"
+ "src/c/elementaryFunctions/acotd/dacotds.c"
+ "src/c/elementaryFunctions/acotd/sacotda.c"
+ "src/c/elementaryFunctions/acotd/sacotds.c"
+ "src/c/elementaryFunctions/acoth/dacotha.c"
+ "src/c/elementaryFunctions/acoth/dacoths.c"
+ "src/c/elementaryFunctions/acoth/sacotha.c"
+ "src/c/elementaryFunctions/acoth/sacoths.c"
+ "src/c/elementaryFunctions/acoth/cacoths.c"
+ "src/c/elementaryFunctions/acoth/cacotha.c"
+ "src/c/elementaryFunctions/acoth/zacoths.c"
+ "src/c/elementaryFunctions/acoth/zacotha.c"
+ "src/c/elementaryFunctions/acsc/dacsca.c"
+ "src/c/elementaryFunctions/acsc/dacscs.c"
+ "src/c/elementaryFunctions/acsc/sacsca.c"
+ "src/c/elementaryFunctions/acsc/sacscs.c"
+ "src/c/elementaryFunctions/acsc/cacscs.c"
+ "src/c/elementaryFunctions/acsc/cacsca.c"
+ "src/c/elementaryFunctions/acsc/zacscs.c"
+ "src/c/elementaryFunctions/acsc/zacsca.c"
+ "src/c/elementaryFunctions/acscd/dacscda.c"
+ "src/c/elementaryFunctions/acscd/dacscds.c"
+ "src/c/elementaryFunctions/acscd/sacscda.c"
+ "src/c/elementaryFunctions/acscd/sacscds.c"
+ "src/c/elementaryFunctions/acsch/dacscha.c"
+ "src/c/elementaryFunctions/acsch/dacschs.c"
+ "src/c/elementaryFunctions/acsch/sacscha.c"
+ "src/c/elementaryFunctions/acsch/sacschs.c"
+ "src/c/elementaryFunctions/asec/daseca.c"
+ "src/c/elementaryFunctions/asec/dasecs.c"
+ "src/c/elementaryFunctions/asec/saseca.c"
+ "src/c/elementaryFunctions/asec/sasecs.c"
+ "src/c/elementaryFunctions/asecd/dasecda.c"
+ "src/c/elementaryFunctions/asecd/dasecds.c"
+ "src/c/elementaryFunctions/asecd/sasecda.c"
+ "src/c/elementaryFunctions/asecd/sasecds.c"
+ "src/c/elementaryFunctions/asech/dasecha.c"
+ "src/c/elementaryFunctions/asech/dasechs.c"
+ "src/c/elementaryFunctions/asech/sasecha.c"
+ "src/c/elementaryFunctions/asech/sasechs.c"
+ "src/c/elementaryFunctions/asind/dasinda.c"
+ "src/c/elementaryFunctions/asind/dasinds.c"
+ "src/c/elementaryFunctions/asind/sasinda.c"
+ "src/c/elementaryFunctions/asind/sasinds.c"
+ "src/c/elementaryFunctions/atand/datanda.c"
+ "src/c/elementaryFunctions/atand/datands.c"
+ "src/c/elementaryFunctions/atand/satanda.c"
+ "src/c/elementaryFunctions/atand/satands.c"
"src/c/statisticsFunctions/max/dmaxa.c"
"src/c/statisticsFunctions/max/smaxa.c"
"src/c/statisticsFunctions/max/srowmaxa.c"
@@ -1002,13 +1062,36 @@ function allSources = getAllSources(SharedInfo)
//Files to be inserted only if output format selected is 'AVR'.
AVR_files = [
"src/c/hardware/avr/gpio/u8AVRDigitalSetups.c"
+ "src/c/hardware/avr/gpio/u8AVRDigitalPortSetups.c"
"src/c/hardware/avr/gpio/u8AVRDigitalOuts.c"
"src/c/hardware/avr/gpio/u8AVRDigitalIns.c"
"src/c/hardware/avr/adc/u8AVRADCSetups.c"
"src/c/hardware/avr/adc/u8AVRReadADCs.c"
- "src/c/hardware/avr/pwm/u8AVRPWMSetups.c"
- "src/c/hardware/avr/pwm/u8AVRPWMSetDutys.c"
- "src/c/hardware/avr/util/u16AVRSleeps.c"
+ "src/c/hardware/avr/pwm/u8AVRPWM0Setups.c"
+ "src/c/hardware/avr/pwm/u8AVRPWM2Setups.c"
+ "src/c/hardware/avr/pwm/u8AVRPWM1Setups.c"
+ "src/c/hardware/avr/pwm/u8AVRPWM0SetDutys.c"
+ "src/c/hardware/avr/pwm/u8AVRPWM2SetDutys.c"
+ "src/c/hardware/avr/pwm/u8AVRPWM1SetDutys.c"
+ "src/c/hardware/avr/util/u16AVRSleeps.c"
+ "src/c/hardware/avr/timer/u8AVRTimerSetups.c"
+ "src/c/hardware/avr/timer/u8AVRGetTimerValues.c"
+ "src/c/hardware/avr/uart/u8AVRUARTReceiveCharu8.c"
+ "src/c/hardware/avr/uart/u8AVRUARTSetups.c"
+ "src/c/hardware/avr/uart/u8AVRUARTTransmits.c"
+ "src/c/hardware/avr/uart/i16AVRUARTTransmits.c"
+ "src/c/hardware/avr/uart/i8AVRUARTTransmits.c"
+ "src/c/hardware/avr/uart/gAVRUARTTransmits.c"
+ "src/c/hardware/avr/uart/u16AVRUARTTransmits.c"
+ "src/c/hardware/avr/uart/u8AVRUARTTransmita.c"
+ "src/c/hardware/avr/uart/i16AVRUARTTransmita.c"
+ "src/c/hardware/avr/uart/i8AVRUARTTransmita.c"
+ "src/c/hardware/avr/uart/dAVRUARTTransmits.c"
+// "src/c/hardware/avr/uart/gAVRUARTTransmita.c"
+ "src/c/hardware/avr/uart/u16AVRUARTTransmita.c"
+// "src/c/hardware/avr/uart/sAVRUARTTransmits.c"
+
+
];
RPI_files = [
diff --git a/2.3-1/macros/findDeps/lib b/2.3-1/macros/findDeps/lib
index c1deaa62..b3a9fe5d 100644
--- a/2.3-1/macros/findDeps/lib
+++ b/2.3-1/macros/findDeps/lib
Binary files differ
diff --git a/2.3-1/macros/lib b/2.3-1/macros/lib
index 1b718c75..3c454969 100644
--- a/2.3-1/macros/lib
+++ b/2.3-1/macros/lib
Binary files differ
diff --git a/2.3-1/macros/runsci2c.sci b/2.3-1/macros/runsci2c.sci
index 0bc3e92c..71cc1ffc 100644
--- a/2.3-1/macros/runsci2c.sci
+++ b/2.3-1/macros/runsci2c.sci
@@ -141,7 +141,7 @@ for i = 1:size(allInterfaces, "*")
//disp("Copying "+allInterfaces(i)+" in "+SCI2COutputPath+"/interfaces/");
copyfile(allInterfaces(i), SCI2COutputPath+"/interfaces/");
end
-
+disp(allLibraries);
// -- Libraries
if(~isempty(allLibraries))
PrintStepInfo('Copying libraries', FileInfo.GeneralReport,'both');
@@ -177,7 +177,9 @@ if (Target == 'Arduino')
//disp("Copying "+arduinoFiles(i)+" in "+SCI2COutputPath+"/arduino/sci2carduino");
copyfile(arduinoFiles(i), SCI2COutputPath+"/arduino/sci2c_arduino/");
end
-
+elseif (Target == 'AVR')
+ AVRFile = SCI2CHOME + "/" + "src/c/hardware/avr/default_files/Makefile";
+ copyfile(AVRFile, SCI2COutputPath);
else
if BuildTool == "make"
diff --git a/2.3-1/macros/scilab2c.sci b/2.3-1/macros/scilab2c.sci
index 4fccb075..41494eac 100644
--- a/2.3-1/macros/scilab2c.sci
+++ b/2.3-1/macros/scilab2c.sci
@@ -143,7 +143,7 @@ error(msprintf(gettext("%s: Wrong number of input argument(s): %d expected.\n"),
// --- LAUNCH USER SCI CODE TO TEST IT BEFORE TRANSLATING IT!!! ---
// If Target choosen is 'Standalone' then only execute the code, otherwise directly start conversion.
- if ((Target == "StandAlone"))// | (Target == "RPi"))
+ if (Target == "StandAlone" |Target == "AVR")
runscicode(UserScilabMainFile, UserSciFilesPaths);
// --- ASK USER FOR CONTINUATION. ---