I messed up the merge, so pushing it over to another repo so I don't lose it. Will tidy up and remove later

Dependencies:   BufferedSerial FatFileSystemCpp mbed

Revision:
9:7214e3c3e5f8
Parent:
0:97661408d0f9
Child:
22:0dd9c1b5664a
--- a/frameRates.cpp	Tue Feb 16 09:53:54 2021 +0000
+++ b/frameRates.cpp	Thu Feb 18 18:15:48 2021 +0000
@@ -1,5 +1,18 @@
 #include "LTCApp.h"
 
+
+
+const float FrameRates[] = {0,     23.976, 24, 25,    29.97, 30,
+                            47.95, 48,     50, 59.94, 60,    10000000
+                           };
+const double FramePeriods[] = {1000000,         1000000 / 23.976, 1000000 / 24,
+                               1000000 / 25,    1000000 / 29.97,  1000000 / 30,
+                               1000000 / 47.95, 1000000 / 48,     1000000 / 50,
+                               1000000 / 59.94, 1000000 / 60,     10
+                              };
+const int numberOfRates = 11;
+
+
 frameRates::frameRates() {
     setRate(1);
 }
@@ -91,3 +104,15 @@
   }
 }
 
+int frameRates::getClosestRate(long int framePeriodUS)
+{
+    int indexOver = 1;
+    while (framePeriodUS <= frameRateInfo::FramePeriods[indexOver])
+        indexOver++;
+    float amountOver = framePeriodUS - frameRateInfo::FramePeriods[indexOver];
+    float amountUnder = frameRateInfo::FramePeriods[indexOver - 1] - framePeriodUS;
+    if (amountOver > amountUnder)
+        indexOver--;
+    return (int)(FrameRates[indexOver]+0.5);
+}
+