
AN3311
In-home display firmware
Doc ID 18209 Rev 1
27/58
6.2 main.c
6.2.1 vSmartPlugSamplingTask
describes the vSmartPlugSamplingTask task:
Example:
static void vSmartPlugSamplingTask( void *pvParameters)
{
CoordinatorType* pObjCoordinator = GetCoordinatorObj();
int i=0;
sinkAdvertise();
pObjCoordinator = GetCoordinatorObj();
//Get the Smart-Plug list
ppSmartPlugList = pObjCoordinator->GetSmartPlugList(pObjCoordinator);
while(1)
{
if ( ppSmartPlugList[0] )
{
smart_points1[i%N_SAMPLES] = ppSmartPlugList[0]->Energy;
smart_points1B[i%N_SAMPLES] = ppSmartPlugList[0]->Power;
}
if ( ppSmartPlugList[1] )
{
smart_points2[i%N_SAMPLES] = ppSmartPlugList[1]->Energy;
smart_points2B[i%N_SAMPLES] = ppSmartPlugList[1]->Power;
}
i++;
if(i == N_SAMPLES)
{
i=0;
for(int j=0; j<N_SAMPLES; j++)
{
smart_points1[j] = 0;
smart_points1B[j] = 0;
smart_points2[j] = 0;
smart_points2B[j] = 0;
}
}
if( i%8 == 0 )
Table 11.
vSmartPlugSamplingTask task
Function name
vSmartPlugSamplingTask
Function prototype
void vSmartPlugSamplingTask(void *pvParameters)
Behavior description
Read and sample the plug consumption values
Input parameter {x}
None
Output parameter {x}
None
Return value
None
Required preconditions None
Called functions
No API/HAL layer functions;