Simple demo for SerialPlotter program found at following link https://developer.mbed.org/users/borislav/notebook/serial-port-plotter/

Files at this revision

API Documentation at this revision

Comitter:
j3
Date:
Thu Sep 07 22:57:39 2017 +0000
Child:
1:0951a80a60e2
Commit message:
init commit

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed-os.lib Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Thu Sep 07 22:57:39 2017 +0000
@@ -0,0 +1,104 @@
+/*******************************************************************************
+* Copyright (C) 2017 Maxim Integrated Products, Inc., All Rights Reserved.
+*
+* Permission is hereby granted, free of charge, to any person obtaining a
+* copy of this software and associated documentation files (the "Software"),
+* to deal in the Software without restriction, including without limitation
+* the rights to use, copy, modify, merge, publish, distribute, sublicense,
+* and/or sell copies of the Software, and to permit persons to whom the
+* Software is furnished to do so, subject to the following conditions:
+*
+* The above copyright notice and this permission notice shall be included
+* in all copies or substantial portions of the Software.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+* IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES
+* OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+* OTHER DEALINGS IN THE SOFTWARE.
+*
+* Except as contained in this notice, the name of Maxim Integrated
+* Products, Inc. shall not be used except as stated in the Maxim Integrated
+* Products, Inc. Branding Policy.
+*
+* The mere transfer of this software does not imply any licenses
+* of trade secrets, proprietary technology, copyrights, patents,
+* trademarks, maskwork rights, or any other form of intellectual
+* property whatsoever. Maxim Integrated Products, Inc. retains all
+* ownership rights.
+*******************************************************************************
+*/
+
+
+//https://developer.mbed.org/users/borislav/notebook/serial-port-plotter/
+
+#include "mbed.h"
+
+
+int32_t float_to_int(float f);
+
+
+int main()
+{
+    DigitalOut rLed(LED_RED, 1);
+    DigitalOut gLed(LED_GREEN, 1);
+    DigitalOut bLed(LED_BLUE, 1);
+
+    DigitalOut leds[] = {rLed, gLed, bLed};
+    
+    Serial debug(USBTX, USBRX);
+    debug.baud(115200);
+    
+    //const float PI = 3.14159265F;
+    float angle[] = {0.0F, 120.0F, 240.0F};
+    float sinScaled;
+    int32_t data[3];
+    uint32_t cnt = 0;
+    
+    while(1)
+    {
+        //get data
+        for(uint32_t idx = 0; idx < 3; idx++)
+        {
+            //get sin, scaled up and offset above 0
+            sinScaled = (100 + (100.0F * sin(angle[idx]*(PI/180.0F))));
+            data[idx] = float_to_int(sinScaled);
+            
+            //inc angle, check for roll over
+            angle[idx] += 1.0F;
+            if(angle[idx] > 360.0F)
+            {
+                angle[idx] = 0.0F;
+            }
+        }
+        
+        //plot
+        debug.printf("$%d %d %d;", data[0], data[1], data[2]);
+        
+        //blink some lights, just cause you have to
+        leds[cnt % 3] = !leds[cnt % 3];
+        cnt++;
+        
+        //wait a bit
+        wait(0.01F);
+    }
+}
+
+
+int32_t float_to_int(float f)
+{
+    int32_t i;
+    
+    if (f >= 0.0F)
+    {
+        i = static_cast<int32_t>(f + 0.5F); 
+    } 
+    else 
+    {
+        i = static_cast<int32_t>(f - 0.5F);
+    }
+    
+    return i;
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-os.lib	Thu Sep 07 22:57:39 2017 +0000
@@ -0,0 +1,1 @@
+https://github.com/ARMmbed/mbed-os/#98ba8acb83cfc65f30a8a0771a27c71443ab093a