Driver for the full dynamic range speaker on Tmote Invent.
Only available on Moteiv's Tmote Invent
Before use, be sure to start the speaker using the SplitControl interface. If you would like to start the speaker on system boot, use the MainControl generic component like so:
components new MainControl() as SpeakerControl; components SpeakerDriverC; SpeakerControl.SplitControl -> SpeakerDriverC;The SpeakerDriverC driver implements automatic shutdown power-saving functionality. If the speaker is not used for an extended period of time, the main amplifier is shutdown to save power. Prior to shutting down, users are queried through the PowerKeepAlive interface to determine if the speaker should stay awake. After the speaker is shutdown, the power state can be found using the PowerControl interface, and the speaker may be woken back up by command. If the speaker has been automatically shutdown and a new sound is requested through the Speaker interface, the speaker will automatically wakeup and begin to play the sound. The PowerControl interface is only necessary if you want to wake up the speaker in advance of the next sound in order to prevent wakeup latency from adversely affecting synchronized programs.