void clsIGInterface::NtfyData(const BYTE* pData, UINT nSize) { _chk_debug(+1,">clsIGInterface::NtfyData (%d bytes)",nSize); #if GPFPROTECT clsGPFProtection GPF(GPFPROTFLAG_TRACE|GPFPROTFLAG_MSGBOX); if (GPF.Error()) { exit(255); } #endif for (int n = 0; n < nSize; ++n) { // _chk_utildebug("%d: %d %d",_MessageStack.entries(),n,pData[n]); if (pData[n] == 0x31) { // a new message starts _MessageStack.push(new clsMessageBuffer); continue; } if (!_MessageStack.isEmpty()) { clsMessageBuffer* pCurrentMessage = _MessageStack.top(); if (pData[n] == 0x32) { // message finished clsIGMessage Msg(pCurrentMessage->pData(),pCurrentMessage->nDataSize()); if (Msg.bChecksumOk()) { _chk_debug(0,"received message %s",(LPCTSTR)Msg.AsString()); ++_nPacketsReceived; switch (Msg.nCmd()) { case clsIGMessage::IGCMD_DEVICELIST: if ((Msg.nFrom() == IGID_DATALOGGER || Msg.nFrom() == IGID_INTERFACECARD) && Msg.nTo() == IGID_BROADCAST) { _DeviceListManager.OnDeviceList(Msg); break; } // fallthrough default: { clsCritObj CO(_CritQueryList); if (_QueryList.contains(Msg)) { _chk_utildebug("(is in query list)"); _QueryList[Msg]->Append(Msg); } else { _chk_utildebug("(is unassigned message)"); _UnassignedMessages.Append(Msg); } } break; } } else { _chk_debug(0,"received message %s with BAD CHECKSUM",(LPCTSTR)Msg.AsString()); ++_nPacketsReceivedWithBadChecksum; printf("WRN: received a message with BAD CHECKSUM\n"); } delete _MessageStack.pop(); } else { pCurrentMessage->Append(pData[n]); } } else { _chk_debug(0,"orphan byte %02x received",pData[n]); } } _chk_debug(-1,"<clsIGInterface::NtfyData"); }
.port = GPIO_PORT_B, .pin = 7, .start_func = GPIO_OUTPUT0, .end_func = GPIO_OUTPUT1, .delaytime_usec = 100000, }; #endif struct platform_device jz4775_mii_bus = { .name = "jz4775_mii_bus", #ifdef CONFIG_JZGPIO_PHY_RESET .dev.platform_data = &gpio_phy_reset, #endif }; #else static struct mdio_gpio_platform_data mdio_gpio_data = { .mdc = GPF(13), .mdio = GPF(14), .phy_mask = 0, .irqs = { 0 }, }; struct platform_device jz4775_mii_bus = { .name = "mdio-gpio", .dev.platform_data = &mdio_gpio_data, }; #endif struct platform_device jz4775_mac_device = { .name = "jz4775_mac", .dev.platform_data = &jz4775_mii_bus, }; #endif