00001 #include "DummyHardware.h" 00002 #include <iostream> 00003 00004 using namespace std; 00005 using namespace SctApi; 00006 00007 namespace SctTest { 00008 00009 DummyHardware::DummyHardware() : configs(3) { 00010 } 00011 00012 DummyHardware& DummyHardware::instance() { 00013 static DummyHardware dh; 00014 return dh; 00015 } 00016 00017 void printTrims(const ABCDModule& config) { 00018 cout << "TrimRanges: "; 00019 for (int i=0; i<12; ++i) 00020 cout << config.chip[i].basic.config.trimRange << " "; 00021 cout << endl; 00022 } 00023 00024 const ABCDModule& DummyHardware::getConfig(UINT32 mid, BankType type) { 00025 //printTrims(configs[type][mid]); 00026 return configs[type][mid]; 00027 } 00028 00029 void DummyHardware::setConfig(UINT32 mid, BankType type, const ABCDModule& config) { 00030 //printTrims(config); 00031 //cout << "DummyHardware::setConfig called. mid: " << mid << " Bank: " << type << endl; 00032 if (originalConfig.count(mid) == 0) { 00033 //cout << "add to original config" << endl; 00034 originalConfig[mid] = config; 00035 //cout << " done" << endl; 00036 } 00037 //cout << (int)type << endl; 00038 //cout << configs[type].count(mid) << endl; 00039 (configs[type])[mid] = config; 00040 //cout << "Done" << endl; 00041 } 00042 00043 const ABCDModule& DummyHardware::getOriginalConfig(UINT32 mid) { 00044 return originalConfig[mid]; 00045 } 00046 00047 const ABCDModule& DummyHardware::getCurrentConfig(UINT32 mid) { 00048 //printTrims(currentConfig[mid]); 00049 return currentConfig[mid]; 00050 } 00051 00052 void DummyHardware::sendConfig(UINT32 mid, BankType bank) { 00053 currentConfig[mid] = configs[bank][mid]; 00054 //printTrims(currentConfig[mid]); 00055 } 00056 }