/*
 * Bootloader.h
 *
 *  Created on: Jul 10, 2019
 *      Author: parkyj
 */

#ifndef BOOTLOADER_H_
#define BOOTLOADER_H_
#include "main.h"
#include "uart.h"
extern uint8_t * UpdateFiledata;

typedef enum {
	BLUECELL_RESET = 0,
	BLUECELL_START,
	BLUECELL_SENDING,
	BLUECELL_END,
}updateseq;
typedef enum updateseqok
{
    UpdateResetOK = 0,
    UpdateStartOK,
    UpdateSendingOK,
    UpdateEndOK,
};
typedef enum{
    bluecell_stx = 0,
    bluecell_type = 1,
    bluecell_length,
	bluecell_CrcIndex,
    bluecell_crc,
    bluecell_ext,   
}FirmwareUpdate_t;

/*bluecell type*/
#define Bluecell_Reset  0x0A//ASCII : R
#define Bluecell_Firmupdate_start     0x55//ASCII : U
#define Bluecell_Firmupdate_sending   0x53//ASCII : S
#define Bluecell_Firmupdate_end       0x65//ASCII : e
#define Bluecell_Endbyte 0xED


#define bluecell_Firmupdate_Ackbytelength 12

extern void FirmwareUpdate_Boot(void);


extern void Firmware_BootStart_Signal();
#endif /* BOOTLOADER_H_ */
