Added server time to printout. Power disable/enable before/after sleeping. Changed timer to 4s.

This commit is contained in:
maniacbug 2011-05-10 19:35:09 -07:00
parent 0d20f831d0
commit ee4568ede4
1 changed files with 9 additions and 4 deletions

View File

@ -18,6 +18,7 @@
#include <SPI.h>
#include <avr/sleep.h>
#include <avr/power.h>
#include "nRF24L01.h"
#include "RF24.h"
#include "printf.h"
@ -103,9 +104,9 @@ void setup(void)
// Prepare sleep parameters
//
// Only the ping out role sleeps. Wake up every 2s to send a ping
// Only the ping out role sleeps. Wake up every 4s to send a ping
if ( role == role_ping_out )
setup_watchdog(wdt_2s);
setup_watchdog(wdt_4s);
//
// Setup and configure rf radio
@ -219,8 +220,9 @@ void loop(void)
// Fetch the payload, and see if this was the last one.
done = radio.read( &got_time, sizeof(unsigned long) );
// Spew it
printf("Got payload %lu...",got_time);
// Spew it. Include our time, because the ping_out millis counter is unreliable
// due to it sleeping
printf("Got payload %lu @ %lu...",got_time,millis());
}
// First, stop listening so we can talk
@ -265,9 +267,12 @@ void do_sleep(void)
set_sleep_mode(SLEEP_MODE_PWR_DOWN); // sleep mode is set here
sleep_enable();
power_all_disable();
sleep_mode(); // System sleeps here
sleep_disable(); // System continues execution here when watchdog timed out
power_all_enable();
}
// vim:ai:cin:sts=2 sw=2 ft=cpp