a

Dependencies:   mbed

Revision:
0:f0b20f502059
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/PPM/PPMIn.cpp	Thu May 24 10:19:44 2018 +0000
@@ -0,0 +1,46 @@
+#include "mbed.h"
+#include "PPMIn.h"
+#include "Pin_Assign.h"
+
+PpmIn::PpmIn(PinName pin): ppm(pin)//, pc_com(USBTX, USBRX)
+{
+    //pc_com.printf("Constructor say hi!");
+    current_channel = 0;
+    state = false;
+    timer.start();
+    ppm.rise(this, &PpmIn::rise);
+       
+}
+
+uint16_t* PpmIn::getPpm()
+{
+    uint16_t* p_out[CHANNELS+2];
+    *p_out = &channels[0];
+    //pc_com.printf("%d",channels[0]);
+    return *p_out;            
+}
+            
+void PpmIn::rise()
+{
+    uint16_t time = timer.read_us();
+    
+    //pc.printf("%d\n",time);
+    
+    //pc_com.printf("Rise say hi!");
+    // we are in synchro zone
+    if(time > 2500)
+    {
+       current_channel = 0;
+       // return values 
+       state = true;
+    }
+    else
+    {
+        channels[current_channel] = timer.read_us();  
+        current_channel += 1;     
+    }
+    
+    timer.reset();
+    
+    //if (current_channel > (CHANNELS + 2 - 1)); //+frame and - 1 indexing of channels list
+}
\ No newline at end of file