Proximity / Ambient Light Sensor LED Demo

Dependencies:   MAX44000 nexpaq_mdk

Fork of ALS_Prox_Demo by Maxim nexpaq

ALS Prox Demo

MAX32625NEXPAQ development module

This project is a demonstration application for the MAX32625NEXPAQ development module. You will need the nexpaq application and a compatible phone to run this demo, along with the MAX44000PMB1# peripheral module. This project demonstrates polling the proximity sensor to use it like a button and also polling the ambient light sensor and sending the information back to the application running on the phone, and the phone controlling the threshold for the proximity sensor and controlling the on board RGB LED to create different colors.

Go to the nexpaq developers hub for details on how to load the code for the tile into the application.

Resources

Revision:
8:123fe6112b7a
Parent:
7:bf6283d600a0
Child:
9:b7cf4b7fd770
--- a/main.cpp	Fri Sep 23 17:17:35 2016 +0000
+++ b/main.cpp	Fri Sep 23 18:47:07 2016 +0000
@@ -3,9 +3,9 @@
 #include "MAX44000.h"
 
 MAX44000 max44000(P1_6, P1_7);
-DigitalOut ledR(P2_4, LED_OFF);
-DigitalOut ledG(P2_5, LED_OFF);
-DigitalOut ledB(P2_6, LED_OFF);
+PwmOut ledR(P2_4);
+PwmOut ledG(P2_5);
+PwmOut ledB(P2_6);
 DigitalIn button(P0_1, PullUp);
 
 /***** Definitions *****/
@@ -34,9 +34,9 @@
 void my_function_CMD_2700(unsigned char *pData, unsigned char len)
 {
     unsigned char response = 0x00;
-    ledR = (pData[0]>0) ? LED_ON : LED_OFF ;
-    ledG = (pData[1]>0) ? LED_ON : LED_OFF ;
-    ledB = (pData[2]>0) ? LED_ON : LED_OFF ;
+    ledR = 1.0f - (pData[0] / 255.0f);
+    ledG = 1.0f - (pData[1] / 255.0f);
+    ledB = 1.0f - (pData[2] / 255.0f);
     np_api_upload(0x2701, &response, 1);
 }
 
@@ -66,6 +66,9 @@
         // Register failed handle code
     }
     max44000.init(MAX44000::MODE_ALS_PROX, MAX44000::ALSTIM_64X, MAX44000::ALSPGA_1X, MAX44000::DRV_110);
+    ledR = 1.0f;
+    ledG = 1.0f;
+    ledB = 1.0f;
 }
 
 void app_loop()