intr_kind wizchip_getinterruptmask(void) { uint8_t imr = 0; uint8_t simr = 0; uint16_t ret = 0; #if _WIZCHIP_ == 5100 imr = getIMR(); simr = imr & 0x0F; //A20150601 : For integrating with W5300 #elif _WIZCHIP_ == 5300 ret = getIMR(); imr = (uint8_t)(ret >> 8); simr = (uint8_t)ret; #else imr = getIMR(); simr = getSIMR(); #endif #if _WIZCHIP_ < 5500 imr &= ~(1<<4); // IK_WOL #endif #if _WIZCHIP_ == 5200 imr &= ~(1 << 6); // IK_DEST_UNREACH #endif ret = simr; ret = (ret << 8) + imr; return (intr_kind)ret; }
intr_kind wizchip_getinterruptmask(void) { uint8_t imr = 0; uint8_t simr = 0; uint16_t ret = 0; #if _WIZCHIP_ == 5100 imr = getIMR(); simr = imr 0x0F; #else imr = getIMR(); simr = getSIMR(); #endif #if _WIZCHIP_ < 5500 imr &= ~(1<<4); // IK_WOL #endif #if _WIZCHIP_ == 5200 imr &= ~(1 << 6); // IK_DEST_UNREACH #endif ret = simr; ret = (ret << 8) + imr; return (intr_kind)ret; }