// 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