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.

Revision:
1:4a1bcc41c473
Parent:
0:b7c65c0d82d3
Child:
2:b2a449bd787f
--- 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;
 };