1 #ifndef _mp7_MmcPipeInterface_hpp_ 2 #define _mp7_MmcPipeInterface_hpp_ 5 #include "uhal/DerivedNode.hpp" 6 #include "uhal/log/exception.hpp" 17 ExceptionClass ( TextExceedsSpaceAvailable ,
"Text exceeds space available for it in the MMC" );
18 ExceptionClass ( ReplyIndicatesError ,
"Reply value from MMC indicates an error" );
19 ExceptionClass ( GoldenImageIsInvolateError ,
"An attempt was made to modify the inviolate boot image" );
37 class MmcPipeInterface :
public uhal::Node
39 UHAL_DERIVEDNODE ( MmcPipeInterface );
43 MmcPipeInterface (
const uhal::Node& ) ;
44 virtual ~MmcPipeInterface();
47 void SetDummySensor (
const uint8_t& aValue );
49 void FileToSD (
const std::string& aFilename, Firmware& aFirmware );
50 XilinxBitStream FileFromSD (
const std::string& aFilename );
52 void RebootFPGA (
const std::string& aFilename ,
const std::string& aPassword );
53 void BoardHardReset (
const std::string& aPassword );
54 void DeleteFromSD (
const std::string& aFilename ,
const std::string& aPassword );
56 std::vector< std::string > ListFilesOnSD ( );
57 std::string GetTextSpace ( );
60 void UpdateCounters();
62 const uint16_t& FPGAtoMMCDataAvailable();
63 const uint16_t& FPGAtoMMCSpaceAvailable();
64 const uint16_t& MMCtoFPGADataAvailable();
65 const uint16_t& MMCtoFPGASpaceAvailable();
68 void Send (
const uint32_t& aHeader );
69 void Send (
const uint32_t& aHeader ,
const uint32_t& aSizeInWords ,
const uint32_t* aPayload );
70 void Send (
const uint32_t& aHeader ,
const uint32_t& aSizeInBytes ,
const char* aPayload );
72 std::vector< uint32_t > Receive ( );
74 std::string ConvertString ( std::vector< uint32_t >::const_iterator aStart ,
const std::vector< uint32_t >::const_iterator& aEnd );
77 void SetTextSpace (
const std::string& aStr );
78 void EnterSecureMode (
const std::string& aPassword );
-test-ipbusaccess
Definition: AlignmentNode.hpp:15
uint16_t mMMCtoFPGADataAvailable
Definition: MmcPipeInterface.hpp:83
uint16_t mFPGAtoMMCSpaceAvailable
Definition: MmcPipeInterface.hpp:82
uint16_t mMMCtoFPGASpaceAvailable
Definition: MmcPipeInterface.hpp:84
Definition: MmcPipeInterface.hpp:13
uint16_t mFPGAtoMMCDataAvailable
Definition: MmcPipeInterface.hpp:81
ExceptionClass( TextExceedsSpaceAvailable , "Text exceeds space available for it in the MMC" )