diff options
author | Marti Bolivar <mbolivar@leaflabs.com> | 2011-05-09 16:35:13 -0400 |
---|---|---|
committer | Marti Bolivar <mbolivar@leaflabs.com> | 2011-05-09 16:40:58 -0400 |
commit | 868fb1c273e562a1140abfa948022c9d4f55bccf (patch) | |
tree | 73067aa8cf6f8bd0d7663a634c1f878a78b567ed /examples/test-timers.cpp | |
parent | 47c53377292a4db28057fc6394c928cde3727e97 (diff) | |
download | librambutan-868fb1c273e562a1140abfa948022c9d4f55bccf.tar.gz librambutan-868fb1c273e562a1140abfa948022c9d4f55bccf.zip |
Reverting commits between `git merge-head master refactor` and master.
This is a combination of 11 revert commits, and allows for a clean
merge of the work done in the refactor branch.
The combined commit messages follow.
Revert "Committing basic ring_buffer test."
This reverts commit 987fa5f433e0cd41b1621dad8b4e331cf82d49f3.
Revert "qa-slave-shield.cpp and test-session.cpp fixes for Mini and RET6 Edition."
This reverts commit cdd367bdd264c9e19180032c119850fbba2115ba.
Revert "Brought examples/ up to date; PIN_MAP bugfix for D24."
This reverts commit b4c2d4514c6d52cac8a649c5d5c24b68a3c0a416.
Revert "Separated GPIO config to a separate FSMC routine."
This reverts commit 744848ad0fc33eed66acc44e41c3c9d646c5b100.
Revert "Slightly faster RAM writes (6.5MHz)."
This reverts commit 8ba0b6bb065acb4aff26bc9c838de5f37515caf1.
Revert "FSMC working but slow (~6 MHz)."
This reverts commit 0dc9490cf4f4f10a23b08fef1728773f10c1b76a.
Revert "Maple Mini ERROR_LED_PIN fix."
This reverts commit 07d437706840901db1e09ff0ab88229c67c1fa8a.
Revert "Fixing USBSerial::read(void*, uint32) return value (thanks, Crenn!)"
This reverts commit 3ba7196712a5bfe4fe1166b6c34d49c3d7254568.
Revert "Trivial gpio_init() bugfix"
This reverts commit f6ce003bb935f26eeefa54acf7c2ae6afaabd871.
Revert "Trivial changes to test-session.cpp"
This reverts commit a32a37b121ac7e62660d2a83fe67c857fe705122.
Revert ".gitignore: Ignore cscope* files"
This reverts commit d8c72c17bd6d7416a0846e69f4f5ae5cb229d58e.
Diffstat (limited to 'examples/test-timers.cpp')
-rw-r--r-- | examples/test-timers.cpp | 68 |
1 files changed, 32 insertions, 36 deletions
diff --git a/examples/test-timers.cpp b/examples/test-timers.cpp index f3cfdcc..ccba251 100644 --- a/examples/test-timers.cpp +++ b/examples/test-timers.cpp @@ -2,7 +2,7 @@ #include "wirish.h" -#define LED_PIN BOARD_LED_PIN +#define LED_PIN 13 void handler1(void); void handler2(void); @@ -12,6 +12,7 @@ void handler4(void); void handler3b(void); void handler4b(void); +int toggle = 0; int t; int count1 = 0; @@ -35,24 +36,25 @@ void setup() pinMode(LED_PIN, OUTPUT); // Setup the button as input - pinMode(BOARD_BUTTON_PIN, INPUT); + pinMode(38, INPUT_PULLUP); - // Wait for user to attach... - waitForButtonPress(0); - - // Send a message out SerialUSB - SerialUSB.println("Beginning timer test..."); + /* Send a message out USART2 */ + //SerialUSB.begin(9600); + SerialUSB.println("Begining timer test..."); for(int t=0; t<4; t++) { Timers[t].setChannel1Mode(TIMER_OUTPUTCOMPARE); Timers[t].setChannel2Mode(TIMER_OUTPUTCOMPARE); Timers[t].setChannel3Mode(TIMER_OUTPUTCOMPARE); Timers[t].setChannel4Mode(TIMER_OUTPUTCOMPARE); } + + // Wait for user to attach... + delay(2000); } void loop() { SerialUSB.println("-----------------------------------------------------"); - SerialUSB.println("Testing setCount/getCount"); + SerialUSB.println("Testing setCount/getCount"); SerialUSB.print("Timer1.getCount() = "); SerialUSB.println(Timer1.getCount()); SerialUSB.println("Timer1.setCount(1234)"); Timer1.setCount(1234); @@ -61,7 +63,7 @@ void loop() { // down Timer4 is in the "pause" state and the timer doesn't increment, so // the final counts should reflect the ratio of time that BUT was held down SerialUSB.println("-----------------------------------------------------"); - SerialUSB.println("Testing Pause/Resume; button roughly controls Timer4"); + SerialUSB.println("Testing Pause/Resume; button roughly controls Timer4"); count3 = 0; count4 = 0; Timer3.setChannel1Mode(TIMER_OUTPUTCOMPARE); @@ -78,9 +80,9 @@ void loop() { Timer4.attachCompare1Interrupt(handler4b); Timer3.resume(); Timer4.resume(); - SerialUSB.println("~4 seconds..."); + SerialUSB.println("~4 seconds..."); for(int i = 0; i<4000; i++) { - if(isButtonPressed()) { + if(digitalRead(38)) { Timer4.pause(); } else { Timer4.resume(); @@ -94,14 +96,14 @@ void loop() { // These test the setPeriod auto-configure functionality SerialUSB.println("-----------------------------------------------------"); - SerialUSB.println("Testing setPeriod"); + SerialUSB.println("Testing setPeriod"); Timer4.setChannel1Mode(TIMER_OUTPUTCOMPARE); Timer4.setCompare1(1); - Timer4.setPeriod(10); + Timer4.setPeriod(10); Timer4.pause(); Timer4.setCount(0); Timer4.attachCompare1Interrupt(handler4b); - SerialUSB.println("Period 10ms, wait 2 seconds..."); + SerialUSB.println("Period 10ms, wait 2 seconds..."); count4 = 0; Timer4.resume(); delay(2000); @@ -112,10 +114,10 @@ void loop() { Timer4.setChannel1Mode(TIMER_OUTPUTCOMPARE); Timer4.setCompare1(1); Timer4.pause(); - Timer4.setPeriod(30000); + Timer4.setPeriod(30000); Timer4.setCount(0); Timer4.attachCompare1Interrupt(handler4b); - SerialUSB.println("Period 30000ms, wait 2 seconds..."); + SerialUSB.println("Period 30000ms, wait 2 seconds..."); count4 = 0; Timer4.resume(); delay(2000); @@ -125,12 +127,12 @@ void loop() { SerialUSB.println("(should be around 2sec/30000ms ~ 67)"); Timer4.setChannel1Mode(TIMER_OUTPUTCOMPARE); - Timer4.setPeriod(300000); + Timer4.setPeriod(300000); Timer4.setCompare1(1); Timer4.pause(); Timer4.setCount(0); Timer4.attachCompare1Interrupt(handler4b); - SerialUSB.println("Period 300000ms, wait 2 seconds..."); + SerialUSB.println("Period 300000ms, wait 2 seconds..."); count4 = 0; Timer4.resume(); delay(2000); @@ -144,9 +146,9 @@ void loop() { Timer4.setOverflow(65454); Timer4.pause(); Timer4.setCount(0); - Timer4.setCompare1(1); + Timer4.setCompare1(1); Timer4.attachCompare1Interrupt(handler4b); - SerialUSB.println("Period 30000ms, wait 2 seconds..."); + SerialUSB.println("Period 30000ms, wait 2 seconds..."); count4 = 0; Timer4.resume(); delay(2000); @@ -157,11 +159,11 @@ void loop() { Timer4.setChannel1Mode(TIMER_OUTPUTCOMPARE); Timer4.setCompare1(1); - Timer4.setPeriod(30000); + Timer4.setPeriod(30000); Timer4.pause(); Timer4.setCount(0); Timer4.attachCompare1Interrupt(handler4b); - SerialUSB.println("Period 30000ms, wait 2 seconds..."); + SerialUSB.println("Period 30000ms, wait 2 seconds..."); count4 = 0; Timer4.resume(); delay(2000); @@ -175,7 +177,7 @@ void loop() { // that over time the actual timing rates get blown away by other system // interrupts. for(t=0; t<4; t++) { - toggleLED(); + toggle ^= 1; digitalWrite(LED_PIN, toggle); delay(100); SerialUSB.println("-----------------------------------------------------"); SerialUSB.print("Testing Timer "); SerialUSB.println(t+1); @@ -212,39 +214,33 @@ void handler1(void) { val1 += rate1; Timers[t].setCompare1(val1); count1++; -} - +} void handler2(void) { val2 += rate2; Timers[t].setCompare2(val2); count2++; -} - +} void handler3(void) { val3 += rate3; Timers[t].setCompare3(val3); count3++; -} - +} void handler4(void) { val4 += rate4; Timers[t].setCompare4(val4); count4++; -} +} void handler3b(void) { count3++; -} - +} void handler4b(void) { count4++; -} +} -__attribute__((constructor)) void premain() { - init(); -} int main(void) { + init(); setup(); while (1) { |