94 lines
1.5 KiB
C
94 lines
1.5 KiB
C
|
/**
|
||
|
* @copyright 2015 Indie Semiconductor.
|
||
|
*
|
||
|
* This file is proprietary to Indie Semiconductor.
|
||
|
* All rights reserved. Reproduction or distribution, in whole
|
||
|
* or in part, is forbidden except by express written permission
|
||
|
* of Indie Semiconductor.
|
||
|
*
|
||
|
* @file measureTask.c
|
||
|
* @Author: Jack.Pan
|
||
|
* @E-mail:jack.pan@indiemicro.com
|
||
|
* @Date: 2020/09/10
|
||
|
*/
|
||
|
#include <crc32.h>
|
||
|
#include <measureTask.h>
|
||
|
|
||
|
static TaskState_t adcTaskState = TASK_STATE_INIT;
|
||
|
static volatile uint32_t measStart = 0U;
|
||
|
void measureDoneISR(ADCMeasureParam_t item, uint16_t *const result);
|
||
|
void measureParamInit(void);
|
||
|
|
||
|
void updateTimerExpired(SoftTimer_t *timer);
|
||
|
|
||
|
static volatile uint32_t adcConvertDone = 0U;
|
||
|
|
||
|
static SoftTimer_t updateTimer = {
|
||
|
.mode = TIMER_PERIODIC_MODE,
|
||
|
.interval = 50U,
|
||
|
.handler = updateTimerExpired
|
||
|
};
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
void updateTimerExpired(SoftTimer_t *timer)
|
||
|
{
|
||
|
|
||
|
TM_PostTask(TASK_ID_ADC_MEASURE);
|
||
|
}
|
||
|
|
||
|
extern uint16_t g_AdVal[3];
|
||
|
void measureDoneISR(ADCMeasureParam_t param, uint16_t *const result)
|
||
|
{
|
||
|
measStart = 1U;
|
||
|
TM_PostTask(TASK_ID_ADC_MEASURE);
|
||
|
g_AdVal[0] = result[3];
|
||
|
g_AdVal[1] = result[2];
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
void MES_TaskHandler(void)
|
||
|
{
|
||
|
switch(adcTaskState){
|
||
|
case TASK_STATE_INIT:
|
||
|
measureParamInit();
|
||
|
ADC_GeneralInit();/* init ADC */
|
||
|
ADC_RegisterIRQ(measureDoneISR);
|
||
|
/* start updating timer */
|
||
|
SoftTimer_Start(&updateTimer);
|
||
|
adcTaskState = TASK_STATE_ACTIVE;
|
||
|
break;
|
||
|
case TASK_STATE_ACTIVE:
|
||
|
|
||
|
break;
|
||
|
default:
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
void measureParamInit(void)
|
||
|
{
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|