
Simple demo for SerialPlotter program found at following link https://developer.mbed.org/users/borislav/notebook/serial-port-plotter/
Revision 0:cdcbb66ba497, committed 2017-09-07
- 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