Commit 914256e7 authored by lujunye's avatar lujunye

记录1

parent 79e51822
...@@ -168,7 +168,7 @@ ...@@ -168,7 +168,7 @@
E042F74124528CD500CDFA12 /* TitleAndOnlyBtnCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = E042F73F24528CD500CDFA12 /* TitleAndOnlyBtnCell.xib */; }; E042F74124528CD500CDFA12 /* TitleAndOnlyBtnCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = E042F73F24528CD500CDFA12 /* TitleAndOnlyBtnCell.xib */; };
E042F74324529B7B00CDFA12 /* JiTuoWuXinXiView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E042F74224529B7B00CDFA12 /* JiTuoWuXinXiView.swift */; }; E042F74324529B7B00CDFA12 /* JiTuoWuXinXiView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E042F74224529B7B00CDFA12 /* JiTuoWuXinXiView.swift */; };
E042F74524529B8500CDFA12 /* JiTuoWuXinXiView.xib in Resources */ = {isa = PBXBuildFile; fileRef = E042F74424529B8500CDFA12 /* JiTuoWuXinXiView.xib */; }; E042F74524529B8500CDFA12 /* JiTuoWuXinXiView.xib in Resources */ = {isa = PBXBuildFile; fileRef = E042F74424529B8500CDFA12 /* JiTuoWuXinXiView.xib */; };
E044B97D25E5FCAA005BE090 /* GSDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E044B97425E5FCAA005BE090 /* GSDK.a */; }; E044BA1B25E61E3C005BE090 /* libGSDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E044BA1A25E61E3C005BE090 /* libGSDK.a */; };
E0516F772448003D00E373CE /* PayViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E0516F752448003D00E373CE /* PayViewController.swift */; }; E0516F772448003D00E373CE /* PayViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E0516F752448003D00E373CE /* PayViewController.swift */; };
E0516F782448003D00E373CE /* PayViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = E0516F762448003D00E373CE /* PayViewController.xib */; }; E0516F782448003D00E373CE /* PayViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = E0516F762448003D00E373CE /* PayViewController.xib */; };
E0516F7F244806C500E373CE /* MsgCenterViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E0516F7E244806C500E373CE /* MsgCenterViewController.swift */; }; E0516F7F244806C500E373CE /* MsgCenterViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E0516F7E244806C500E373CE /* MsgCenterViewController.swift */; };
...@@ -888,13 +888,14 @@ ...@@ -888,13 +888,14 @@
E042F73F24528CD500CDFA12 /* TitleAndOnlyBtnCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TitleAndOnlyBtnCell.xib; sourceTree = "<group>"; }; E042F73F24528CD500CDFA12 /* TitleAndOnlyBtnCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TitleAndOnlyBtnCell.xib; sourceTree = "<group>"; };
E042F74224529B7B00CDFA12 /* JiTuoWuXinXiView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JiTuoWuXinXiView.swift; sourceTree = "<group>"; }; E042F74224529B7B00CDFA12 /* JiTuoWuXinXiView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JiTuoWuXinXiView.swift; sourceTree = "<group>"; };
E042F74424529B8500CDFA12 /* JiTuoWuXinXiView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = JiTuoWuXinXiView.xib; sourceTree = "<group>"; }; E042F74424529B8500CDFA12 /* JiTuoWuXinXiView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = JiTuoWuXinXiView.xib; sourceTree = "<group>"; };
E044B97425E5FCAA005BE090 /* GSDK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = GSDK.a; sourceTree = "<group>"; }; E044BA1325E61E3C005BE090 /* ReliableBurstData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReliableBurstData.h; sourceTree = "<group>"; };
E044B97725E5FCAA005BE090 /* EthernetConnecter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EthernetConnecter.h; sourceTree = "<group>"; }; E044BA1425E61E3C005BE090 /* DeviceInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DeviceInfo.h; sourceTree = "<group>"; };
E044B97825E5FCAA005BE090 /* EscCommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EscCommand.h; sourceTree = "<group>"; }; E044BA1525E61E3C005BE090 /* EscCommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EscCommand.h; sourceTree = "<group>"; };
E044B97925E5FCAA005BE090 /* ConnecterBlock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConnecterBlock.h; sourceTree = "<group>"; }; E044BA1625E61E3C005BE090 /* CBController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CBController.h; sourceTree = "<group>"; };
E044B97A25E5FCAA005BE090 /* TscCommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TscCommand.h; sourceTree = "<group>"; }; E044BA1725E61E3C005BE090 /* MyPeripheral.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MyPeripheral.h; sourceTree = "<group>"; };
E044B97B25E5FCAA005BE090 /* BLEConnecter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BLEConnecter.h; sourceTree = "<group>"; }; E044BA1825E61E3C005BE090 /* TscCommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TscCommand.h; sourceTree = "<group>"; };
E044B97C25E5FCAA005BE090 /* Connecter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Connecter.h; sourceTree = "<group>"; }; E044BA1925E61E3C005BE090 /* BLKWrite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BLKWrite.h; sourceTree = "<group>"; };
E044BA1A25E61E3C005BE090 /* libGSDK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libGSDK.a; sourceTree = "<group>"; };
E0516F752448003D00E373CE /* PayViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PayViewController.swift; sourceTree = "<group>"; }; E0516F752448003D00E373CE /* PayViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PayViewController.swift; sourceTree = "<group>"; };
E0516F762448003D00E373CE /* PayViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PayViewController.xib; sourceTree = "<group>"; }; E0516F762448003D00E373CE /* PayViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PayViewController.xib; sourceTree = "<group>"; };
E0516F7E244806C500E373CE /* MsgCenterViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MsgCenterViewController.swift; sourceTree = "<group>"; }; E0516F7E244806C500E373CE /* MsgCenterViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MsgCenterViewController.swift; sourceTree = "<group>"; };
...@@ -1499,13 +1500,13 @@ ...@@ -1499,13 +1500,13 @@
E09B3AE324B3011B00E3B238 /* libz.1.2.5.tbd in Frameworks */, E09B3AE324B3011B00E3B238 /* libz.1.2.5.tbd in Frameworks */,
E0707DC72462457200E039A8 /* libz.tbd in Frameworks */, E0707DC72462457200E039A8 /* libz.tbd in Frameworks */,
E09B3AE024B2FE0200E3B238 /* libicucore.tbd in Frameworks */, E09B3AE024B2FE0200E3B238 /* libicucore.tbd in Frameworks */,
E044BA1B25E61E3C005BE090 /* libGSDK.a in Frameworks */,
E039848C2468F27800DFA56F /* libsqlite3.tbd in Frameworks */, E039848C2468F27800DFA56F /* libsqlite3.tbd in Frameworks */,
E09B3ADE24B2FDC600E3B238 /* JavaScriptCore.framework in Frameworks */, E09B3ADE24B2FDC600E3B238 /* JavaScriptCore.framework in Frameworks */,
E0AA7F362589A8AA0099193F /* jpush-ios-3.4.0.a in Frameworks */, E0AA7F362589A8AA0099193F /* jpush-ios-3.4.0.a in Frameworks */,
F96A581D24790D9A0070A057 /* libxml2.2.tbd in Frameworks */, F96A581D24790D9A0070A057 /* libxml2.2.tbd in Frameworks */,
E09B3AD424B2FCAF00E3B238 /* ShareSDKConfigFile.framework in Frameworks */, E09B3AD424B2FCAF00E3B238 /* ShareSDKConfigFile.framework in Frameworks */,
E09B3ADA24B2FCAF00E3B238 /* ShareSDK.framework in Frameworks */, E09B3ADA24B2FCAF00E3B238 /* ShareSDK.framework in Frameworks */,
E044B97D25E5FCAA005BE090 /* GSDK.a in Frameworks */,
E09B3AD924B2FCAF00E3B238 /* WechatConnector.framework in Frameworks */, E09B3AD924B2FCAF00E3B238 /* WechatConnector.framework in Frameworks */,
E02870C7258C547E00271055 /* MAMapKit.framework in Frameworks */, E02870C7258C547E00271055 /* MAMapKit.framework in Frameworks */,
F93E32092473CD6500524DFC /* libresolv.tbd in Frameworks */, F93E32092473CD6500524DFC /* libresolv.tbd in Frameworks */,
...@@ -1941,27 +1942,20 @@ ...@@ -1941,27 +1942,20 @@
path = "下运单"; path = "下运单";
sourceTree = "<group>"; sourceTree = "<group>";
}; };
E044B97525E5FCAA005BE090 /* include */ = { E044BA1225E61E3C005BE090 /* include */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
E044B97625E5FCAA005BE090 /* GSDK */, E044BA1325E61E3C005BE090 /* ReliableBurstData.h */,
E044BA1425E61E3C005BE090 /* DeviceInfo.h */,
E044BA1525E61E3C005BE090 /* EscCommand.h */,
E044BA1625E61E3C005BE090 /* CBController.h */,
E044BA1725E61E3C005BE090 /* MyPeripheral.h */,
E044BA1825E61E3C005BE090 /* TscCommand.h */,
E044BA1925E61E3C005BE090 /* BLKWrite.h */,
); );
path = include; path = include;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
E044B97625E5FCAA005BE090 /* GSDK */ = {
isa = PBXGroup;
children = (
E044B97725E5FCAA005BE090 /* EthernetConnecter.h */,
E044B97825E5FCAA005BE090 /* EscCommand.h */,
E044B97925E5FCAA005BE090 /* ConnecterBlock.h */,
E044B97A25E5FCAA005BE090 /* TscCommand.h */,
E044B97B25E5FCAA005BE090 /* BLEConnecter.h */,
E044B97C25E5FCAA005BE090 /* Connecter.h */,
);
path = GSDK;
sourceTree = "<group>";
};
E04DFF092490695A002A6931 /* 采购单详情 */ = { E04DFF092490695A002A6931 /* 采购单详情 */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
...@@ -2346,8 +2340,8 @@ ...@@ -2346,8 +2340,8 @@
E09B3AB624B2FCAF00E3B238 /* SDK */ = { E09B3AB624B2FCAF00E3B238 /* SDK */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
E044B97425E5FCAA005BE090 /* GSDK.a */, E044BA1225E61E3C005BE090 /* include */,
E044B97525E5FCAA005BE090 /* include */, E044BA1A25E61E3C005BE090 /* libGSDK.a */,
E09B3AB724B2FCAF00E3B238 /* ShareSDK */, E09B3AB724B2FCAF00E3B238 /* ShareSDK */,
E09B3ACD24B2FCAF00E3B238 /* Required */, E09B3ACD24B2FCAF00E3B238 /* Required */,
); );
......
...@@ -26,8 +26,9 @@ ...@@ -26,8 +26,9 @@
#import "JZLocationConverter.h" #import "JZLocationConverter.h"
//#import "TscCommand.h" #import "TscCommand.h"
//#import "BLEConnecter.h" #import "CBController.h"
//#import "EthernetConnecter.h" #import "DeviceInfo.h"
//#import "Connecter.h" #import "BLKWrite.h"
#endif /* Bridge_Header_h */ #endif /* Bridge_Header_h */
//
// BLKWrite.h
// Gprinter
//
// Created by Wind on 14/12/20.
// Copyright (c) 2014年 JiaBo. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "MyPeripheral.h"
/*
调用Wi-Fi模式
1 [BLKWrite Instance].bWiFiMode = YES
2 [BLKWrite Instance] 设置ServerIP、port
3 [[BLKWrite Instance] initWiFiClient];
4 TSC:-(void) writeTscData:(NSData*) data withResponse;
5 ESC:-(void) writeEscData:(NSData*) data withResponse;
获取打印机纸张宽度
1 校验后
2[[BLKWrite Instance] PrintWidth];
*/
@interface BLKWrite : NSObject<MyPeripheralDelegate>
@property (nonatomic, strong) MyPeripheral *connectedPeripheral;
@property (nonatomic, assign) BOOL bWiFiMode; //YES: Wi-Fi模式;NO:蓝牙模式
@property (nonatomic, strong) NSString *serverIP;
@property (nonatomic, assign) int port;
+(BLKWrite*) Instance;
-(void) writeTscData:(NSData*) data withResponse:(BOOL) flag;
-(void) writeEscData:(NSData*) data withResponse:(BOOL) flag;
-(BOOL) isConnecting;
-(void) setPeripheral:(MyPeripheral*) peripheral;
#pragma mark-Wi-Fi Mode
-(void) initWiFiClient;
#pragma mark-
-(int) PrintWidth;
@end
//
// CBController.h
// BLETR
//
// Created by user D500 on 12/2/15.
// Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//
#import <UIKit/UIKit.h>
#import <CoreBluetooth/CoreBluetooth.h>
#import "MyPeripheral.h"
enum {
LE_STATUS_IDLE = 0,
LE_STATUS_SCANNING,
LE_STATUS_CONNECTING,
LE_STATUS_CONNECTED
};
@interface MultiDevice : NSObject
@property(nonatomic, assign) NSInteger index;//0:ISSC;1:红果
@property(nonatomic, assign) BOOL connected;//是否已经连接
@end
@protocol CBControllerDelegate;
@interface CBController : UIViewController<CBCentralManagerDelegate, CBPeripheralDelegate,ReliableBurstDataDelegate>
{
CBCentralManager *manager;
NSMutableArray *devicesList;
BOOL notifyState;
NSMutableArray *_connectedPeripheralList;
CBUUID *_transServiceUUID;
CBUUID *_transTxUUID;
CBUUID *_transRxUUID;
CBUUID *_disUUID1;
CBUUID *_disUUID2;
BOOL isISSCPeripheral;
}
@property(assign) id<CBControllerDelegate> delegate;
@property (retain) NSMutableArray *devicesList;
- (void) startScan;
- (void) stopScan;
- (void)connectDevice:(MyPeripheral *) myPeripheral;
- (void)disconnectDevice:(MyPeripheral *) aPeripheral;
- (NSMutableData *) hexStrToData: (NSString *)hexStr;
- (BOOL) isLECapableHardware;
- (void)addDiscoverPeripheral:(CBPeripheral *)aPeripheral advName:(NSString *)advName;
- (void)updateDiscoverPeripherals;
- (void)updateMyPeripheralForDisconnect:(MyPeripheral *)myPeripheral;
- (void)updateMyPeripheralForNewConnected:(MyPeripheral *)myPeripheral;
- (void)storeMyPeripheral: (CBPeripheral *)aPeripheral;
- (MyPeripheral *)retrieveMyPeripheral: (CBPeripheral *)aPeripheral;
- (void)removeMyPeripheral: (CBPeripheral *) aPeripheral;
- (void)configureTransparentServiceUUID: (NSString *)serviceUUID txUUID:(NSString *)txUUID rxUUID:(NSString *)rxUUID;
- (void)configureDeviceInformationServiceUUID: (NSString *)UUID1 UUID2:(NSString *)UUID2;
@end
@protocol CBControllerDelegate
@required
- (void)didUpdatePeripheralList:(NSArray *)peripherals;
- (void)didConnectPeripheral:(MyPeripheral *)peripheral;
- (void)didDisconnectPeripheral:(MyPeripheral *)peripheral;
@end
\ No newline at end of file
//
// DeviceInfo.h
// BLETR
//
// Created by d500_MacMini on 13/6/19.
// Copyright (c) 2013年 ISSC. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "CBController.h"
@interface DeviceInfo : NSObject
@property(retain) MyPeripheral *myPeripheral;
//@property(retain) ViewController *mainViewController;
@end
//
// Connecter.h
// GSDK
//
// Created by 猿史森林 on 2018/6/15.
// Copyright © 2018年 Smarnet. All rights reserved.
//
#import "Connecter.h"
#import <CoreBluetooth/CoreBluetooth.h>
@interface BLEConnecter :Connecter
@property(nonatomic,strong)CBCharacteristic *airPatchChar;
@property(nonatomic,strong)CBCharacteristic *transparentDataWriteChar;
@property(nonatomic,strong)CBCharacteristic *transparentDataReadOrNotifyChar;
@property(nonatomic,strong)CBCharacteristic *connectionParameterChar;
@property(nonatomic,strong)CBUUID *transServiceUUID;
@property(nonatomic,strong)CBUUID *transTxUUID;
@property(nonatomic,strong)CBUUID *transRxUUID;
@property(nonatomic,strong)CBUUID *disUUID1;
@property(nonatomic,strong)CBUUID *disUUID2;
@property(nonatomic,strong)NSArray *serviceUUID;
@property(nonatomic,copy)DiscoverDevice discover;
@property(nonatomic,copy)UpdateState updateState;
@property(nonatomic,copy)WriteProgress writeProgress;
/**数据包大小,默认130个字节*/
@property(nonatomic,assign)NSUInteger datagramSize;
@property(nonatomic,strong)CBPeripheral *connPeripheral;
//+(instancetype)sharedInstance;
/**
* 方法说明:设置特定的Service UUID,以及Service对应的具有读、写特征值
* @param serviceUUID 蓝牙模块的service uuid
* @param txUUID 具有写入权限特征值
* @param rxUUID 具有读取权限特征值
*/
- (void)configureTransparentServiceUUID: (NSString *)serviceUUID txUUID:(NSString *)txUUID rxUUID:(NSString *)rxUUID;
/**
* 方法说明:扫描外设
* @param serviceUUIDs 需要连接的外设UUID
* @param options 其它可选操作
* @param discover 发现设备
* peripheral 发现的外设
* advertisementData
* RSSI 外设信号强度
*/
-(void)scanForPeripheralsWithServices:(nullable NSArray<CBUUID *> *)serviceUUIDs options:(nullable NSDictionary<NSString *, id> *)options discover:(void(^_Nullable)(CBPeripheral *_Nullable peripheral,NSDictionary<NSString *, id> *_Nullable advertisementData,NSNumber *_Nullable RSSI))discover;
/**
* 方法说明:停止扫描蓝牙外设
*/
-(void)stopScan;
/**
* 方法说明:更新蓝牙状态
* @param state 更新蓝牙状态
*/
-(void)didUpdateState:(void(^_Nullable)(NSInteger state))state;
/**
* 方法说明:连接外设
* @param peripheral 需要连接的外设
* @param options 其它可选操作
* @param timeout 连接超时
* @param connectState 连接状态
*/
-(void)connectPeripheral:(CBPeripheral *_Nullable)peripheral options:(nullable NSDictionary<NSString *,id> *)options timeout:(NSUInteger)timeout connectBlack:(void(^_Nullable)(ConnectState state)) connectState;
/**
* 方法说明:连接外设
* @param peripheral 需要连接的外设
* @param options 其它可选操作
*/
-(void)connectPeripheral:(CBPeripheral * _Nullable)peripheral options:(nullable NSDictionary<NSString *,id> *)options;
/**
* 方法说明:断开连接
* @param peripheral 需要断开连接的外设
*/
-(void)closePeripheral:(nonnull CBPeripheral *)peripheral;
/**
* 方法说明: 往蓝牙模块中写入数据
* @param data 往蓝牙模块中写入的数据
* @param progress 写入数据的进度
* @param callBack 读取蓝牙模块返回数据
*/
-(void)write:(NSData *_Nullable)data progress:(void(^_Nullable)(NSUInteger total,NSUInteger progress))progress receCallBack:(void (^_Nullable)(NSData *_Nullable))callBack;
/**
* 方法说明: 往蓝牙模块中写入数据
* @param characteristic 特征值
* @param data 往蓝牙模块中写入的数据
* @param type 写入方式<b>CBCharacteristicWriteWithResponse</b>写入方式是带流控写入方式。<b>CBCharacteristicWriteWithoutResponse</b>不带流控写入方式 <p><b>@see CBCharacteristicWriteType</b></p>
*/
-(void)writeValue:(NSData *)data forCharacteristic:(nonnull CBCharacteristic *)characteristic type:(CBCharacteristicWriteType)type;
@end
//
// Connecter.h
// GSDK
//
// Created by 猿史森林 on 2018/6/16.
// Copyright © 2018年 Smarnet. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "ConnecterBlock.h"
@interface Connecter:NSObject
//读取数据
@property(nonatomic,copy)ReadData readData;
//连接状态
@property(nonatomic,copy)ConnectDeviceState state;
/**
* 方法说明: 连接
*/
-(void)connect;
/**
* 方法说明: 连接到指定设备
* @param connectState 连接状态
*/
-(void)connect:(void(^)(ConnectState state))connectState;
/**
* 方法说明: 关闭连接
*/
-(void)close;
/**
* 发送数据
* 向输出流中写入数据
*/
-(void)write:(NSData *)data receCallBack:(void(^)(NSData *data))callBack;
-(void)write:(NSData *)data;
/**
* 读取数据
* @parma data 读取到的数据
*/
-(void)read:(void(^)(NSData *data))data;
@end
//
// ConnecterBlock.h
// GSDK
//
// Created by 猿史森林 on 2018/6/16.
// Copyright © 2018年 Smarnet. All rights reserved.
//
#ifndef ConnecterBlock_h
#define ConnecterBlock_h
#import <CoreBluetooth/CBPeripheral.h>
/**
* @enum ConnectState
* @discussion 连接状态
* @constant CONNECT_STATE_DISCONNECT ConnectDeviceState返回state为该状态是表示已断开连接
* @constant CONNECT_STATE_CONNECTING ConnectDeviceState返回state为该状态是表示正在连接中
* @constant CONNECT_STATE_CONNECTED ConnectDeviceState返回state为该状态是表示连接成功
* @constant CONNECT_STATE_TIMEOUT ConnectDeviceState返回state为该状态是表示连接超时
* @constant CONNECT_STATE_FAILT ConnectDeviceState返回state为该状态是表示连接失败
*/
typedef enum : NSUInteger {
NOT_FOUND_DEVICE,//未找到设备
CONNECT_STATE_DISCONNECT,//断开连接
CONNECT_STATE_CONNECTING,//连接中
CONNECT_STATE_CONNECTED,//连接上
CONNECT_STATE_TIMEOUT,//连接超时
CONNECT_STATE_FAILT//连接失败
}ConnectState;
/**发现设备*/
typedef void(^DiscoverDevice)(CBPeripheral *_Nullable peripheral,NSDictionary<NSString *, id> * _Nullable advertisementData,NSNumber * _Nullable RSSI);
/**蓝牙状态更新*/
typedef void(^UpdateState)(NSInteger state);
/**连接状态*/
typedef void(^ConnectDeviceState)(ConnectState state);
/**读取数据*/
typedef void(^ReadData)(NSData * _Nullable data);
/**发送数据进度 只适用于蓝牙发送数据*/
typedef void(^WriteProgress)(NSUInteger total,NSUInteger progress);
typedef void (^Error)(id error);
#endif /* ConnecterBlock_h */
//
// EthernetConnecter.h
// GSDK
//
// Created by 猿史森林 on 2018/6/16.
// Copyright © 2018年 猿史森林. All rights reserved.
//
#import "Connecter.h"
@interface EthernetConnecter :Connecter
/**连接设备的ip地址*/
@property(nonatomic,strong)NSString *ip;
/**连接设备的端口号*/
@property(nonatomic,assign)int port;
//+(instancetype)sharedInstance;
/**
* 方法说明: 连接设备
* @param ip 连接设备的ip地址
* @param port 连接设备的端口号
* @param connectState 连接状态 @see ConnectState
* @param callback 输入流数据回调
*/
-(void)connectIP:(NSString *)ip port:(int)port connectState:(void (^)(ConnectState state))connectState callback:(void(^)(NSData *data))callback;
-(void)connectIP:(NSString *)ip port:(int)port connectState:(void (^)(ConnectState))connectState;
@end
//
// MyPeripheral.h
// BLETR
//
// Created by D500 user on 13/5/30.
// Copyright (c) 2013年 ISSC. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <CoreBluetooth/CoreBluetooth.h>
#import "ReliableBurstData.h"
#define AIR_PATCH_COMMAND_VENDOR_MP_ENABLE 0x03
#define AIR_PATCH_COMMAND_XMEMOTY_READ 0x08
#define AIR_PATCH_COMMAND_XMEMOTY_WRITE 0x09
#define AIR_PATCH_COMMAND_E2PROM_READ 0x0a
#define AIR_PATCH_COMMAND_E2PROM_WRITE 0x0b
#define AIR_PATCH_COMMAND_READ 0x24
#define AIR_PATCH_SUCCESS 0x00
#define AIR_PATCH_ACTION_CHANGE_DEVICE_NAME 0X01
#define AIR_PATCH_ACTION_READ_ADVERTISE_DATA1 0X02
#define AIR_PATCH_ACTION_READ_ADVERTISE_DATA2 0X03
#define AIR_PATCH_ACTION_UPDATE_ADVERTISE_DATA 0X04
#define AIR_PATCH_ACTION_CHANGE_DEVICE_NAME_MEMORY 0X05
#define AIR_PATCH_ACTION_READ 0X24
#define ADVERTISE_DATA_TYPE_COMPLETE_DEVICE_NAME 0X09
#define ADVERTISE_DATA_TYPE_SHORTEN_DEVICE_NAME 0X08
enum {
MYPERIPHERAL_CONNECT_STATUS_IDLE = 0,
MYPERIPHERAL_CONNECT_STATUS_CONNECTING,
MYPERIPHERAL_CONNECT_STATUS_CONNECTED,
};
enum {
UPDATE_PARAMETERS_STEP_PREPARE = 0,
UPDATE_PARAMETERS_STEP_CHECK_RESULT,
};
typedef struct _AIR_PATCH_COMMAND_FORMAT
{
unsigned char commandID;
char parameters[19];
}__attribute__((packed)) AIR_PATCH_COMMAND_FORMAT;
typedef struct _AIR_PATCH_EVENT_FORMAT
{
char status;
unsigned char commandID;
char parameters[16];
}__attribute__((packed)) AIR_PATCH_EVENT_FORMAT;
typedef struct _WRITE_EEPROM_COMMAND_FORMAT
{
unsigned char addr[2];
unsigned char length;
char data[16];
}__attribute__((packed)) WRITE_EEPROM_COMMAND_FORMAT;
typedef struct _CONNECTION_PARAMETER_FORMAT
{
unsigned char status;
unsigned short minInterval;
unsigned short maxInterval;
unsigned short latency;
unsigned short connectionTimeout;
}__attribute__((packed)) CONNECTION_PARAMETER_FORMAT;
@protocol MyPeripheralDelegate;
@interface MyPeripheral : NSObject
{
@private
char advData[25];
char deviceName[16];
NSMutableArray *queuedTask;
}
@property(assign) id<MyPeripheralDelegate> transDataDelegate;
@property(assign) id<MyPeripheralDelegate> proprietaryDelegate;
@property(assign) id<MyPeripheralDelegate> deviceInfoDelegate;
@property (retain) CBPeripheral *peripheral;
@property(copy) NSString *advName;
@property(assign) uint8_t connectStaus;
@property (assign) BOOL canSendData;
//DIS
@property(retain) CBCharacteristic *manufactureNameChar;
@property(retain) CBCharacteristic *modelNumberChar;
@property(retain) CBCharacteristic *serialNumberChar;
@property(retain) CBCharacteristic *hardwareRevisionChar;
@property(retain) CBCharacteristic *firmwareRevisionChar;
@property(retain) CBCharacteristic *softwareRevisionChar;
@property(retain) CBCharacteristic *systemIDChar;
@property(retain) CBCharacteristic *certDataListChar;
@property(retain) CBCharacteristic *specificChar1;
@property(retain) CBCharacteristic *specificChar2;
//Proprietary
@property(retain) CBCharacteristic *airPatchChar;
@property(retain) CBCharacteristic *transparentDataWriteChar;
@property(retain) CBCharacteristic *transparentDataReadChar;
@property(retain) CBCharacteristic *connectionParameterChar;
@property(assign) uint8_t updateConnectionParameterStep;
@property(readonly) ReliableBurstData *transmit;
@property(assign) CONNECTION_PARAMETER_FORMAT connectionParameter;
@property(assign) CONNECTION_PARAMETER_FORMAT backupConnectionParameter;
@property(assign) BOOL vendorMPEnable;
@property(assign) short airPatchAction;
@property(assign) BOOL isNotifying;
- (CONNECTION_PARAMETER_FORMAT *)retrieveBackupConnectionParameter;
- (void)updateBackupConnectionParameter:(CONNECTION_PARAMETER_FORMAT *)parameter;
- (BOOL)compareBackupConnectionParameter:(CONNECTION_PARAMETER_FORMAT *)parameter;
- (void)checkConnectionParameterStatus;
- (void)sendVendorMPEnable;
- (void)updateAirPatchEvent: (NSData *)returnEvent;
- (void)writeE2promValue: (short)address length:(short)length data:(char *)data;
- (void)readE2promValue: (short)address length:(short)length;
- (void)writeMemoryValue: (short)address length:(short)length data:(char *)data;
- (void)readMemoryValue: (short)address length:(short)length;
- (CBCharacteristicWriteType)sendTransparentData:(NSData *)data type:(CBCharacteristicWriteType)type;
- (void)setTransDataNotification:(BOOL)notify;
- (NSError *)setMaxConnectionInterval:(unsigned short)maxInterval connectionTimeout:(unsigned short)connectionTimeout connectionLatency:(unsigned short)connectionLatency;
- (void)checkIsAllowUpdateConnectionParameter;
- (void)changePeripheralName: (NSString *)name;
- (void)readManufactureName;
- (void)readModelNumber;
- (void)readSerialNumber;
- (void)readHardwareRevision;
- (void)readFirmwareRevision;
- (void)readSoftwareRevison;
- (void)readSystemID;
- (void)readCertificationData;
- (void)readSpecificUUID1;
- (void)readSpecificUUID2;
@end
@protocol MyPeripheralDelegate<NSObject>
@optional
- (void)MyPeripheral:(MyPeripheral *)peripheral didUpdateConnectionParameterAllowStatus:(BOOL)status;
- (void)MyPeripheral:(MyPeripheral *)peripheral didUpdateConnectionParameterStatus:(BOOL)status interval:(unsigned short)interval timeout:(unsigned short)timeout latency:(unsigned short)latency;
- (void)MyPeripheral:(MyPeripheral *)peripheral didChangePeripheralName:(NSError *)error;
- (void)MyPeripheral:(MyPeripheral *)peripheral didReceiveTransparentData:(NSData *)data;
- (void)MyPeripheral:(MyPeripheral *)peripheral didReceiveMemoryAddress:(NSData *)address length:(short)length data:(NSData *)data;
- (void)MyPeripheral:(MyPeripheral *)peripheral didWriteMemoryAddress:(NSError *)error;
- (void)MyPeripheral:(MyPeripheral *)peripheral didSendTransparentDataStatus:(NSError *) error;
- (void)MyPeripheral:(MyPeripheral *)peripheral didUpdateTransDataNotifyStatus:(BOOL)notify;
- (void)MyPeripheral:(MyPeripheral *)peripheral didUpdateManufactureName:(NSString *)name error:(NSError *)error;
- (void)MyPeripheral:(MyPeripheral *)peripheral didUpdateModelNumber:(NSString *)modelNumber error:(NSError *)error;
- (void)MyPeripheral:(MyPeripheral *)peripheral didUpdateSerialNumber:(NSString *)serialNumber error:(NSError *)error;
- (void)MyPeripheral:(MyPeripheral *)peripheral didUpdateHardwareRevision:(NSString *)hardwareRevision error:(NSError *)error;
- (void)MyPeripheral:(MyPeripheral *)peripheral didUpdateFirmwareRevision:(NSString *)firmwareRevision error:(NSError *)error;
- (void)MyPeripheral:(MyPeripheral *)peripheral didUpdateSoftwareRevision:(NSString *)softwareRevision error:(NSError *)error;
- (void)MyPeripheral:(MyPeripheral *)peripheral didUpdateSystemId:(NSData *)systemId error:(NSError *)error;
- (void)MyPeripheral:(MyPeripheral *)peripheral didUpdateIEEE_11073_20601:(NSData *)IEEE_11073_20601 error:(NSError *)error;
- (void)MyPeripheral:(MyPeripheral *)peripheral didUpdateSpecificUUID1:(NSData *)value error:(NSError *)error;
- (void)MyPeripheral:(MyPeripheral *)peripheral didUpdateSpecificUUID2:(NSData *)value error:(NSError *)error;
@end
//
// ReliableBurstData.h
// ReliableBurstData
//
// Created by Rick on 14/2/19.
// Copyright (c) 2014 ISSC Technologies Corporation. All rights reserved.
//
/*!
* @file ReliableBurstData.h
* @framework ReliableBurstData
*
* @discussion Entry point to the ReliableBurstTransmit.
*
* @copyright 2014 ISSC Technologies Corporation. All rights reserved.
*/
#import <Foundation/Foundation.h>
#import <CoreBluetooth/CoreBluetooth.h>
@protocol ReliableBurstDataDelegate;
@interface ReliableBurstData : NSObject
/*!
* @method transmitSize
*
* @return Max package size to transmit
*/
- (NSUInteger)transmitSize;
/*!
* @method reliableBurstTransmit:withTransparentCharacteristic:
*
* @discussion Send reliableBurstTransmit with special characteristic
*
* @param data Data to transmit
* @param transparentDataWriteChar Characteristic to transmit
*/
- (void)reliableBurstTransmit:(NSData *)data withTransparentCharacteristic:(CBCharacteristic *)transparentDataWriteChar;
/*!
* @method canSendReliableBurstTransmit
*
* @return YES if the data can be sent, or NO if the transmission queue is full. If NO was returned,
* wait for it return YES to send new data.
*/
- (BOOL)canSendReliableBurstTransmit;
/*!
*
*
* @return YES if the accessory can disconnect now, or NO if the transmission is busy.
* If NO was returned, wait for it return YES to disconnect.
* @discussion
* For example:
* int count = 0;
while (![reliableBurstData canDisconnect]) {
sleep(1);
count++;
if (count >= 10) {
break;
}
}
dispatch_async(dispatch_get_main_queue(), ^{
[manager cancelPeripheralConnection:peripheral];
});
*/
- (BOOL)canDisconnect;
/*!
* @method decodeReliableBurstTransmitEvent:
*
* @param eventData The eventData need to decode for reliableBurstTransmit
*
* @discussion This method decodes the events of reliable burst transmition, it should parse all the values
* of air patch characteristic first when receiving notifications.
* For example:
* - (void)updateAirPatchEvent: (NSData *)returnEvent {
[reliableBurstData decodeReliableBurstTransmitEvent:returnEvent];
...
}
*/
- (void)decodeReliableBurstTransmitEvent:(NSData *)eventData;
/*!
* @method enableReliableBurstTransmit:andAirPatchCharacteristic:
*
* @param peripheral CBPeripheral to enable ReliableBurstTransmit
* @param airPatchCharacteristic CBCharacteristic with airPatch characteristic
*
* @discussion Ues this method to enable ReliableBurstTransmit.
* This method have to be called before sending data.
*
* For example:
* - (void) peripheral:(CBPeripheral *)aPeripheral didDiscoverCharacteristicsForService:(CBService *)service error:(NSError *)error {
if ([service.UUID isEqual:[CBUUID UUIDWithString:UUIDSTR_ISSC_PROPRIETARY_SERVICE]])
for (aChar in service.characteristics)
{
if ([aChar.UUID isEqual:[CBUUID UUIDWithString:UUIDSTR_AIR_PATCH_CHAR]]) {
[reliableBurstData enableReliableBurstTransmit:aPeripheral andAirPatchCharacteristic:aChar];
}
}
}
*/
- (void)enableReliableBurstTransmit:(CBPeripheral *)peripheral andAirPatchCharacteristic:(CBCharacteristic *)airPatchCharacteristic;
/*!
* @method isReliableBurstTransmit:
*
* @param transparentDataWriteChar The parameter should input the CBCharacteristic object of didWriteValueForCharacteristic: delegate
*
* @return YES if writeValue:forCharacteristic:type: with CBCharacteristicWriteWithResponse type is call by ReliableBurstTransmit.
*
* @discussion This library will use CBCharacteristicWriteWithResponse type when accessory doesn't
* support ReliableBurstTransmit feature. This method informs library the data have been sent.
*
* For example:
* - (void) peripheral:(CBPeripheral *)aPeripheral didWriteValueForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error
{
if ([reliableBurstData isReliableBurstTransmit:characteristic]) {
return;
}
// Other code
}
*
*/
- (BOOL)isReliableBurstTransmit:(CBCharacteristic *)transparentDataWriteChar;
/*!
* @method version
*
* @return Version number with major.minor format.
*/
- (NSString *)version;
@property (nonatomic,weak)id<ReliableBurstDataDelegate>delegate;
@end
@protocol ReliableBurstDataDelegate <NSObject>
/*!
* @method reliableBurstData:didSendDataWithCharacteristic:
*
* @discussion This method is invoked when the data has been sent.
*
*/
- (void)reliableBurstData:(ReliableBurstData *)reliableBurstData didSendDataWithCharacteristic:(CBCharacteristic *)transparentDataWriteChar;
@end
...@@ -2,25 +2,21 @@ ...@@ -2,25 +2,21 @@
// TscCommand.h // TscCommand.h
// Gprinter // Gprinter
// //
// Created by Wind on 2018/6/15. // Created by Wind on 14/12/22.
// Copyright (c) 2018年 Smarnet. All rights reserved. // Copyright (c) 2014年 JiaBo. All rights reserved.
// //
#import <Foundation/Foundation.h> #import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
typedef NS_ENUM (NSUInteger,Response){
OFF = 0,//关闭自动返回状态功能
ON = 1,//打开自动返回状态功能,每打印完一张返回一次
BATCH = 2,//打开自动返回状态功能,打印完毕后返回一次
};
@interface TscCommand : NSObject @interface TscCommand : NSObject
@property(nonatomic, assign) BOOL hasResponse;
/** /**
* 方法说明:设置标签尺寸的宽和高 * 方法说明:设置标签尺寸的宽和高
* @param width 标签宽度 * @param width 标签宽度
* @param height 标签高度 * @param height 标签高度
* @return void
*/ */
-(void) addSize:(int) width :(int) height; -(void) addSize:(int) width :(int) height;
...@@ -28,6 +24,7 @@ typedef NS_ENUM (NSUInteger,Response){ ...@@ -28,6 +24,7 @@ typedef NS_ENUM (NSUInteger,Response){
* 方法说明:设置标签间隙尺寸 单位mm * 方法说明:设置标签间隙尺寸 单位mm
* @param m 间隙长度 * @param m 间隙长度
* @param n 间隙偏移 * @param n 间隙偏移
* @return void
*/ */
-(void) addGapWithM:(int) m withN:(int) n; -(void) addGapWithM:(int) m withN:(int) n;
...@@ -35,29 +32,34 @@ typedef NS_ENUM (NSUInteger,Response){ ...@@ -35,29 +32,34 @@ typedef NS_ENUM (NSUInteger,Response){
* 方法说明:设置标签原点坐标 * 方法说明:设置标签原点坐标
* @param x 横坐标 * @param x 横坐标
* @param y 纵坐标 * @param y 纵坐标
* @return void
*/ */
-(void) addReference:(int) x :(int)y; -(void) addReference:(int) x :(int)y;
/** /**
* 方法说明:设置打印速度 * 方法说明:设置打印速度
* @param speed 打印速度 * @param speed 打印速度
* @return void
*/ */
-(void) addSpeed:(int) speed; -(void) addSpeed:(int) speed;
/** /**
* 方法说明:设置打印浓度 * 方法说明:设置打印浓度
* @param density 浓度 * @param density 浓度
* @return void
*/ */
-(void) addDensity:(int) density; -(void) addDensity:(int) density;
/** /**
* 方法说明:设置打印方向 * 方法说明:设置打印方向
* @param direction 方向 * @param direction 方向
* @return void
*/ */
-(void) addDirection:(int) direction; -(void) addDirection:(int) direction;
/** /**
* 方法说明:清除打印缓冲区 * 方法说明:清除打印缓冲区
* @return void
*/ */
-(void) addCls; -(void) addCls;
...@@ -67,11 +69,13 @@ typedef NS_ENUM (NSUInteger,Response){ ...@@ -67,11 +69,13 @@ typedef NS_ENUM (NSUInteger,Response){
* @param y 纵坐标 * @param y 纵坐标
* @param font 字体类型 * @param font 字体类型
* @param rotation 旋转角度 * @param rotation 旋转角度
* @param xScal 横向放大 * @param Xscal 横向放大
* @param yScal 纵向放大 * @param Yscal 纵向放大
* @param text 文字字符串 * @param text 文字字符串
* @return void
*/ */
-(void) addTextwithX:(int)x withY:(int)y withFont:(NSString*)font withRotation:(int)rotation withXscal:(int)xScal withYscal:(int)yScal withText:(NSString*) text; -(void) addTextwithX:(int)x withY:(int) y withFont:(NSString*) font
withRotation:(int) rotation withXscal:(int) Xscal withYscal:(int) Yscal withText:(NSString*) text;
/* /*
BITMAP X, Y, width, height, mode, bitmap data BITMAP X, Y, width, height, mode, bitmap data
...@@ -86,23 +90,21 @@ typedef NS_ENUM (NSUInteger,Response){ ...@@ -86,23 +90,21 @@ typedef NS_ENUM (NSUInteger,Response){
2 XOR 2 XOR
bitmap data 影像数据 bitmap data 影像数据
*/ */
-(void) addBitmapwithX:(int)x withY:(int) y withWidth:(int) width withHeight:(int) height withMode:(int) mode withData:(NSData*) data; -(void) addBitmapwithX:(int)x withY:(int) y withWidth:(int) width
withHeight:(int) height withMode:(int) mode withData:(NSData*) data;
-(void)addBitmapwithX:(int)x withY:(int)y withMode:(int)mode withWidth:(int)width withImage:(UIImage *)image;
-(void)addBitmapwithX:(int)x withY:(int)y withMode:(int)mode withImage:(UIImage *)image;
/** /**
* 方法说明:在标签上绘制一维条码 * 方法说明:在标签上绘制一维条码
* @param x 横坐标 * @param x 横坐标
* @param y 纵坐标 * @param y 纵坐标
* @param barcodeType 条码类型 * @param barcodetype 条码类型
* @param height 条码高度,默认为40 * @param height 条码高度,默认为40
* @param readable 是否可识别,0: 人眼不可识,1: 人眼可识 * @param readable 是否可识别,0: 人眼不可识,1: 人眼可识
* @param rotation 旋转角度,条形码旋转角度,顺时钟方向,0不旋转,90顺时钟方向旋转90度,180顺时钟方向旋转180度,270顺时钟方向旋转270度 * @param rotation 旋转角度,条形码旋转角度,顺时钟方向,0不旋转,90顺时钟方向旋转90度,180顺时钟方向旋转180度,270顺时钟方向旋转270度
* @param narrow 默认值2,窄 bar 宽度,以点(dot)表示 * @param Narrow 默认值2,窄 bar 宽度,以点(dot)表示
* @param wide 默认值4,宽 bar 宽度,以点(dot)表示 * @param Wide 默认值4,宽 bar 宽度,以点(dot)表示
* @param content 条码内容 * @param content 条码内容
* @return void
BARCODE X,Y,"code type",height,human readable,rotation,narrow,wide,"code" BARCODE X,Y,"code type",height,human readable,rotation,narrow,wide,"code"
BARCODE 100,100,"39",40,1,0,2,4,"1000" BARCODE 100,100,"39",40,1,0,2,4,"1000"
BARCODE 10,10,"128",40,1,0,2,2,"124096ABCDEFZ$%+-./*" BARCODE 10,10,"128",40,1,0,2,2,"124096ABCDEFZ$%+-./*"
...@@ -114,7 +116,8 @@ typedef NS_ENUM (NSUInteger,Response){ ...@@ -114,7 +116,8 @@ typedef NS_ENUM (NSUInteger,Response){
CODE39("39"), CODE39("39"),
CODE128("128"), CODE128("128"),
*/ */
-(void) add1DBarcode:(int)x :(int)y :(NSString*)barcodeType :(int)height :(int)readable :(int)rotation :(int)narrow :(int)wide :(NSString*)content; -(void) add1DBarcode:(int)x :(int)y :(NSString*)barcodetype :(int)height
:(int)readable :(int)rotation :(int)Narrow :(int)Wide :(NSString*)content;
/** /**
* 方法说明:在标签上绘制QRCode二维码 * 方法说明:在标签上绘制QRCode二维码
...@@ -125,26 +128,31 @@ typedef NS_ENUM (NSUInteger,Response){ ...@@ -125,26 +128,31 @@ typedef NS_ENUM (NSUInteger,Response){
* @param mode 默认为A,A为Auto,M为Manual * @param mode 默认为A,A为Auto,M为Manual
* @param rotation 旋转角度,QRCode二维旋转角度,顺时钟方向,0不旋转,90顺时钟方向旋转90度,180顺时钟方向旋转180度,270顺时钟方向旋转270度 * @param rotation 旋转角度,QRCode二维旋转角度,顺时钟方向,0不旋转,90顺时钟方向旋转90度,180顺时钟方向旋转180度,270顺时钟方向旋转270度
* @param content 条码内容 * @param content 条码内容
* @return void
* QRCODE X,Y ,ECC LEVER ,cell width,mode,rotation, "data string" * QRCODE X,Y ,ECC LEVER ,cell width,mode,rotation, "data string"
* QRCODE 20,24,L,4,A,0,"佳博集团网站www.Gprinter.com.cn" * QRCODE 20,24,L,4,A,0,"佳博集团网站www.Gprinter.com.cn"
*/ */
-(void) addQRCode:(int)x :(int)y :(NSString*)ecclever :(int)cellwidth :(NSString*)mode :(int)rotation :(NSString*)content; -(void) addQRCode:(int)x :(int)y :(NSString*)ecclever :(int)cellwidth
:(NSString*)mode :(int)rotation :(NSString*)content;
/** /**
* 方法说明:执行打印 * 方法说明:执行打印
* @param m * @param m
* @param n * @param n
* @return void
*/ */
-(void) addPrint:(int) m :(int) n; -(void) addPrint:(int) m :(int) n;
/** /**
* 方法说明:获得打印命令 * 方法说明:获得打印命令
* @return NSData*
*/ */
-(NSData*) getCommand; -(NSData*) getCommand;
/** /**
* 方法说明:将字符串转成十六进制码 * 方法说明:将字符串转成十六进制码
* @param str 命令字符串 * @param str 命令字符串
* @return void
*/ */
-(void) addStrToCommand:(NSString *) str; -(void) addStrToCommand:(NSString *) str;
...@@ -152,47 +160,55 @@ typedef NS_ENUM (NSUInteger,Response){ ...@@ -152,47 +160,55 @@ typedef NS_ENUM (NSUInteger,Response){
/** /**
* 方法说明:发送一些TSC的固定命令,在cls命令之前发送 * 方法说明:发送一些TSC的固定命令,在cls命令之前发送
* @return void
*/ */
-(void) addComonCommand; -(void) addComonCommand;
/** /**
* 方法说明:打印自检页,打印测试页 * 方法说明:打印自检页,打印测试页
* @return void
*/ */
-(void) addSelfTest; -(void) addSelfTest;
/** /**
* 方法说明 :查询打印机型号 * 方法说明 :查询打印机型号
* @return void
*/ */
-(void) queryPrinterType; -(void) queryPrinterType;
/** /**
* 方法说明:设置打印机剥离模式 * 方法说明:设置打印机剥离模式
* @param peel ON/OFF 是否开启 * @param ON/OFF 是否开启
* @return void
*/ */
-(void) addPeel:(NSString *) peel; -(void) addPeel:(NSString *) strpar;
/** /**
* 方法说明:设置打印机撕离模式 * 方法说明:设置打印机撕离模式
* @param tear ON/OFF 是否开启 * @param ON/OFF 是否开启
* @return void
*/ */
-(void) addTear:(NSString *) tear; -(void) addTear:(NSString *) strpar;
/** /**
* 方法说明:设置切刀是否有效 * 方法说明:设置切刀是否有效
* @param cutter 是否开启 OFF/pieces (0<=pieces<=127)设定几张标签切一次 * @param 是否开启 OFF/pieces (0<=pieces<=127)设定几张标签切一次
* @return void
*/ */
-(void) addCutter:(NSString *) cutter; -(void) addCutter:(NSString *) strpar;
/** /**
* 方法说明:设置切刀半切是否有效 * 方法说明:设置切刀半切是否有效
* @param cutter 是否开启 * @param enable 是否开启
* @return void
*/ */
-(void) addPartialCutter:(NSString *) cutter; -(void) addPartialCutter:(NSString *) strpar;
/** /**
* 方法说明:设置蜂鸣器 * 方法说明:设置蜂鸣器
* @param level 频率 * @param level 频率
* @param interval 时间ms * @param interval 时间ms
* @return void
*/ */
-(void) addSound:(int) level :(int) interval; -(void) addSound:(int) level :(int) interval;
...@@ -201,6 +217,7 @@ typedef NS_ENUM (NSUInteger,Response){ ...@@ -201,6 +217,7 @@ typedef NS_ENUM (NSUInteger,Response){
* @param m 钱箱号 m 0,48 钱箱插座的引脚2 1,49 钱箱插座的引脚5 * @param m 钱箱号 m 0,48 钱箱插座的引脚2 1,49 钱箱插座的引脚5
* @param t1 高电平时间0 ≤ t1 ≤ 255输出由t1和t2设定的钱箱开启脉冲到由m指定的引脚 * @param t1 高电平时间0 ≤ t1 ≤ 255输出由t1和t2设定的钱箱开启脉冲到由m指定的引脚
* @param t2 低电平时间0 ≤ t2 ≤ 255输出由t1和t2设定的钱箱开启脉冲到由m指定的引脚 * @param t2 低电平时间0 ≤ t2 ≤ 255输出由t1和t2设定的钱箱开启脉冲到由m指定的引脚
* @return void
*/ */
-(void) addCashdrawer:(int) m :(int) t1 :(int) t2; -(void) addCashdrawer:(int) m :(int) t1 :(int) t2;
...@@ -210,49 +227,37 @@ typedef NS_ENUM (NSUInteger,Response){ ...@@ -210,49 +227,37 @@ typedef NS_ENUM (NSUInteger,Response){
* @param y 起始纵坐标 * @param y 起始纵坐标
* @param width 线宽,以点(dot)表示 * @param width 线宽,以点(dot)表示
* @param height 线高,以点(dot)表示 * @param height 线高,以点(dot)表示
* @return void
*/ */
-(void) addBar:(int) x :(int) y :(int) width :(int) height; -(void) addBar:(int) x :(int) y :(int) width :(int) height;
/** /**
* 方法说明:在标签上绘制矩形 * 方法说明:在标签上绘制矩形
* @param xStart 起始横坐标 * @param xstart 起始横坐标
* @param yStart 起始纵坐标 * @param ystart 起始纵坐标
* @param xEnd 终点横坐标 * @param xend 终点横坐标
* @param yEnd 终点纵坐标 * @param yend 终点纵坐标
* @param lineThickness 矩形框线厚度或宽度,以点(dot)表示 * @param linethickness 矩形框线厚度或宽度,以点(dot)表示
* @return void
*/ */
-(void) addBox:(int) xStart :(int) yStart :(int) xEnd :(int) yEnd :(int) lineThickness; -(void) addBox:(int) xstart :(int) ystart :(int) xend :(int) yend :(int) linethickness;
/** /**
* 方法说明:查询打印机状态<ESC>!? * 方法说明:查询打印机状态<ESC>!?
*询问打印机状态指令为立即响应型指令,该指令控制字符是以<ESC> (ASCII 27=0x1B, escape字符)为控制字符.!(ASCII 33=0x21),?(ASCII 63=0x3F) *询问打印机状态指令为立即响应型指令,该指令控制字符是以<ESC> (ASCII 27=0x1B, escape字符)为控制字符.!(ASCII 33=0x21),?(ASCII 63=0x3F)
*即使打印机在错误状态中仍能透过 RS-232 回传一个 byte 资料来表示打印机状态,若回传值为 0 则表示打印 *即使打印机在错误状态中仍能透过 RS-232 回传一个 byte 资料来表示打印机状态,若回传值为 0 则表示打印
*机处于正常的状态 *机处于正常的状态
* @return void
*/ */
-(void) queryPrinterStatus; -(void) queryPrinterStatus;
/** /**
* 方法说明:将指定的区域反向打印(黑色变成白色,白色变成黑色) * 方法说明:将指定的区域反向打印(黑色变成白色,白色变成黑色)
* @param xStart 起始横坐标 * @param xstart 起始横坐标
* @param yStart 起始横坐标 * @param ystart 起始横坐标
* @param xWidth X坐标方向宽度,dot为单位 * @param xwidth X坐标方向宽度,dot为单位
* @param yHeight Y坐标方向高度,dot为单位 * @param yheight Y坐标方向高度,dot为单位
*/ */
-(void) addReverse:(int) xStart :(int) yStart :(int) xWidth :(int) yHeight; -(void) addReverse:(int) xstart :(int) ystart :(int) xwidth :(int) yheight;
/**
* 方法说明: 打印机打印完成时,自动返回状态。可用于实现连续打印功能
* @param response 自动返回状态 <a>@see Response</a>
* OFF 关闭自动返回状态功能
* ON 开启自动返回状态功能
* BATCH 全部打印完成后返回状态
*/
-(void)addQueryPrinterStatus:(Response)response;
/**
* 方法说明: 查询打印机电量。
* <p>返回值: 31(低电量);32 (中电量);33 (高电量);35 (正在充电)</p>
*
*/
-(void)queryElectricity;
@end @end
...@@ -8,7 +8,8 @@ ...@@ -8,7 +8,8 @@
import UIKit import UIKit
import Dollar import Dollar
class BluetoothConnectViewController: BaseViewController,UITableViewDelegate,UITableViewDataSource, CBPeripheralDelegate {
class BluetoothConnectViewController: BaseViewController,UITableViewDelegate,UITableViewDataSource,CBPeripheralDelegate {
...@@ -99,6 +100,8 @@ class BluetoothConnectViewController: BaseViewController,UITableViewDelegate,UIT ...@@ -99,6 +100,8 @@ class BluetoothConnectViewController: BaseViewController,UITableViewDelegate,UIT
} }
//MARK:--发现外围设备服务1 //MARK:--发现外围设备服务1
func peripheral(_ peripheral: CBPeripheral, didDiscoverServices error: Error?) { func peripheral(_ peripheral: CBPeripheral, didDiscoverServices error: Error?) {
//遍历服务 //遍历服务
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment