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.cpp
- Revision:
- 1:4a1bcc41c473
- Parent:
- 0:b7c65c0d82d3
- Child:
- 2:b2a449bd787f
--- a/SignalGenerator.cpp Fri Sep 12 04:04:46 2014 +0000 +++ b/SignalGenerator.cpp Fri Sep 12 04:13:43 2014 +0000 @@ -1,3 +1,6 @@ +/////////////////////////////////////////////////////////////////////////////// +// Signal Generator +// Author: Chris Taylor (taylorza) #include "mbed.h" #include "SignalGenerator.h" @@ -11,7 +14,12 @@ _pin = pinState ? 1 : 0; } -void SignalGenerator::set(bool initialState, uint32_t timingBuffer[], uint16_t bufferCount, uint32_t lastStateHoldTime, int carrierFrequency) +void SignalGenerator::set( + bool initialState, + uint32_t timingBuffer[], + uint16_t bufferCount, + uint32_t lastStateHoldTime, + int carrierFrequency) { uint32_t carrierHalfPeriod = 0; @@ -73,4 +81,4 @@ wait_us(lastStateHoldTime); } } -} \ No newline at end of file +}