Creating a project about A8491 for TT_Mxx

Revision:
0:6fc4594bc1db
Child:
1:da8c10bb7386
diff -r 000000000000 -r 6fc4594bc1db main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Fri Mar 22 07:16:37 2019 +0000
@@ -0,0 +1,73 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2018 ARM Limited
+ * SPDX-License-Identifier: Apache-2.0
+ */
+ 
+#include "mbed.h"
+#include "MMA8491.h"
+ 
+ 
+
+#ifdef TEST_LCD
+LCD tft(LCD_SPI_CS,LCD_SPI_DC, LCD_MOSI_PIN, LCD_MISO_PIN, LCD_SPI_CL_PIN,LCD_BL_PIN);
+#else
+#define LCD int
+LCD tft;
+#endif
+
+
+#define DISPLAY_TMPM_STRING "Welcome to Thundersoft TT_M3HQ"
+
+/*macros for A8491 board*/
+#define DISPLAY_A8491_STRING "A8491 board:"
+#define DISPLAY_A8491_STRING_HIGH 16
+#define DISPLAY_A8491_VALUE_STRING  "A8491 value:"
+#define DISPLAY_A8491_VALUE_STRING_HIGH  32
+#define DISPLAY_A8491_VALUE_HIGH  48
+
+
+
+static void displayForA8491(LCD &lcd)
+{
+#ifdef TEST_LCD
+  lcd.drawString(0,0,DISPLAY_TMPM_STRING,RED);
+  lcd.drawString(0,DISPLAY_A8491_STRING_HIGH,DISPLAY_A8491_STRING,RED);
+  lcd.drawString(0,DISPLAY_A8491_VALUE_STRING_HIGH,DISPLAY_A8491_VALUE_STRING,RED);
+#endif
+}
+
+static void handleLCDForA8491(LCD &lcd,MMA8491 &accel)
+{
+  float accel_data[3]; float accel_rms=0.0;
+  char temp_buffer[50];
+  while(1)
+  {
+#ifdef TEST_LCD
+    accel.acquire_MMA8491_data_g(accel_data);
+    sprintf(temp_buffer,"%4.2f,%4.2f,%4.2f",accel_data[0],accel_data[1],accel_data[2]);
+    lcd.drawString(0,DISPLAY_A8491_VALUE_HIGH,temp_buffer,RED);
+#endif
+    printf("%4.2f,%4.2f,%4.2f,\r\n",accel_data[0],accel_data[1],accel_data[2]);
+#ifdef TEST_LCD
+    wait_ms(1000);
+    lcd.clearScreenArea(0,DISPLAY_A8491_VALUE_HIGH,WHITE);
+#endif
+  }
+}
+
+
+
+int main()
+{    
+    MMA8491 accel(D14,D15,A1);
+    float accel_data[3]; float accel_rms=0.0;
+#ifdef TEST_LCD
+    tft.init();
+    displayForA8491(tft);
+#endif   
+    printf("%s\r\n",DISPLAY_TMPM_STRING);
+    handleLCDForA8491(tft,accel);
+    while(1)
+    {       
+    }
+}