diff --git a/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/Xuanduo2TimerModel.h b/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/Xuanduo2TimerModel.h index 89d2b78..0d86519 100644 --- a/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/Xuanduo2TimerModel.h +++ b/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/Xuanduo2TimerModel.h @@ -91,5 +91,18 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic, strong) NSString *type; +@end +@interface XuanduoTempCorrectModel : NSObject + +/// 01-正偏差,02-负偏差 +@property (nonatomic, strong) NSString *deviation; +//偏差值 +@property (nonatomic, strong) NSString *tempDelta; + +//实际值 +@property (nonatomic, strong) NSString *realTemp; + + + @end NS_ASSUME_NONNULL_END diff --git a/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/Xuanduo2TimerModel.m b/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/Xuanduo2TimerModel.m index 1df58c5..1f9fcc0 100644 --- a/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/Xuanduo2TimerModel.m +++ b/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/Xuanduo2TimerModel.m @@ -34,5 +34,11 @@ @end +@implementation XuanduoTempCorrectModel + + + +@end + diff --git a/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/XuanduoTempratueCorrectViewController.m b/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/XuanduoTempratueCorrectViewController.m index 29e1637..6e96934 100644 --- a/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/XuanduoTempratueCorrectViewController.m +++ b/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/XuanduoTempratueCorrectViewController.m @@ -51,7 +51,8 @@ static NSString *timerTypeFlag = @"TimerTypeTableViewCell"; @property(nonatomic,copy) NSString *nextChangeDateLabel; @property(nonatomic,strong) MyHud *XuTohud; @property(nonatomic,strong)XuanduoTempratureCorrectView*tempView; - +@property(nonatomic,strong)XuanduoTempCorrectModel*tempCorrectModel; +@property(nonatomic,strong)NSTimer*timer; @end @implementation XuanduoTempratueCorrectViewController @@ -162,9 +163,12 @@ static NSString *timerTypeFlag = @"TimerTypeTableViewCell"; label.numberOfLines=0; label.text=@"温度校准值需在+-5℃以内,超过+-5℃请更换水温抬头,更换探头后,需点击取消校准按钮,清除上一次温度校准的误差值"; CGSize size= [label.text boundingRectWithSize:CGSizeMake(300, MAXFLOAT) options:(NSStringDrawingUsesFontLeading | NSStringDrawingTruncatesLastVisibleLine | NSStringDrawingUsesLineFragmentOrigin) attributes:@{NSFontAttributeName: label.font} context:NULL].size; - label.frame=CGRectMake((self.view.frame.size.width-size.width)/2.0, CGRectGetMaxY(tempView.frame)+10, size.width, size.height); + label.frame=CGRectMake((self.view.frame.size.width-size.width)/2.0, CGRectGetMaxY(tempView.frame)+100, size.width, size.height); [self.view addSubview:label]; + [self.tempView.cancelBtn addTarget:self action:@selector(cancelCorrect) forControlEvents:UIControlEventTouchUpInside]; + [self.tempView.textField becomeFirstResponder]; + } @@ -174,8 +178,14 @@ static NSString *timerTypeFlag = @"TimerTypeTableViewCell"; #pragma mark - cell的折叠 +-(void)cancelCorrect +{ + [self.tempView.textField resignFirstResponder]; + [self correctTempCorrectModel:NO]; +} - (void)sure { [self.tempView.textField resignFirstResponder]; + [self correctTempCorrectModel:NO]; } - (void)cancel { @@ -260,40 +270,40 @@ static NSString *timerTypeFlag = @"TimerTypeTableViewCell"; NSString*string1=[dataContorl dataToHexString:data]; NSLog(@"return str == %@",string1); NSString *readTimer = [string1 substringToIndex:4]; - if (_selectSection-2<_titieArr.count && _selectSection-2>=0 && [readTimer isEqualToString:@"0116"]) { - if (!_timerModel) { - _timerModel = [[Xuanduo2TimerModel alloc] init]; - _timerModel.groupModelArr = [NSMutableArray array]; - }else { - [_timerModel.groupModelArr removeAllObjects]; + if ( [readTimer isEqualToString:@"0116"]) { + NSString*lightNumber=[string1 substringWithRange:NSMakeRange(30, 2)]; + if ([lightNumber isEqualToString:@"0b"])//定时 + { + XuanduoTempCorrectModel*tempModel=[[XuanduoTempCorrectModel alloc]init]; + tempModel.deviation=[string1 substringWithRange:NSMakeRange(32, 2)]; + tempModel.tempDelta=[string1 substringWithRange:NSMakeRange(34, 2)]; + tempModel.realTemp=[string1 substringWithRange:NSMakeRange(36, 4)]; + + self.tempCorrectModel=tempModel; + float mac=[dataContorl hexToTen:tempModel.realTemp]; + + //float TPlabel=mac/10+(mac%10)*0.1; + float temp = mac/10.0; + NSString *stringTemp = [NSString stringWithFormat:@"%.1f℃",temp]; + self.tempView.realTempLabel.text=[NSString stringWithFormat:@"探测温度:%@",stringTemp]; + float delta=[dataContorl hexToTen:tempModel.tempDelta]; + + //float TPlabel=mac/10+(mac%10)*0.1; + float deltatemp = delta/10.0; + NSString *deltatempString = [NSString stringWithFormat:@"%.1f",deltatemp]; + NSString*prefix=@"+"; + if ([tempModel.deviation isEqualToString:@"02"]) + { + prefix=@"-"; + } + self.tempView.textField.text=[NSString stringWithFormat:@"%@%@",prefix,deltatempString]; + NSString *corrTemp = [NSString stringWithFormat:@"%.1f℃",[tempModel.deviation isEqualToString:@"02"]?(temp-deltatemp):(temp+deltatemp)]; + self.tempView.correectTempLabel.text=corrTemp; + + } - [Xuanduo2DataUtility readTimerSocketDataWithBackMsgModel:_timerModel addWithBackStr:string1 type:self.currentdevice.type]; - NSMutableArray *dataArr = [self.timeDic objectForKey:_titieArr[_selectSection-2]]; - [dataArr removeAllObjects]; - [dataArr addObject:plusflag]; - [dataArr addObjectsFromArray:_timerModel.groupModelArr]; - BOOL havePlus = [dataArr containsObject:plusflag]; - if (havePlus && dataArr.count > 10) { - [dataArr removeObjectAtIndex:0]; - }else if (!havePlus && dataArr.count < 10){ - [dataArr insertObject:plusflag atIndex:0]; - } - NSLog(@"dataarr.count = %ld",dataArr.count); - - } - else if (_selectSection-2<_titieArr.count && _selectSection-2>=0 && [readTimer isEqualToString:@"0119"]) { - - _cycleModel=[[XuanduoCycleModel alloc]init]; - [Xuanduo2DataUtility readCycleSocketDataWithBackMsgModel:_cycleModel addWithBackStr:string1 type:self.currentdevice.type]; - NSMutableArray *dataArr = [self.timeDic objectForKey:_titieArr[_selectSection-2]]; - [dataArr removeAllObjects]; - - [dataArr addObject:_cycleModel]; - - - - } + if ([readTimer isEqualToString:@"0108"] || [readTimer isEqualToString:@"0105"]) { [Xuanduo2DataUtility readSocketDataWithBackMsgModel:self.dataModel addWithBackData:data type:self.currentdevice.type]; [self refreshWithData:self.dataModel]; @@ -309,8 +319,64 @@ static NSString *timerTypeFlag = @"TimerTypeTableViewCell"; } -(void)ifishDeviceLogInSuccees{ - + [self readTempCorrectModel]; +// [self.timer invalidate]; +// self.timer=nil; +// self.timer=[NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(readTempCorrectModel) userInfo:nil repeats:YES]; } +-(void)readTempCorrectModel +{ + baseModel*readModel=[[baseModel alloc]init]; + readModel.sendmacId =self.currentdevice.macAddress; + readModel.resavemacId =self.currentdevice.macAddress; + readModel.functionCode=@"16"; + readModel.massagelegth=@"12"; + + NSString*readString=[NSString stringWithFormat:@"%@%@%@",readModel.description,@"0b",@"0000"]; + + NSData*readData=[dataContorl stringToHexData:readString]; + [[Socketsingleton sharedInstance] soketWriteData:readData]; + + [_indicatorView startAnimating]; + + +} +-(void)correctTempCorrectModel:(BOOL)cancelCorrect; +{ + baseModel*readModel=[[baseModel alloc]init]; + readModel.sendmacId =self.currentdevice.macAddress; + readModel.resavemacId =self.currentdevice.macAddress; + readModel.functionCode=@"15"; + readModel.massagelegth=@"18"; + + NSString*deviation=@"01";//正校准 + if ([self.tempView.textField.text containsString:@"-"]) + { + deviation=@"02";//负向校准 + } + if (cancelCorrect) + { + deviation=@"00"; + } + + NSString*pureString=[self.tempView.textField.text stringByReplacingOccurrencesOfString:@"-" withString:@""]; + pureString=[pureString stringByReplacingOccurrencesOfString:@"+" withString:@""]; + pureString=[pureString stringByReplacingOccurrencesOfString:@"℃" withString:@""]; + NSInteger delta= (NSInteger)(pureString.floatValue*10); + + NSString*hex=[dataContorl leftAddZero:2 andStr:[dataContorl ToHex:delta]]; + + NSString*readString=[NSString stringWithFormat:@"%@%@%@%@%@%@",readModel.description,@"0b",deviation,hex,@"00000000",@"0000"]; + + NSData*readData=[dataContorl stringToHexData:readString]; + [[Socketsingleton sharedInstance] soketWriteData:readData]; + + [_indicatorView startAnimating]; + [self readTempCorrectModel]; + + +} + -(void)ifishSocket:(AsyncSocket *)sock didAcceptNewSocket:(AsyncSocket *)newSocket{ diff --git a/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/XuanduoTempratureCorrectView.h b/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/XuanduoTempratureCorrectView.h index ffd667f..7d88fd7 100644 --- a/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/XuanduoTempratureCorrectView.h +++ b/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/XuanduoTempratureCorrectView.h @@ -11,7 +11,10 @@ NS_ASSUME_NONNULL_BEGIN @interface XuanduoTempratureCorrectView : UIView +@property (weak, nonatomic) IBOutlet UILabel *correectTempLabel; +@property (weak, nonatomic) IBOutlet UILabel *realTempLabel; @property (weak, nonatomic) IBOutlet UITextField *textField; +@property (weak, nonatomic) IBOutlet UIButton *cancelBtn; @end diff --git a/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/XuanduoTempratureCorrectView.m b/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/XuanduoTempratureCorrectView.m index a5c9e3e..e8a380d 100644 --- a/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/XuanduoTempratureCorrectView.m +++ b/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/XuanduoTempratureCorrectView.m @@ -20,6 +20,8 @@ -(void)awakeFromNib { [super awakeFromNib]; + self.cancelBtn.titleLabel.font=[UIFont systemFontOfSize:15]; + self.correectTempLabel.layer.cornerRadius=8; } diff --git a/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/XuanduoTempratureCorrectView.xib b/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/XuanduoTempratureCorrectView.xib index 818141a..8177932 100644 --- a/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/XuanduoTempratureCorrectView.xib +++ b/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/XuanduoTempratureCorrectView.xib @@ -26,7 +26,7 @@