Merge branch 'master' of eng-git.canterbury.ac.nz:mph/ucfk4

main
Michael Hayes 12 years ago
commit fd136969dc

@ -0,0 +1,62 @@
# File: Makefile
# Author: M. P. Hayes, UCECE
# Date: 12 Sep 2010
# Descr: Makefile for pacerdemo1
# Definitions.
CC = avr-gcc
CFLAGS = -mmcu=atmega32u2 -Os -Wall -Wstrict-prototypes -Wextra -g -I../../drivers/avr -I../../drivers -I../../utils
OBJCOPY = avr-objcopy
SIZE = avr-size
DEL = rm
# Default target.
all: pacerdemo1.out
# Compile: create object files from C source files.
pacerdemo1.o: pacerdemo1.c ../../drivers/avr/pio.h ../../drivers/avr/system.h ../../drivers/led.h ../../utils/pacer.h
$(CC) -c $(CFLAGS) $< -o $@
pio.o: ../../drivers/avr/pio.c ../../drivers/avr/pio.h ../../drivers/avr/system.h
$(CC) -c $(CFLAGS) $< -o $@
system.o: ../../drivers/avr/system.c ../../drivers/avr/system.h
$(CC) -c $(CFLAGS) $< -o $@
timer.o: ../../drivers/avr/timer.c ../../drivers/avr/system.h ../../drivers/avr/timer.h
$(CC) -c $(CFLAGS) $< -o $@
led.o: ../../drivers/led.c ../../drivers/avr/pio.h ../../drivers/avr/system.h ../../drivers/led.h
$(CC) -c $(CFLAGS) $< -o $@
pacer.o: ../../utils/pacer.c ../../drivers/avr/system.h ../../drivers/avr/timer.h ../../utils/pacer.h
$(CC) -c $(CFLAGS) $< -o $@
# Link: create output file (executable) from object files.
pacerdemo1.out: pacerdemo1.o pio.o system.o timer.o led.o pacer.o
$(CC) $(CFLAGS) $^ -o $@ -lm
$(SIZE) $@
# Create hex file for programming from executable file.
pacerdemo1.hex: pacerdemo1.out
$(OBJCOPY) -O ihex pacerdemo1.out pacerdemo1.hex
# Target: clean project.
.PHONY: clean
clean:
-$(DEL) *.o *.out *.hex
# Target: program project.
.PHONY: program
program: pacerdemo1.hex
dfu-programmer atmega32u2 erase; dfu-programmer atmega32u2 flash pacerdemo1.hex; dfu-programmer atmega32u2 start

@ -0,0 +1,52 @@
/** @file pacerdemo1.c
@author M.P. Hayes
@date 24 Sep 2013
*/
#include "system.h"
#include "pacer.h"
#include "pio.h"
#include "led.h"
/* Define paced loop rate in Hz. */
#define LOOP_RATE 1000U
#define PERIOD_MS 20
#define DUTY_MS 15
#define TICK_PIO PD6_PIO
int main (void)
{
uint8_t tick = 0;
system_init ();
pacer_init (LOOP_RATE);
led_init ();
pio_config_set (TICK_PIO, PIO_OUTPUT_LOW);
/* Paced loop. */
while (1)
{
/* Wait for next tick. */
pacer_wait ();
pio_output_toggle (TICK_PIO);
tick++;
if (tick >= LOOP_RATE * PERIOD_MS / 1000)
{
tick = 0;
led_set (LED1, 1);
}
else if (tick == LOOP_RATE * DUTY_MS / 1000)
{
led_set (LED1, 0);
}
}
return 0;
}

@ -272,7 +272,8 @@ def functions_find (filepath, functiondeps, functions, options):
print >> sys.stderr, command
os.system (command)
version = subprocess_command(options.compile + ' -dumpversion')
version = subprocess_command(options.compile + ' -dumpversion').strip()
if version > '4.5.3':
ext = '.014t.cfg'
else:

Loading…
Cancel
Save