Rohm BH1726 ALS sensor driver.
Dependents: rohm-bh1726-hello rohm-tileshield-6sensor-demo
Fork of rohm-bh1745 by
Diff: rohm-bh1745/bh1745.h
- Revision:
- 2:40307a303153
- Parent:
- 1:64629eee9eab
- Child:
- 3:6eb91c7c6560
--- a/rohm-bh1745/bh1745.h Mon Sep 12 12:31:40 2016 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,133 +0,0 @@ -/* Copyright 2016 Rohm Semiconductor - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*/ -#ifndef BH1745_H -#define BH1745_H - -/* registers */ -#define BH1745_REGISTER_DUMP_START 0x40 -#define BH1745_SYSTEM_CONTROL 0x40 -// Writing MODE_CONTROL1/2/3 restarts measurement if any. -#define BH1745_MODE_CONTROL1 0x41 -#define BH1745_MODE_CONTROL2 0x42 -// Always write 02h -#define BH1745_MODE_CONTROL3 0x44 -// Least significant byte of uint16 RED measurement value -#define BH1745_RED_DATA_LSBS 0x50 -// Most significant byte of uint16 RED measurement value -#define BH1745_RED_DATA_MSBS 0x51 -#define BH1745_GREEN_DATA_LSBS 0x52 -#define BH1745_GREEN_DATA_MSBS 0x53 -#define BH1745_BLUE_DATA_LSBS 0x54 -#define BH1745_BLUE_DATA_MSBS 0x55 -#define BH1745_CLEAR_DATA_LSBS 0x56 -#define BH1745_CLEAR_DATA_MSBS 0x57 -// DINT data is used for internal calculation of BH1745NUC. -#define BH1745_DINT_DATA_LSBS 0x58 -// DINT registers are used for IC test only. -#define BH1745_DINT_DATA_MSBS 0x59 -#define BH1745_INTERRUPT 0x60 -#define BH1745_PERSISTENCE 0x61 -#define BH1745_TH_LSBS 0x62 -#define BH1745_TH_MSBS 0x63 -#define BH1745_TL_LSBS 0x64 -#define BH1745_TL_MSBS 0x65 -#define BH1745_ID_REG 0x92 -#define BH1745_REGISTER_DUMP_END 0x92 -/* registers bits */ -// Initial reset is not started -#define BH1745_SYSTEM_CONTROL_SW_RESET_NOT_STARTED (0x00 << 7) -// Initial reset is started -#define BH1745_SYSTEM_CONTROL_SW_RESET_START (0x01 << 7) -// In specification "not_initialized" -#define BH1745_SYSTEM_CONTROL_INT_PIN_ACTIVE (0x00 << 6) -// high impedance -#define BH1745_SYSTEM_CONTROL_INT_PIN_INACTIVE (0x01 << 6) -#define BH1745_SYSTEM_CONTROL_PART_ID (0x0B << 0) -#define BH1745_MODE_CONTROL1_RESERVED_WRITE00000 (0x00 << 3) -#define BH1745_MODE_CONTROL1_MEASUREMENT_TIME_160MSEC (0x00 << 0) -#define BH1745_MODE_CONTROL1_MEASUREMENT_TIME_320MSEC (0x01 << 0) -#define BH1745_MODE_CONTROL1_MEASUREMENT_TIME_640MSEC (0x02 << 0) -#define BH1745_MODE_CONTROL1_MEASUREMENT_TIME_1280MSEC (0x03 << 0) -#define BH1745_MODE_CONTROL1_MEASUREMENT_TIME_2560MSEC (0x04 << 0) -#define BH1745_MODE_CONTROL1_MEASUREMENT_TIME_5120MSEC (0x05 << 0) -#define BH1745_MODE_CONTROL1_MEASUREMENT_TIME_FORBIDDEN6 (0x06 << 0) -#define BH1745_MODE_CONTROL1_MEASUREMENT_TIME_FORBIDDEN7 (0x07 << 0) -#define BH1745_MODE_CONTROL2_DATA_UPDATED_NO (0x00 << 7) -#define BH1745_MODE_CONTROL2_DATA_UPDATED_YES (0x01 << 7) -#define BH1745_MODE_CONTROL2_RESERVED65_WRITE00 (0x00 << 5) -#define BH1745_MODE_CONTROL2_RGBC_MEASUREMENT_INACTIVE (0x00 << 4) -#define BH1745_MODE_CONTROL2_RGBC_MEASUREMENT_ACTIVE (0x01 << 4) -#define BH1745_MODE_CONTROL2_RESERVED32_WRITE00 (0x00 << 2) -#define BH1745_MODE_CONTROL2_ADC_GAIN_1X (0x00 << 0) -#define BH1745_MODE_CONTROL2_ADC_GAIN_2X (0x01 << 0) -#define BH1745_MODE_CONTROL2_ADC_GAIN_16X (0x02 << 0) -#define BH1745_MODE_CONTROL2_ADC_GAIN_FORBIDDEN3 (0x03 << 0) -#define BH1745_MODE_CONTROL3_ALWAYS_02H (0x02 << 0) -#define BH1745_INTERRUPT_STATUS_INACTIVE (0x00 << 7) -#define BH1745_INTERRUPT_STATUS_ACTIVE (0x01 << 7) -#define BH1745_INTERRUPT_RESERVED65_WRITE00 (0x00 << 5) -// INT pin is latched until INTERRUPT register is read or initialized -#define BH1745_INTERRUPT_LATCH_ENABLE (0x00 << 4) -// INT pin is updated after each measurement -#define BH1745_INTERRUPT_LATCH_DISABLE (0x01 << 4) -// red channel -#define BH1745_INTERRUPT_SOURCE_SELECT_RED (0x00 << 2) -// green channel -#define BH1745_INTERRUPT_SOURCE_SELECT_GREEN (0x01 << 2) -// blue channel -#define BH1745_INTERRUPT_SOURCE_SELECT_BLUE (0x02 << 2) -// clear channel -#define BH1745_INTERRUPT_SOURCE_SELECT_CLEAR (0x03 << 2) -#define BH1745_INTERRUPT_RESERVED1_WRITE0 (0x00 << 1) -#define BH1745_INTERRUPT_PIN_DISABLE (0x00 << 0) -#define BH1745_INTERRUPT_PIN_ENABLE (0x01 << 0) -#define BH1745_PERSISTENCE_RESERVED72_WRITE000001 (0x01 << 2) -// Interrupt status is toggled at each measurement end. -#define BH1745_PERSISTENCE_OF_INTERRUPT_STATUS_TOGGLE_AFTER_MEASUREMENT (0x00 << 0) -// Interrupt status is updated at each measurement end. -#define BH1745_PERSISTENCE_OF_INTERRUPT_STATUS_UPDATE_AFTER_MEASUREMENT (0x01 << 0) -// Interrupt status is updated if 4 consecutive threshold judgements are the same -#define BH1745_PERSISTENCE_OF_INTERRUPT_STATUS_UPDATE_AFTER_4_SAME (0x02 << 0) -// Interrupt status is updated if 8 consecutive threshold judgements are the same -#define BH1745_PERSISTENCE_OF_INTERRUPT_STATUS_UPDATE_AFTER_8_SAME (0x03 << 0) -#define BH1745_ID_REG_MANUFACTURER_ID (0xE0 << 0) - /*registers bit masks */ -#define BH1745_SYSTEM_CONTROL_SW_RESET_MASK 0x80 - -#define BH1745_SYSTEM_CONTROL_INT_PIN_MASK 0x40 - -#define BH1745_SYSTEM_CONTROL_PART_MASK 0x3F -#define BH1745_MODE_CONTROL1_RESERVED_MASK 0xF8 -#define BH1745_MODE_CONTROL1_MEASUREMENT_TIME_MASK 0x07 -#define BH1745_MODE_CONTROL2_DATA_UPDATED_MASK 0x80 -#define BH1745_MODE_CONTROL2_RESERVED65_MASK 0x60 -#define BH1745_MODE_CONTROL2_RGBC_MEASUREMENT_MASK 0x10 -#define BH1745_MODE_CONTROL2_RESERVED32_MASK 0x0C -#define BH1745_MODE_CONTROL2_ADC_GAIN_MASK 0x03 -#define BH1745_MODE_CONTROL3_ALWAYS_MASK 0xFF -#define BH1745_INTERRUPT_STATUS_MASK 0x80 -#define BH1745_INTERRUPT_RESERVED65_MASK 0x60 -#define BH1745_INTERRUPT_LATCH_MASK 0x10 - -#define BH1745_INTERRUPT_SOURCE_MASK 0x0C -// Write 0 -#define BH1745_INTERRUPT_RESERVED1_MASK 0x02 -#define BH1745_INTERRUPT_PIN_MASK 0x01 -#define BH1745_PERSISTENCE_RESERVED72_MASK 0xFC -#define BH1745_PERSISTENCE_OF_INTERRUPT_MASK 0x03 - -#define BH1745_ID_REG_MANUFACTURER_MASK 0xFF - -#endif /* BH1745_H */

Rohm BH1726NUC | Ambient Light Sensor