Rohm RPR0521 proximity-als-ir -sensor hello world application. Uses rpr0521-driver and rohm-sensor-hal -libraries.

Dependencies:   mbed rohm-rpr0521 rohm-sensor-hal

Fork of KX022_Hello by Rohm

Committer:
MikkoZ
Date:
Mon Sep 12 09:22:17 2016 +0000
Revision:
2:edc916d1a86d
Child:
4:6a931904c92a
Initial version of (proximity-als-ir) rpr0521 hello application.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MikkoZ 2:edc916d1a86d 1 /* Copyright 2016 Rohm Semiconductor
MikkoZ 2:edc916d1a86d 2
MikkoZ 2:edc916d1a86d 3 Licensed under the Apache License, Version 2.0 (the "License");
MikkoZ 2:edc916d1a86d 4 you may not use this file except in compliance with the License.
MikkoZ 2:edc916d1a86d 5 You may obtain a copy of the License at
MikkoZ 2:edc916d1a86d 6
MikkoZ 2:edc916d1a86d 7 http://www.apache.org/licenses/LICENSE-2.0
MikkoZ 2:edc916d1a86d 8
MikkoZ 2:edc916d1a86d 9 Unless required by applicable law or agreed to in writing, software
MikkoZ 2:edc916d1a86d 10 distributed under the License is distributed on an "AS IS" BASIS,
MikkoZ 2:edc916d1a86d 11 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
MikkoZ 2:edc916d1a86d 12 See the License for the specific language governing permissions and
MikkoZ 2:edc916d1a86d 13 limitations under the License.
MikkoZ 2:edc916d1a86d 14 */
MikkoZ 2:edc916d1a86d 15
MikkoZ 2:edc916d1a86d 16 #include "rohm-sensor-hal/rohm-sensor-hal/rohm_hal.h" //mbed.h, types, DEBUG_print*
MikkoZ 2:edc916d1a86d 17 #include "rohm-sensor-hal/rohm-sensor-hal/I2CCommon.h"
MikkoZ 2:edc916d1a86d 18
MikkoZ 2:edc916d1a86d 19 #include "rohm-rpr0521/rohm-rpr0521/rpr0521_driver.h"
MikkoZ 2:edc916d1a86d 20 #include "rohm-rpr0521/rohm-rpr0521/rpr0521.h"
MikkoZ 2:edc916d1a86d 21
MikkoZ 2:edc916d1a86d 22 Serial pc(USBTX, USBRX);
MikkoZ 2:edc916d1a86d 23
MikkoZ 2:edc916d1a86d 24 void rpr0521_print_raw_values(){
MikkoZ 2:edc916d1a86d 25 pc.printf("\nRPR0521 library test program.\n\r");
MikkoZ 2:edc916d1a86d 26 I2CCommonBegin();
MikkoZ 2:edc916d1a86d 27
MikkoZ 2:edc916d1a86d 28 rpr0521_wait_until_found();
MikkoZ 2:edc916d1a86d 29 pc.printf("\nSensor found.\n\r");
MikkoZ 2:edc916d1a86d 30 rpr0521_initial_setup();
MikkoZ 2:edc916d1a86d 31 wait(1);
MikkoZ 2:edc916d1a86d 32
MikkoZ 2:edc916d1a86d 33 while(1) {
MikkoZ 2:edc916d1a86d 34 bool error;
MikkoZ 2:edc916d1a86d 35 uint16_t data[3];
MikkoZ 2:edc916d1a86d 36
MikkoZ 2:edc916d1a86d 37 error = rpr0521_read_data(&data[0]);
MikkoZ 2:edc916d1a86d 38 if (!error) {
MikkoZ 2:edc916d1a86d 39 pc.printf("PS[%4u], Als0[%4u], Als1[%4u]\n\r", data[0], data[1], data[2]);
MikkoZ 2:edc916d1a86d 40 }
MikkoZ 2:edc916d1a86d 41 else {
MikkoZ 2:edc916d1a86d 42 pc.printf("\n\r");
MikkoZ 2:edc916d1a86d 43 }
MikkoZ 2:edc916d1a86d 44 wait(0.1);
MikkoZ 2:edc916d1a86d 45 }
MikkoZ 2:edc916d1a86d 46 }
MikkoZ 2:edc916d1a86d 47
MikkoZ 2:edc916d1a86d 48
MikkoZ 2:edc916d1a86d 49 int main() {
MikkoZ 2:edc916d1a86d 50 rpr0521_print_raw_values();
MikkoZ 2:edc916d1a86d 51 }
MikkoZ 2:edc916d1a86d 52