You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
117 lines
3.3 KiB
117 lines
3.3 KiB
1 year ago
|
//
|
||
|
// JL_AlarmClockManager.h
|
||
|
// JL_BLEKit
|
||
|
//
|
||
|
// Created by EzioChan on 2021/12/16.
|
||
|
// Copyright © 2021 www.zh-jieli.com. All rights reserved.
|
||
|
//
|
||
|
|
||
|
#import <Foundation/Foundation.h>
|
||
|
#import <JL_BLEKit/JLModel_AlarmSetting.h>
|
||
|
#import <JL_BLEKit/RTC_RingInfo.h>
|
||
|
#import <JL_BLEKit/JL_TypeEnum.h>
|
||
|
#import <JL_BLEKit/JLModel_RTC.h>
|
||
|
#import <JL_BLEKit/JLModel_Ring.h>
|
||
|
#import <JL_BLEKit/JL_FunctionBaseManager.h>
|
||
|
|
||
|
NS_ASSUME_NONNULL_BEGIN
|
||
|
|
||
|
typedef NS_ENUM(UInt8, JL_RtcOperate) {
|
||
|
JL_FlashOperateFlagRead = 0x00, //读取
|
||
|
JL_FlashOperateFlagWrite = 0x01, //设置
|
||
|
};
|
||
|
|
||
|
typedef void(^JL_RTC_ALARM_BK)(NSArray <JLModel_AlarmSetting *>* __nullable array, uint8_t flag);
|
||
|
|
||
|
typedef void(^JL_RTC_GET_ALARM_BK)(NSArray <JLModel_RTC *>* __nullable alarms,NSError * __nullable error);
|
||
|
|
||
|
#pragma mark ---> 闹钟响与停止
|
||
|
///闹钟正在响
|
||
|
extern NSString *kJL_MANAGER_RTC_RINGING;
|
||
|
|
||
|
///闹钟停止响
|
||
|
extern NSString *kJL_MANAGER_RTC_RINGSTOP;
|
||
|
|
||
|
//闹钟铃声试听
|
||
|
extern NSString *kJL_MANAGER_RTC_AUDITION;
|
||
|
|
||
|
|
||
|
/// RTC闹钟管理者
|
||
|
@interface JL_AlarmClockManager : JL_FunctionBaseManager
|
||
|
|
||
|
///RTC 版本
|
||
|
@property (assign,nonatomic) uint8_t rtcVersion;
|
||
|
///是否支持闹铃设置
|
||
|
@property (assign,nonatomic) JL_RTCAlarmType rtcAlarmType;
|
||
|
///设备当前时间
|
||
|
@property (strong,nonatomic) JLModel_RTC *rtcModel;
|
||
|
///设备闹钟数组
|
||
|
@property (strong,nonatomic) NSMutableArray *rtcAlarms;
|
||
|
///默认铃声
|
||
|
@property (strong,nonatomic) NSMutableArray *rtcDfRings;
|
||
|
|
||
|
|
||
|
/// 查询设备闹钟
|
||
|
/// - Parameter result: 设备回调
|
||
|
-(void)cmdRtcGetAlarms:(JL_RTC_GET_ALARM_BK)result;
|
||
|
|
||
|
|
||
|
/// 设置/增加闹钟
|
||
|
/// - Parameters:
|
||
|
/// - array: array 闹钟模型数组
|
||
|
/// - result: 结果回调
|
||
|
-(void)cmdRtcSetArray:(NSArray<JLModel_RTC *>*)array Result:(JL_CMD_RESPOND __nullable)result;
|
||
|
|
||
|
|
||
|
/// 删除闹钟
|
||
|
/// - Parameters:
|
||
|
/// - array: 闹钟序号数组
|
||
|
/// - result: 设备回复
|
||
|
-(void)cmdRtcDeleteIndexArray:(NSArray<NSNumber *>*)array Result:(JL_CMD_RESPOND __nullable)result;
|
||
|
|
||
|
|
||
|
/// 停止闹钟响声
|
||
|
/// - Parameter result: 设备回复
|
||
|
-(void)cmdRtcStopResult:(JL_CMD_RESPOND __nullable)result;
|
||
|
|
||
|
|
||
|
/// 闹钟试听响铃
|
||
|
/// - Parameters:
|
||
|
/// - rtc: 闹钟模型
|
||
|
/// - option: 启停标记
|
||
|
/// - result: 设备回复
|
||
|
-(void)cmdRtcAudition:(JLModel_RTC *)rtc Option:(BOOL)option result:(JL_CMD_RESPOND __nullable)result;
|
||
|
|
||
|
|
||
|
/// 闹铃设置
|
||
|
/// @param operate 0x00:读取 0x01:设置
|
||
|
/// @param index 掩码 (0x01设置第1个闹钟,0x03设置第一个和第二个闹钟)
|
||
|
/// @param setting 设置选项,读取时无需传入
|
||
|
/// @param result 设备回复
|
||
|
-(void)cmdRtcOperate:(JL_RtcOperate)operate
|
||
|
Index:(uint8_t)index
|
||
|
Setting:(JLModel_AlarmSetting* __nullable)setting
|
||
|
Result:(JL_RTC_ALARM_BK __nullable)result;
|
||
|
|
||
|
|
||
|
/// 解析闹钟数据内容
|
||
|
/// @param infoData 数据内容
|
||
|
/// @param ltvVersion LTV的版本
|
||
|
-(void)parseData:(NSData *)infoData WithLtyType:(uint8_t)ltvVersion;
|
||
|
|
||
|
/// 【闹钟信息】解析
|
||
|
/// - Parameters:
|
||
|
/// - data: 需要解析的数据
|
||
|
/// - rtcType: RTC类型
|
||
|
+(NSMutableArray<JLModel_RTC*> *)makeOutRtc:(NSData*)data RtcType:(uint8_t)rtcType;
|
||
|
|
||
|
|
||
|
/// [默认闹钟铃声]解析
|
||
|
/// - Parameter data: [默认闹钟铃声]数据
|
||
|
+(NSMutableArray<JLModel_Ring*> *)makeOutRtcDefaultRing:(NSData *)data;
|
||
|
|
||
|
|
||
|
@end
|
||
|
|
||
|
NS_ASSUME_NONNULL_END
|