Echelon Neuron C User Manual
Page 179
Neuron C Programmer’s Guide
167
COMM_IGNORE
Causes incoming messages to be ignored.
PULLUPS_ON
Enables all internal pullup resistors for Series 
3100 devices (the default action is to disable 
the pullups, which lowers power
consumption).
TIMERS_OFF
Turns off all timer objects (declared with
mtimer and stimer) in the program.
io-object-name
An input object declared for any one of pins IO_4 through
IO_7. When any I/O transition occurs on the specified pin, the device
wakes up. If this parameter is omitted, I/O is ignored while the 
device is in sleep mode. This I/O object can be defined for wakeup 
purposes only, or could be used for other I/O purposes as well.
io-pin
Specifies one of pins IO_4 through IO_7. When any I/O transition 
occurs on the specified pin, the Neuron Chip or Smart Transceiver 
wakes up. If this parameter is omitted, I/O is ignored while the
device is in sleep mode.
For example, to sleep and turn off timers and enable pullups, the call to sleep( ) is
as follows:
sleep(TIMERS_OFF | PULLUPS_ON);
Example:
IO_4 input bit wakeup_pin1; 
 
when timer_expires(timer_2) 
{ 
 sleep(COMM_IGNORE, wakeup_pin1); 
 
//or, sleep(COMM_IGNORE, IO_4);
}
You can force sleep mode even though the flush has not completed, as described
in
on page 168.
When an event occurs that wakes the Neuron Chip or Smart Transceiver, the 
program resumes at the first statement after the sleep function call. If the 
sleep( ) call is the last statement in a task, the program returns to the scheduler 
after it wakes up. 
A device wakes up whenever a packet is received by the transceiver (unless you 
specified COMM_IGNORE). The device wakes up even if the packet is not 
addressed to the device. You are responsible for putting the device back to sleep 
if this occurs. 
If a device sleeps for less than the receive timer duration and uses the 
comm_ignore option, it could receive duplicate messages or network variable 
update events. The default receive timer is set by a network tool during device
installation. The receive timer has a hard-coded minimum value of 768 ms. This 
value can be increased by a network tool, depending on the network connections 
to the device.