Hello world for Rohm BH1726 ALS dual channel sensor. Uses Rohm sensor hal and bh1726 driver.

Dependencies:   mbed rohm-bh1726 rohm-sensor-hal

Fork of rohm-bh1745-hello by Rohm

Committer:
MikkoZ
Date:
Tue Sep 20 10:36:12 2016 +0000
Revision:
7:0baf8142fdef
Parent:
5:a8feb1b6e6b5
Minor refactoring of program.

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 5:a8feb1b6e6b5 19 #include "rohm-bh1726/rohm-bh1726/bh1726_driver.h"
MikkoZ 5:a8feb1b6e6b5 20 #include "rohm-bh1726/rohm-bh1726/bh1726.h"
MikkoZ 2:edc916d1a86d 21
MikkoZ 2:edc916d1a86d 22 Serial pc(USBTX, USBRX);
MikkoZ 2:edc916d1a86d 23
MikkoZ 7:0baf8142fdef 24 void bh1726_print_one_value(){
MikkoZ 7:0baf8142fdef 25 bool error;
MikkoZ 7:0baf8142fdef 26 uint16_t data[2]; //2 channels of 16-bit data
MikkoZ 7:0baf8142fdef 27
MikkoZ 7:0baf8142fdef 28 error = bh1726_read_data(&data[0]);
MikkoZ 7:0baf8142fdef 29 if (!error) {
MikkoZ 7:0baf8142fdef 30 pc.printf("ALS Data0[%4u], Data1[%4u]\n\r", data[0], data[1]);
MikkoZ 7:0baf8142fdef 31 }
MikkoZ 7:0baf8142fdef 32 else {
MikkoZ 7:0baf8142fdef 33 pc.printf("\n\r");
MikkoZ 7:0baf8142fdef 34 }
MikkoZ 7:0baf8142fdef 35 }
MikkoZ 7:0baf8142fdef 36
MikkoZ 5:a8feb1b6e6b5 37 void bh1726_print_raw_values(){
MikkoZ 5:a8feb1b6e6b5 38 pc.printf("\nbh1726 library test program.\n\r");
MikkoZ 2:edc916d1a86d 39 I2CCommonBegin();
MikkoZ 2:edc916d1a86d 40
MikkoZ 5:a8feb1b6e6b5 41 bh1726_wait_until_found();
MikkoZ 5:a8feb1b6e6b5 42 bh1726_initial_setup();
MikkoZ 2:edc916d1a86d 43 wait(1);
MikkoZ 5:a8feb1b6e6b5 44 // bh1726_dumpregs(BH1726_REGISTER_DUMP_START, BH1726_REGISTER_DUMP_END);
MikkoZ 2:edc916d1a86d 45
MikkoZ 2:edc916d1a86d 46 while(1) {
MikkoZ 7:0baf8142fdef 47 bh1726_print_one_value();
MikkoZ 4:a9efa968de28 48 wait(0.2);
MikkoZ 2:edc916d1a86d 49 }
MikkoZ 2:edc916d1a86d 50 }
MikkoZ 2:edc916d1a86d 51
MikkoZ 2:edc916d1a86d 52
MikkoZ 2:edc916d1a86d 53 int main() {
MikkoZ 5:a8feb1b6e6b5 54 bh1726_print_raw_values();
MikkoZ 2:edc916d1a86d 55 }
MikkoZ 2:edc916d1a86d 56