#ifndef FPGAFLASHENGINE_H #define FPGAFLASHENGINE_H #include #include #include "fpgaflashconfig.h" #include "mydebug.h" #include "fpgaflashprofile.h" #include "FpgaFlashInterface.h" bool decodeSPISR(unsigned int _spisr, spisr_bit_t _bit); unsigned int encodeSPISR(unsigned int _spisr, spisr_bit_t _bit); class FpgaFlashEngine { public: FpgaFlashEngine(); void setProfile(const FpgaFlashProfile& profile); void setInterface(FpgaFlashInterface* flashInterface); bool fpgaErase(unsigned int size); bool fpgaProgram(const void* data, unsigned int size); bool fpgaReset(); bool fpgaTerminate(); bool readFlashID(); bool readStatusSPI(); bool simulateWrite(uint32_t address, const void* data, unsigned int len); bool simulateRead(uint32_t address, void *data, unsigned int len); bool simulateErase(uint32_t address, void *data, unsigned int len); bool simulateReset(); bool simulateReadStatusSPI(); bool simulateTerminate(); unsigned int simulateReadFlashID(); bool getEnableMsgBlk(); }; #endif // FPGAFLASHENGINE_H