diff options
Diffstat (limited to '2.3-1/src')
-rw-r--r-- | 2.3-1/src/c/hardware/avr/includes/AVRUtil.h | 6 | ||||
-rw-r--r-- | 2.3-1/src/c/hardware/avr/interfaces/int_AVRPeripheralGPIO.h | 4 | ||||
-rw-r--r-- | 2.3-1/src/c/hardware/avr/interfaces/int_AVRUtil.h | 2 | ||||
-rw-r--r-- | 2.3-1/src/c/hardware/avr/pwm/u8AVRADCSetups.c | 56 | ||||
-rw-r--r-- | 2.3-1/src/c/hardware/avr/util/u16AVRSleeps.c (renamed from 2.3-1/src/c/hardware/avr/util/U16AVRSleeps.c) | 4 | ||||
-rw-r--r-- | 2.3-1/src/c/scilab-arduino/default_files/Makefile | 4 |
6 files changed, 68 insertions, 8 deletions
diff --git a/2.3-1/src/c/hardware/avr/includes/AVRUtil.h b/2.3-1/src/c/hardware/avr/includes/AVRUtil.h index 2e6d9ae4..0aa1923f 100644 --- a/2.3-1/src/c/hardware/avr/includes/AVRUtil.h +++ b/2.3-1/src/c/hardware/avr/includes/AVRUtil.h @@ -13,10 +13,10 @@ extern "C" { #endif -#include "Types.h" -#include "avr/util.h" +#include "types.h" +#include "util/delay.h" -uint8 U16AVRSleeps (uint16 delay); +uint8 u16AVRSleeps (uint16 delay); #ifdef __cplusplus } /* extern "C" */ diff --git a/2.3-1/src/c/hardware/avr/interfaces/int_AVRPeripheralGPIO.h b/2.3-1/src/c/hardware/avr/interfaces/int_AVRPeripheralGPIO.h index a4f9b91d..439532db 100644 --- a/2.3-1/src/c/hardware/avr/interfaces/int_AVRPeripheralGPIO.h +++ b/2.3-1/src/c/hardware/avr/interfaces/int_AVRPeripheralGPIO.h @@ -23,6 +23,10 @@ extern "C" { #define d0d0d0AVRDigitalOutu80(in1,in2,in3) u8AVRDigitalOuts((uint8) in1,\ (uint8) in2, (uint8) in3); +#define d0d0u80AVRDigitalOutu80(in1,in2,in3) u8AVRDigitalOuts((uint8) in1,\ + (uint8) in2, (uint8) in3); + + #ifdef __cplusplus } /* extern "C" */ #endif diff --git a/2.3-1/src/c/hardware/avr/interfaces/int_AVRUtil.h b/2.3-1/src/c/hardware/avr/interfaces/int_AVRUtil.h index ce96951b..2d6bbef7 100644 --- a/2.3-1/src/c/hardware/avr/interfaces/int_AVRUtil.h +++ b/2.3-1/src/c/hardware/avr/interfaces/int_AVRUtil.h @@ -14,7 +14,7 @@ extern "C" { #endif -#define d0sleepu80(in1) U16AVRSleeps ((uint16) in1); +#define d0sleepu80(in1) u16AVRSleeps ((uint16) in1); #ifdef __cplusplus } /* extern "C" */ diff --git a/2.3-1/src/c/hardware/avr/pwm/u8AVRADCSetups.c b/2.3-1/src/c/hardware/avr/pwm/u8AVRADCSetups.c new file mode 100644 index 00000000..cd1d12bb --- /dev/null +++ b/2.3-1/src/c/hardware/avr/pwm/u8AVRADCSetups.c @@ -0,0 +1,56 @@ +// Function to initialise PWM of AVR +// +// Calling Sequence +// u8AVRPWMSetups(uint8 timer, uint8 prescalar, uint8 waveform_mode, uint8 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) +// +// Authors +// Siddhesh Wani +// + +#include "AVRPeripheralPWM.h" + + +uint8 u8AVRPWMSetups(uint8 timer, uint8 prescalar, uint8 waveform_mode, uint8 output_mode) +{ + switch(timer) + { + case 0: + TCCR0|= (prescalar & 0x07); //Select clock source + //Select waveform generation mode + TCCR0|= ((waveform_mode & 0x04) << 4); + //Select compare output mode + TCCR0 |= ((output_mode & 0x01) << 3); //WGM0 + TCCR0 |= ((output_mode & 0x02) << 6); //WGM1 + break; + case 1: + break; + case 2: + break; + } + + return 0; +} + diff --git a/2.3-1/src/c/hardware/avr/util/U16AVRSleeps.c b/2.3-1/src/c/hardware/avr/util/u16AVRSleeps.c index f2144717..4d81c964 100644 --- a/2.3-1/src/c/hardware/avr/util/U16AVRSleeps.c +++ b/2.3-1/src/c/hardware/avr/util/u16AVRSleeps.c @@ -6,9 +6,9 @@ #include "AVRUtil.h" -uint8 U16AVRSleeps (uint16 delay) +uint8 u16AVRSleeps (uint16 delay) { _delay_ms(delay); - retrun 0; + return 0; } diff --git a/2.3-1/src/c/scilab-arduino/default_files/Makefile b/2.3-1/src/c/scilab-arduino/default_files/Makefile index 2b888f05..5432fcfd 100644 --- a/2.3-1/src/c/scilab-arduino/default_files/Makefile +++ b/2.3-1/src/c/scilab-arduino/default_files/Makefile @@ -4,7 +4,7 @@ ARDUINO_DIR = /usr/share/arduino ARDMK_DIR = /usr/share/arduino AVR_TOOLS_DIR = /usr BOARD_TAG = uno -USER_LIB_PATH = ../../ -ARDUINO_LIBS = src/c includes interfaces ../Temp +USER_LIB_PATH = ../ +ARDUINO_LIBS = ../src/c ../includes ../interfaces ../ ARDUINO_PORT = /dev/ttyACM0 include /usr/share/arduino/Arduino.mk |