整理代码
This commit is contained in:
commit
c7b4e178ec
364 changed files with 59691 additions and 0 deletions
51
hardware/hisilicon/TemperatureSensor.cpp
Normal file
51
hardware/hisilicon/TemperatureSensor.cpp
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
/*
|
||||
*******************************************************************************
|
||||
* INCLUDE
|
||||
*******************************************************************************
|
||||
*/
|
||||
#include "TemperatureSensor.h"
|
||||
#include "memmap.h"
|
||||
|
||||
namespace Hardware
|
||||
{
|
||||
namespace Hisilicon
|
||||
{
|
||||
/*
|
||||
*******************************************************************************
|
||||
* CLASS DEFINE
|
||||
*******************************************************************************
|
||||
*/
|
||||
#define TSENSOR_CTRL_REG_BASE 0x1102A000
|
||||
|
||||
TemperatureSensor::TemperatureSensor(): Sensor(Sensor::Type::TEMPERATURE)
|
||||
{
|
||||
_pRegisters = getRegisters();
|
||||
|
||||
_pRegisters->ctrl0 |= (1 << 31) | (1 << 30);
|
||||
|
||||
_pRegisters->ctrl1 |= (3 << 2);
|
||||
}
|
||||
|
||||
TemperatureSensor::~TemperatureSensor()
|
||||
{
|
||||
_pRegisters->ctrl0 = 0;
|
||||
releaseRegisters(_pRegisters);
|
||||
}
|
||||
|
||||
void TemperatureSensor::read(float& value)
|
||||
{
|
||||
uint32_t rval = _pRegisters->ctrl2 & 0x3ff;
|
||||
value = (float)(rval - 117) / 784 * 165 - 40;
|
||||
}
|
||||
|
||||
TemperatureSensor::Registers* TemperatureSensor::getRegisters()
|
||||
{
|
||||
return (Registers*)memmap(TSENSOR_CTRL_REG_BASE, sizeof(Registers));
|
||||
}
|
||||
|
||||
void TemperatureSensor::releaseRegisters(Registers* pRegisters)
|
||||
{
|
||||
memunmap(pRegisters);
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue