SearchLightTemControl.c 1.8 KB
#include <stdio.h>
#include "Psdk_UI_io.h"
#include "JZsdk_Base/JZsdk_Code/JZsdk_InsCode.h"
#include "BaseConfig.h"
#include "Megaphone_InputAndOutput.h"
#include "JZsdkLib.h"
#include "UI_control.h"
#include <unistd.h>
#include <string.h>
#include <pthread.h>

#include "./JZ_SearchLightTemp_calculation.h"
#include "./SearchLightTemControl.h"


static int g_InputTemp = 0;
static int g_InputLumen = 0;
static int g_OutputLumen = 0;

//1、输入函数
T_JZsdkReturnCode JZsdk_SearchLightTemControl_Input(int InputTemp, int InputLumen)
{
    //输入参数
    g_InputTemp = InputTemp;
    g_InputLumen = InputLumen;

    delayMs(1);

    return g_OutputLumen;
}

//2、刷新亮度函数
T_JZsdkReturnCode JZsdk_SearchLightTemControl_FlushLumen(int InputLumen)
{
    g_InputLumen = InputLumen;
    JZsdk_SearchLightSetInitialLumen(g_InputLumen);
}

//控温线程
static void *TempControl_Task(void *arg)
{
    int DelayTime;

    while (1)
    {
        JZsdk_SearchLightTemControl( (float)g_InputTemp, g_InputLumen, &g_OutputLumen, &DelayTime);

        if (DelayTime > 0)
        {
            printf("触发温控延迟\n");
            delayMs(DelayTime);
        }
        else
        {
            delayMs(1);
        }
        
        DelayTime = 0;
    }
}
//控件

//控件控制初始化
T_JZsdkReturnCode JZsdk_SearchLightTemControl_Init()
{

	pthread_t WriteDataTask;
	pthread_attr_t task_attribute; //线程属性
	pthread_attr_init(&task_attribute);  //初始化线程属性
	pthread_attr_setdetachstate(&task_attribute, PTHREAD_CREATE_DETACHED);      //设置线程分离属性
	int opus_Protection = pthread_create(&WriteDataTask,&task_attribute,TempControl_Task,NULL);		//线程
	if(opus_Protection != 0)
	{
		JZSDK_LOG_ERROR("创建控件写入线程失败!");
		return -1;
	}
}