static void get_sensor_data(size_t iteration,
                            size_t sensor_id,
                            sensor_data_t* data,
                            bool* need_output)
{
    *need_output = false;
    switch (sensor_id) {
    case 0:
        data->value = get_sensor_A_value();
        data->name = "A";
        *need_output = true;
        break;
    case 1:
        if (iteration % 2 == 0) {
            data->value = get_sensor_B_value();
            data->name = "B";
            *need_output = true;
        }
        break;
    case 2:
        if (iteration % 4 == 0) {
            data->value = get_sensor_C_value();
            data->name = "C";
            *need_output = true;
        }
        break;
    default:
        break;
    }
}
