aboutsummaryrefslogtreecommitdiffstats
path: root/wirish/boards.h
diff options
context:
space:
mode:
authorMarti Bolivar <mbolivar@leaflabs.com>2011-03-22 16:59:29 -0400
committerMarti Bolivar <mbolivar@leaflabs.com>2011-03-24 07:25:14 -0400
commit61db54f52f32e63c895d775982fbcdcb67f2dde6 (patch)
treeb0513c712b5888ab0a4e6613fdee3db606b61aaf /wirish/boards.h
parent6bc8cb7c1181e8005019e4ce1f2bea956c44e044 (diff)
downloadlibrambutan-61db54f52f32e63c895d775982fbcdcb67f2dde6.tar.gz
librambutan-61db54f52f32e63c895d775982fbcdcb67f2dde6.zip
Initial timer refactor.
Basic PWM works. Had some problems in testing that might be due to USART bugs. HardwareTimer has been removed from the build for now; I will re-implement it in terms of the new libmaple API, but consider it deprecated. Let's come up with something better. Servo is implemented in terms of HardwareTimer, so it also has been temporarily removed from the build. pwmWrite() likely got a little bit less inefficient due to indirection, but the PIN_MAPs shrank by a pointer per PinMapping.
Diffstat (limited to 'wirish/boards.h')
-rw-r--r--wirish/boards.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/wirish/boards.h b/wirish/boards.h
index 94566fa..d186dc4 100644
--- a/wirish/boards.h
+++ b/wirish/boards.h
@@ -33,7 +33,8 @@
#include "libmaple.h"
#include "gpio.h"
-#include "timers.h"
+#include "timer.h"
+#include "native_sram.h"
/* Set of all possible pin names; not all boards have all these (note
that we use the Dx convention since all of the Maple's pins are
@@ -56,9 +57,8 @@ typedef struct PinMapping {
gpio_dev *gpio_device;
uint32 pin;
uint32 adc_channel;
- TimerCCR timer_ccr;
- timer_dev_num timer_num;
- uint32 timer_chan;
+ timer_dev* timer_device;
+ uint8 timer_chan;
afio_exti_port ext_port;
} PinMapping;
@@ -94,6 +94,7 @@ extern PinMapping PIN_MAP[];
#define NR_GPIO_PINS 100
#define BOARD_INIT do { \
+ initNativeSRAM();
} while(0)
#elif defined(BOARD_maple_mini)