コード例 #1
0
/*******************************************************************************
* @fn          sensorHdc1000Start
*
* @brief       Start measurement
*
* @return      none
*/
void sensorHdc1000Start(void)
{
  if (success)
  {
    if (!SENSOR_SELECT())
      return;

    success = bspI2cWriteSingle(HDC1000_REG_TEMP);
    SENSOR_DESELECT();
  }
}
コード例 #2
0
/*********************************************************************
 * @fn      sensor_writeRegister
 *
 * @brief   Write registers from the data stored in 'registerData'
 *
 * @return  none
 */
static void sensor_writeRegister(void)
{
  uint8_t deviceAddress, interface, len;
  
  interface = registerDeviceID[0];
  deviceAddress = registerDeviceID[1];
  len = registerAddress[0];
  
  switch (interface)
  {
  // I2C interfaces
  case REGISTER_INTERFACE_I2C0:
  case REGISTER_INTERFACE_I2C1:
    {
      uint8_t regaddr;
      
      regaddr = registerAddress[1];
      bspI2cSelect(interface, deviceAddress);
      if (len>0)
      {
        sensorWriteReg(regaddr,registerData,len);
      }
      else
      {
        bspI2cWriteSingle(regaddr);
      }
      bspI2cDeselect();
    }
    break;
        
  case REGISTER_INTERFACE_MCU:
    {
      uint32_t addr;
      
      addr= *(uint32*)(&registerAddress[1]);
      memcpy((uint8_t*)addr,registerData,len);
    }

  default:
    break;
  }
}
コード例 #3
0
/**************************************************************************************************
* @fn          halHumiWriteCmd
*
* @brief       Write a command to the humidity sensor
*
* @param       cmd - command to write
*
* @return      TRUE if the command has been transmitted successfully
**************************************************************************************************/
static bool sensorSht21WriteCmd(uint8_t cmd)
{
  /* Send command */
  return bspI2cWriteSingle(cmd);
}