#include "AltroContainer.h" int main( int argc, char** argv ) { InstructionMemoryContainer *ac = new AltroContainer(10); for(uint32_t i = 0; i < 20; i++){ ac->fill((uint32_t)i); } cout.setf( ios::hex, ios::basefield ); cout << "====================================" << endl; ac->finalize(); uint32_t *mem = ac->getDataBlock(); for(uint32_t i = 0; i < ac->size(); i++){ cout << i << ": 0x" << mem[i] << endl; } cout.setf( ios::dec ); cout << "====================================" << endl; cout << "Total Size : " << ac->size() << endl; uint64_t data2 = 0; int32_t p[2] = {0x12345678, 0xdeadbeef}; data2 = p[1]; data2 = data2 << 32; data2 = data2 | p[0]; ac->reset(); ac->setHardwareAddress(10); // test long long (64bit) ac->fill(data2); for(uint32_t i = 0; i < 20; i++){ ac->fill((long int)i); } cout << "====================================" << endl; ac->finalize(); mem = ac->getDataBlock(); cout.setf( ios::hex, ios::basefield ); for(uint32_t i = 0; i < ac->size(); i++){ cout << i << ": 0x" << mem[i] << endl; } cout.setf( ios::dec ); cout << "====================================" << endl; cout << "Total Size : " << ac->size() << endl; /////////////////////////////////////////////////////////// delete ac; ac = new ChannelContainer(10);; ac->setHardwareAddress(10); // test long long (64bit) ac->fill(data2); for(uint32_t i = 0; i < 20; i++){ ac->fill((uint32_t)(0xff00+i)); } cout << "====================================" << endl; ac->finalize(); mem = ac->getDataBlock(); cout.setf( ios::hex, ios::basefield ); for(uint32_t i = 0; i < ac->size(); i++){ cout << i << ": 0x" << mem[i] << endl; } cout.setf( ios::dec ); cout << "====================================" << endl; cout << "Total Size : " << ac->size() << endl; delete ac; ac = 0; CompressedPedMemContainer *ac2 = new CompressedPedMemContainer(10); for(uint32_t i = 0; i < 18; i+=3){ ac2->fillCompressed((uint32_t)i, (uint32_t)(i+1), (uint32_t)(i+2)); } char buffer[12]; buffer[0] = 0; buffer[1] = 0; buffer[2] = 1; buffer[3] = 0; buffer[4] = 2; buffer[5] = 0; buffer[6] = 3; buffer[7] = 0; buffer[8] = 4; buffer[9] = 0; buffer[10] = 5; buffer[11] = 0; ac2->fillCompressed(buffer, 12); cout.setf( ios::hex, ios::basefield ); cout << "====================================" << endl; cout << "CompressedPedMemContainer:" << endl; ac2->finalize(); mem = ac2->getDataBlock(); for(uint32_t i = 0; i < ac2->size(); i++){ cout << i << ": 0x" << mem[i] << endl; } cout.setf( ios::dec ); cout << "====================================" << endl; cout << "Total Size : " << ac2->size() << endl; delete ac2; ac2 = 0; // ============================================================ AltroContainer *ac3 = new AltroContainer(0xad0); for(uint32_t i = 0; i < 18; i+=3){ ac3->fillPedMem(15, (uint32_t)i, (uint32_t)(i+1), (uint32_t)(i+2)); } ac3->fillPedMem(15, buffer, 12); for(uint32_t i = 0; i < 20; i++){ //ac3->fill((uint32_t)i); } cout.setf( ios::hex, ios::basefield ); cout << "====================================" << endl; cout << "AltroContainer:" << endl; ac3->finalize(); mem = ac3->getDataBlock(); for(uint32_t i = 0; i < ac3->size(); i++){ cout << i << ": 0x" << mem[i] << endl; } cout << "====================================" << endl; cout << "Total Size : 0x" << ac3->size() << endl; cout << "Block Size : 0x" << ac3->size()-4 << endl; delete ac3; ac3 = 0; // Test STORE AltroContainer *ac4 = new AltroContainer(0xad0); for(uint32_t i = 0; i < 10; i++){ ac4->fill((uint32_t)i); ac4->fill((uint32_t)0xbeef); } ac4->setAltroInstructionStore(true); cout.setf( ios::hex, ios::basefield ); cout << "====================================" << endl; cout << "AltroContainer:" << endl; ac4->finalize(); mem = ac4->getDataBlock(); for(uint32_t i = 0; i < ac4->size(); i++){ cout << i << ": 0x" << mem[i] << endl; } cout << "====================================" << endl; cout << "Total Size : 0x" << ac4->size() << endl; cout << "Block Size : 0x" << ac4->size()-4 << endl; delete ac4; ac4 = 0; }