1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
//
// Created by YY on 2020/3/9.
//
 
#include <cstdlib>
#include "../common/apptimer.h"
#include "dummy_light.h"
#include "../native-lib.h"
#include "../jni_log.h"
 
#define DEBUG(fmt, args...)     LOGD("<dummy_light> <%s>: " fmt, __func__, ##args)
 
static struct dummy_light_exam *content;
static int contentNum;
static int currContent;
 
static void DummyLightCheckLight(union sigval sig);
static void ExamDummyLight(union sigval sig);
 
void StartDummyLightExam(struct dummy_light_exam *ptr, int num)
{
    DEBUG("StartDummyLightExam");
    content = ptr;
    contentNum = num;
    currContent = 0;
 
    AppTimer_delete(DummyLightCheckLight);
    AppTimer_delete(ExamDummyLight);
    AppTimer_add(ExamDummyLight, D_SEC(2));
}
 
void DummyLightTTSDone(int id)
{
    DEBUG("DummyLightTTSDone %d", id);
 
    if (id == 100) {
        AppTimer_add(DummyLightCheckLight, D_SEC(3), id);
    } else if (id == 101) {
        AppTimer_add(DummyLightCheckLight, D_SEC(1), id);
    } else {
        AppTimer_add(DummyLightCheckLight, D_SEC(5), id);
    }
}
 
static void DummyLightCheckLight(union sigval sig)
{
    AppTimer_delete(DummyLightCheckLight);
 
    DEBUG("DummyLightCheckLight %d", sig.sival_int);
}
 
static void ExamDummyLight(union sigval sig)
{
    AppTimer_delete(ExamDummyLight);
 
    if (currContent < contentNum) {
        DEBUG("模拟灯光测试 %s", content[currContent].tts);
 
        PlayTTS(content[currContent].tts, content[currContent].item);
        currContent++;
        AppTimer_add(ExamDummyLight, D_SEC(5));
    }
}