ATS_system.h
4.68 KB
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
/*
Copyright Wang yong ALL RIGHT RESERVED !
@ file name: ATS_system.h
@ description: 系统相关的函数接口文件
@ Author: wangyong, doforfaith@gmail.com
@ Modify History:
Date Event Person
10-05-31 Creator wangyong
*/
#if defined(__SKY_3DGUI__)
#ifndef __ATS_SYSTEM_H__
#define __ATS_SYSTEM_H__
#include "ATS_basic.h"
#include "ATS_adaptation_features.h"
typedef enum
{
ATS_SYS_DATE_DDMMYYYY = 0,
ATS_SYS_DATE_MMDDYYYY,
ATS_SYS_DATE_YYYYMMDD
}ATS_SYS_DATE_FORMAT;
typedef enum
{
ATS_SYS_TIME_24,
ATS_SYS_TIME_12
}ATS_SYS_TIME_FORMAT;
typedef enum
{
ATS_SYS_BATTERY_LOW_POWEROFF = 0,
ATS_SYS_BATTERY_LOW_TX_PROHIBIT,
ATS_SYS_BATTERY_LOW_WARNING,
ATS_SYS_BATTERY_LEVEL_0,
ATS_SYS_BATTERY_LEVEL_1,
ATS_SYS_BATTERY_LEVEL_2,
ATS_SYS_BATTERY_LEVEL_3,
ATS_SYS_BATTERY_LEVEL_MAX = ATS_SYS_BATTERY_LEVEL_3
} ATS_SYS_BATTERY_LEVEL;
typedef struct
{
ats_uint16 nYear;
ats_uint8 nMonth;
ats_uint8 nDay;
ats_uint8 nHour;
ats_uint8 nMin;
ats_uint8 nSec;
ats_uint8 DayIndex; /* 0=Sunday */
}ATS_SYS_TIME;
typedef enum
{
ATS_SYS_LANG_TYPE_NONE = -1,
ATS_SYS_LANG_TYPE_CHINESE_SIMPLIFIED,
ATS_SYS_LANG_TYPE_CHINESE_TRADITIONAL,
ATS_SYS_LANG_TYPE_ENGLISH,
ATS_SYS_LANG_TYPE_MAX
}ATS_SYS_LANGUAGE_TYPE;
typedef enum
{
ATS_SYS_PROFILE_GENERAL,
ATS_SYS_PROFILE_MEETING,
ATS_SYS_PROFILE_OUTDOOR,
ATS_SYS_PROFILE_INDOOR,
ATS_SYS_PROFILE_HEADSET,
ATS_SYS_PROFILE_SILENT,
ATS_SYS_PROFILE_BT,
ATS_SYS_PROFILE_CUSTOMIZE,
ATS_SYS_PROFILE_MAX
}ATS_SYS_PROFILE_TYPE;
/*memory 操作*/
extern void* ATS_sys_memchr (const void *buf, ats_int32 ch, ats_uint32 size);
extern ats_int32 ATS_sys_memcmp (const void *buf1, const void *buf2, ats_uint32 size);
extern void* ATS_sys_memcpy (void*dst, const void*src, ats_uint32 size);
extern void* ATS_sys_memmove (void*dst, const void*src, ats_uint32 size);
extern void* ATS_sys_memset (void* dst, ats_int32 ch, ats_uint32 size);
/*time 相关*/
/*获取当前的系统时间*/
extern void ATS_sys_get_time( ATS_SYS_TIME* time);
/*获取系统当前的时间显示格式*/
extern ATS_SYS_TIME_FORMAT ATS_sys_get_time_format(void);
/*获取系统当前的日期显示格式*/
extern ATS_SYS_DATE_FORMAT ATS_sys_get_date_format( ats_uint8* Seperator );
/*将当前系统的task 睡眠挂起,ms 为挂起时间,单位为毫秒*/
extern void ATS_sys_sleep_task_ms( ats_uint32 ms );
/*将当前系统的task 睡眠挂起,ticks 为挂起时钟周期*/
extern void ATS_sys_sleep_task(ats_uint32 ticks);
/*通过年月日,获取到星期几,0 为星期天,1 为星期一,依次类同*/
extern ats_uint8 ATS_sys_get_weekday(ats_uint16 y, ats_uint8 m, ats_uint8 d);
/*获取当前系统运行的tick 数*/
extern ats_uint32 ATS_sys_get_ticks(void);
/*将tick 值转换为毫秒*/
extern ats_uint32 ATS_sys_ticks_to_milli_secs(ats_uint32 ticks);
/*启用随机数*/
extern void ATS_sys_srand(void);
/*获取指定区域内的随机数值: [bottom, top]*/
extern ats_int32 ATS_sys_get_rand_bound( ats_int32 bottom, ats_int32 top );
/*获取[0, range) 范围的随机数值*/
extern ats_int32 ATS_sys_get_rand( ats_int32 range );
/*锁相关*/
/*创建互斥锁*/
extern void* ATS_sys_create_mutex( ats_uint8* mutex_name_ptr);
/*获取互斥锁*/
void ATS_sys_take_mutex(void* mutex);
/*释放互斥锁*/
void ATS_sys_give_mutex(void* mutex);
/*语言 相关*/
/*获取当前系统的语言类型*/
extern ATS_SYS_LANGUAGE_TYPE ATS_sys_get_language_type(void);
/*获取当前语言类型是否为文字从右往左打印的*/
extern ATS_BOOL ATS_sys_is_text_right_to_left(void);
/*背光 相关*/
/*开启背光,disable_sleep 为是否要取消睡眠模式,为ATS_TRUE 即表示背光将一直保持打开状态
为ATS_FALSE 表示背光将在一定时间内自动关闭,具体时间由系统其它地方决定*/
extern void ATS_sys_turn_on_backlight(ATS_BOOL disable_sleep);
/*关闭背光,need_half_dark 为是否经过半亮状态*/
extern void ATS_sys_turn_off_backlight(ATS_BOOL need_half_dark);
/*震动相关*/
/*停止震动*/
extern void ATS_sys_stop_vibrator(void);
/*开始震动,ms 为震动时间*/
extern void ATS_sys_start_vibrator(ats_int32 ms);
/*存储设备*/
/*获取系统盘符值,该盘符为不可见盘,可用来存储一些配置数据*/
extern ats_uint8 ATS_sys_get_system_driver(void);
/*获取储存卡盘符值*/
extern ats_uint8 ATS_sys_get_card_driver(void);
/*电池相关*/
/*判断是否充电完成*/
extern ATS_BOOL ATS_sys_is_charging_completed(void);
/*判断充电器是否连接*/
extern ATS_BOOL ATS_sys_is_charger_connected(void);
/*获取当前电量的级数*/
extern ATS_SYS_BATTERY_LEVEL ATS_sys_get_current_battery_level(void);
/*获取最大的电量级数*/
extern ATS_SYS_BATTERY_LEVEL ATS_sys_get_max_battery_level(void);
/*获取系统当前的情景模式*/
extern ATS_SYS_PROFILE_TYPE ATS_sys_get_profile_type(void);
/*判断系统当前是否处在飞行模式*/
extern ATS_BOOL ATS_sys_is_flight_mode(void);
/*判读系统当前是否处于USB 存储模式*/
extern ATS_BOOL ATS_sys_is_usb_storage_mode(void);
#endif /*__ATS_SYSTEM_H__*/
#endif /*__SKY_3DGUI__*/