2022-09-15-Snippet5

void Task_Sensors(ULONG ThreadInput)
{
    // SECTION 1: Initialization
    (void) ThreadInput;

    Task_SensorInit();

    // SECTION 2: Tasks main function / behavior / purpose
    while(true)
    {
        Task_SensorRun();

        tx_thread_sleep(TASK_SENSORS_PERIOD_MS);        
    }

    // SECTION 3: TasK Completion Activities
}


/**********************************
 * Placed in a different module
 **********************************/

void Task_SensorInit(void)
{
    SensorData_t SensorRawData;
    SensorData_t SensorData;
    SensorData_t pSensorDataTx = &SensorData;

    Sensor_Init();
}

void Task_SensorRun(void)
{
    SensorRawData = Sensor_Sample();
    SensorData    = SensorProcess(SensorRawData);

    (void)tx_queue_send(SensorTxQ, (void *)&pSensorDataTx, TX_WAIT_FOREVER);
}

Share >