Skip a packet in AUTO-OUT mode

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

 Hi

   

I setup the transfer using the auto-out mode. Everything the PC sends to the device is transferred using GPIF transfer.

   

Unfortunately, I need to skip the first packet, transmit 300 packets, skip 301 packet, transmit another 300 packets and so on.

   

In the ISR_Ep2inout I check the packet content and try to ignore it before the setting the GPIF transfer.

   

The code:

   

   

EP2FIFOCFG = 0x01; // manual mode

   

SYNCDELAY;

   

OUTPKTEND = 0X82; // skip packet

   

SYNCDELAY;

   

EP2FIFOCFG = 0x11; // back to auto out mode, disable PKTEND zero length send, word ops

   

SYNCDELAY;

   
    does not work. The packet is not skipped and GPIF transfer picks it up.   
   
        
   
    If I use another code that resets FIFO (from TRM):   
   
        
   
    
      FIFORESET = 0x80; // activate NAK-ALL to avoid race conditions    
    
      SYNCDELAY;    
    
      EP2FIFOCFG = 0x01; //switching to manual mode    
    
      SYNCDELAY;    
    
      FIFORESET = 0x02; // Reset FIFO 2    
    
      SYNCDELAY;    
    
      OUTPKTEND = 0X82; // skip the packet    
    
      SYNCDELAY;    
    
      EP2FIFOCFG = 0x11; //switching to auto mode    
    
      SYNCDELAY;    
    
      FIFORESET = 0x00; //Release NAKALL    
    
      SYNCDELAY;    
   
   
        
then I sometimes skip more than one packet   

   

Is it any way to skip exactly one packet from EP2 buffer and preserve others intact?

0 Likes
1 Reply
Anonymous
Not applicable

Meanwhile, I would recommend you to create a tech support case (MyAccount --> MyCases) regarding this. One of our engineer will look into this.

   

Regards,

   

sai krishna.

0 Likes