Provides a simple way to generate complex square wave signals on any available pin. In addition the SignalGenerator can generate a carrier wave which is useful when generating IR signals to control electronic devices like a TV etc. The signal generation can be carried out either synchronously or asynchronously. In the case of synchronous signal generation all interrupts can optionally be disabled to improve timing accuracy.
Diff: SignalGenerator.h
- Revision:
- 1:4a1bcc41c473
- Parent:
- 0:b7c65c0d82d3
- Child:
- 2:b2a449bd787f
diff -r b7c65c0d82d3 -r 4a1bcc41c473 SignalGenerator.h --- a/SignalGenerator.h Fri Sep 12 04:04:46 2014 +0000 +++ b/SignalGenerator.h Fri Sep 12 04:13:43 2014 +0000 @@ -1,3 +1,6 @@ +/////////////////////////////////////////////////////////////////////////////// +// Signal Generator +// Author: Chris Taylor (taylorza) #ifndef __SIGNALGENERATOR_H__ #define __SIGNALGENERATOR_H__ @@ -19,7 +22,13 @@ * @param lastStateHoldTime The time in microseconds that the last state is held * @param carrierFrequency The carrier frequency in Hz */ - void set(bool initialState, uint32_t timingBuffer[], uint16_t bufferCount, uint32_t lastStateHoldTime = 0, int carrierFrequency = -1); + void set( + bool initialState, + uint32_t timingBuffer[], + uint16_t bufferCount, + uint32_t lastStateHoldTime = 0, + int carrierFrequency = -1); + private: DigitalOut _pin; };