34 std::map<std::string,Item *>::iterator itNameItem =
nameItemMap.find(registerName);
36 BUException::INVALID_NAME e;
37 e.Append(
"Can't find item with name \"");
38 e.Append(registerName.c_str());
42 Item * item = itNameItem->second;
43 uint32_t val = io->Read(item->
address);
51 std::map<std::string,Item *>::iterator itNameItem =
nameItemMap.find(registerName);
53 BUException::INVALID_NAME e;
54 e.Append(
"Can't find item with name \"");
55 e.Append(registerName.c_str());
59 Item * item = itNameItem->second;
60 uint32_t val = io->ReadWithRetry(item->
address);
68 std::map<std::string,Item *>::iterator itNameItem =
nameItemMap.find(registerName);
70 BUException::INVALID_NAME e;
71 e.Append(
"Can't find item with name \"");
72 e.Append(registerName.c_str());
76 Item * item = itNameItem->second;
78 uint32_t buildingVal =0;
79 if(item->
mask != 0xFFFFFFFF){
81 buildingVal = io->Read(item->
address);
82 buildingVal &= ~(item->
mask);
84 buildingVal |= (item->
mask & (val << item->
offset));
85 io->Write(item->
address,buildingVal);
89 std::map<std::string,Item *>::iterator itNameItem =
nameItemMap.find(registerName);
91 BUException::INVALID_NAME e;
92 e.Append(
"Can't find item with name \"");
93 e.Append(registerName.c_str());
97 Item * item = itNameItem->second;
99 uint32_t buildingVal =0;
100 if(item->
mask != 0xFFFFFFFF){
102 buildingVal = io->ReadWithRetry(item->
address);
103 buildingVal &= ~(item->
mask);
105 buildingVal |= (item->
mask & (val << item->
offset));
106 io->WriteWithRetry(item->
address,buildingVal);
114 std::map<std::string,Item *>::iterator itNameItem =
nameItemMap.find(registerName);
116 BUException::INVALID_NAME e;
117 e.Append(
"Can't find item with name \"");
118 e.Append(registerName.c_str());
122 Item * item = itNameItem->second;
124 if(item->
mask != 0xFFFFFFFF){
125 BUException::BAD_BLOCK_WRITE e;
126 e.Append(
"Mask is not 0xFFFFFFFF\n");
129 io->Write(item->
address,values,word_count);