diff --git a/MAC/APL/PIC/RSPDriver/src/SetWeightsCmd.cc b/MAC/APL/PIC/RSPDriver/src/SetWeightsCmd.cc index 2b881b4d29c1d6561c65d35ace0ca33d7a09cd40..b81b5b05705040aafee45ae7c5399e64ecd4c769 100644 --- a/MAC/APL/PIC/RSPDriver/src/SetWeightsCmd.cc +++ b/MAC/APL/PIC/RSPDriver/src/SetWeightsCmd.cc @@ -74,7 +74,7 @@ void SetWeightsCmd::ack(CacheBuffer& /*cache*/) getPort()->send(ack); } -void SetWeightsCmd::apply(CacheBuffer& cache, bool /*setModFlag*/) +void SetWeightsCmd::apply(CacheBuffer& cache, bool setModFlag) { // copy to offset N_LOCAL_XLETS in the cache Range dst_range = Range(MEPHeader::N_LOCAL_XLETS, @@ -89,6 +89,11 @@ void SetWeightsCmd::apply(CacheBuffer& cache, bool /*setModFlag*/) cache.getBeamletWeights()()(0, cache_rcu, dst_range) = m_event->weights()(0, input_rcu, Range::all()); + if (setModFlag) { + cache.getCache().getBFState().modified(cache_rcu * MEPHeader::N_PHASE); + cache.getCache().getBFState().modified(cache_rcu * MEPHeader::N_PHASE + 1); + } + input_rcu++; } }