mirror of
https://github.com/oliverschmidt/contiki.git
synced 2024-12-22 10:30:13 +00:00
Merge pull request #962 from g-oikonomou/doxy-fixes
Improve doxygen docs across the board
This commit is contained in:
commit
9daf31ee81
@ -31,9 +31,11 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* \file Shell command for downloading files from a remote node.
|
||||
* \file
|
||||
*
|
||||
* Shell command for downloading files from a remote node.
|
||||
* Example usage:
|
||||
* 'download <node addr> <filename> | write <local_filename'.
|
||||
* 'download \<node addr\> \<filename\> | write \<local_filename\>'.
|
||||
*
|
||||
* \author Luca Mottola <luca@sics.se>, Fredrik Osterlind <fros@sics.se>
|
||||
*/
|
||||
|
@ -201,6 +201,7 @@ void ctk_draw_clear_window(struct ctk_window *window,
|
||||
* drawn, in screen coordinates (line 1 is the first line below the
|
||||
* menus)
|
||||
*
|
||||
* \param draw_borders The border style
|
||||
*/
|
||||
void ctk_draw_window(struct ctk_window *window,
|
||||
unsigned char focus,
|
||||
@ -318,7 +319,7 @@ extern unsigned char ctk_draw_windowborder_width,
|
||||
/**
|
||||
* The character used for the Return/Enter key.
|
||||
*
|
||||
* \define #define CH_ENTER '\n'
|
||||
* \#define CH_ENTER '\n'
|
||||
*/
|
||||
|
||||
/**
|
||||
|
@ -77,7 +77,7 @@ unsigned short crc16_add(unsigned char b, unsigned short crc);
|
||||
* \brief Calculate the CRC16 over a data area
|
||||
* \param data Pointer to the data
|
||||
* \param datalen The length of the data
|
||||
* \param crc The accumulated CRC that is to be updated (or zero).
|
||||
* \param acc The accumulated CRC that is to be updated (or zero).
|
||||
* \return The CRC16 checksum.
|
||||
*
|
||||
* This function calculates the CRC16 checksum of a data area.
|
||||
|
@ -142,7 +142,7 @@ int simple_udp_sendto(struct simple_udp_connection *c,
|
||||
* \param data A pointer to the data to be sent
|
||||
* \param datalen The length of the data
|
||||
* \param to The IP address of the receiver
|
||||
* \param port The UDP port of the receiver, in host byte order
|
||||
* \param to_port The UDP port of the receiver, in host byte order
|
||||
*
|
||||
* This function sends a UDP packet to a specified IP
|
||||
* address and UDP port. The packet will be sent with the
|
||||
|
@ -350,7 +350,7 @@ void uip_setipid(uint16_t id);
|
||||
* Periodic processing for a connection identified by its number.
|
||||
*
|
||||
* This function does the necessary periodic processing (timers,
|
||||
* polling) for a uIP TCP conneciton, and should be called when the
|
||||
* polling) for a uIP TCP connection, and should be called when the
|
||||
* periodic uIP timer goes off. It should be called for every
|
||||
* connection, regardless of whether they are open of closed.
|
||||
*
|
||||
@ -393,8 +393,10 @@ void uip_setipid(uint16_t id);
|
||||
uip_process(UIP_TIMER); } while (0)
|
||||
|
||||
/**
|
||||
* Macro to determine whether a specific uIP connection is active
|
||||
*
|
||||
*
|
||||
* \param conn The connection's number
|
||||
* \retval 0 Connection closed
|
||||
*/
|
||||
#define uip_conn_active(conn) (uip_conns[conn].tcpstateflags != UIP_CLOSED)
|
||||
|
||||
@ -489,7 +491,7 @@ void uip_reass_over(void);
|
||||
/**
|
||||
* The uIP packet buffer.
|
||||
*
|
||||
* The uip_buf array is used to hold incoming and outgoing
|
||||
* The uip_aligned_buf array is used to hold incoming and outgoing
|
||||
* packets. The device driver should place incoming data into this
|
||||
* buffer. When sending data, the device driver should read the link
|
||||
* level headers and the TCP/IP headers from this buffer. The size of
|
||||
@ -519,6 +521,8 @@ typedef union {
|
||||
} uip_buf_t;
|
||||
|
||||
CCIF extern uip_buf_t uip_aligned_buf;
|
||||
|
||||
/** Macro to access uip_aligned_buf as an array of bytes */
|
||||
#define uip_buf (uip_aligned_buf.u8)
|
||||
|
||||
|
||||
@ -1097,7 +1101,7 @@ struct uip_udp_conn *uip_udp_new(const uip_ipaddr_t *ripaddr, uint16_t rport);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
/*
|
||||
* Check if an address is a broadcast address for a network.
|
||||
*
|
||||
* Checks if an address is the broadcast address for a network. The
|
||||
@ -2172,7 +2176,7 @@ CCIF extern uip_lladdr_t uip_lladdr;
|
||||
*
|
||||
* See RFC1071.
|
||||
*
|
||||
* \param buf A pointer to the buffer over which the checksum is to be
|
||||
* \param data A pointer to the buffer over which the checksum is to be
|
||||
* computed.
|
||||
*
|
||||
* \param len The length of the buffer over which the checksum is to
|
||||
@ -2180,7 +2184,7 @@ CCIF extern uip_lladdr_t uip_lladdr;
|
||||
*
|
||||
* \return The Internet checksum of the buffer.
|
||||
*/
|
||||
uint16_t uip_chksum(uint16_t *buf, uint16_t len);
|
||||
uint16_t uip_chksum(uint16_t *data, uint16_t len);
|
||||
|
||||
/**
|
||||
* Calculate the IP header checksum of the packet header in uip_buf.
|
||||
|
@ -93,7 +93,7 @@ void uip_add32(uint8_t *op32, uint16_t op16);
|
||||
* \note This function is not called in the current version of uIP,
|
||||
* but future versions might make use of it.
|
||||
*
|
||||
* \param buf A pointer to the buffer over which the checksum is to be
|
||||
* \param data A pointer to the buffer over which the checksum is to be
|
||||
* computed.
|
||||
*
|
||||
* \param len The length of the buffer over which the checksum is to
|
||||
@ -101,7 +101,7 @@ void uip_add32(uint8_t *op32, uint16_t op16);
|
||||
*
|
||||
* \return The Internet checksum of the buffer.
|
||||
*/
|
||||
uint16_t uip_chksum(uint16_t *buf, uint16_t len);
|
||||
uint16_t uip_chksum(uint16_t *data, uint16_t len);
|
||||
|
||||
/**
|
||||
* Calculate the IP header checksum of the packet header in uip_buf.
|
||||
|
@ -234,7 +234,7 @@ struct sicslowpan_addr_context {
|
||||
* \brief check whether we can compress the IID in
|
||||
* address 'a' to 16 bits.
|
||||
* This is used for unicast addresses only, and is true
|
||||
* if the address is on the format <PREFIX>::0000:00ff:fe00:XXXX
|
||||
* if the address is on the format \<PREFIX\>::0000:00ff:fe00:XXXX
|
||||
* NOTE: we currently assume 64-bits prefixes
|
||||
*/
|
||||
#define sicslowpan_is_iid_16_bit_compressable(a) \
|
||||
|
@ -29,20 +29,20 @@
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogroup uip6
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* \file
|
||||
* IPv6 Neighbor cache (link-layer/IPv6 address mapping)
|
||||
* IPv6 Neighbor cache (link-layer/IPv6 address mapping)
|
||||
* \author Mathilde Durvy <mdurvy@cisco.com>
|
||||
* \author Julien Abeille <jabeille@cisco.com>
|
||||
* \author Simon Duquennoy <simonduq@sics.se>
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogroup uip6
|
||||
* @{
|
||||
*/
|
||||
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <stddef.h>
|
||||
|
@ -29,20 +29,20 @@
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogroup uip6
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* \file
|
||||
* IPv6 Neighbor cache (link-layer/IPv6 address mapping)
|
||||
* IPv6 Neighbor cache (link-layer/IPv6 address mapping)
|
||||
* \author Mathilde Durvy <mdurvy@cisco.com>
|
||||
* \author Julien Abeille <jabeille@cisco.com>
|
||||
* \author Simon Duquennoy <simonduq@sics.se>
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogroup uip6
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef UIP_DS6_NEIGHBOR_H_
|
||||
#define UIP_DS6_NEIGHBOR_H_
|
||||
|
||||
@ -99,12 +99,12 @@ int uip_ds6_nbr_num(void);
|
||||
|
||||
/**
|
||||
* \brief
|
||||
* This searches inside the neighbor table for the neighbor that is about to
|
||||
* expire the next.
|
||||
* This searches inside the neighbor table for the neighbor that is about to
|
||||
* expire the next.
|
||||
*
|
||||
* \return
|
||||
* A reference to the neighbor about to expire the next or NULL if
|
||||
* table is empty.
|
||||
* A reference to the neighbor about to expire the next or NULL if
|
||||
* table is empty.
|
||||
*/
|
||||
uip_ds6_nbr_t *uip_ds6_get_least_lifetime_neighbor(void);
|
||||
|
||||
|
@ -29,6 +29,15 @@
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
/**
|
||||
* \addtogroup uip6
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* \file
|
||||
* Routing table manipulation
|
||||
*/
|
||||
#include "net/ipv6/uip-ds6.h"
|
||||
#include "net/ip/uip.h"
|
||||
|
||||
@ -636,3 +645,4 @@ uip_ds6_defrt_periodic(void)
|
||||
}
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/** @} */
|
||||
|
@ -29,6 +29,14 @@
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
/**
|
||||
* \addtogroup uip6
|
||||
* @{
|
||||
*/
|
||||
/**
|
||||
* \file
|
||||
* Header file for routing table manipulation
|
||||
*/
|
||||
#ifndef UIP_DS6_ROUTE_H
|
||||
#define UIP_DS6_ROUTE_H
|
||||
|
||||
@ -158,3 +166,4 @@ uip_ds6_route_t *uip_ds6_route_next(uip_ds6_route_t *);
|
||||
/** @} */
|
||||
|
||||
#endif /* UIP_DS6_ROUTE_H */
|
||||
/** @} */
|
||||
|
@ -29,17 +29,17 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* \file
|
||||
* IPv6 data structures handling functions.
|
||||
* Comprises part of the Neighbor discovery (RFC 4861)
|
||||
* and auto configuration (RFC 4862) state machines.
|
||||
* \author Mathilde Durvy <mdurvy@cisco.com>
|
||||
* \author Julien Abeille <jabeille@cisco.com>
|
||||
* \addtogroup uip6
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogroup uip6
|
||||
* @{
|
||||
* \file
|
||||
* IPv6 data structure manipulation.
|
||||
* Comprises part of the Neighbor discovery (RFC 4861)
|
||||
* and auto configuration (RFC 4862) state machines.
|
||||
* \author Mathilde Durvy <mdurvy@cisco.com>
|
||||
* \author Julien Abeille <jabeille@cisco.com>
|
||||
*/
|
||||
|
||||
#include <string.h>
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
/**
|
||||
* \file
|
||||
* Network interface and stateless autoconfiguration (RFC 4862)
|
||||
* Header file for IPv6-related data structures
|
||||
* \author Mathilde Durvy <mdurvy@cisco.com>
|
||||
* \author Julien Abeille <jabeille@cisco.com>
|
||||
*
|
||||
|
@ -31,15 +31,15 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* \file
|
||||
* ICMPv6 echo request and error messages (RFC 4443)
|
||||
* \author Julien Abeille <jabeille@cisco.com>
|
||||
* \author Mathilde Durvy <mdurvy@cisco.com>
|
||||
* \addtogroup uip6
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogroup uip6
|
||||
* @{
|
||||
* \file
|
||||
* ICMPv6 (RFC 4443) implementation, with message and error handling
|
||||
* \author Julien Abeille <jabeille@cisco.com>
|
||||
* \author Mathilde Durvy <mdurvy@cisco.com>
|
||||
*/
|
||||
|
||||
#include <string.h>
|
||||
|
@ -31,15 +31,15 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* \file
|
||||
* ICMPv6 echo request and error messages (RFC 4443)
|
||||
* \author Julien Abeille <jabeille@cisco.com>
|
||||
* \author Mathilde Durvy <mdurvy@cisco.com>
|
||||
* \addtogroup uip6
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogroup uip6
|
||||
* @{
|
||||
* \file
|
||||
* Header file for ICMPv6 message and error handing (RFC 4443)
|
||||
* \author Julien Abeille <jabeille@cisco.com>
|
||||
* \author Mathilde Durvy <mdurvy@cisco.com>
|
||||
*/
|
||||
|
||||
#ifndef ICMP6_H_
|
||||
|
@ -57,15 +57,15 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* \file
|
||||
* Neighbor discovery (RFC 4861)
|
||||
* \author Mathilde Durvy <mdurvy@cisco.com>
|
||||
* \author Julien Abeille <jabeille@cisco.com>
|
||||
* \addtogroup uip6
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogroup uip6
|
||||
* @{
|
||||
* \file
|
||||
* Neighbor discovery (RFC 4861)
|
||||
* \author Mathilde Durvy <mdurvy@cisco.com>
|
||||
* \author Julien Abeille <jabeille@cisco.com>
|
||||
*/
|
||||
|
||||
#include <string.h>
|
||||
|
@ -31,15 +31,15 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* \file
|
||||
* Neighbor discovery (RFC 4861)
|
||||
* \author Julien Abeille <jabeille@cisco.com>
|
||||
* \author Mathilde Durvy <mdurvy@cisco.com>
|
||||
* \addtogroup uip6
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogroup uip6
|
||||
* @{
|
||||
* \file
|
||||
* Header file for IPv6 Neighbor discovery (RFC 4861)
|
||||
* \author Julien Abeille <jabeille@cisco.com>
|
||||
* \author Mathilde Durvy <mdurvy@cisco.com>
|
||||
*/
|
||||
|
||||
#ifndef UIP_ND6_H_
|
||||
|
@ -31,20 +31,20 @@
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogroup uip6
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* \file
|
||||
* The uIP TCP/IPv6 stack code.
|
||||
* The uIP TCP/IPv6 stack code.
|
||||
*
|
||||
* \author Adam Dunkels <adam@sics.se>
|
||||
* \author Julien Abeille <jabeille@cisco.com> (IPv6 related code)
|
||||
* \author Mathilde Durvy <mdurvy@cisco.com> (IPv6 related code)
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogroup uip6
|
||||
* @{
|
||||
*/
|
||||
|
||||
/*
|
||||
* uIP is a small implementation of the IP, UDP and TCP protocols (as
|
||||
* well as some basic ICMP stuff). The implementation couples the IP,
|
||||
@ -105,7 +105,10 @@ struct uip_stats uip_stat;
|
||||
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/** @{ \name Layer 2 variables */
|
||||
/**
|
||||
* \name Layer 2 variables
|
||||
* @{
|
||||
*/
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/** Host L2 address */
|
||||
#if UIP_CONF_LL_802154
|
||||
@ -116,7 +119,10 @@ uip_lladdr_t uip_lladdr = {{0x00,0x06,0x98,0x00,0x02,0x32}};
|
||||
/** @} */
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/** @{ \name Layer 3 variables */
|
||||
/**
|
||||
* \name Layer 3 variables
|
||||
* @{
|
||||
*/
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
* \brief Type of the next header in IPv6 header or extension headers
|
||||
@ -141,8 +147,9 @@ uint8_t uip_ext_opt_offset = 0;
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Buffers */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/** \name Buffer defines
|
||||
* @{
|
||||
/**
|
||||
* \name Buffer defines
|
||||
* @{
|
||||
*/
|
||||
#define FBUF ((struct uip_tcpip_hdr *)&uip_reassbuf[0])
|
||||
#define UIP_IP_BUF ((struct uip_ip_hdr *)&uip_buf[UIP_LLH_LEN])
|
||||
@ -161,8 +168,9 @@ uint8_t uip_ext_opt_offset = 0;
|
||||
#endif /* UIP_CONF_IPV6_RPL */
|
||||
#define UIP_ICMP6_ERROR_BUF ((struct uip_icmp6_error *)&uip_buf[uip_l2_l3_icmp_hdr_len])
|
||||
/** @} */
|
||||
/** \name Buffer variables
|
||||
* @{
|
||||
/**
|
||||
* \name Buffer variables
|
||||
* @{
|
||||
*/
|
||||
/** Packet buffer for incoming and outgoing packets */
|
||||
#ifndef UIP_CONF_EXTERNAL_BUFFER
|
||||
@ -185,7 +193,10 @@ uint16_t uip_len, uip_slen;
|
||||
/** @} */
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/** @{ \name General variables */
|
||||
/**
|
||||
* \name General variables
|
||||
* @{
|
||||
*/
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
/* The uip_flags variable is used for communication between the TCP/IP stack
|
||||
@ -209,7 +220,8 @@ static uint16_t lastport;
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* TCP */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/** \name TCP defines
|
||||
/**
|
||||
* \name TCP defines
|
||||
*@{
|
||||
*/
|
||||
/* Structures and definitions. */
|
||||
@ -227,7 +239,8 @@ static uint16_t lastport;
|
||||
|
||||
#define TCP_OPT_MSS_LEN 4 /* Length of TCP MSS option. */
|
||||
/** @} */
|
||||
/** \name TCP variables
|
||||
/**
|
||||
* \name TCP variables
|
||||
*@{
|
||||
*/
|
||||
#if UIP_TCP
|
||||
@ -248,7 +261,10 @@ static uint16_t tmp16;
|
||||
/** @} */
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/** @{ \name UDP variables */
|
||||
/**
|
||||
* \name UDP variables
|
||||
* @{
|
||||
*/
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#if UIP_UDP
|
||||
struct uip_udp_conn *uip_udp_conn;
|
||||
@ -257,7 +273,10 @@ struct uip_udp_conn uip_udp_conns[UIP_UDP_CONNS];
|
||||
/** @} */
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/** @{ \name ICMPv6 variables */
|
||||
/**
|
||||
* \name ICMPv6 variables
|
||||
* @{
|
||||
*/
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#if UIP_CONF_ICMP6
|
||||
/** single possible icmpv6 "connection" */
|
||||
|
@ -64,12 +64,13 @@ uint32_t anti_replay_get_counter(void);
|
||||
|
||||
/**
|
||||
* \brief Initializes the anti-replay information about the sender
|
||||
* \param info Anti-replay information about the sender
|
||||
*/
|
||||
void anti_replay_init_info(struct anti_replay_info *info);
|
||||
|
||||
/**
|
||||
* \brief Checks if received frame was replayed
|
||||
* \param last_counters Anti-replay information about the sender
|
||||
* \param info Anti-replay information about the sender
|
||||
* \retval 0 <-> received frame was not replayed
|
||||
*/
|
||||
int anti_replay_was_replayed(struct anti_replay_info *info);
|
||||
|
@ -43,7 +43,7 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* \defgroup llsec802154
|
||||
* \defgroup llsec802154 Link Layer Security Common Functionality
|
||||
*
|
||||
* Common functionality of 802.15.4-compliant llsec_drivers.
|
||||
*
|
||||
|
@ -43,7 +43,7 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* \defgroup noncoresec
|
||||
* \defgroup noncoresec LLSEC driver using a network-wide key (NONCORESEC)
|
||||
*
|
||||
* Noncompromise-resilient 802.15.4 security
|
||||
*
|
||||
|
@ -43,7 +43,7 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* \defgroup nullsec
|
||||
* \defgroup nullsec LLSEC driver with zero security (NULLSEC)
|
||||
*
|
||||
* Insecure link layer security driver.
|
||||
*
|
||||
|
@ -44,7 +44,7 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogroup net 802.15.4 frame creation and parsing
|
||||
* \addtogroup net
|
||||
* @{
|
||||
*/
|
||||
|
||||
|
@ -49,7 +49,7 @@
|
||||
* The abc module sends packets to all local area neighbors. The abc
|
||||
* module adds no headers to outgoing packets.
|
||||
*
|
||||
* \section channels Channels
|
||||
* \section abc-channels Channels
|
||||
*
|
||||
* The abc module uses 1 channel.
|
||||
*
|
||||
|
@ -131,6 +131,7 @@ void announcement_remove(struct announcement *a);
|
||||
* \brief Set the value of an announcement
|
||||
* \param a A pointer to a struct announcement that has
|
||||
* previously been registered
|
||||
* \param value The new value
|
||||
*
|
||||
* This function sets the value of an announcement that
|
||||
* has previously been registered with
|
||||
|
@ -50,7 +50,7 @@
|
||||
* announcement. THe module announces the announcements that have been
|
||||
* registered with the \ref rimeannouncement "announcement module".
|
||||
*
|
||||
* \section channels Channels
|
||||
* \section bcast-announce-channels Channels
|
||||
*
|
||||
* The broadcast announcement module uses 1 channel.
|
||||
*
|
||||
|
@ -56,7 +56,7 @@
|
||||
* either directly or indirectly through any of the other
|
||||
* communication primitives that are based on the broadcast primitive.
|
||||
*
|
||||
* \section channels Channels
|
||||
* \section broadcast-channels Channels
|
||||
*
|
||||
* The broadcast module uses 1 channel.
|
||||
*
|
||||
|
@ -49,7 +49,7 @@
|
||||
* The collect module implements a hop-by-hop reliable data collection
|
||||
* mechanism.
|
||||
*
|
||||
* \section channels Channels
|
||||
* \section collect-channels Channels
|
||||
*
|
||||
* The collect module uses 2 channels; one for neighbor discovery and one
|
||||
* for data packets.
|
||||
|
@ -84,7 +84,7 @@
|
||||
* The polite broadcast module does not add any packet attributes to
|
||||
* outgoing packets apart from those added by the upper layer.
|
||||
*
|
||||
* \section channels Channels
|
||||
* \section ipolite-channels Channels
|
||||
*
|
||||
* The ipolite module uses 1 channel.
|
||||
*
|
||||
|
@ -50,7 +50,7 @@
|
||||
* receiver somewhere in the network.
|
||||
*
|
||||
*
|
||||
* \section channels Channels
|
||||
* \section mesh-channels Channels
|
||||
*
|
||||
* The mesh module uses 3 channel; one for the multi-hop forwarding
|
||||
* (\ref rimemultihop "multihop") and two for the route disovery (\ref
|
||||
|
@ -61,7 +61,7 @@
|
||||
* process.
|
||||
*
|
||||
*
|
||||
* \section channels Channels
|
||||
* \section multihop-channels Channels
|
||||
*
|
||||
* The multihop module uses 1 channel.
|
||||
*
|
||||
|
@ -50,7 +50,7 @@
|
||||
* discovery mechanism. A callback is invoked for every incoming
|
||||
* neighbor discovery message.
|
||||
*
|
||||
* \section channels Channels
|
||||
* \section neighbor-discovery-channels Channels
|
||||
*
|
||||
* The neighbor-discovery module uses 1 channel.
|
||||
*
|
||||
|
@ -65,7 +65,7 @@
|
||||
* If the time to live reaches zero, the primitive does not forward
|
||||
* the packet.
|
||||
*
|
||||
* \section channels Channels
|
||||
* \section netflood-channels Channels
|
||||
*
|
||||
* The netflood module uses 1 channel.
|
||||
*
|
||||
|
@ -78,7 +78,7 @@ struct packetqueue {
|
||||
* This structure holds the state of a packet queue. It is
|
||||
* an opaque structure with no user-visible elements. The
|
||||
* function packetqueue_queuebuf() is used to extract a
|
||||
* \ref queuebuf "queubuf" from the item. The function
|
||||
* "queubuf" from the item. The function
|
||||
* packetqueue_ptr() is used to extract the opaque pointer
|
||||
* that was registered with the
|
||||
* packetqueue_enqueue_packetbuf() function.
|
||||
|
@ -50,7 +50,7 @@
|
||||
* announcement. THe module announces the announcements that have been
|
||||
* registered with the \ref rimeannouncement "announcement module".
|
||||
*
|
||||
* \section channels Channels
|
||||
* \section polite-announcement-channels Channels
|
||||
*
|
||||
* The polite announcement module uses 1 channel.
|
||||
*
|
||||
|
@ -84,7 +84,7 @@
|
||||
* The polite broadcast module does not add any packet attributes to
|
||||
* outgoing packets apart from those added by the upper layer.
|
||||
*
|
||||
* \section channels Channels
|
||||
* \section polite-channels Channels
|
||||
*
|
||||
* The polite module uses 1 channel.
|
||||
*
|
||||
|
@ -56,7 +56,7 @@
|
||||
* reliable single-hop primitive for the communication between two
|
||||
* single-hop neighbors.
|
||||
*
|
||||
* \section channels Channels
|
||||
* \section rmh-channels Channels
|
||||
*
|
||||
* The rmh module uses 1 channel.
|
||||
*
|
||||
|
@ -48,7 +48,7 @@
|
||||
*
|
||||
* The route-discovery module does route discovery for Rime.
|
||||
*
|
||||
* \section channels Channels
|
||||
* \section route-discovery-channels Channels
|
||||
*
|
||||
* The ibc module uses 2 channels; one for the flooded route request
|
||||
* packets and one for the unicast route replies.
|
||||
|
@ -49,7 +49,7 @@
|
||||
* The rudolph0 module implements a single-hop reliable bulk data
|
||||
* transfer mechanism.
|
||||
*
|
||||
* \section channels Channels
|
||||
* \section rudolph0-channels Channels
|
||||
*
|
||||
* The rudolph0 module uses 2 channels; one for data packets and one
|
||||
* for NACK and repair packets.
|
||||
|
@ -49,7 +49,7 @@
|
||||
* The rudolph1 module implements a multi-hop reliable bulk data
|
||||
* transfer mechanism.
|
||||
*
|
||||
* \section channels Channels
|
||||
* \section rudolph1-channels Channels
|
||||
*
|
||||
* The rudolph1 module uses 2 channels; one for data transmissions and
|
||||
* one for NACKs and repair packets.
|
||||
|
@ -49,7 +49,7 @@
|
||||
* The rudolph2 module implements a single-hop reliable bulk data
|
||||
* transfer mechanism.
|
||||
*
|
||||
* \section channels Channels
|
||||
* \section rudolph2-channels Channels
|
||||
*
|
||||
* The rudolph2 module uses 2 channels; one for data packets and one
|
||||
* for NACK and repair packets.
|
||||
|
@ -69,7 +69,7 @@
|
||||
* callback.
|
||||
*
|
||||
*
|
||||
* \section channels Channels
|
||||
* \section runicast-channels Channels
|
||||
*
|
||||
* The runicast module uses 1 channel.
|
||||
*
|
||||
|
@ -51,7 +51,7 @@
|
||||
* either the message is canceled or a new message is sent. Messages
|
||||
* sent with the stbroadcast module are not identified with a sender ID.
|
||||
*
|
||||
* \section channels Channels
|
||||
* \section stbroadcast-channels Channels
|
||||
*
|
||||
* The stbroadcast module uses 1 channel.
|
||||
*
|
||||
|
@ -63,7 +63,7 @@
|
||||
* number of retransmissions for a packet as a packet attribute on
|
||||
* outgoing packets.
|
||||
*
|
||||
* \section channels Channels
|
||||
* \section stunicast-channels Channels
|
||||
*
|
||||
* The stunicast module uses 1 channel.
|
||||
*
|
||||
|
@ -48,7 +48,7 @@
|
||||
*
|
||||
* The trickle module sends a single packet to all nodes on the network.
|
||||
*
|
||||
* \section channels Channels
|
||||
* \section trickle-channels Channels
|
||||
*
|
||||
* The trickle module uses 1 channel.
|
||||
*
|
||||
|
@ -53,7 +53,7 @@
|
||||
* single-hop receiver address attribute and discards the packet if
|
||||
* the address does not match the address of the node.
|
||||
*
|
||||
* \section channels Channels
|
||||
* \section unicast-channels Channels
|
||||
*
|
||||
* The unicast module uses 1 channel.
|
||||
*
|
||||
|
@ -133,7 +133,7 @@
|
||||
* strings.
|
||||
*
|
||||
* We need use two macros (CC_CONCAT and CC_CONCAT2) in order to allow
|
||||
* concatenation of two #defined macros.
|
||||
* concatenation of two \#defined macros.
|
||||
*/
|
||||
#define CC_CONCAT(s1, s2) CC_CONCAT2(s1, s2)
|
||||
|
||||
|
@ -57,7 +57,7 @@
|
||||
*
|
||||
* \note The clock library need in many cases not be used
|
||||
* directly. Rather, the \ref timer "timer library", \ref etimer
|
||||
* "event timers", or \ref trimer "rtimer library" should be used.
|
||||
* "event timers", or \ref rtimer "rtimer library" should be used.
|
||||
*
|
||||
* \sa \ref timer "Timer library"
|
||||
* \sa \ref etimer "Event timers"
|
||||
|
@ -105,7 +105,7 @@ struct dsc {
|
||||
*
|
||||
* \param prgname The name of the program on disk.
|
||||
*
|
||||
* \param initfunc A pointer to the initialization function of the
|
||||
* \param process A pointer to the initialization function of the
|
||||
* program.
|
||||
*
|
||||
* \param icon A pointer to the CTK icon.
|
||||
|
@ -267,7 +267,7 @@ do_event(void)
|
||||
receiver = events[fevent].p;
|
||||
|
||||
/* Since we have seen the new event, we move pointer upwards
|
||||
and decrese the number of events. */
|
||||
and decrease the number of events. */
|
||||
fevent = (fevent + 1) % PROCESS_CONF_NUMEVENTS;
|
||||
--nevents;
|
||||
|
||||
@ -337,7 +337,7 @@ process_post(struct process *p, process_event_t ev, process_data_t data)
|
||||
if(p == PROCESS_BROADCAST) {
|
||||
printf("soft panic: event queue is full when broadcast event %d was posted from %s\n", ev, PROCESS_NAME_STRING(process_current));
|
||||
} else {
|
||||
printf("soft panic: event queue is full when event %d was posted to %s frpm %s\n", ev, PROCESS_NAME_STRING(p), PROCESS_NAME_STRING(process_current));
|
||||
printf("soft panic: event queue is full when event %d was posted to %s from %s\n", ev, PROCESS_NAME_STRING(p), PROCESS_NAME_STRING(process_current));
|
||||
}
|
||||
#endif /* DEBUG */
|
||||
return PROCESS_ERR_FULL;
|
||||
|
@ -335,7 +335,7 @@ struct process {
|
||||
*
|
||||
* \param p A pointer to a process structure.
|
||||
*
|
||||
* \param arg An argument pointer that can be passed to the new
|
||||
* \param data An argument pointer that can be passed to the new
|
||||
* process
|
||||
*
|
||||
*/
|
||||
|
@ -159,7 +159,7 @@ clock_set_seconds(unsigned long sec)
|
||||
seconds = sec;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
/*
|
||||
* Wait for a number of clock ticks.
|
||||
*/
|
||||
void
|
||||
@ -175,7 +175,7 @@ clock_wait(clock_time_t t)
|
||||
}
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
/*
|
||||
* Delay the CPU for up to 65535*(4000000/F_CPU) microseconds.
|
||||
* Copied from _delay_loop_2 in AVR library delay_basic.h, 4 clocks per loop.
|
||||
* For accurate short delays, inline _delay_loop_2 in the caller, use a constant
|
||||
@ -193,44 +193,44 @@ my_delay_loop_2(uint16_t __count)
|
||||
);
|
||||
}
|
||||
void
|
||||
clock_delay_usec(uint16_t howlong)
|
||||
clock_delay_usec(uint16_t dt)
|
||||
{
|
||||
#if 0
|
||||
/* Accurate delay at any frequency, but introduces a 64 bit intermediate
|
||||
* and has a 279 clock overhead.
|
||||
*/
|
||||
if(howlong<=(uint16_t)(279000000UL/F_CPU)) return;
|
||||
howlong-=(uint16_t) (279000000UL/F_CPU);
|
||||
my_delay_loop_2(((uint64_t)(howlong) * (uint64_t) F_CPU) / 4000000ULL);
|
||||
if(dt<=(uint16_t)(279000000UL/F_CPU)) return;
|
||||
dt-=(uint16_t) (279000000UL/F_CPU);
|
||||
my_delay_loop_2(((uint64_t)(dt) * (uint64_t) F_CPU) / 4000000ULL);
|
||||
/* Remaining numbers tweaked for the breakpoint CPU frequencies */
|
||||
/* Add other frequencies as necessary */
|
||||
#elif F_CPU>=16000000UL
|
||||
if(howlong<1) return;
|
||||
my_delay_loop_2((howlong*(uint16_t)(F_CPU/3250000)));
|
||||
if(dt<1) return;
|
||||
my_delay_loop_2((dt*(uint16_t)(F_CPU/3250000)));
|
||||
#elif F_CPU >= 12000000UL
|
||||
if(howlong<2) return;
|
||||
howlong-=(uint16_t) (3*12000000/F_CPU);
|
||||
my_delay_loop_2((howlong*(uint16_t)(F_CPU/3250000)));
|
||||
if(dt<2) return;
|
||||
dt-=(uint16_t) (3*12000000/F_CPU);
|
||||
my_delay_loop_2((dt*(uint16_t)(F_CPU/3250000)));
|
||||
#elif F_CPU >= 8000000UL
|
||||
if(howlong<4) return;
|
||||
howlong-=(uint16_t) (3*8000000/F_CPU);
|
||||
my_delay_loop_2((howlong*(uint16_t)(F_CPU/2000000))/2);
|
||||
if(dt<4) return;
|
||||
dt-=(uint16_t) (3*8000000/F_CPU);
|
||||
my_delay_loop_2((dt*(uint16_t)(F_CPU/2000000))/2);
|
||||
#elif F_CPU >= 4000000UL
|
||||
if(howlong<5) return;
|
||||
howlong-=(uint16_t) (4*4000000/F_CPU);
|
||||
my_delay_loop_2((howlong*(uint16_t)(F_CPU/2000000))/2);
|
||||
if(dt<5) return;
|
||||
dt-=(uint16_t) (4*4000000/F_CPU);
|
||||
my_delay_loop_2((dt*(uint16_t)(F_CPU/2000000))/2);
|
||||
#elif F_CPU >= 2000000UL
|
||||
if(howlong<11) return;
|
||||
howlong-=(uint16_t) (10*2000000/F_CPU);
|
||||
my_delay_loop_2((howlong*(uint16_t)(F_CPU/1000000))/4);
|
||||
if(dt<11) return;
|
||||
dt-=(uint16_t) (10*2000000/F_CPU);
|
||||
my_delay_loop_2((dt*(uint16_t)(F_CPU/1000000))/4);
|
||||
#elif F_CPU >= 1000000UL
|
||||
if(howlong<=17) return;
|
||||
howlong-=(uint16_t) (17*1000000/F_CPU);
|
||||
my_delay_loop_2((howlong*(uint16_t)(F_CPU/1000000))/4);
|
||||
if(dt<=17) return;
|
||||
dt-=(uint16_t) (17*1000000/F_CPU);
|
||||
my_delay_loop_2((dt*(uint16_t)(F_CPU/1000000))/4);
|
||||
#else
|
||||
howlong >> 5;
|
||||
if (howlong < 1) return;
|
||||
my_delay_loop_2(howlong);
|
||||
dt >> 5;
|
||||
if (dt < 1) return;
|
||||
my_delay_loop_2(dt);
|
||||
#endif
|
||||
}
|
||||
#if 0
|
||||
@ -250,7 +250,7 @@ clock_delay(unsigned int howlong)
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
* Delay up to 65535 milliseconds.
|
||||
* \param dt How many milliseconds to delay.
|
||||
* \param howlong How many milliseconds to delay.
|
||||
*
|
||||
* Neither interrupts nor the watchdog timer is disabled over the delay.
|
||||
* Platforms are not required to implement this call.
|
||||
@ -279,7 +279,7 @@ clock_delay_msec(uint16_t howlong)
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
* Adjust the system current clock time.
|
||||
* \param dt How many ticks to add
|
||||
* \param howmany How many ticks to add
|
||||
*
|
||||
* Typically used to add ticks after an MCU sleep
|
||||
* clock_seconds will increment if necessary to reflect the tick addition.
|
||||
|
@ -54,7 +54,7 @@ static unsigned long timer_value;
|
||||
static volatile CC_AT_DATA clock_time_t count = 0; /* Uptime in ticks */
|
||||
static volatile CC_AT_DATA clock_time_t seconds = 0; /* Uptime in secs */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
/*
|
||||
* Each iteration is ~1.0xy usec, so this function delays for roughly len usec
|
||||
*/
|
||||
void
|
||||
@ -68,7 +68,7 @@ clock_delay_usec(uint16_t len)
|
||||
ENABLE_INTERRUPTS();
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
/*
|
||||
* Wait for a multiple of ~8 ms (a tick)
|
||||
*/
|
||||
void
|
||||
|
@ -136,16 +136,15 @@ clock_wait(clock_time_t i)
|
||||
while(clock_time() - start < (clock_time_t)i);
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
* \brief Arch-specific implementation of clock_delay_usec for the cc2538
|
||||
* \param len Delay \e len uSecs
|
||||
/*
|
||||
* Arch-specific implementation of clock_delay_usec for the cc2538
|
||||
*
|
||||
* See clock_init() for GPT0 Timer A's configuration
|
||||
*/
|
||||
void
|
||||
clock_delay_usec(uint16_t len)
|
||||
clock_delay_usec(uint16_t dt)
|
||||
{
|
||||
REG(GPT_0_BASE | GPTIMER_TAILR) = len;
|
||||
REG(GPT_0_BASE | GPTIMER_TAILR) = dt;
|
||||
REG(GPT_0_BASE | GPTIMER_CTL) |= GPTIMER_CTL_TAEN;
|
||||
|
||||
/* One-Shot mode: TAEN will be cleared when the timer reaches 0 */
|
||||
|
@ -70,7 +70,7 @@ clock_delay_usec(uint16_t len)
|
||||
ENABLE_INTERRUPTS();
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
/*
|
||||
* Wait for a multiple of ~8 ms (a tick)
|
||||
*/
|
||||
void
|
||||
|
@ -97,7 +97,7 @@ clock_wait(clock_time_t t)
|
||||
while ((signed long)(current_clock - endticks) < 0) {;}
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
/*
|
||||
* Delay the CPU for up to 65535 microseconds.
|
||||
* Use the 250KHz MACA clock for longer delays to avoid interrupt effects.
|
||||
* However that can't be used if the radio is being power cycled!
|
||||
@ -118,7 +118,7 @@ clock_delay_usec(uint16_t howlong)
|
||||
while(--i);
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
/*
|
||||
* Delay the CPU for up to 65535 milliseconds. The watchdog is NOT disabled.
|
||||
*/
|
||||
void
|
||||
@ -127,7 +127,7 @@ clock_delay_msec(uint16_t howlong)
|
||||
while(howlong--) clock_delay_usec(1000);
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
/*
|
||||
* Legacy delay. The original clock_delay for the msp430 used a granularity
|
||||
* of 2.83 usec. This approximates that delay for values up to 1456 usec.
|
||||
* (The largest core call in leds.c uses 400).
|
||||
@ -139,7 +139,7 @@ clock_delay(unsigned int howlong)
|
||||
clock_delay_usec((283*howlong)/100);
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
/*
|
||||
* Adjust clock ticks after a cpu sleep.
|
||||
*/
|
||||
void clock_adjust_ticks(clock_time_t howmany) {
|
||||
|
@ -195,7 +195,7 @@ clock_delay(unsigned int i)
|
||||
}
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
/*
|
||||
* Wait for a multiple of 10 ms.
|
||||
*
|
||||
*/
|
||||
|
@ -192,7 +192,7 @@ clock_delay(unsigned int i)
|
||||
}
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
/*
|
||||
* Wait for a multiple of 10 ms.
|
||||
*
|
||||
*/
|
||||
|
@ -113,7 +113,7 @@ clock_delay(unsigned int i)
|
||||
}
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
/*
|
||||
* Wait for a multiple of 1 ms.
|
||||
*/
|
||||
void
|
||||
|
2371
doc/Doxyfile
2371
doc/Doxyfile
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,5 @@
|
||||
/**
|
||||
\defgroup buildsystem The Contiki build system
|
||||
|
||||
.
|
||||
|
||||
The Contiki build system is designed to make it easy to compile
|
||||
Contiki applications for either to a hardware platform or into a
|
||||
@ -18,18 +16,15 @@
|
||||
builds an entire Contiki system as a program that runs on the
|
||||
development system. After compiling the application for the
|
||||
<tt>native</tt> target it is possible to run the Contiki system with
|
||||
the application by running the file <tt>hello-world.native</tt>. To
|
||||
compile the application and a Contiki system for the \ref esb "ESB
|
||||
platform" the command <tt>make TARGET=esb</tt> is used. This produces
|
||||
a hello-world.esb file that can be loaded into an ESB board.
|
||||
|
||||
the application by running the file <tt>hello-world.native</tt>.
|
||||
|
||||
To compile the hello-world application into a stand-alone executable
|
||||
that can be loaded into a running Contiki system, the command
|
||||
<tt>make hello-world.ce</tt> is used. To build an executable file for
|
||||
the ESB platform, <tt>make TARGET=esb hello-world.ce</tt> is run.
|
||||
the Sky platform, <tt>make TARGET=sky hello-world.sky</tt> is run.
|
||||
|
||||
To avoid having to type <tt>TARGET=</tt> every time <tt>make</tt> is
|
||||
run, it is possible to run <tt>make TARGET=esb savetarget</tt> to
|
||||
run, it is possible to run <tt>make TARGET=sky savetarget</tt> to
|
||||
save the selected target as the default target platform for
|
||||
subsequent invocations of <tt>make</tt>. A file called
|
||||
<tt>Makefile.target</tt> containing the currently saved target is
|
||||
|
@ -93,8 +93,6 @@ Contiki is designed to run on many different \ref platform "platforms". It is al
|
||||
possible to compile and build both the Contiki system and Contiki
|
||||
applications on many different development platforms.
|
||||
|
||||
See \ref esb-getting-started "Getting started with Contiki for the ESB platform
|
||||
|
||||
\section contiki-mainpage-building Building the Contiki system and its applications
|
||||
|
||||
The Contiki build system is designed to make it easy to compile
|
||||
|
@ -11,18 +11,18 @@ support on Atmel RAVEN hardware.
|
||||
|
||||
|
||||
\section toc Table of contents
|
||||
\ref introduction<br>
|
||||
\ref hardware<br>
|
||||
\ref software<br>
|
||||
\ref overview<br>
|
||||
\ref installation<br>
|
||||
\ref running<br>
|
||||
\ref advanced<br>
|
||||
\ref issues<br>
|
||||
\ref annex<br>
|
||||
\ref tutorial-raven-introduction <br>
|
||||
\ref hardware <br>
|
||||
\ref software <br>
|
||||
\ref overview <br>
|
||||
\ref installation <br>
|
||||
\ref running <br>
|
||||
\ref advanced <br>
|
||||
\ref issues <br>
|
||||
\ref annex <br>
|
||||
|
||||
<HR>
|
||||
\section introduction Introduction
|
||||
\section tutorial-raven-introduction Introduction
|
||||
This tutorial explains how to run Contiki with IPv6 and 6lowpan
|
||||
support on Atmel RAVEN evaluation kit (ATAVRRZRAVEN) hardware. We
|
||||
present basic example system architecture and application scenarios,
|
||||
@ -419,7 +419,7 @@ is the one to the file you just modified and click on "Program".
|
||||
The third is to modify the default value in the code:
|
||||
|
||||
\li Edit the file contiki-raven-main.c in the directory
|
||||
platform\avr-raven. You will see the MAC address set in a line like:
|
||||
platform\\avr-raven. You will see the MAC address set in a line like:
|
||||
|
||||
\code
|
||||
/* Put default MAC address in EEPROM */
|
||||
|
@ -66,7 +66,7 @@ This part of the code is very similar to the \ref ipreass "IPv4 fragmentation co
|
||||
is not assumed to be a TCP packet. As a result, we use a different
|
||||
%timer to time-out reassembly if all fragments have not been received
|
||||
after #UIP_REASS_MAXAGE = 60s.
|
||||
\note Fragment reassembly is enabled if #UIP_CONF_REASSEMBLY is set to 1.
|
||||
\note Fragment reassembly is enabled if #UIP_REASSEMBLY is set to 1.
|
||||
\note We can only reassemble packet of at most #UIP_LINK_MTU = 1280
|
||||
bytes as we do not have larger buffers.
|
||||
|
||||
@ -81,9 +81,9 @@ typedef union uip_ip6addr_t {
|
||||
\endcode
|
||||
|
||||
We assume that each node has a <em>single interface</em> of type
|
||||
#uip_netif.
|
||||
#uip_ds6_netif_t.
|
||||
|
||||
Each interface can have up to #UIP_NETIF_MAX_ADDRESSES unicast IPv6
|
||||
Each interface can have a configurable number of unicast IPv6
|
||||
addresses including its link-local address. It also has a
|
||||
solicited-node multicast address. We assume that the unicast
|
||||
addresses are obtained via \ref autoconf "stateless address autoconfiguration"
|
||||
@ -377,5 +377,7 @@ We pass all the tests for phase 2 except:
|
||||
|
||||
|
||||
<HR>
|
||||
@{
|
||||
*/
|
||||
/** @} */
|
||||
/** @} */
|
||||
|
@ -85,7 +85,7 @@ void rs232_set_speed(unsigned char speed);
|
||||
|
||||
/**
|
||||
* \brief Print a text string on RS232
|
||||
* \param str A pointer to the string that is to be printed
|
||||
* \param text A pointer to the string that is to be printed
|
||||
*
|
||||
* This function prints a string to RS232. The string must
|
||||
* be terminated by a null byte. The RS232 module must be
|
||||
|
@ -222,7 +222,7 @@ __delay_cycles(unsigned long c)
|
||||
}
|
||||
#endif /* __GNUC__ */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
/*
|
||||
* Wait for a multiple of 10 ms.
|
||||
*
|
||||
*/
|
||||
|
@ -126,7 +126,7 @@ void clock_delay(unsigned int i)
|
||||
}
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
/*
|
||||
* Wait for a multiple of 1 ms.
|
||||
*
|
||||
*/
|
||||
|
@ -129,7 +129,7 @@ clock_delay(unsigned int i)
|
||||
}
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
/*
|
||||
* Wait for a multiple of 1 / 128 sec = 7.8125 ms.
|
||||
*
|
||||
*/
|
||||
|
@ -1 +1 @@
|
||||
380
|
||||
291
|
||||
|
Loading…
Reference in New Issue
Block a user