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