Newton's approximation - Benchmark based on Steve Curd Adruino IDE code for STM32 Nucleo F7 ARM M7 MCU's

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
JovanEps
Date:
Sun Jul 02 17:31:48 2017 +0000
Commit message:
RC 1

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r 11c8121e645d main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Sun Jul 02 17:31:48 2017 +0000
@@ -0,0 +1,78 @@
+#include "mbed.h"
+//********************************************************
+//**               ARM Cortex M7 MCU                ******
+//**   ST Nucleo-144 Stm32F746 and Stm32F767 MCU    ******
+//**   Newton's approximation - Benchmark based on  ******
+//**   Steve Curd Adruino IDE code                  ******
+//**          Jovan Ivković - 2017.                 ******
+//**         JovanEps (jovan.eps@gmail.com).        ******
+//********************************************************
+
+DigitalOut myled(LED1);
+//DigitalOut PD13(PA_5);  //introduce D13 pin-out
+DigitalIn PD8(PF_12);  //introduce D8  *-Clear port
+Serial pc(USBTX, USBRX);
+Timer timer;
+
+#define ITERATIONS 10000000L    // number of iterations 100k-10M
+#define FFLASH 1000000            // blink LED every 100k-1M iterations
+
+//#include <TM1638.h>           // include the display library
+
+// TM1638 module(DIO, CLK, STB0)
+//TM1638 module(8, 9, 7);
+
+//*********************************
+//**         MAIN block          **
+//*********************************
+int main()
+{
+    while(true) {
+        unsigned long start, ttime;
+        unsigned long niter = ITERATIONS;
+        int LEDcounter = 0;
+        bool alternate = false;
+        long i, count = 0;
+        double x = 1.0;
+        double temp, pi = 1.0;
+
+        pc.printf(" \n Beginning  %d",niter );
+        pc.printf(" \n iterations...");
+        pc.printf("\n");
+
+        timer.start();
+        start = timer.read_ms();
+
+        for ( i = 2; i < niter; i++) {
+            x *= -1.0;
+            pi += x / (2.0f * (float) i - 1.0f);
+          // /*
+            if (LEDcounter++ > FFLASH) {
+                LEDcounter = 0;
+                if (alternate) {
+                    myled = 1;
+                    alternate = false;
+                } else {
+                    myled = 0;
+                    alternate = true;
+                }  
+                temp = (float) 40000000.0 * pi;
+
+                //module.setDisplayToDecNumber( temp, 0x80);
+            }
+          //*/           
+        }
+        ttime = timer.read_ms() - start;
+
+        pi = (double) pi * 4.0;
+
+        pc.printf("# of trials = %d \n", niter);
+        pc.printf("\n\n");
+        pc.printf("Estimate of pi = %6.10f 10 \n" , pi);
+        pc.printf("Time:   %d ms \n", ttime);
+        printf("state: %d \n", alternate);
+
+        timer.stop();
+        wait(1);
+    }
+}
\ No newline at end of file
diff -r 000000000000 -r 11c8121e645d mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Sun Jul 02 17:31:48 2017 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/99b5ccf27215
\ No newline at end of file