Skip to content
Snippets Groups Projects
Commit fb66c6dc authored by Pieter Donker's avatar Pieter Donker
Browse files

Bug 335: modified TBBDriver

parent d8c13052
No related branches found
No related tags found
No related merge requests found
...@@ -323,7 +323,7 @@ int32 TbbSettings::getFirstChannelNr(int32 board, int32 mp) ...@@ -323,7 +323,7 @@ int32 TbbSettings::getFirstChannelNr(int32 board, int32 mp)
return((board * itsChannelsOnBoard) + (mp * itsChannelsOnMp)); return((board * itsChannelsOnBoard) + (mp * itsChannelsOnMp));
} }
void TbbSettings::setDestination(int32 rcunr, char *storage) void TbbSettings::setDestination(int32 channelnr, char *storage)
{ {
char mac[20]; char mac[20];
char ip[20]; char ip[20];
...@@ -355,11 +355,8 @@ void TbbSettings::setDestination(int32 rcunr, char *storage) ...@@ -355,11 +355,8 @@ void TbbSettings::setDestination(int32 rcunr, char *storage)
LOG_DEBUG_STR(formatString("storage=%s NOT found", key)); LOG_DEBUG_STR(formatString("storage=%s NOT found", key));
} }
else { else {
int32 ch; itsChannelInfo[channelnr].dstIpCep = static_cast<string>(ip);
int32 board; itsChannelInfo[channelnr].dstMacCep = static_cast<string>(mac);
convertRcu2Ch(rcunr, &board, &ch);
itsChannelInfo[ch * board].dstIpCep = static_cast<string>(ip);
itsChannelInfo[ch * board].dstMacCep = static_cast<string>(mac);
} }
} }
......
...@@ -189,7 +189,7 @@ public: ...@@ -189,7 +189,7 @@ public:
void setDstIpCep(int32 channelnr, string ip); void setDstIpCep(int32 channelnr, string ip);
void setSrcMacCep(int32 boardnr, string mac); void setSrcMacCep(int32 boardnr, string mac);
void setDstMacCep(int32 channelnr, string mac); void setDstMacCep(int32 channelnr, string mac);
void setDestination(int32 boardnr, char *storage); void setDestination(int32 channelnr, char *storage);
void clearRcuSettings(int32 boardnr); void clearRcuSettings(int32 boardnr);
......
...@@ -1077,13 +1077,17 @@ bool TBBDriver::sendInfo(GCFEvent& event, GCFPortInterface& port) ...@@ -1077,13 +1077,17 @@ bool TBBDriver::sendInfo(GCFEvent& event, GCFPortInterface& port)
TBBModeEvent tbb_event(event); TBBModeEvent tbb_event(event);
for (int32 rcu = 0; rcu < TS->maxChannels(); rcu++) { for (int32 rcu = 0; rcu < TS->maxChannels(); rcu++) {
if (tbb_event.rcu_mask.test(rcu)) { if (tbb_event.rcu_mask.test(rcu)) {
TS->setChOperatingMode(rcu, tbb_event.rec_mode[rcu]); int chan;
int board;
TS->convertRcu2Ch(rcu, &board, &chan);
chan += board * TS->nrChannelsOnBoard();
TS->setChOperatingMode(chan, tbb_event.rec_mode[rcu]);
} }
} }
TBBModeAckEvent ack; TBBModeAckEvent ack;
for (int32 i = 0; i < TS->maxBoards(); i++) { for (int32 i = 0; i < TS->maxBoards(); i++) {
ack.status_mask[i] = 0; ack.status_mask[i] = TBB_SUCCESS;
} }
port.send(ack); port.send(ack);
} else { } else {
...@@ -1097,12 +1101,16 @@ bool TBBDriver::sendInfo(GCFEvent& event, GCFPortInterface& port) ...@@ -1097,12 +1101,16 @@ bool TBBDriver::sendInfo(GCFEvent& event, GCFPortInterface& port)
TBBCepStorageEvent tbb_event(event); TBBCepStorageEvent tbb_event(event);
for (int32 rcu = 0; rcu < TS->maxChannels(); rcu++) { for (int32 rcu = 0; rcu < TS->maxChannels(); rcu++) {
if (tbb_event.rcu_mask.test(rcu)) { if (tbb_event.rcu_mask.test(rcu)) {
TS->setDestination(rcu, tbb_event.destination); int chan;
int board;
TS->convertRcu2Ch(rcu, &board, &chan);
chan += board * TS->nrChannelsOnBoard();
TS->setDestination(chan, tbb_event.destination);
} }
} }
TBBCepStorageAckEvent tbb_ack; TBBCepStorageAckEvent tbb_ack;
for (int32 i = 0; i < TS->maxBoards(); i++) { for (int32 i = 0; i < TS->maxBoards(); i++) {
tbb_ack.status_mask[i] = 0; tbb_ack.status_mask[i] = TBB_SUCCESS;
} }
port.send(tbb_ack); port.send(tbb_ack);
} else { } else {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment