mirror of
https://github.com/EttusResearch/uhd.git
synced 2026-10-25 17:36:10 +00:00
* OctoClock can communicate with UHD over Ethernet * Can read NMEA strings from GPSDO and send to host * Added multi_usrp_clock class for clock devices * uhd::device can now filter to return only USRP devices or clock devices * New OctoClock bootloader can accept firmware download over Ethernet * Added octoclock_burn_eeprom,octoclock_firmware_burner utilities * Added test_clock_synch example to show clock API
197 lines
5.6 KiB
C++
197 lines
5.6 KiB
C++
/* -*- c++ -*- */
|
|
/*
|
|
* Copyright 2009 Free Software Foundation, Inc.
|
|
*
|
|
* This file is part of GNU Radio
|
|
*
|
|
* GNU Radio is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 3, or (at your option)
|
|
* any later version.
|
|
*
|
|
* GNU Radio is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License along
|
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
*/
|
|
|
|
/*
|
|
* Our lwip options
|
|
*/
|
|
|
|
#define NO_SYS 1
|
|
|
|
|
|
// ---------- Memory options ----------
|
|
/**
|
|
* MEM_ALIGNMENT: should be set to the alignment of the CPU
|
|
* 4 byte alignment -> #define MEM_ALIGNMENT 4
|
|
* 2 byte alignment -> #define MEM_ALIGNMENT 2
|
|
*/
|
|
#define MEM_ALIGNMENT 4
|
|
|
|
/**
|
|
* MEM_SIZE: the size of the heap memory. If the application will send
|
|
* a lot of data that needs to be copied, this should be set high.
|
|
*/
|
|
#define MEM_SIZE 256
|
|
|
|
/**
|
|
* MEM_USE_POOLS==1: Use an alternative to malloc() by allocating from a set
|
|
* of memory pools of various sizes. When mem_malloc is called, an element of
|
|
* the smallest pool that can provide the lenght needed is returned.
|
|
*/
|
|
#define MEM_USE_POOLS 0
|
|
|
|
/**
|
|
* MEMP_USE_CUSTOM_POOLS==1: whether to include a user file lwippools.h
|
|
* that defines additional pools beyond the "standard" ones required
|
|
* by lwIP. If you set this to 1, you must have lwippools.h in your
|
|
* inlude path somewhere.
|
|
*/
|
|
#define MEMP_USE_CUSTOM_POOLS 0
|
|
|
|
// ---------- Internal Memory Pool Sizes ----------
|
|
/**
|
|
* MEMP_NUM_PBUF: the number of memp struct pbufs (used for PBUF_ROM and PBUF_REF).
|
|
* If the application sends a lot of data out of ROM (or other static memory),
|
|
* this should be set high.
|
|
*/
|
|
#define MEMP_NUM_PBUF 8
|
|
|
|
/**
|
|
* MEMP_NUM_UDP_PCB: the number of UDP protocol control blocks. One
|
|
* per active UDP "connection".
|
|
* (requires the LWIP_UDP option)
|
|
*/
|
|
#define MEMP_NUM_UDP_PCB 4
|
|
|
|
/**
|
|
* PBUF_LINK_HLEN: the number of bytes that should be allocated for a
|
|
* link level header. The default is 14, the standard value for
|
|
* Ethernet.
|
|
*/
|
|
#define PBUF_LINK_HLEN 16
|
|
#define ETH_PAD_SIZE 2
|
|
|
|
/**
|
|
* PBUF_POOL_SIZE: the number of buffers in the pbuf pool.
|
|
*/
|
|
#define PBUF_POOL_SIZE 8
|
|
|
|
/**
|
|
* PBUF_POOL_BUFSIZE: the size of each pbuf in the pbuf pool. The default is
|
|
* designed to accomodate single full size TCP frame in one pbuf, including
|
|
* TCP_MSS, IP header, and link header.
|
|
*/
|
|
//#define PBUF_POOL_BUFSIZE LWIP_MEM_ALIGN_SIZE(TCP_MSS+40+PBUF_LINK_HLEN)
|
|
#define PBUF_POOL_BUFSIZE LWIP_MEM_ALIGN_SIZE(128+28+PBUF_LINK_HLEN)
|
|
|
|
|
|
// ---------- ARP options ----------
|
|
/**
|
|
* ARP_TABLE_SIZE: Number of active MAC-IP address pairs cached.
|
|
*/
|
|
#define ARP_TABLE_SIZE 5
|
|
|
|
/**
|
|
* ARP_QUEUEING==1: Outgoing packets are queued during hardware address
|
|
* resolution.
|
|
*/
|
|
#define ARP_QUEUEING 0
|
|
|
|
/**
|
|
* MEMP_NUM_ARP_QUEUE: the number of simulateously queued outgoing
|
|
* packets (pbufs) that are waiting for an ARP request (to resolve
|
|
* their destination address) to finish.
|
|
* (requires the ARP_QUEUEING option)
|
|
*/
|
|
#define MEMP_NUM_ARP_QUEUE 5
|
|
|
|
// ---------- IP options ----------
|
|
/**
|
|
* IP_OPTIONS_ALLOWED: Defines the behavior for IP options.
|
|
* IP_OPTIONS_ALLOWED==0: All packets with IP options are dropped.
|
|
* IP_OPTIONS_ALLOWED==1: IP options are allowed (but not parsed).
|
|
*/
|
|
#define IP_OPTIONS_ALLOWED 0
|
|
|
|
/**
|
|
* IP_REASSEMBLY==1: Reassemble incoming fragmented IP packets. Note that
|
|
* this option does not affect outgoing packet sizes, which can be controlled
|
|
* via IP_FRAG.
|
|
*/
|
|
#define IP_REASSEMBLY 0
|
|
|
|
/**
|
|
* IP_FRAG==1: Fragment outgoing IP packets if their size exceeds MTU. Note
|
|
* that this option does not affect incoming packet sizes, which can be
|
|
* controlled via IP_REASSEMBLY.
|
|
*/
|
|
#define IP_FRAG 0
|
|
|
|
/**
|
|
* LWIP_DHCP==1: Enable DHCP module.
|
|
*/
|
|
#define LWIP_DHCP 0
|
|
|
|
/**
|
|
* LWIP_IGMP==1: Turn on IGMP module.
|
|
*/
|
|
#define LWIP_IGMP 0
|
|
|
|
/**
|
|
* LWIP_UDP==1: Turn on UDP.
|
|
*/
|
|
#define LWIP_UDP 1
|
|
|
|
/**
|
|
* LWIP_TCP==1: Turn on TCP.
|
|
*/
|
|
#define LWIP_TCP 0
|
|
|
|
/**
|
|
* LWIP_NETCONN==1: Enable Netconn API (require to use api_lib.c)
|
|
*/
|
|
#define LWIP_NETCONN 0
|
|
|
|
/**
|
|
* LWIP_SOCKET==1: Enable Socket API (require to use sockets.c)
|
|
*/
|
|
#define LWIP_SOCKET 0
|
|
|
|
/**
|
|
* LWIP_STATS==1: Enable statistics collection in lwip_stats.
|
|
*/
|
|
#define LWIP_STATS 0
|
|
|
|
/**
|
|
* CHECKSUM_GEN_IP==1: Generate checksums in software for outgoing IP packets.
|
|
*/
|
|
#define CHECKSUM_GEN_IP 0
|
|
|
|
/**
|
|
* CHECKSUM_GEN_UDP==1: Generate checksums in software for outgoing UDP packets.
|
|
*/
|
|
#define CHECKSUM_GEN_UDP 0
|
|
|
|
/**
|
|
* CHECKSUM_CHECK_IP==1: Check checksums in software for incoming IP packets.
|
|
*/
|
|
#define CHECKSUM_CHECK_IP 0
|
|
|
|
/**
|
|
* CHECKSUM_CHECK_UDP==1: Check checksums in software for incoming UDP packets.
|
|
*/
|
|
#define CHECKSUM_CHECK_UDP 0
|
|
|
|
/**
|
|
* LWIP_NETIF_LINK_CALLBACK==1: Support a callback function from an interface
|
|
* whenever the link changes (i.e., link down)
|
|
*/
|
|
#define LWIP_NETIF_LINK_CALLBACK 1
|