forked from Archive/PX4-Autopilot
Enable the temperature sensor channel for F2/F4 devices.
This commit is contained in:
parent
bc432b1feb
commit
b167912b1b
|
@ -91,6 +91,10 @@
|
||||||
#define rJDR4 REG(STM32_ADC_JDR4_OFFSET)
|
#define rJDR4 REG(STM32_ADC_JDR4_OFFSET)
|
||||||
#define rDR REG(STM32_ADC_DR_OFFSET)
|
#define rDR REG(STM32_ADC_DR_OFFSET)
|
||||||
|
|
||||||
|
#ifdef STM32_ADC_CCR
|
||||||
|
# define rCCR REG(STM32_ADC_CCR_OFFSET)
|
||||||
|
#endif
|
||||||
|
|
||||||
class ADC : public device::CDev
|
class ADC : public device::CDev
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -140,6 +144,9 @@ ADC::ADC(uint32_t channels) :
|
||||||
{
|
{
|
||||||
_debug_enabled = true;
|
_debug_enabled = true;
|
||||||
|
|
||||||
|
/* always enable the temperature sensor */
|
||||||
|
channels |= 1 << 16;
|
||||||
|
|
||||||
/* allocate the sample array */
|
/* allocate the sample array */
|
||||||
for (unsigned i = 0; i < 32; i++) {
|
for (unsigned i = 0; i < 32; i++) {
|
||||||
if (channels & (1 << i)) {
|
if (channels & (1 << i)) {
|
||||||
|
@ -188,10 +195,16 @@ ADC::init()
|
||||||
/* enable the temperature sensor / Vrefint channel if supported*/
|
/* enable the temperature sensor / Vrefint channel if supported*/
|
||||||
rCR2 =
|
rCR2 =
|
||||||
#ifdef ADC_CR2_TSVREFE
|
#ifdef ADC_CR2_TSVREFE
|
||||||
|
/* enable the temperature sensor in CR2 */
|
||||||
ADC_CR2_TSVREFE |
|
ADC_CR2_TSVREFE |
|
||||||
#endif
|
#endif
|
||||||
0;
|
0;
|
||||||
|
|
||||||
|
#ifdef ADC_CCR_TSVREFE
|
||||||
|
/* enable temperature sensor in CCR */
|
||||||
|
rCCR = ADC_CCR_TSVREFE;
|
||||||
|
#endif
|
||||||
|
|
||||||
/* configure for a single-channel sequence */
|
/* configure for a single-channel sequence */
|
||||||
rSQR1 = 0;
|
rSQR1 = 0;
|
||||||
rSQR2 = 0;
|
rSQR2 = 0;
|
||||||
|
|
Loading…
Reference in New Issue