Subversion Repositories Code-Repo

Rev

Rev 263 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 263 Rev 264
Line 309... Line 309...
309
 
309
 
310
void __ISR(_ETH_VECTOR, ipl1) __ETH_Interrupt_Handler(void) {
310
void __ISR(_ETH_VECTOR, ipl1) __ETH_Interrupt_Handler(void) {
311
//    uint32_t value = ETHIRQ;
311
//    uint32_t value = ETHIRQ;
312
    if (ETHIRQbits.TXBUSE) {
312
    if (ETHIRQbits.TXBUSE) {
313
        // TX bus error, something -should- be done
313
        // TX bus error, something -should- be done
-
 
314
        Reset_Board(BOARD_MODE_IDLE);
314
        ETHIRQbits.TXBUSE = 0;
315
        ETHIRQbits.TXBUSE = 0;
315
    }
316
    }
316
    if (ETHIRQbits.RXBUSE) {
317
    if (ETHIRQbits.RXBUSE) {
317
        // RX bus error, something -should- be done
318
        // RX bus error, something -should- be done
-
 
319
        Reset_Board(BOARD_MODE_IDLE);
318
        ETHIRQbits.RXBUSE = 0;
320
        ETHIRQbits.RXBUSE = 0;
319
    }
321
    }
320
    if (ETHIRQbits.RXDONE) {
322
    if (ETHIRQbits.RXDONE) {
321
        // Call the previously saved function
323
        // Call the previously saved function
322
        if (eth_data->rx_callback != NULL)
324
        if (eth_data->rx_callback != NULL)
Line 338... Line 340...
338
        ETHIRQbits.TXABORT = 0;
340
        ETHIRQbits.TXABORT = 0;
339
    }
341
    }
340
    if (ETHIRQbits.RXBUFNA) {
342
    if (ETHIRQbits.RXBUFNA) {
341
        // This is a serious error!
343
        // This is a serious error!
342
        // TODO: handle this
344
        // TODO: handle this
-
 
345
        Reset_Board(BOARD_MODE_IDLE);
343
        ETHIRQbits.RXBUFNA = 0;
346
        ETHIRQbits.RXBUFNA = 0;
344
    }
347
    }
345
    if (ETHIRQbits.RXOVFLW) {
348
    if (ETHIRQbits.RXOVFLW) {
346
        // This is a serious error!
349
        // This is a serious error!
347
        // TODO: handle this
350
        // TODO: handle this
-
 
351
        Reset_Board(BOARD_MODE_IDLE);
348
        ETHIRQbits.RXOVFLW = 0;
352
        ETHIRQbits.RXOVFLW = 0;
349
    }
353
    }
350
 
354
 
351
    IFS1bits.ETHIF = 0;
355
    IFS1bits.ETHIF = 0;
352
}
356
}
353
357