APP 1 S5.

Dependencies:   mbed

Revision:
14:d48d869ed365
Parent:
13:08ef55cd14c6
--- a/APP.cpp	Tue Jan 12 15:17:21 2016 +0000
+++ b/APP.cpp	Tue Jan 12 15:24:02 2016 +0000
@@ -6,39 +6,37 @@
 #include <stdint.h>
 
 #include "mbed.h"
-#include "UART.h"
 #include "APP.h"
-#include "LPC17xx.h"
 
 
-static I2C i2c(p28, p27);
+static I2C    i2c(p28, p27);
+static Serial uart(p9, p10);
 
 void setup()
 {
-    SystemCoreClockUpdate();
-
     // Setup UART and I2C.
-    UARTInit(9600);
+    uart.format(8, Serial::None, 1);
+    uart.baud(9600);
     i2c.frequency(100000);
-
+ 
     // Clear display
-    UARTSend(0x76);
-
+    uart.putc(0x76);
+ 
     // Decimal point for display
-    UARTSend(0x77);
-    UARTSend(0x02);
+    uart.putc(0x77);
+    uart.putc(0x02);
  
     // Maximum brightness
-    UARTSend(0x7A);
-    UARTSend(0xFF);
+    uart.putc(0x7A);
+    uart.putc(0xFF);
 }
-
+ 
 void activateAccelerometer()
 {
     uint8_t data[2] = {CTRL_REG, 0x01};
     i2c.write(ACC_ADDRESS, (char*) data, 2);
 }
-
+ 
 uint8_t readStatus()
 {
     uint8_t result[1];
@@ -48,7 +46,7 @@
  
     return result[0];
 }    
-
+ 
 int16_t convertToAcceleration(uint8_t hi, uint8_t lo)
 {
     int16_t value = (lo >> 2) | (hi << 6);
@@ -59,7 +57,7 @@
  
     return value;
 }
-
+ 
 int16_t readAndComputeAngle()
 {
     uint8_t result[6];
@@ -87,21 +85,27 @@
 {
     uint8_t digits[4];
     sprintf((char*) digits, "%d", angle);
- 
+
     if (angle < 100)
     {
-        UARTSend('0');
-        UARTSend('0');
-        UARTSend(digits, 2);
+        uart.putc('0');
+        uart.putc('0');
+        uart.putc(digits[0]);
+        uart.putc(digits[1]);
     }
     else if (angle < 1000)
     {
-        UARTSend('0');
-        UARTSend(digits, 3);
+        uart.putc('0');
+        uart.putc(digits[0]);
+        uart.putc(digits[1]);
+        uart.putc(digits[2]);
     }
     else
     {
-        UARTSend(digits, 4);
+        uart.putc(digits[0]);
+        uart.putc(digits[1]);
+        uart.putc(digits[2]);
+        uart.putc(digits[3]);
     }
 }
  
@@ -119,11 +123,11 @@
         {
             // Get accelerations, compute angle
             uint16_t angle = readAndComputeAngle();
-
+ 
             // Update 7 segment display
             updateDisplay(angle);
         }
-
+ 
         wait(0.4);
     }
 }