Files
player/Project/Src/MyApp/system_file.h
2025-07-05 19:47:28 +08:00

150 lines
2.3 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef SYSTEM_FILE_H__
#define SYSTEM_FILE_H__
#include "base.h"
//定义设置文件名
#define SYSFILE_SETFILE_NAME "Setting.json"
//定义设置文件的大小
#define SYSFILE_SETFILE_SIZE (1024*16-1)
//定义闹钟的最大个数
#define SYSFILE_SETFILE_ALARMNUM 5
//闹钟结构体
typedef struct
{
int year; //闹钟响起之后,自动更新年月日为下次闹钟时间
int month;
int day;
int hour;
int min;
int week; //从0位到6位分别表示星期天到星期六是否响应闹钟
int power; //此位为1闹钟打开
int tip; //提示为1开启震动
}AlarmStruct;
//系统设置描述
typedef struct
{
int screenLightPower; //屏幕背光电源
int screenLight; //屏幕背光亮度
int screenOffTime; //自动灭屏时长
int screenAutoLight; //自动亮度开关
char bootPic[20]; //开机第一屏图片名称
int alarmNum; //当前闹钟个数
AlarmStruct alarm[SYSFILE_SETFILE_ALARMNUM];//闹钟
char alarmRing[256]; //闹钟铃声
int time12Hours; //为1启用12小时制
char backPicPath[50]; //背景图文件路径
}SysFile_SetStruct;
//定义结构体类型
#define SYSFILE_TYPE_RECVFILE 0x00000001
#define SYSFILE_TYPE_ALARM 0x00000002
//定义用于判断结构体类型的结构体
typedef struct
{
int structType; //结构体类型
}SysFile_StructType;
//定义文件接收成功的结构体
typedef struct
{
int structType; //结构体类型
char name[256];
u8 *data;
u32 dataLen;
int recved; //为1接收成功
}SysFile_RecvedStruct;
//获取设置结构体
SysFile_SetStruct *SysFile_GetSysFile(void);
//保存设置文件
void SysFile_SaveSetFile (void);
//取得设置参数
void SysFile_GetSetFile (void );
//设置文件初始化
void SysFile_SetFileInit (void);
//设置背景图片路径
int SysFile_SetBackPicPath (char *path);
//设置闹钟铃声路径
int SysFile_SetAlarmRingPath (char *path);
//设置启动图片路径
int SysFile_SetBootPicPath(char *path);
//添加一个闹钟
int SysFile_AddAlarm (AlarmStruct *a);
//修改一个闹钟
int SysFile_AlterAlarm (int index,AlarmStruct *a);
//删除一个闹钟
int SysFile_DelAlarm (int index);
//删除所有闹钟
int SysFile_DelAllAlarm (void);
//获取闹钟个数
int SysFile_GetAlarmNum (void);
//取得指定索引的闹钟
int SysFile_GetAlarm (int index,AlarmStruct *a);
//升级闹钟日期
void SysFile_UpDataAlarm (AlarmStruct *a);
//初始化闹钟
void SysFile_InitAlarm (AlarmStruct *a);
//校验闹钟时间到了吗,1,有闹钟时间到0没有
//到时间的闹钟自动把日期设置为下一天
int SysFile_CheckAlarm (void);
#endif