initial
This commit is contained in:
41
Makefile
Normal file
41
Makefile
Normal file
@ -0,0 +1,41 @@
|
||||
CC=msp430-gcc
|
||||
AS=msp430-gcc
|
||||
AR=msp430-ar
|
||||
|
||||
# regular
|
||||
CFLAGS=-Wall -mmcu=msp430g2553 -std=gnu99 -I hottislib -O3 -g0
|
||||
|
||||
# for debugging
|
||||
# CFLAGS=-Wall -mmcu=msp430g2553 -std=gnu99 -I hottislib -g3 -ggdb -gdwarf-2
|
||||
|
||||
LDFLAGS=-mmcu=msp430g2553
|
||||
|
||||
blinky1.elf: main.o led.o time.o pattern.o PontCoopScheduler.o myrand.o measure.o
|
||||
$(CC) -o $@ $(LDFLAGS) $^
|
||||
|
||||
PontCoopScheduler.o: hottislib/PontCoopScheduler.c hottislib/PontCoopScheduler.h
|
||||
$(CC) $(CFLAGS) -c $<
|
||||
|
||||
.c.o:
|
||||
$(CC) $(CFLAGS) -c $<
|
||||
|
||||
|
||||
.PHONY: all
|
||||
all: blinky1.elf
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
-rm -f *.o *.elf
|
||||
|
||||
.PHONY: upload
|
||||
upload: blinky1.elf
|
||||
mspdebug rf2500 "prog blinky1.elf"
|
||||
|
||||
.PHONY: debug
|
||||
debug: upload
|
||||
mspdebug rf2500 gdb &
|
||||
ddd --debugger "msp430-gdb -x blinky1.gdb"
|
||||
|
||||
|
||||
|
||||
|
41
main.c
Normal file
41
main.c
Normal file
@ -0,0 +1,41 @@
|
||||
#include <msp430g2553.h>
|
||||
#include <stdint.h>
|
||||
#include <intrinsics.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
#include "time.h"
|
||||
#include "PontCoopScheduler.h"
|
||||
|
||||
#include "led.h"
|
||||
#include "pattern.h"
|
||||
#include "measure.h"
|
||||
|
||||
|
||||
int main() {
|
||||
WDTCTL = WDTPW | WDTHOLD;
|
||||
|
||||
__disable_interrupt();
|
||||
|
||||
// highest possible system clock
|
||||
DCOCTL = DCO0 | DCO1 | DCO2;
|
||||
BCSCTL1 = XT2OFF | RSEL0 | RSEL1 | RSEL2 | RSEL3;
|
||||
BCSCTL2 = 0;
|
||||
BCSCTL3 = 0;
|
||||
|
||||
|
||||
timeInit();
|
||||
schInit();
|
||||
|
||||
ledInit();
|
||||
patternInit();
|
||||
measureInit();
|
||||
// ledSetMatrix(0, 0, BLUE);
|
||||
|
||||
__enable_interrupt();
|
||||
|
||||
while (1) {
|
||||
schExec();
|
||||
ledExec();
|
||||
}
|
||||
}
|
13
readme.md
Normal file
13
readme.md
Normal file
@ -0,0 +1,13 @@
|
||||
Build:
|
||||
* make all
|
||||
|
||||
Flash:
|
||||
* make upload
|
||||
|
||||
Debugger:
|
||||
* enable debugging in Makefile
|
||||
* mspdebug rf2500 gdb
|
||||
* ddd --debugger msp430-gdb
|
||||
* for every code change upload using Makefile and restart both mspdebug and ddd (or fine a way to reset the both)
|
||||
|
||||
|
38
time.c
Normal file
38
time.c
Normal file
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* time.c
|
||||
*
|
||||
* Created on: 20.05.2014
|
||||
* Author: wn
|
||||
*/
|
||||
|
||||
#include <msp430g2553.h>
|
||||
#include <isr_compat.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include "time.h"
|
||||
#include "PontCoopScheduler.h"
|
||||
|
||||
|
||||
volatile uint32_t timestamp;
|
||||
|
||||
ISR(TIMER0_A0, TA0_ISR) {
|
||||
timestamp++;
|
||||
schUpdate();
|
||||
}
|
||||
|
||||
void timeInit() {
|
||||
timestamp = 0;
|
||||
|
||||
TACCR0 = 32;
|
||||
TACCTL0 = CCIE;
|
||||
TACTL = MC_1 | ID_0 | TASSEL_1 | TACLR;
|
||||
}
|
||||
|
||||
uint32_t getMillis() {
|
||||
return timestamp;
|
||||
}
|
||||
|
||||
void ms_active_delay(uint16_t delay) {
|
||||
uint32_t start = timestamp;
|
||||
while (start + delay > timestamp);
|
||||
}
|
Reference in New Issue
Block a user