anlogicBitParser: allows to reverse (or not) bytes
This commit is contained in:
parent
31bc9cf988
commit
bfd7e9b6ed
|
|
@ -31,8 +31,10 @@
|
|||
|
||||
using namespace std;
|
||||
|
||||
AnlogicBitParser::AnlogicBitParser(const string &filename, bool verbose):
|
||||
ConfigBitstreamParser(filename, ConfigBitstreamParser::BIN_MODE, verbose)
|
||||
AnlogicBitParser::AnlogicBitParser(const string &filename, bool reverseOrder,
|
||||
bool verbose):
|
||||
ConfigBitstreamParser(filename, ConfigBitstreamParser::BIN_MODE, verbose),
|
||||
_reverseOrder(reverseOrder)
|
||||
{}
|
||||
|
||||
AnlogicBitParser::~AnlogicBitParser()
|
||||
|
|
@ -136,7 +138,10 @@ int AnlogicBitParser::parse()
|
|||
_bit_data.clear();
|
||||
for (auto it = blocks.begin(); it != blocks.end(); it++) {
|
||||
for (size_t pos = 0; pos < it->size(); pos++) {
|
||||
_bit_data += reverseByte(((*it)[pos]));
|
||||
if (_reverseOrder == true)
|
||||
_bit_data += reverseByte(((*it)[pos]));
|
||||
else
|
||||
_bit_data += ((*it)[pos]);
|
||||
}
|
||||
}
|
||||
_bit_length = _bit_data.size() * 8;
|
||||
|
|
|
|||
|
|
@ -30,13 +30,15 @@
|
|||
*/
|
||||
class AnlogicBitParser: public ConfigBitstreamParser {
|
||||
public:
|
||||
AnlogicBitParser(const std::string &filename, bool verbose = false);
|
||||
AnlogicBitParser(const std::string &filename, bool reverseOrder,
|
||||
bool verbose = false);
|
||||
~AnlogicBitParser();
|
||||
int parse() override;
|
||||
void displayHeader();
|
||||
|
||||
private:
|
||||
int parseHeader();
|
||||
bool _reverseOrder;
|
||||
};
|
||||
|
||||
#endif // SRC_ANLOGICBITPARSER_HPP_
|
||||
|
|
|
|||
Loading…
Reference in New Issue