这篇教程C++ tcp_tmr函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中tcp_tmr函数的典型用法代码示例。如果您正苦于以下问题:C++ tcp_tmr函数的具体用法?C++ tcp_tmr怎么用?C++ tcp_tmr使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了tcp_tmr函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: caml_timer_tcpCAMLprim valuecaml_timer_tcp(value v_unit){ CAMLparam1(v_unit); tcp_tmr(); CAMLreturn(Val_unit);}
开发者ID:avsm,项目名称:ocaml-lwip,代码行数:7,
示例2: LwIP_Periodic_Handle/** * @brief LwIP periodic tasks * @param localtime the current LocalTime value * @retval None */void LwIP_Periodic_Handle(__IO uint32_t localtime){ /* TCP periodic process every 250 ms */ if (localtime - TCPTimer >= TCP_TMR_INTERVAL) { TCPTimer = localtime; tcp_tmr(); } /* ARP periodic process every 5s */ if (localtime - ARPTimer >= ARP_TMR_INTERVAL) { ARPTimer = localtime; etharp_tmr(); }#if LWIP_DHCP /* Fine DHCP periodic process every 500ms */ if (localtime - DHCPfineTimer >= DHCP_FINE_TIMER_MSECS) { DHCPfineTimer = localtime; dhcp_fine_tmr(); } /* DHCP Coarse periodic process every 60s */ if (localtime - DHCPcoarseTimer >= DHCP_COARSE_TIMER_MSECS) { DHCPcoarseTimer = localtime; dhcp_coarse_tmr(); }#endif}
开发者ID:sun182,项目名称:therme,代码行数:37,
示例3: lwip_process_timers/* This function is similar to the 'tcpip_thread' function defined in the tcpip.c module */void lwip_process_timers (void){ unsigned int CurrentTickCnt;#if LWIP_TCP static unsigned int lwip_tcp_timer = 0;#endif#if LWIP_ARP static unsigned int lwip_arp_timer = 0;#endif CurrentTickCnt = TickGet ();#if LWIP_DHCP static unsigned int lwip_DHCP_fine_timer = 0; static unsigned int lwip_DHCP_coarce_timer = 0;#endif#if LWIP_AUTOIP static unsigned int lwip_autoip_timer = 0;#endif#if LWIP_ARP /* Process the ARP timer */ if(TickGetDiff (CurrentTickCnt, lwip_arp_timer) >= TICKS_IN_MS(ARP_TMR_INTERVAL)) { lwip_arp_timer = CurrentTickCnt; etharp_tmr(); }#endif#if LWIP_TCP /* Process the TCP timer */ if (TickGetDiff (CurrentTickCnt, lwip_tcp_timer) >= TICKS_IN_MS(TCP_TMR_INTERVAL)) { lwip_tcp_timer = CurrentTickCnt; /* Increment fast (incremented every 250ms) and slow (incremented every 500ms) tcp timers */ tcp_tmr (); }#endif#if LWIP_DHCP /* Process the DHCP Coarce timer */ if (TickGetDiff (CurrentTickCnt, lwip_DHCP_coarce_timer) >= TICKS_IN_MS(DHCP_COARSE_TIMER_MSECS)) { lwip_DHCP_coarce_timer = CurrentTickCnt; dhcp_coarse_tmr (); } /* Process the DHCP Fine timer */ if (TickGetDiff (CurrentTickCnt, lwip_DHCP_fine_timer) >= TICKS_IN_MS(DHCP_FINE_TIMER_MSECS)) { lwip_DHCP_fine_timer = CurrentTickCnt; dhcp_fine_tmr (); }#endif#if LWIP_AUTOIP /* Process the DHCP Fine timer */ if (TickGetDiff (CurrentTickCnt, lwip_autoip_timer) >= TICKS_IN_MS(AUTOIP_TMR_INTERVAL)) { lwip_autoip_timer = CurrentTickCnt; autoip_tmr (); }#endif}
开发者ID:kslemb,项目名称:ARM-K,代码行数:61,
示例4: LwIP_Periodic_Handle/** * @brief LwIP periodic tasks * @param localtime the current LocalTime value * @retval None */void LwIP_Periodic_Handle(__IO uint32_t localtime){#if LWIP_TCP /* TCP periodic process every 250 ms */ if (localtime - TCPTimer >= TCP_TMR_INTERVAL) { TCPTimer = localtime; tcp_tmr(); }#endif /* ARP periodic process every 5s */ if ((localtime - ARPTimer) >= ARP_TMR_INTERVAL) { ARPTimer = localtime; etharp_tmr(); }#ifdef USE_DHCP /* Fine DHCP periodic process every 500ms */ if (localtime - DHCPfineTimer >= DHCP_FINE_TIMER_MSECS) { DHCPfineTimer = localtime; dhcp_fine_tmr(); if ((DHCP_state != DHCP_ADDRESS_ASSIGNED)&&(DHCP_state != DHCP_TIMEOUT)) { /* process DHCP state machine */ LwIP_DHCP_Process_Handle(); } } /* DHCP Coarse periodic process every 60s */ if (localtime - DHCPcoarseTimer >= DHCP_COARSE_TIMER_MSECS) { DHCPcoarseTimer = localtime; dhcp_coarse_tmr(); }#endif}
开发者ID:yallawalla,项目名称:stm32,代码行数:40,
示例5: LWIP_Polling//LWIP查询void LWIP_Polling(void){ // if(timer_expired(&input_time,5)) //接收包,周期处理函数 // { ethernetif_input(&enc28j60_netif); // } if(timer_expired(&last_tcp_time,TCP_TMR_INTERVAL/CLOCKTICKS_PER_MS))//TCP处理定时器处理函数 { tcp_tmr(); } if(timer_expired(&last_arp_time,ARP_TMR_INTERVAL/CLOCKTICKS_PER_MS))//ARP处理定时器 { etharp_tmr(); } if(timer_expired(&last_ipreass_time,IP_TMR_INTERVAL/CLOCKTICKS_PER_MS)){ //IP重新组装定时器 ip_reass_tmr(); } #if LWIP_DHCP>0 if(timer_expired(&last_dhcp_fine_time,DHCP_FINE_TIMER_MSECS/CLOCKTICKS_PER_MS)) { dhcp_fine_tmr(); } if(timer_expired(&last_dhcp_coarse_time,DHCP_COARSE_TIMER_MSECS/CLOCKTICKS_PER_MS)) { dhcp_coarse_tmr(); } #endif }
开发者ID:matao1314,项目名称:STM32_lwIP,代码行数:30,
示例6: Timerstatic voidTimer(void* pvArg){ //TCP timer. tcp_tmr(); //ARP timer. iTimerARP+=TCP_TMR_INTERVAL; if (iTimerARP>=ARP_TMR_INTERVAL) { iTimerARP-=ARP_TMR_INTERVAL; etharp_tmr(); } #if defined(PS2IP_DHCP) //DHCP timer. iTimerDHCP+=TCP_TMR_INTERVAL; if ((iTimerDHCP-TCP_TMR_INTERVAL)/DHCP_FINE_TIMER_MSECS!=iTimerDHCP/DHCP_FINE_TIMER_MSECS) { dhcp_fine_tmr(); } if (iTimerDHCP>=DHCP_COARSE_TIMER_SECS*1000) { iTimerDHCP-=DHCP_COARSE_TIMER_SECS*1000; dhcp_coarse_tmr(); }#endif}
开发者ID:AzagraMac,项目名称:PS2_SDK,代码行数:34,
示例7: task_lwipvoid task_lwip(void){ if(HWREGBITW(&g_ulFlags, FLAG_SYSTICK) == 1) { HWREGBITW(&g_ulFlags, FLAG_SYSTICK) = 0; if( (g_ulTickCounter - last_arp_time) * TICK_MS >= ARP_TMR_INTERVAL) { etharp_tmr(); last_arp_time = g_ulTickCounter; } if( (g_ulTickCounter - last_tcp_time) * TICK_MS >= TCP_TMR_INTERVAL) { tcp_tmr(); last_tcp_time = g_ulTickCounter; } if( (g_ulTickCounter - last_dhcp_coarse_time) * TICK_MS >= DHCP_COARSE_TIMER_MSECS) { dhcp_coarse_tmr(); last_dhcp_coarse_time = g_ulTickCounter; } if( (g_ulTickCounter - last_dhcp_fine_time) * TICK_MS >= DHCP_FINE_TIMER_MSECS) { dhcp_fine_tmr(); last_dhcp_fine_time = g_ulTickCounter; } }}
开发者ID:brians444,项目名称:tiva-ads1246-lwip,代码行数:28,
示例8: TimerThreadstatic void TimerThread(void* pvArg){ while (1) { //TCP timer. tcp_tmr(); //ARP timer. iTimerARP+=TCP_TMR_INTERVAL; if (iTimerARP>=ARP_TMR_INTERVAL) { iTimerARP-=ARP_TMR_INTERVAL; etharp_tmr(); }#if defined(PS2IP_DHCP) //DHCP timer. iTimerDHCP+=TCP_TMR_INTERVAL; if ((iTimerDHCP-TCP_TMR_INTERVAL)/DHCP_FINE_TIMER_MSECS!=iTimerDHCP/DHCP_FINE_TIMER_MSECS) { dhcp_fine_tmr(); } if (iTimerDHCP>=DHCP_COARSE_TIMER_SECS*1000) { iTimerDHCP-=DHCP_COARSE_TIMER_SECS*1000; dhcp_coarse_tmr(); }#endif DelayThread(TCP_TMR_INTERVAL*250); /* Note: The IOP's DelayThread() function isn't accurate, and the actual timming accuracy is about 25% of the specified value. */ }}
开发者ID:ylyking,项目名称:ps2sdk,代码行数:35,
示例9: tcp_timer_coarsestatic void ICACHE_FLASH_ATTRtcp_timer_coarse(void *arg){ LWIP_UNUSED_ARG(arg); LWIP_DEBUGF(TIMERS_DEBUG, ("tcpip: tcp_tmr()/n")); tcp_tmr(); sys_timeout(TCP_TMR_INTERVAL, tcp_timer_coarse, NULL);}
开发者ID:2bright,项目名称:mongoose-iot,代码行数:8,
示例10: SysTick_Handler/**************************************************************************//** * @brief SysTick_Handler * Interrupt Service Routine for system tick counter. *****************************************************************************/void SysTick_Handler(void){ ++g_ulLocalTimer; ++tick_count; /*Service the host timer.*/#if HOST_TMR_INTERVAL if ((g_ulLocalTimer - g_ulHostTimer) >= HOST_TMR_INTERVAL) { g_ulHostTimer = g_ulLocalTimer; }#endif /* Service the ARP timer.*/#if LWIP_ARP if ((g_ulLocalTimer - g_ulARPTimer) >= ARP_TMR_INTERVAL) { g_ulARPTimer = g_ulLocalTimer; etharp_tmr(); }#endif /* Service the TCP timer.*/ if ((g_ulLocalTimer - g_ulTCPTimer) >= TCP_TMR_INTERVAL) { g_ulTCPTimer = g_ulLocalTimer; tcp_tmr(); } /* Service the AutoIP timer.*/#if LWIP_AUTOIP if ((g_ulLocalTimer - g_ulAutoIPTimer) >= AUTOIP_TMR_INTERVAL) { g_ulAutoIPTimer = g_ulLocalTimer; autoip_tmr(); }#endif /* Service the DCHP Coarse Timer. */#if LWIP_DHCP if ((g_ulLocalTimer - g_ulDHCPCoarseTimer) >= DHCP_COARSE_TIMER_MSECS) { g_ulDHCPCoarseTimer = g_ulLocalTimer; dhcp_coarse_tmr(); }#endif /* Service the DCHP Fine Timer.*/#if LWIP_DHCP if ((g_ulLocalTimer - g_ulDHCPFineTimer) >= DHCP_FINE_TIMER_MSECS) { g_ulDHCPFineTimer = g_ulLocalTimer; dhcp_fine_tmr(); }#endif}
开发者ID:AndreMiras,项目名称:EFM32-Library,代码行数:60,
示例11: tcpip_tcp_timer/*-----------------------------------------------------------------------------------*/static voidtcpip_tcp_timer(void *arg){ (void)arg; tcp_tmr(); if (tcp_active_pcbs || tcp_tw_pcbs) { sys_timeout(TCP_TMR_INTERVAL, tcpip_tcp_timer, NULL); } else { tcpip_tcp_timer_active = 0; }}
开发者ID:foreverlikeyou9999,项目名称:kos-ports,代码行数:13,
示例12: tcpip_tcp_timer/** * Timer callback function that calls tcp_tmr() and reschedules itself. * * @param arg unused argument */static voidtcpip_tcp_timer(void){ /* call TCP timer handler */ tcp_tmr(); /* timer still needed? */ if (!tcp_active_pcbs && !tcp_tw_pcbs) { /* disable timer */ event_del(tcp_ev); tcpip_tcp_timer_active = 0; }}
开发者ID:ztuowen,项目名称:tunsocks,代码行数:17,
示例13: tcpip_tcp_timer/** * Timer callback function that calls tcp_tmr() and reschedules itself. * * @param arg unused argument */static void tcpip_tcp_timer(void *arg){ LWIP_UNUSED_ARG(arg); /* call TCP timer handler */ tcp_tmr(); /* timer still needed? */ if (tcp_active_pcbs || tcp_tw_pcbs) { /* restart timer */ sys_timeout(TCP_TMR_INTERVAL, tcpip_tcp_timer, NULL); } else { /* disable timer */ tcpip_tcp_timer_active = 0; }}
开发者ID:BuFran,项目名称:canshark,代码行数:20,
示例14: tcpip_tcp_timer/** * Timer callback function that calls tcp_tmr() and reschedules itself. * * @param arg unused argument */static void tcpip_tcp_timer(struct alarm_waiter *aw) { /* call TCP timer handler */ tcp_tmr(); if (aw == NULL) { // need to allocate a fresh waiter } /* timer still needed? */ if (tcp_active_pcbs || tcp_tw_pcbs) { struct timer_chain *tchain = &per_cpu_info[core_id()].tchain; set_awaiter_rel(aw, TCP_TMR_INTERVAL); set_alarm(tchain, aw); tcpip_tcp_timer_active = true; } else { /* disable timer */ tcpip_tcp_timer_active = false; }}
开发者ID:ajbetteridge,项目名称:akaros,代码行数:22,
示例15: poll_networkingvoid poll_networking(void){ uint64_t now; if (!netif) return; /* poll interface */ netfrontif_poll(netif, LWIP_NETIF_MAX_RXBURST_LEN); /* process lwIP timers */ now = NSEC_TO_MSEC(NOW()); TIMED(now, ts_etharp, ARP_TMR_INTERVAL, etharp_tmr()); TIMED(now, ts_ipreass, IP_TMR_INTERVAL, ip_reass_tmr()); TIMED(now, ts_tcp, TCP_TMR_INTERVAL, tcp_tmr()); TIMED(now, ts_dns, DNS_TMR_INTERVAL, dns_tmr());}
开发者ID:cnplab,项目名称:mini-os,代码行数:17,
示例16: LwIP_Periodic_Handle/* * 函数名:LwIP_Periodic_Handle * 描述 :lwip协议栈要求周期调用一些函数 tcp_tmr etharp_tmr dhcp_fine_tmr dhcp_coarse_tmr * 输入 :无 * 输出 : 无 * 调用 :外部调用 */void LwIP_Periodic_Handle(__IO uint32_t localtime){ //err_t err; if(localtime - INPUT_Timer >= INPUT_TMR_INTERVAL) { /* Read a received packet from the Ethernet buffers and send it to the lwIP for handling */ ethernetif_input(&enc28j60); //轮询是否接收到数据 // err = ethernetif_input(&enc28j60); //轮询是否接收到数据 // if (err !=ERR_OK ) // { // // // } } /* TCP periodic process every 250 ms */ if (localtime - TCPTimer >= TCP_TMR_INTERVAL) { TCPTimer = localtime; tcp_tmr(); //每250ms调用一次 } /* ARP periodic process every 5s */ if (localtime - ARPTimer >= ARP_TMR_INTERVAL) { ARPTimer = localtime; etharp_tmr(); //每5s调用一次 }#if LWIP_DHCP /* Fine DHCP periodic process every 500ms */ if (localtime - DHCPfineTimer >= DHCP_FINE_TIMER_MSECS) { DHCPfineTimer = localtime; dhcp_fine_tmr(); } /* DHCP Coarse periodic process every 60s */ if (localtime - DHCPcoarseTimer >= DHCP_COARSE_TIMER_MSECS) { DHCPcoarseTimer = localtime; dhcp_coarse_tmr(); }#endif}
开发者ID:ChijunShen,项目名称:wildfire_stm32_iso,代码行数:54,
示例17: s_ipal_sys_timers_tickstatic void s_ipal_sys_timers_tick(void){#ifdef IPAL_USE_TCP /* TCP periodic process every 250 ms */ if (ipal_sys_localtime - s_ipal_sys_timerstamps.tcp_tmr.value >= s_ipal_sys_timerstamps.tcp_tmr.numofticks) //TCP_TMR_INTERVAL is expressed in millisec { s_ipal_sys_timerstamps.tcp_tmr.value = ipal_sys_localtime; tcp_tmr(); }#endif /* ARP periodic process every 5s */ if ((ipal_sys_localtime - s_ipal_sys_timerstamps.arp_tmr.value) >= s_ipal_sys_timerstamps.arp_tmr.numofticks) // ARP_TMR_INTERVAL is expressed in millisec { s_ipal_sys_timerstamps.arp_tmr.value = ipal_sys_localtime; etharp_tmr(); }}
开发者ID:Tarintote,项目名称:icub-firmware,代码行数:18,
示例18: initstatic int init(void) { int cnt = 0;#ifdef LWIP_STATS int stats_cnt = 0;#endif lock_static_init(&net_lock); /* printc("netlock id %d/n", net_lock.lock_id); */ NET_LOCK_TAKE(); torlib_init(); net_conn_init(); cos_net_create_netif_thd(); init_lwip(); NET_LOCK_RELEASE(); /* Start the tcp timer */ while (1) { /* Sleep for a quarter of seconds as prescribed by lwip */ NET_LOCK_TAKE(); if (++cnt == 4) {#ifdef TEST_TIMING timing_output();#endif }#ifdef LWIP_STATS if (++stats_cnt == 20) { stats_cnt = 0; stats_display(); }#endif tcp_tmr(); NET_LOCK_RELEASE(); timed_event_block(cos_spd_id(), 25); /* expressed in ticks currently */ /* printc("use timer to tcp debug thread here.../n"); */ cos_mpd_update(); } prints("net: Error -- returning from init!!!"); BUG(); return 0;}
开发者ID:songjiguo,项目名称:C3,代码行数:44,
示例19: net_pollvoid net_poll(void) { u64 now = gettb(); gelicif_input(ð); if ((now - last_arp_time) >= (ARP_TMR_INTERVAL*TICKS_PER_MS)) { etharp_tmr(); last_arp_time = now; }#if LWIP_TCP if ((now - last_tcp_time) >= (TCP_TMR_INTERVAL*TICKS_PER_MS)) { tcp_tmr(); last_tcp_time = now; }#endif if ((now - last_dhcp_coarse_time) >= (DHCP_COARSE_TIMER_SECS*TICKS_PER_SEC)) { dhcp_coarse_tmr(); last_dhcp_coarse_time = now; } if ((now - last_dhcp_fine_time) >= (DHCP_FINE_TIMER_MSECS*TICKS_PER_MS)) { dhcp_fine_tmr(); last_dhcp_fine_time = now; }}
开发者ID:Stadtpirat,项目名称:open-p3go,代码行数:24,
示例20: lwIPServiceTimersstatic voidlwIPServiceTimers(void){ // // Service the MDIX timer. // if((EthernetPHYRead(ETH_BASE, PHY_MR1) & PHY_MR1_LINK) == 0) { // // See if there has not been a link for 2 seconds. // if((g_ulLocalTimer - g_ulMDIXTimer) >= 2000) { // // There has not been a link for 2 seconds, so flip the MDI/MDIX // switch. This is handled automatically by Fury rev A2, but is // harmless. // HWREG(ETH_BASE + MAC_O_MDIX) ^= MAC_MDIX_EN; // // Reset the MDIX timer. // g_ulMDIXTimer = g_ulLocalTimer; } } else { // // There is a link, so reset the MDIX timer. // g_ulMDIXTimer = g_ulLocalTimer; } // // Service the host timer. //#if HOST_TMR_INTERVAL if((g_ulLocalTimer - g_ulHostTimer) >= HOST_TMR_INTERVAL) { g_ulHostTimer = g_ulLocalTimer; lwIPHostTimerHandler(); }#endif // // Service the ARP timer. //#if LWIP_ARP if((g_ulLocalTimer - g_ulARPTimer) >= ARP_TMR_INTERVAL) { g_ulARPTimer = g_ulLocalTimer; etharp_tmr(); }#endif // // Service the TCP timer. //#if LWIP_TCP if((g_ulLocalTimer - g_ulTCPTimer) >= TCP_TMR_INTERVAL) { g_ulTCPTimer = g_ulLocalTimer; tcp_tmr(); }#endif // // Service the AutoIP timer. //#if LWIP_AUTOIP if((g_ulLocalTimer - g_ulAutoIPTimer) >= AUTOIP_TMR_INTERVAL) { g_ulAutoIPTimer = g_ulLocalTimer; autoip_tmr(); }#endif // // Service the DCHP Coarse Timer. //#if LWIP_DHCP if((g_ulLocalTimer - g_ulDHCPCoarseTimer) >= DHCP_COARSE_TIMER_MSECS) { g_ulDHCPCoarseTimer = g_ulLocalTimer; dhcp_coarse_tmr(); }#endif // // Service the DCHP Fine Timer. //#if LWIP_DHCP if((g_ulLocalTimer - g_ulDHCPFineTimer) >= DHCP_FINE_TIMER_MSECS) { g_ulDHCPFineTimer = g_ulLocalTimer; dhcp_fine_tmr(); }#endif//.........这里部分代码省略.........
开发者ID:bahadir89,项目名称:freertos-networked-arm-cortex-m3,代码行数:101,
示例21: lwIPServiceTimers//*****************************************************************************////! Service the lwIP timers.//!//! This function services all of the lwIP periodic timers, including TCP and//! Host timers. This should be called from the lwIP context, which may be//! the Ethernet interrupt (in the case of a non-RTOS system) or the lwIP//! thread, in the event that an RTOS is used.//!//! /return None.////*****************************************************************************static void lwIPServiceTimers(struct netif *netif){ LWIP_DRIVER_DATA* drv_data = (LWIP_DRIVER_DATA*)netif; MAC_Type* mac = (MAC_Type*)netif->state; // // Service the MDIX timer. // if(drv_data->timer_main > drv_data->timer_mdix) { // // See if there has not been a link for 2 seconds. // if((EthernetPHYRead(mac, PHY_MR1) & PHY_MR1_LINK) == 0) { // There has not been a link for 2 seconds, so flip the MDI/MDIX // switch. This is handled automatically by Fury rev A2, but is // harmless. // mac->MDIX ^= MAC_MDIX_EN; if (netif->flags & NETIF_FLAG_LINK_UP) {#if LWIP_DHCP autoip_stop(netif); dhcp_start(netif);#endif netif_set_link_down(netif); } } else netif_set_link_up(netif); // // Reset the MDIX timer. // drv_data->timer_mdix = drv_data->timer_main + 2048; } // // Service the host timer. //#if HOST_TMR_INTERVAL if(drv_data->timer_main > drv_data->timer_host ) { drv_data->timer_host = drv_data->timer_main + HOST_TMR_INTERVAL; lwIPHostTimerHandler(); }#endif // // Service the ARP timer. //#if LWIP_ARP if(drv_data->timer_main > drv_data->timer_arp) { drv_data->timer_arp = drv_data->timer_main + ARP_TMR_INTERVAL; etharp_tmr(); }#endif // // Service the TCP timer. //#if LWIP_TCP if(drv_data->timer_main > drv_data->timer_tcp) { drv_data->timer_tcp = drv_data->timer_main + TCP_TMR_INTERVAL; tcp_tmr(); }#endif // // Service the AutoIP timer. //#if LWIP_AUTOIP if(drv_data->timer_main - drv_data->timer_autoIP) { drv_data->timer_autoIP = drv_data->timer_main + AUTOIP_TMR_INTERVAL; autoip_tmr(); }#endif // // Service the DCHP Coarse Timer. //#if LWIP_DHCP if(drv_data->timer_main > drv_data->timer_DHCPCoarse) { drv_data->timer_DHCPCoarse = drv_data->timer_main + DHCP_COARSE_TIMER_MSECS; dhcp_coarse_tmr();//.........这里部分代码省略.........
开发者ID:bratkov,项目名称:tmos,代码行数:101,
示例22: tcp_tmr_cbstatic voidtcp_tmr_cb(void *ctx){ tcp_tmr();}
开发者ID:drbokko,项目名称:86Duino,代码行数:5,
示例23: LwIPMgr_running/*..........................................................................*/QState LwIPMgr_running(LwIPMgr *me, QEvt const *e) { switch (e->sig) { case Q_ENTRY_SIG: {#if (LWIP_DHCP != 0) dhcp_start(me->netif); /* start DHCP if configured */ /* NOTE: If LWIP_AUTOIP is configured in lwipopts.h and * LWIP_DHCP_AUTOIP_COOP is set as well, the DHCP process will * start AutoIP after DHCP fails for 59 seconds. */#elif (LWIP_AUTOIP != 0) autoip_start(me->netif); /* start AutoIP if configured */#endif QTimeEvt_postEvery(&me->te_LWIP_SLOW_TICK, (QActive *)me, (LWIP_SLOW_TICK_MS * BSP_TICKS_PER_SEC) / 1000U); return Q_HANDLED(); } case Q_EXIT_SIG: { QTimeEvt_disarm(&me->te_LWIP_SLOW_TICK); return Q_HANDLED(); } case SEND_UDP_SIG: { if (me->upcb->remote_port != 0U) { struct pbuf *p = pbuf_new((u8_t *)((TextEvt const *)e)->text, strlen(((TextEvt const *)e)->text) + 1U); if (p != (struct pbuf *)0) { udp_send(me->upcb, p); pbuf_free(p); /* don't leak the pbuf! */ } } return Q_HANDLED(); } case LWIP_RX_READY_SIG: { eth_driver_read(); return Q_HANDLED(); } case LWIP_TX_READY_SIG: { eth_driver_write(); return Q_HANDLED(); } case LWIP_SLOW_TICK_SIG: { /* has IP address changed? */ if (me->ip_addr != me->netif->ip_addr.addr) { me->ip_addr = me->netif->ip_addr.addr; /* save the IP addr. */ BSP_displyIP(ntohl(me->ip_addr)); }#if LWIP_TCP me->tcp_tmr += LWIP_SLOW_TICK_MS; if (me->tcp_tmr >= TCP_TMR_INTERVAL) { me->tcp_tmr = 0; tcp_tmr(); }#endif#if LWIP_ARP me->arp_tmr += LWIP_SLOW_TICK_MS; if (me->arp_tmr >= ARP_TMR_INTERVAL) { me->arp_tmr = 0; etharp_tmr(); }#endif#if LWIP_DHCP me->dhcp_fine_tmr += LWIP_SLOW_TICK_MS; if (me->dhcp_fine_tmr >= DHCP_FINE_TIMER_MSECS) { me->dhcp_fine_tmr = 0; dhcp_fine_tmr(); } me->dhcp_coarse_tmr += LWIP_SLOW_TICK_MS; if (me->dhcp_coarse_tmr >= DHCP_COARSE_TIMER_MSECS) { me->dhcp_coarse_tmr = 0; dhcp_coarse_tmr(); }#endif#if LWIP_AUTOIP me->auto_ip_tmr += LWIP_SLOW_TICK_MS; if (me->auto_ip_tmr >= AUTOIP_TMR_INTERVAL) { me->auto_ip_tmr = 0; autoip_tmr(); }#endif return Q_HANDLED(); } case LWIP_RX_OVERRUN_SIG: { LINK_STATS_INC(link.err); return Q_HANDLED(); } } return Q_SUPER(&QHsm_top);}
开发者ID:SmartCocktailFactory,项目名称:QP_LWIP_STM32F2xx_eth_DPP_Example,代码行数:91,
示例24: maintask/*-----------------------------------------------------------------------------------*/void maintask(void){ struct phybusif_cb *cb; CLKBLK ks_clk *tmr; u8_t bt_timer = 0; u16_t http_timer = 0; u16_t dma0bsz = TCR0+1; /* DMA 0 Buf size */ u8_t bt_ip_timer = 0; mem_init(); memp_init(); pbuf_init(); netif_init(); ip_init(); tcp_init(); sio_print("TCP/IP initialized./n"); lwbt_memp_init(); phybusif_init(); if(hci_init() != ERR_OK) { sio_print("HCI initialization failed!"); } l2cap_init(); sdp_init(); rfcomm_init(); ppp_init(); sio_print("Bluetooth initialized./n"); httpd_init(); sio_print("Applications started./n"); cb = mem_malloc(sizeof(struct phybusif_cb)); cb->dmabuf = get_dm0ichars(); phybusif_reset(cb); tmr = KS_alloc_timer(); if(tmr == 0) { sio_print("tmr==0!/n"); } KS_start_timer(tmr, (TICKS)0, (TICKS)100/CLKTICK, TIMERSEM); /* TCP timer ticks every 100ms */ /* Reset Bluetooth module */ PD7.0 = 1; /* Enable output */ sio_print("Reseting BT module/n"); P7.0 = 1; /* Stop reset */ KS_delay(SELFTASK,(TICKS)4000/CLKTICK); /* Wait for bluetooth module to init */ /* Control application initialisation */ bt_ip_start(); while(1) { dma_input(cb, dma0bsz); /* Check for input */ /* Handle timers */ if(KS_inqsema(TIMERSEM) == SEMA_DONE) { KS_wait(TIMERSEM); tcp_tmr(); ++bt_timer; if(bt_timer == 10) { l2cap_tmr(); rfcomm_tmr(); ppp_tmr(); bt_timer = 0; ++bt_ip_timer; if(bt_ip_timer == 240) { bt_ip_tmr(); bt_ip_timer = 0; } } } }}
开发者ID:1847123212,项目名称:lwBT,代码行数:77,
示例25: lwIPServiceTimersvoid lwIPServiceTimers(void){ // // Service the host timer. //#if HOST_TMR_INTERVAL if((g_ulLocalTimer - g_ulHostTimer) >= HOST_TMR_INTERVAL) { g_ulHostTimer = g_ulLocalTimer; lwIPHostTimerHandler(); }#endif // // Service the ARP timer. //#if LWIP_ARP if((g_ulLocalTimer - g_ulARPTimer) >= ARP_TMR_INTERVAL) { g_ulARPTimer = g_ulLocalTimer; etharp_tmr(); }#endif // // Service the TCP timer. // if((g_ulLocalTimer - g_ulTCPTimer) >= TCP_TMR_INTERVAL) { g_ulTCPTimer = g_ulLocalTimer; tcp_tmr(); } // // Service the AutoIP timer. //#if LWIP_AUTOIP if((g_ulLocalTimer - g_ulAutoIPTimer) >= AUTOIP_TMR_INTERVAL) { g_ulAutoIPTimer = g_ulLocalTimer; autoip_tmr(); }#endif // // Service the DCHP Coarse Timer. //#if LWIP_DHCP if((g_ulLocalTimer - g_ulDHCPCoarseTimer) >= DHCP_COARSE_TIMER_MSECS) { g_ulDHCPCoarseTimer = g_ulLocalTimer; dhcp_coarse_tmr(); }#endif // // Service the DCHP Fine Timer. //#if LWIP_DHCP if((g_ulLocalTimer - g_ulDHCPFineTimer) >= DHCP_FINE_TIMER_MSECS) { g_ulDHCPFineTimer = g_ulLocalTimer; dhcp_fine_tmr(); }#endif}
开发者ID:Pidbip,项目名称:lwip-avr,代码行数:66,
示例26: tcpip_tcp_timer/*-----------------------------------------------------------------------------------*/static voidtcpip_tcp_timer(void *arg){ tcp_tmr(); sys_timeout(TCP_TMR_INTERVAL, (sys_timeout_handler)tcpip_tcp_timer, NULL);}
开发者ID:1573472562,项目名称:netfpga,代码行数:7,
示例27: lwIPServiceTimersstatic voidlwIPServiceTimers(void){ // // Service the host timer. //#if HOST_TMR_INTERVAL if((g_ui32LocalTimer - g_ui32HostTimer) >= HOST_TMR_INTERVAL) { g_ui32HostTimer = g_ui32LocalTimer; lwIPHostTimerHandler(); }#endif // // Service the ARP timer. //#if LWIP_ARP if((g_ui32LocalTimer - g_ui32ARPTimer) >= ARP_TMR_INTERVAL) { g_ui32ARPTimer = g_ui32LocalTimer; etharp_tmr(); }#endif // // Service the TCP timer. //#if LWIP_TCP if((g_ui32LocalTimer - g_ui32TCPTimer) >= TCP_TMR_INTERVAL) { g_ui32TCPTimer = g_ui32LocalTimer; tcp_tmr(); }#endif // // Service the AutoIP timer. //#if LWIP_AUTOIP if((g_ui32LocalTimer - g_ui32AutoIPTimer) >= AUTOIP_TMR_INTERVAL) { g_ui32AutoIPTimer = g_ui32LocalTimer; autoip_tmr(); }#endif // // Service the DCHP Coarse Timer. //#if LWIP_DHCP if((g_ui32LocalTimer - g_ui32DHCPCoarseTimer) >= DHCP_COARSE_TIMER_MSECS) { g_ui32DHCPCoarseTimer = g_ui32LocalTimer; dhcp_coarse_tmr(); }#endif // // Service the DCHP Fine Timer. //#if LWIP_DHCP if((g_ui32LocalTimer - g_ui32DHCPFineTimer) >= DHCP_FINE_TIMER_MSECS) { g_ui32DHCPFineTimer = g_ui32LocalTimer; dhcp_fine_tmr(); }#endif // // Service the IP Reassembly Timer //#if IP_REASSEMBLY if((g_ui32LocalTimer - g_ui32IPReassemblyTimer) >= IP_TMR_INTERVAL) { g_ui32IPReassemblyTimer = g_ui32LocalTimer; ip_reass_tmr(); }#endif // // Service the IGMP Timer //#if LWIP_IGMP if((g_ui32LocalTimer - g_ui32IGMPTimer) >= IGMP_TMR_INTERVAL) { g_ui32IGMPTimer = g_ui32LocalTimer; igmp_tmr(); }#endif // // Service the DNS Timer //#if LWIP_DNS if((g_ui32LocalTimer - g_ui32DNSTimer) >= DNS_TMR_INTERVAL) { g_ui32DNSTimer = g_ui32LocalTimer; dns_tmr(); }//.........这里部分代码省略.........
开发者ID:GuillaumeGalasso,项目名称:Embedded_Systems--Shape_The_World,代码行数:101,
示例28: LwIPMgr_running/*..........................................................................*/QState LwIPMgr_running(LwIPMgr *me, QEvent const *e) { switch (e->sig) { case Q_ENTRY_SIG: { QTimeEvt_postEvery(&me->te_LWIP_SLOW_TICK, (QActive *)me, (LWIP_SLOW_TICK_MS * BSP_TICKS_PER_SEC) / 1000); return Q_HANDLED(); } case Q_EXIT_SIG: { QTimeEvt_disarm(&me->te_LWIP_SLOW_TICK); return Q_HANDLED(); } case SEND_UDP_SIG: { if (me->upcb->remote_port != (uint16_t)0) { struct pbuf *p = pbuf_new((u8_t *)((TextEvt const *)e)->text, strlen(((TextEvt const *)e)->text) + 1); if (p != (struct pbuf *)0) { udp_send(me->upcb, p); printf("Sent: %s/n", ((TextEvt const *)e)->text); pbuf_free(p); /* don't leak the pbuf! */ } } return Q_HANDLED(); } case LWIP_RX_READY_SIG: { eth_driver_read(); return Q_HANDLED(); } case LWIP_TX_READY_SIG: { eth_driver_write(); return Q_HANDLED(); } case LWIP_SLOW_TICK_SIG: { /* has IP address changed? */ if (me->ip_addr != me->netif->ip_addr.addr) { TextEvt *te; uint32_t ip_net; /* IP address in the network byte order */ me->ip_addr = me->netif->ip_addr.addr; /* save the IP addr. */ ip_net = ntohl(me->ip_addr); /* publish the text event to display the new IP address */ te = Q_NEW(TextEvt, DISPLAY_IPADDR_SIG); snprintf(te->text, Q_DIM(te->text), "%d.%d.%d.%d", ((ip_net) >> 24) & 0xFF, ((ip_net) >> 16) & 0xFF, ((ip_net) >> 8) & 0xFF, ip_net & 0xFF); QF_PUBLISH((QEvent *)te, me); }#if LWIP_TCP me->tcp_tmr += LWIP_SLOW_TICK_MS; if (me->tcp_tmr >= TCP_TMR_INTERVAL) { me->tcp_tmr = 0; tcp_tmr(); }#endif#if LWIP_ARP me->arp_tmr += LWIP_SLOW_TICK_MS; if (me->arp_tmr >= ARP_TMR_INTERVAL) { me->arp_tmr = 0; etharp_tmr(); }#endif#if LWIP_DHCP me->dhcp_fine_tmr += LWIP_SLOW_TICK_MS; if (me->dhcp_fine_tmr >= DHCP_FINE_TIMER_MSECS) { me->dhcp_fine_tmr = 0; dhcp_fine_tmr(); } me->dhcp_coarse_tmr += LWIP_SLOW_TICK_MS; if (me->dhcp_coarse_tmr >= DHCP_COARSE_TIMER_MSECS) { me->dhcp_coarse_tmr = 0; dhcp_coarse_tmr(); }#endif#if LWIP_AUTOIP me->auto_ip_tmr += LWIP_SLOW_TICK_MS; if (me->auto_ip_tmr >= AUTOIP_TMR_INTERVAL) { me->auto_ip_tmr = 0; autoip_tmr(); }#endif return Q_HANDLED(); } case LWIP_RX_OVERRUN_SIG: { LINK_STATS_INC(link.err); return Q_HANDLED(); } }
开发者ID:SmartCocktailFactory,项目名称:QP_LWIP_STM32F2xx_eth_DPP_Example,代码行数:92,
示例29: call_tcp_tmrstatic void call_tcp_tmr(void){ lwip_mutex_lock(); tcp_tmr(); lwip_mutex_unlock();}
开发者ID:Karamax,项目名称:arrakis,代码行数:6,
示例30: main//.........这里部分代码省略......... when we have proper SET & non-volatile mem */ snmpauthentraps_set = 1; ipaddr_aton(optarg, &trap_addr); strncpy(ip_str, ipaddr_ntoa(&trap_addr),sizeof(ip_str)); printf("SNMP trap destination %s/n", ip_str); break; default: usage(); break; } } argc -= optind; argv += optind; strncpy(ip_str, ipaddr_ntoa(&ipaddr), sizeof(ip_str)); strncpy(nm_str, ipaddr_ntoa(&netmask), sizeof(nm_str)); strncpy(gw_str, ipaddr_ntoa(&gw), sizeof(gw_str)); printf("Host at %s mask %s gateway %s/n", ip_str, nm_str, gw_str);#ifdef PERF perf_init("/tmp/minimal.perf");#endif /* PERF */ lwip_init(); printf("TCP/IP initialized./n"); netif_add(&netif, &ipaddr, &netmask, &gw, NULL, mintapif_init, ethernet_input); netif_set_default(&netif); netif_set_up(&netif);#if SNMP_PRIVATE_MIB != 0 /* initialize our private example MIB */ lwip_privmib_init();#endif snmp_trap_dst_ip_set(0,&trap_addr); snmp_trap_dst_enable(0,trap_flag); snmp_set_syscontact(syscontact_str,&syscontact_len); snmp_set_syslocation(syslocation_str,&syslocation_len); snmp_set_snmpenableauthentraps(&snmpauthentraps_set); snmp_init(); echo_init(); timer_init(); timer_set_interval(TIMER_EVT_ETHARPTMR, ARP_TMR_INTERVAL / 10); timer_set_interval(TIMER_EVT_TCPTMR, TCP_TMR_INTERVAL / 10);#if IP_REASSEMBLY timer_set_interval(TIMER_EVT_IPREASSTMR, IP_TMR_INTERVAL / 10);#endif printf("Applications started./n"); while (1) { /* poll for input packet and ensure select() or read() arn't interrupted */ sigemptyset(&mask); sigaddset(&mask, SIGALRM); sigprocmask(SIG_BLOCK, &mask, &oldmask); /* start of critical section, poll netif, pass packet to lwIP */ if (mintapif_select(&netif) > 0) { /* work, immediatly end critical section hoping lwIP ended quickly ... */ sigprocmask(SIG_SETMASK, &oldmask, NULL); } else { /* no work, wait a little (10 msec) for SIGALRM */ sigemptyset(&empty); sigsuspend(&empty); /* ... end critical section */ sigprocmask(SIG_SETMASK, &oldmask, NULL); } if(timer_testclr_evt(TIMER_EVT_TCPTMR)) { tcp_tmr(); }#if IP_REASSEMBLY if(timer_testclr_evt(TIMER_EVT_IPREASSTMR)) { ip_reass_tmr(); }#endif if(timer_testclr_evt(TIMER_EVT_ETHARPTMR)) { etharp_tmr(); } } return 0;}
开发者ID:10code,项目名称:lwip,代码行数:101,
注:本文中的tcp_tmr函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ tcp_write函数代码示例 C++ tcp_sent函数代码示例 |