FirmwareWriteController.h 1.91キロバイト
//
//  FirmwareWriteController.h
//  jacket_ios
//
//  Created by ドラッサル 亜嵐 on 2017/06/06.
//  Copyright © 2017年 ドラッサル 亜嵐. All rights reserved.
//

#import <UIKit/UIKit.h>
#import "BleProtocol.h"
#import "BLE.h"
#import <QuartzCore/QuartzCore.h>

typedef enum {
    ERASE_PAGE_1,
    UPLOAD_PAGE_10_ERASE_TEMP,
    UPLOAD_PAGE_10_BEGIN,
    UPLOAD_PAGE_10_CONTINUE,
    UPLOAD_PAGE_10_RETRY,
    UPLOAD_PAGE_10_END,
    WRITE_PAGE_10,
    WRITE_PAGE_10_DONE,
    UPLOAD_PAGE_11_ERASE_TEMP,
    UPLOAD_PAGE_11_BEGIN,
    UPLOAD_PAGE_11_CONTINUE,
    UPLOAD_PAGE_11_RETRY,
    UPLOAD_PAGE_11_END,
    WRITE_PAGE_11,
    WRITE_PAGE_11_DONE,
    UPLOAD_PAGE_12_ERASE_TEMP,
    UPLOAD_PAGE_12_BEGIN,
    UPLOAD_PAGE_12_CONTINUE,
    UPLOAD_PAGE_12_RETRY,
    UPLOAD_PAGE_12_END,
    WRITE_PAGE_12,
    WRITE_PAGE_12_DONE,
    UPLOAD_PAGE_13_ERASE_TEMP,
    UPLOAD_PAGE_13_BEGIN,
    UPLOAD_PAGE_13_CONTINUE,
    UPLOAD_PAGE_13_RETRY,
    UPLOAD_PAGE_13_END,
    WRITE_PAGE_13,
    WRITE_PAGE_13_DONE,
    UPLOAD_DONE,
    EEPROM_WP_OFF,
    EEPROM_WP_OFF_DONE,
    FIRMWARE_IMAGE_SELECT_1,
    FIRMWARE_IMAGE_SELECT_1_DONE,
    RESET,
    RESET_DONE
} FirmwareUpdateState;

@interface FirmwareWriteController : UIViewController<UITableViewDelegate, UITableViewDataSource, BLEProtocolDelegate> {

    IBOutlet UITableView *tblFirmware;
    IBOutlet UILabel *lblPercentComplete;
    NSMutableArray *arrResult;
    int selectionEnabled;
    NSInputStream *firmwareFileStream;
    unsigned long long firmwareFileStreamSize;
    unsigned long long firmwareFileStreamPointer;
    NSData *firmwareWriteBuffer;
    int firmwareWriteBufferRetry;
    FirmwareUpdateState firmwareUpdateState;
    unsigned long long firmwareFlashPagePointer;
    CFTimeInterval startTime;
}

@property (strong, nonatomic) BleProtocol *protocol;
@property (nonatomic,assign) id <BLEProtocolDelegate> lastProtocolDelegate;

- (BOOL)firmwareWriteTask;

@end