64 lines
1.3 KiB
C
64 lines
1.3 KiB
C
/*
|
|
* File: ChaletPowerRelay.h
|
|
* Author: JF
|
|
*
|
|
* Created on November 30, 2018, 7:33 PM
|
|
*/
|
|
|
|
#ifndef BOOTLOADERINTERFACE_H
|
|
#define BOOTLOADERINTERFACE_H
|
|
#include "define.h"
|
|
|
|
enum eBootloaderStates
|
|
{
|
|
BOOTLOADER_STANDBY_STATE,
|
|
BOOTLOADER_ACTIVE_STATE,
|
|
BOOTLOADER_ERASE_FLASH_STATE,
|
|
BOOTLOADER_RECEIVING_FIRMWARE_STATE,
|
|
BOOTLOADER_SENDING_FIRMWARE_COPY_STATE,
|
|
|
|
BOOTLOADER_MAX_STATE
|
|
};
|
|
|
|
enum eBootloaderStateMachineEvents
|
|
{
|
|
BOOTLOADER_TICK_EVENT,
|
|
BOOTLOADER_NEW_CMD_EVENT,
|
|
BOOTLOADER_TIMEOUT_EVENT,
|
|
|
|
BOOTLOADER_MAX_EVENT
|
|
};
|
|
|
|
enum eBootloaderStateMachineCmds
|
|
{
|
|
BOOTLOADER_SM_ACTIVATE_CMD,
|
|
BOOTLOADER_SM_ABORT_CMD,
|
|
BOOTLOADER_SM_ERASE_FLASH_CMD,
|
|
BOOTLOADER_SM_INIT_UPLOAD_CMD,
|
|
BOOTLOADER_SM_NEW_DATA_CHUNK_CMD,
|
|
BOOTLOADER_SM_UPLOAD_FINISHED_CMD,
|
|
BOOTLOADER_SM_EXECUTE_UPGRAGE_CMD,
|
|
BOOTLOADER_SM_INVALID_CRC_CMD
|
|
};
|
|
|
|
|
|
extern char BootloaderBuffer[200];
|
|
|
|
int BootloaderInterfaceInit();
|
|
void BootloaderExecuteCmd(char Cmd);
|
|
void BootloaderCRCError(char Cmd, int RxCRC, int ExpectedCRC);
|
|
|
|
void BootloaderInterfaceStateMachine();
|
|
|
|
void BootloaderInterfaceTick();
|
|
void BootloaderIterfaceStateMachine(int Event, int Param);
|
|
void BootloaderResetStateMachine();
|
|
void BootloaderActivateBootloader();
|
|
void BootloaderDeactivateBootloader();
|
|
|
|
|
|
|
|
|
|
#endif /* BOOTLOADERINTERFACE_H */
|
|
|