University of Plymouth - Stages 1, 2 and 3 / Mbed OS ELEC350_1-Referral-2018-IKS01A1-Demo

Dependencies:   X_NUCLEO_IKS01A1-f255a2c75ecb-14ddc33717d5

Files at this revision

API Documentation at this revision

Comitter:
noutram
Date:
Tue Jun 26 16:50:53 2018 +0000
Commit message:
Demo of the IKS01A1 - accelerometers;

Changed in this revision

.gitignore Show annotated file Show diff for this revision Revisions of this file
README.md Show annotated file Show diff for this revision Revisions of this file
X_NUCLEO_IKS01A1-f255a2c75ecb-14ddc33717d5.lib Show annotated file Show diff for this revision Revisions of this file
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/.gitignore	Tue Jun 26 16:50:53 2018 +0000
@@ -0,0 +1,4 @@
+.build
+.mbed
+projectfiles
+*.py*
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/README.md	Tue Jun 26 16:50:53 2018 +0000
@@ -0,0 +1,57 @@
+# Getting started with Blinky on mbed OS
+
+This guide reviews the steps required to get Blinky working on an mbed OS platform.
+
+Please install [mbed CLI](https://github.com/ARMmbed/mbed-cli#installing-mbed-cli).
+
+## Import the example application
+
+From the command-line, import the example:
+
+```
+mbed import mbed-os-example-blinky
+cd mbed-os-example-blinky
+```
+
+### Now compile
+
+Invoke `mbed compile`, and specify the name of your platform and your favorite toolchain (`GCC_ARM`, `ARM`, `IAR`). For example, for the ARM Compiler 5:
+
+```
+mbed compile -m K64F -t ARM
+```
+
+Your PC may take a few minutes to compile your code. At the end, you see the following result:
+
+```
+[snip]
++----------------------------+-------+-------+------+
+| Module                     | .text | .data | .bss |
++----------------------------+-------+-------+------+
+| Misc                       | 13939 |    24 | 1372 |
+| core/hal                   | 16993 |    96 |  296 |
+| core/rtos                  |  7384 |    92 | 4204 |
+| features/FEATURE_IPV4      |    80 |     0 |  176 |
+| frameworks/greentea-client |  1830 |    60 |   44 |
+| frameworks/utest           |  2392 |   512 |  292 |
+| Subtotals                  | 42618 |   784 | 6384 |
++----------------------------+-------+-------+------+
+Allocated Heap: unknown
+Allocated Stack: unknown
+Total Static RAM memory (data + bss): 7168 bytes
+Total RAM memory (data + bss + heap + stack): 7168 bytes
+Total Flash memory (text + data + misc): 43402 bytes
+Image: .\.build\K64F\ARM\mbed-os-example-blinky.bin
+```
+
+### Program your board
+
+1. Connect your mbed device to the computer over USB.
+1. Copy the binary file to the mbed device.
+1. Press the reset button to start the program.
+
+The LED on your platform turns on and off.
+
+## Troubleshooting
+
+If you have problems, you can review the [documentation](https://os.mbed.com/docs/latest/tutorials/debugging.html) for suggestions on what could be wrong and how to fix it.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/X_NUCLEO_IKS01A1-f255a2c75ecb-14ddc33717d5.lib	Tue Jun 26 16:50:53 2018 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/antseggs/code/X_NUCLEO_IKS01A1-f255a2c75ecb-14ddc33717/#0e110e287017
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Tue Jun 26 16:50:53 2018 +0000
@@ -0,0 +1,31 @@
+#include "mbed.h"
+#include "x_nucleo_iks01a1.h"
+
+//Onboard LED for indication purposes
+DigitalOut led1(LED1);
+
+ // Inertial & Environmental expansion board singleton instance
+static X_NUCLEO_IKS01A1 *expansion_board = X_NUCLEO_IKS01A1::Instance();
+int32_t xyz[3];
+
+// main() runs in its own thread in the OS
+int main() {
+    
+    MotionSensor *acc = expansion_board->GetAccelerometer();
+    
+    while (true) {
+        //Indicator
+        led1 = !led1;
+        wait(0.5);
+        
+        //This is NOT interrupt safe
+        acc->Get_X_Axes(xyz);
+        
+        //Display on the terminal
+        int32_t x = xyz[0];
+        int32_t y = xyz[1];
+        int32_t z = xyz[2];
+        printf("x=%d\ty=%d\tz=%d\n\r",x,y,z);
+    }
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-os.lib	Tue Jun 26 16:50:53 2018 +0000
@@ -0,0 +1,1 @@
+https://github.com/ARMmbed/mbed-os/#03196b244ee00fc748cd4dbfa83b26f3fc0f376b