int lowest_index = 0;
uint8_t highest_index = frayREG->MRC_UN.MRC_ST.ffb_B8;
uint32_t mode;
- const Fr_TMS570LS_BufferConfigType* buffer_cfg_ptr;
+ Fr_TMS570LS_BufferConfigType buffer_cfg;
#ifdef DET_ACTIVATED
boolean_t reconfigured = FALSE;
for (bufferIndex = lowest_index; bufferIndex < highest_index; bufferIndex++) {
if (Fr_buffer_slot_map[bufferIndex].slot_id == Fr_LPduIdx) {
if (Fr_BuffersConfigured[bufferIndex] == TRUE) { // Buffer was configured already
- buffer_cfg_ptr = Fr_buffer_slot_map[bufferIndex].buffer_ptr;
- if (payload_in_hw > buffer_cfg_ptr->maxPayload) {
+ buffer_cfg = *Fr_buffer_slot_map[bufferIndex].buffer_ptr;
+ buffer_cfg.channel = Fr_ChnlIdx;
+ buffer_cfg.cycleCounterFiltering = cycle_filter;
+ buffer_cfg.slotId = Fr_FrameId;
+ buffer_cfg.maxPayload = payload_in_hw;
+ if (buffer_cfg.maxPayload > Fr_buffer_slot_map[bufferIndex].buffer_ptr->maxPayload) {
return E_NOT_OK | ERR_PARAM_PAYLOAD_TOO_BIG;
}
+ Fr_buffer_slot_map[bufferIndex].act_payload = payload_in_hw;
Fr_buffer_slot_map[bufferIndex].slot_id = Fr_FrameId;
- mode = Fr_buffer_config_flags(buffer_cfg_ptr, bufferIndex);
- Fr_config_buffer(bufferIndex, mode, cycle_filter, Fr_FrameId, payload_in_hw, Fr_MsgRAMDataPtrs[bufferIndex]);
+ mode = Fr_buffer_config_flags(&buffer_cfg, bufferIndex);
+ Fr_config_buffer(bufferIndex, mode, buffer_cfg.cycleCounterFiltering, buffer_cfg.slotId, buffer_cfg.maxPayload, Fr_MsgRAMDataPtrs[bufferIndex]);
#ifdef DET_ACTIVATED
reconfigured = TRUE;
#endif