@@ -246,7 +246,7 @@ bool IsoDEP::transceiveINF(uint8_t* rx_inf, uint16_t& rx_inf_len, const uint8_t*
246246 const uint32_t wtx_timeout = mul_clamp_u32 (pol.fwt_ms , (uint32_t )wtxm, pol.wtx_max_ms );
247247
248248 // Receive next frame after WTX-ACK (do NOT resend I-Block)
249- rlen = sizeof (rx_buf) ;
249+ rlen = max_frame_size_rx ;
250250 if (!_layer.transceive (rx_buf, rlen, s_ack, sp, wtx_timeout)) {
251251 if (retries++ < pol.max_retries ) {
252252 break ; // resend I-Block
@@ -333,7 +333,7 @@ bool IsoDEP::transceiveINF(uint8_t* rx_inf, uint16_t& rx_inf_len, const uint8_t*
333333 if (_cfg.use_cid ) r_ack[rp++] = (uint8_t )(_cfg.cid & 0x0F );
334334
335335 M5_LIB_LOGV (" isoDEP chain TX R-ACK bn=%u (collected=%u)" , ack_bn, rx_written);
336- uint16_t rlen2 = sizeof (rx_buf) ;
336+ uint16_t rlen2 = max_frame_size_rx ;
337337 if (!_layer.transceive (rx_buf, rlen2, r_ack, rp, pol.fwt_ms )) {
338338 M5_LIB_LOGE (" isoDEP chain RX failed, rlen=%u" , rlen2);
339339 PRINT_ERROR (" >>>>ERROR 12" );
@@ -369,7 +369,7 @@ bool IsoDEP::transceiveINF(uint8_t* rx_inf, uint16_t& rx_inf_len, const uint8_t*
369369
370370 const uint32_t wtx_timeout = mul_clamp_u32 (pol.fwt_ms , (uint32_t )wtxm, pol.wtx_max_ms );
371371
372- rlen2 = sizeof (rx_buf) ;
372+ rlen2 = max_frame_size_rx ;
373373 if (!_layer.transceive (rx_buf, rlen2, s_ack, sp, wtx_timeout)) {
374374 PRINT_ERROR (" >>>>ERROR 14" );
375375 return false ;
@@ -382,7 +382,7 @@ bool IsoDEP::transceiveINF(uint8_t* rx_inf, uint16_t& rx_inf_len, const uint8_t*
382382 if (r_is_nak (pcb2)) return false ;
383383
384384 // ACK: receive again
385- rlen2 = sizeof (rx_buf) ;
385+ rlen2 = max_frame_size_rx ;
386386 if (!_layer.receive (rx_buf, rlen2, pol.fwt_ms )) {
387387 PRINT_ERROR (" >>>>ERROR 15" );
388388 return false ;
0 commit comments