aboutsummaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorMarti Bolivar <mbolivar@leaflabs.com>2011-02-27 11:42:56 -0500
committerMarti Bolivar <mbolivar@leaflabs.com>2011-02-27 11:42:56 -0500
commit4e90248a2e81ec7bd8d3cfa858cef4a045cc1003 (patch)
treefa10544230e6e3e29dcdfc94fd5fc880dce009ba /examples
parenta949fe81d069fb3ee727537ba3d5f9f926129d62 (diff)
downloadlibrambutan-4e90248a2e81ec7bd8d3cfa858cef4a045cc1003.tar.gz
librambutan-4e90248a2e81ec7bd8d3cfa858cef4a045cc1003.zip
Cleaned out libmaple.h; this had wide-ranging implications.
Many of the #defines in libmaple.h were board-specific, not MCU-specific. Most of these were only used by code under libmaple/usb/. These were moved into usb_config.h, and are clearly marked as being terrible hacks. I'm going to treat the USB stack as a black box that we'll deal with later. Further, instead of having a variety of #defines like "How many USARTS do I have?", we decide that based on the density of the chip. This is determined by testing for STM32_MEDIUM_DENSITY or STM32_HIGH_DENSITY defines. libmaple currently doesn't support low-density chips, so that suffices. The Makefile will set these automatically based on the MCU. Other offending #defines are ERROR_LED_PORT and ERROR_LED_PIN; these were made optional, but they're set in the Makefile as a hack to keep things working.
Diffstat (limited to 'examples')
-rw-r--r--examples/test-bkp.cpp38
-rw-r--r--examples/test-session.cpp3
2 files changed, 21 insertions, 20 deletions
diff --git a/examples/test-bkp.cpp b/examples/test-bkp.cpp
index 27f87bd..d0aa564 100644
--- a/examples/test-bkp.cpp
+++ b/examples/test-bkp.cpp
@@ -7,59 +7,61 @@
void print_bkp_contents();
void write_to_bkp(uint16 val);
+#define comm Serial2
+
void setup() {
pinMode(BOARD_BUTTON_PIN, INPUT);
- Serial2.begin(9600);
- Serial2.println("*** Beginning BKP test");
+ comm.begin(9600);
+ comm.println("*** Beginning BKP test");
- Serial2.println("Init...");
+ comm.println("Init...");
bkp_init();
- Serial2.println("Done.");
+ comm.println("Done.");
print_bkp_contents();
write_to_bkp(10);
print_bkp_contents();
- Serial2.println("Enabling backup writes.");
+ comm.println("Enabling backup writes.");
bkp_enable_writes();
write_to_bkp(20);
print_bkp_contents();
- Serial2.println("Disabling backup writes.");
+ comm.println("Disabling backup writes.");
bkp_disable_writes();
write_to_bkp(30);
print_bkp_contents();
- Serial2.println("Done testing backup registers; press button to enable "
+ comm.println("Done testing backup registers; press button to enable "
"independent watchdog (in order to cause a reset).");
waitForButtonPress(0);
iwdg_init(IWDG_PRE_4, 1);
- Serial2.println();
+ comm.println();
}
void loop() {
}
void print_bkp_contents() {
- Serial2.println("Backup data register contents:");
+ comm.println("Backup data register contents:");
char buf[100];
- for (int i = 1; i <= NR_BKP_REGS; i++) {
+ for (int i = 1; i <= BKP_NR_DATA_REGS; i++) {
snprintf(buf, sizeof buf, "DR%d: %d ", i, bkp_read(i));
- Serial2.print(buf);
- if (i % 5 == 0) Serial2.println();
+ comm.print(buf);
+ if (i % 5 == 0) comm.println();
}
- Serial2.println();
+ comm.println();
}
void write_to_bkp(uint16 val) {
- Serial2.print("Attempting to write ");
- Serial2.print(val);
- Serial2.println(" to backup registers...");
- for (int i = 1; i <= NR_BKP_REGS; i++) {
+ comm.print("Attempting to write ");
+ comm.print(val);
+ comm.println(" to backup registers...");
+ for (int i = 1; i <= BKP_NR_DATA_REGS; i++) {
bkp_write(i, val);
}
- Serial2.println("Done.");
+ comm.println("Done.");
}
__attribute__((constructor)) void premain() {
diff --git a/examples/test-session.cpp b/examples/test-session.cpp
index 86bab6d..72d64d6 100644
--- a/examples/test-session.cpp
+++ b/examples/test-session.cpp
@@ -614,9 +614,8 @@ void init_all_timers(uint16 prescale) {
timer_init(TIMER1, prescale);
timer_init(TIMER2, prescale);
timer_init(TIMER3, prescale);
-#if NR_TIMERS >= 4
timer_init(TIMER4, prescale);
-#elif NR_TIMERS >= 8 // TODO test this on maple native
+#ifdef STM32_HIGH_DENSITY
timer_init(TIMER5, prescale);
timer_init(TIMER6, prescale);
timer_init(TIMER7, prescale);