EFM32 Happy Gecko Software Documentation  efm32hg-doc-5.1.2
si1133.c File Reference

Detailed Description

Driver for the Si1133 Ambient Light and UV sensor.

Version
5.1.1

License

Copyright 2016 Silicon Laboratories, Inc. http://www.silabs.com

This file is licensed under the Silicon Labs License Agreement. See the file "Silabs_License_Agreement.txt" for details. Before using this software for any purpose, you must agree to the terms of that agreement.

Definition in file si1133.c.

#include <stdint.h>
#include "i2cspm.h"
#include "thunderboard/util.h"
#include "thunderboard/board.h"
#include "thunderboard/si1133.h"

Go to the source code of this file.

Functions

uint32_t SI1133_deInit (void)
 Stops the measurements on all channel and waits until the chip goes to sleep state. More...
 
uint32_t SI1133_getHardwareID (uint8_t *hardwareID)
 Reads Hardware ID from the SI1133 sensor. More...
 
uint32_t SI1133_getIrqStatus (uint8_t *irqStatus)
 Reads the interrupt status register of the device. More...
 
int32_t SI1133_getLux (int32_t vis_high, int32_t vis_low, int32_t ir, SI1133_LuxCoeff_TypeDef *lk)
 Compute lux value. More...
 
uint32_t SI1133_getMeasurement (float *lux, float *uvi)
 Retrieve the sample values from the chip and convert them to lux and UV index values. More...
 
int32_t SI1133_getUv (int32_t uv, SI1133_Coeff_TypeDef *uk)
 Compute UV index. More...
 
uint32_t SI1133_init (void)
 Initializes the Si1133 chip. More...
 
uint32_t SI1133_measureLuxUvi (float *lux, float *uvi)
 Measure lux and UV index using the Si1133 sensor. More...
 
uint32_t SI1133_measurementForce (void)
 Sends a FORCE command to the Si1133. More...
 
uint32_t SI1133_measurementGet (SI1133_Samples_TypeDef *samples)
 Read samples from the Si1133 chip. More...
 
static uint32_t SI1133_measurementPause (void)
 Sends a PAUSE command to the Si1133. More...
 
uint32_t SI1133_measurementStart (void)
 Sends a START command to the Si1133. More...
 
uint32_t SI1133_paramRead (uint8_t address)
 Reads a parameter from the Si1133. More...
 
uint32_t SI1133_paramSet (uint8_t address, uint8_t value)
 Writes a byte to an Si1133 Parameter. More...
 
uint32_t SI1133_registerBlockRead (uint8_t reg, uint8_t length, uint8_t *data)
 Reads a block of data from the Si1133 sensor. More...
 
uint32_t SI1133_registerBlockWrite (uint8_t reg, uint8_t length, uint8_t *data)
 Writes a block of data to the Si1133 sensor. More...
 
uint32_t SI1133_registerRead (uint8_t reg, uint8_t *data)
 Reads register from the Si1133 sensor. More...
 
uint32_t SI1133_registerWrite (uint8_t reg, uint8_t data)
 Writes register in the Si1133 sensor. More...
 
uint32_t SI1133_reset (void)
 Resets the Si1133. More...
 
uint32_t SI1133_resetCmdCtr (void)
 Sends a RESET COMMAND COUNTER command to the Si1133. More...
 
static uint32_t SI1133_sendCmd (uint8_t command)
 Helper function to send a command to the Si1133. More...
 
static uint32_t SI1133_waitUntilSleep (void)
 Waits until the Si1133 is sleeping before proceeding. More...