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
main_classic.cpp@7:0baf8142fdef, 2016-09-20 (annotated)
- 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?
User | Revision | Line number | New 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 |