@@ -212,7 +212,7 @@ where
212212
213213 fn send_data ( & mut self , data : & str , socket : Socket ) -> Result < [ u8 ; 1 ] , Error > {
214214 let operation = Operation :: new ( NinaCommand :: SendDataTcp )
215- . param ( NinaLargeArrayParam :: from_bytes ( & [ socket] ) ?)
215+ . param ( NinaByteParam :: from_bytes ( & [ socket] ) ?)
216216 . param ( NinaLargeArrayParam :: new ( data) ?) ;
217217
218218 self . execute ( & operation) ?;
@@ -223,8 +223,8 @@ where
223223 }
224224
225225 fn avail_data_tcp ( & mut self , socket : Socket ) -> Result < usize , Error > {
226- let operation = Operation :: new ( NinaCommand :: AvailDataTcp )
227- . param ( NinaLargeArrayParam :: from_bytes ( & [ socket] ) ?) ;
226+ let operation =
227+ Operation :: new ( NinaCommand :: AvailDataTcp ) . param ( NinaByteParam :: from_bytes ( & [ socket] ) ?) ;
228228
229229 self . execute ( & operation) ?;
230230
@@ -246,8 +246,16 @@ where
246246 }
247247
248248 fn receive_data ( & mut self , socket : Socket ) -> Result < NinaResponseBuffer , Error > {
249- self . avail_data_tcp ( socket) ;
250- let mut response_param_buffer: NinaResponseBuffer = [ 0 ; MAX_NINA_RESPONSE_LENGTH ] ;
249+ let mut avail_data: usize = 0 ;
250+ loop {
251+ avail_data = self . avail_data_tcp ( socket) ?;
252+ if avail_data > 0 {
253+ break ;
254+ }
255+ }
256+
257+ defmt:: debug!( "available data: {:?}" , avail_data) ;
258+ let response_param_buffer: NinaResponseBuffer = [ 0 ; MAX_NINA_RESPONSE_LENGTH ] ;
251259
252260 Ok ( response_param_buffer)
253261 }
0 commit comments