walnux/include/nuttx/net/netdev.h

758 lines
24 KiB
C
Raw Normal View History

/****************************************************************************
* include/nuttx/net/netdev.h
* Defines architecture-specific device driver interfaces to the NuttX
* network.
*
* Copyright (C) 2007, 2009, 2011-2018 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Derived largely from portions of uIP with has a similar BSD-styple license:
*
* Copyright (c) 2001-2003, Adam Dunkels.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name NuttX nor the names of its contributors may be
* used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
****************************************************************************/
#ifndef __INCLUDE_NUTTX_NET_NETDEV_H
#define __INCLUDE_NUTTX_NET_NETDEV_H
/****************************************************************************
* Included Files
****************************************************************************/
#include <nuttx/config.h>
#include <sys/ioctl.h>
#include <stdint.h>
Squashed commit of the following: net/mld: The MLD logic now compiles and is much less toxic. It still is not a proper MLD implementation: (1) It is basically a port of IGMP, tweaked to work with IPv6 and ICMPv6 MLD messages, (2) it needs a proper analysis and comparison with RFC 3810, and (3) it is completely untested. For this reason, it will remain EXPERIMENTAL for some time. net/mld: Add some missing macros, more fixes related to IPv6 vs IPv4 types, net/mld: More compilation cleaning. Most fixups for IPv6 vs IPv4 types. net/mld: Hook crudely converted .c files into build system and resolve a few of the many, many compilation/design problems. net/mld: Add support for MLD statistics. net/mld: Hook in MLD poll and packet transmission logic. net/mld: Change references to IPv4 definitions to IPv6 definitions; Remove mld_input() since MLD piggybacks on ICMPv6 input. Add functions to catch MLD messages dispatched by ICMPv6 input logic. net/mld: As a starting point, copy all net/igmp/*.c files to net/mld/. and change all occurrences of igmp (or IGMP) to mld (or MLD). net/mld: More compilation cleaning. Most fixups for IPv6 vs IPv4 types. net/mld: Hook crudely converted .c files into build system and resolve a few of the many, many compilation/design problems. net/mld: Add support for MLD statistics. net/mld: Hook in MLD poll and packet transmission logic. net/mld: Change references to IPv4 definitions to IPv6 definitions; Remove mld_input() since MLD piggybacks on ICMPv6 input. Add functions to catch MLD messages dispatched by ICMPv6 input logic. net/mld: As a starting point, copy all net/igmp/*.c files to net/mld/. and change all occurrences of igmp (or IGMP) to mld (or MLD).
2018-11-01 15:18:40 -06:00
#ifdef CONFIG_NET_MCASTGROUP
# include <queue.h>
#endif
#include <net/if.h>
#include <net/ethernet.h>
#include <arpa/inet.h>
#include <nuttx/net/netconfig.h>
#include <nuttx/net/ip.h>
#ifdef CONFIG_NET_IGMP
# include <nuttx/net/igmp.h>
#endif
#ifdef CONFIG_NET_MLD
# include <nuttx/net/mld.h>
#endif
/****************************************************************************
* Pre-processor Definitions
****************************************************************************/
Squashed commit of the following: commit f97da3a546f9d6e1b858cfc45538a06b62396034 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 30 19:09:46 2017 -0600 Network: Condition out some types that depend on definitions that are only available with 6LoWPAN is enabled. commit 312e9dc1195527100e12bf6be8b629f5b29be1f6 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 30 18:57:23 2017 -0600 6LoWPAN: Fix case where source and destination IP address were backward. Fix some compile issues when star topology support is enabled. commit 3b0e71c5807194fbb006d0560bb2c98133055ba3 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 30 16:01:48 2017 -0600 6LoWPAN PktRadio: Finishes up all logic; Lots of misc changes from build testing. commit cc118f8cb335e1c48354fd7112e20be57de50b68 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 30 12:41:18 2017 -0600 6LoWPAN: Remove explicate type struct ieee802154_frame_meta_s from derive interface methods. Replace with a opaque void * type so that other radio meta data structures may use the interfaces. Add a new radion interface to get properties of the radio. Spirit: Finish packet I/O interface with the network. commit 1aa0a63e8341ca5f9f88c294f96d1740459146d4 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 30 07:57:15 2017 -0600 6LoWPAN: Replace metadata input parameter type from struct ieee802154_data_ind_s to void*. This permits radios with different MAC metadata to interact with 6LoWPAN. Includes many changes to handle variable length radio addresses. No longer just short and exteneded; any length. commit 46266ace61ae6246123873935436d864c7de31e0 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 17:50:42 2017 -0600 Spirit: Fix typos in SPI debug code. commit 27c6b235f6a2d3b2f08da4920b224a40e9991f59 Merge: 7029dffd02 7f53e08917 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 13:43:02 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 7029dffd02156bcbfa84262671c2ca766a117191 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 12:02:13 2017 -0600 6LoWPAN PktRadio: Add missing MetaData-related prototypes and initialization logic. Perform a major renaming to make room in the 6LoWPAN name space for packet radios. commit e2012f7c1df14155c0bfd45d7f1cb3f71b259f48 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 10:16:23 2017 -0600 6LoWPAN PktRadio: Some initial changes to support raw packet radios without IEEE 802.15.4 with 6LoWPAN. commit c6dbf9178539b7da75e492ffd1d1f93c9c326299 Merge: da782d6cdf 5889ce65f5 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 07:30:08 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit da782d6cdff5980d71aaa2da5f9c28ab3438d085 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 07:26:48 2017 -0600 Spirit: Completes port of the spirit radio library to NuttX. commit 63f3595c47dca13952d28b518c7f0a8d6ae9037a Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 17:42:51 2017 -0600 Spirit: Bring in a couple ore more radio interface functions. commit 692a27da396b7683749790923d8fa085091764f1 Merge: 27c0a6ec08 38f79543dc Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 15:49:37 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 27c0a6ec0813187f125922c81189a70cf04d83d4 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 15:47:27 2017 -0600 Spirit: Bring in a couple ore more radio interface functions. commit 96657af2831487724723a60084831619257fd953 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 14:20:14 2017 -0600 Spirit: Bring in more radio interface functions. commit 640d55399b54a019be68825668fca1446abd082f Merge: 3fcf84a9a2 47791442a0 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 12:01:43 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 3fcf84a9a2673e1e1466ce5b114d7b73c257e515 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 12:00:31 2017 -0600 Spirit: Brings in the last of the PktCommon interfaces. commit d26ebd901ba4ba84910e99b4e728b98c30fa4c0b Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 09:54:52 2017 -0600 Spirit: Add a few more PktCommon interfaces. commit b5cb8041d50233a4abb8fb4d1dcef5428ae2c2b2 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 09:33:31 2017 -0600 libc/termios: Remember block comments before empty file sections. commit 0fcab2c1c8c74442d40bd5e8c6af50a34f8a5821 Author: Sebastien Lorquet <sebastien@lorquet.fr> Date: Fri Jul 28 09:31:00 2017 -0600 tcdrain implementation based on a new term ioctl commit 797d4adf7d41068c671f0217d369b797b269de1a Author: Stefan Kolb <Stefan.Kolb@avat.de> Date: Fri Jul 28 09:19:04 2017 -0600 We discovered a problem with the samv7 mcan driver which results, under some circumstances, in a very high CPU load. The problem occurs, and is easily reproducible, if the device is connected to a CAN network with a wrongly configured CAN speed (baud rate). In our tests we set the CAN speed of the device to 1000000 and the speed of the other CAN nodes to 500000. The device is restarted and sends a CANopen “bootup message” to the CAN network. This results in huge amount of errors messages on the CAN bus, probably because of the CAN feature for acknowledging error messages. The error messages can’t be read by the device because of the misconfigured CAN speed, instead the CAN chip reports lots of errors, which are reported to the application which uses the CAN driver (CONFIG_CAN_ERRORS is enabled). The CAN errors are reported from the CAN chip via interrupts and thus the interrupt load is very high in this scenario. To fix the problem the driver now disables each RX error interrupt after it is occurred. The RX error interrupts are turned back on if at least one CAN message is received successfully. commit e298f48e96d9e34017dcab8e4d87032862ae9322 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 09:06:26 2017 -0600 Spirit: Bring in PktStack interfaces. commit 4a0f00a7058312dcf6ac392689b9f69112f613ec Merge: 855cf97130 b458934ac4 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 18:05:02 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 855cf9713052a851a1daeb3842db2edd6ff6f658 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 18:03:56 2017 -0600 Spirit Network Driver: Add some hooks that will eventually support address filtering. commit 3b3fb24ea86cf8233b034871d5c550f47ab852e6 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 17:13:21 2017 -0600 Spirit: Add a PktStack header file. commit 705e8fff6a21264ab751fb34c107cb109430ac89 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 15:00:03 2017 -0600 Spirit: Bring in last of timer interfaces. commit f8984b2f82e165f5bba132d6b099222d1beb1fbd Merge: cb79778a30 f287cc25d6 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 11:57:01 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit cb79778a3044ae97a1cc615dfa24099144f04bd0 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 11:46:31 2017 -0600 Spirit: Bring in last of QI interfaces. commit 0245b330a33aa73531b82ae261b1312be9922e0f Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 10:14:34 2017 -0600 Spirit: Add general interfaces. commit 121845a8f229ec2c88e5721da5512135f6624ee5 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 09:41:23 2017 -0600 Spirit: Bring in last of GPIO interfaces. commit 279bfcc92bcd0cfa48c0ed7862fa2b75fbee99b8 Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 17:09:19 2017 -0600 Spirit: Add some missing configuration options: Add register -level debug options. commit 4be89324a5908e35afc70373c279f4d05f62b48f Merge: 66e87f9bb3 598386ef90 Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 15:36:20 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 66e87f9bb3ef75fddf25400bc08475c5e6ad4c30 Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 15:19:56 2017 -0600 Spirit: Brings in last of PktBasic logic. commit 8b4c89d6a103003fa04363e2c2ae7b9ee390bf49 Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 11:55:50 2017 -0600 Spirit: Bring in AES and MBUS logic. commit d00022d39ab0ce839de29386949481e5c24feff3 Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 09:22:03 2017 -0600 Spirit: Bring in remainder of calibration interfaces. commit 40b4b2f902e04293f8940551a97a9a24a48988dd Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 08:44:32 2017 -0600 Spirit: Bring in DirectRF interfaces. commit 7c109608e1a2989f3edbc2fd939a2d225fff382a Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 07:46:19 2017 -0600 Spirit: Add CSMA support. commit 0f88896595d162c4ac6138e7b1af2fc35c865b3d Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 18:57:43 2017 -0600 Spirit: Add some initial TX logic to network driver. commit 4dc7058dfcdcf40980578680b7e1a4206dea4ea2 Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 17:02:11 2017 -0600 Spirit: Completes ports of spirit_management.* files commit c904eef51d929e041b87d0c8aff6fa3c2f895341 Merge: 91e985a877 c9ff8cbab9 Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 15:15:04 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 91e985a87729017a66d19276c4d47681064f95ea Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 15:13:54 2017 -0600 Spirit: Add a few more functions that will soon be needed for packet transmission. commit b5981d29983907c2194fbc26af4b72ad532bee78 Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 13:30:07 2017 -0600 Spirit: Finish off some initialization issues; Started some interrupt handling logic. commit c21073e0bc2870b3d9ba40bdfdfd5151ce4f5890 Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 09:35:52 2017 -0600 Spirit: Completes very basic radio initialization for network driver commit 1b544334361c54f46bcf0ba313c125932e8dafc6 Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 07:58:30 2017 -0600 Spirit: Add more radio initialization logic... getting closer. commit 45d1047db60843c57d394ec910c63e7c127671e0 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 19:15:33 2017 -0600 Spirit: add some CSMA initialization logic commit bcf55c71336d48947fe19bb09a799169852301c2 Merge: 89e9d426e9 2fc0fbcf7e Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 16:47:11 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 89e9d426e91c056e659fccf5e5c4392618f8f777 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 16:44:19 2017 -0600 Update some comments commit 9c5d8a5833350006ed389e898b11c8c8a20e5f4f Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 16:15:54 2017 -0600 Spirit: Rename drivers/wireless/spirit/src to lib. Move Spirit network driver out of IEEE802.15.4 into drivers/wireless/spirit/drivers commit cabc0ec9e6eb558dcb715ab17264383aa0105e7a Merge: 87b616414a 6bd744c4b3 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 15:38:40 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 87b616414a79c01a71acea78f8258e05325c1996 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 15:37:27 2017 -0600 Spirit radio driver is mutating into a standalone network driver. commit 507798233868a661ae8adad3e3aa117075a7a146 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 13:32:08 2017 -0600 Spirit: More radio initialization logic commit 33af25704ce9ca83d576300d153cfe31cc6d2576 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 12:19:14 2017 -0600 Spirit: Beginning of radio initialization logic commit 97b20014c016e55952a8f9d8f4ae29e2cc555b23 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 09:42:06 2017 -0600 Spirit: More initialization logic. commit 295d8e27824c0417fccea2344b30bb5c93ffbabe Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 23 15:39:53 2017 -0600 Spirit: Add header file containing enumeration of commands. commit 8a2d9dd8eb9cc70cbcdd1b913fc9022b9c9ec8da Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 23 11:33:50 2017 -0600 Spirit: Add GPIO initialization logic commit 8b6d80c44f92024c45a6ba63ba1af3fdafe94dc3 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 23 10:07:25 2017 -0600 Spirit: Add interrupt control logic. commit 423f846fe5c914f92a4bfea4d9d1fa33de1c77a5 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 19:06:52 2017 -0600 Spirit: Yet a little more radio initialization logic. commit 5895b979823e51ddde5ad52e6de66a8ad662e883 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 15:36:05 2017 -0600 Spirit: A little more radio initialization logic. commit 86311ab30aad386203c181c792847dd1d37f9a02 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 13:02:32 2017 -0600 Spirit: A miniscule amount of radio initialization logic. commit ad55e89d5ee12ea1eeea95fcd38ff3da0db4416a Merge: 90a7666655 f4e46b0da7 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 10:56:30 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 90a766665534b05da0157dbc383cb06a98c86a79 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 10:52:52 2017 -0600 Spirit1: A few fixes for a clean build of initial configuration (not much there yet) commit bbbf04c223230a52a7705a2161128265cfbaa480 Merge: 623d54a7f7 2319ea53a9 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 09:53:57 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 623d54a7f719e9032099f88f38203efee4b80722 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 09:43:52 2017 -0600 b-l475e-iot01a: Add a configuration for testing sprit radio. commit d309d73d9f4665f9d870eb03531f450043d9389d Merge: 52c3ddfae6 d88dc9b2e5 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 09:02:06 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 52c3ddfae6802e111c2b5cf1207baf21a61dd00b Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 08:33:04 2017 -0600 Spirit: Add register definition header file. commit 8d842ab5e8f9ca653b42f9ee88dc279f06b4fa98 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 17:27:03 2017 -0600 b-l475e-iot01a: Add initial, unverified support for the SPSRGF/Spirit1 module. commit 73d902a1048616fb9c2dd2147cabcd8ee78e19ac Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 15:49:43 2017 -0600 Spirit: Fixes to get skeleton IEEE 802.15.4 driver build. commit ebc5a8387bb94f0cc3827533795f3e4a33207e67 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 15:16:29 2017 -0600 Spirit1: Add framework for IEEE 802.15.4 driver. Does not yet build. commit 52e195a7ae14ddb18bdd56258f4877381d2501ca Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 14:02:42 2017 -0600 Spirit: A little more SPI logic. commit 90048d0c5b8a5af4d81a15d99535c84ed38d8ae9 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 11:19:06 2017 -0600 Spirit: Build directories setup. Some initial files added, mostly just to verify build. commit 8273a381ac1f6bb081b292b5e73226185e9e634c Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 08:34:04 2017 -0600 USB composite: Remove references to CDC/ACM and USB MSC from composite logic. They are no longer coupled.
2017-07-30 19:10:51 -06:00
/* Determine the largest possible address */
#if defined(CONFIG_WIRELESS_IEEE802154) && defined(CONFIG_WIRELESS_PKTRADIO)
# if CONFIG_PKTRADIO_ADDRLEN > 8
# define RADIO_MAX_ADDRLEN CONFIG_PKTRADIO_ADDRLEN
# else
# define RADIO_MAX_ADDRLEN 8
# endif
#elif defined(CONFIG_WIRELESS_IEEE802154)
# define RADIO_MAX_ADDRLEN 8
This comment adds (1) basic support for AF_BLUETOOTH sockets. The logic compiles but is still incomplete. Support for Bluetooth is general is still dependent on CONFIG_EXPERMIMENTAL because it is not yet ready for used. Squashed commit of the following: wireless/bluetooth: Some small changes that gets to a clean compile by just eliminating some incorrect implementations (still with a lot of warnings. The logic is still incomplete but now not so lethal. wireless/bluetooth: Restructuring: Connection interfaces should internal to wireless/bluetooth. include/nuttx/wireless/bt_conn.h removed and merged with wireless/bluetooth/bt_conn.h. Several fix to get closer to bt_netdev.c compiling. Need to design some not interfaces and use some existing interfaces to send and receiv packets. wireless/bluetooth: Some organization with some network device compile errors fixed. Still not even close to compiling. net/bluetooth: Fix numerous compile issues; Still open design issues with regard to the interface with the Bluetooth stack. wireless/bluetooth: Create bt_netdev.c with a crude copy of mac802154_netdev.c. Does not not even compile yet. include/nuttx/net: Add bluetooth.h. Content is not yet correct. net/netpackets: Add bluetooth.h. Update net/bluetooth to use new socket address definition. net/bluetooth: Some fixes for initial build. net/bluetooth: Add initial support for Bluetooth sockets. The initial cut is just the a clone of the IEEE 802.15.4 socket support with name changes. net/ieee802154: Fix some typos noted when cloning to create net/bluetooth.
2018-03-31 14:55:03 -06:00
#elif defined(CONFIG_WIRELESS_BLUETOOTH)
# if CONFIG_PKTRADIO_ADDRLEN > 6
# define RADIO_MAX_ADDRLEN CONFIG_PKTRADIO_ADDRLEN
# else
# define RADIO_MAX_ADDRLEN 6
# endif
Squashed commit of the following: commit f97da3a546f9d6e1b858cfc45538a06b62396034 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 30 19:09:46 2017 -0600 Network: Condition out some types that depend on definitions that are only available with 6LoWPAN is enabled. commit 312e9dc1195527100e12bf6be8b629f5b29be1f6 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 30 18:57:23 2017 -0600 6LoWPAN: Fix case where source and destination IP address were backward. Fix some compile issues when star topology support is enabled. commit 3b0e71c5807194fbb006d0560bb2c98133055ba3 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 30 16:01:48 2017 -0600 6LoWPAN PktRadio: Finishes up all logic; Lots of misc changes from build testing. commit cc118f8cb335e1c48354fd7112e20be57de50b68 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 30 12:41:18 2017 -0600 6LoWPAN: Remove explicate type struct ieee802154_frame_meta_s from derive interface methods. Replace with a opaque void * type so that other radio meta data structures may use the interfaces. Add a new radion interface to get properties of the radio. Spirit: Finish packet I/O interface with the network. commit 1aa0a63e8341ca5f9f88c294f96d1740459146d4 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 30 07:57:15 2017 -0600 6LoWPAN: Replace metadata input parameter type from struct ieee802154_data_ind_s to void*. This permits radios with different MAC metadata to interact with 6LoWPAN. Includes many changes to handle variable length radio addresses. No longer just short and exteneded; any length. commit 46266ace61ae6246123873935436d864c7de31e0 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 17:50:42 2017 -0600 Spirit: Fix typos in SPI debug code. commit 27c6b235f6a2d3b2f08da4920b224a40e9991f59 Merge: 7029dffd02 7f53e08917 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 13:43:02 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 7029dffd02156bcbfa84262671c2ca766a117191 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 12:02:13 2017 -0600 6LoWPAN PktRadio: Add missing MetaData-related prototypes and initialization logic. Perform a major renaming to make room in the 6LoWPAN name space for packet radios. commit e2012f7c1df14155c0bfd45d7f1cb3f71b259f48 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 10:16:23 2017 -0600 6LoWPAN PktRadio: Some initial changes to support raw packet radios without IEEE 802.15.4 with 6LoWPAN. commit c6dbf9178539b7da75e492ffd1d1f93c9c326299 Merge: da782d6cdf 5889ce65f5 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 07:30:08 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit da782d6cdff5980d71aaa2da5f9c28ab3438d085 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 07:26:48 2017 -0600 Spirit: Completes port of the spirit radio library to NuttX. commit 63f3595c47dca13952d28b518c7f0a8d6ae9037a Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 17:42:51 2017 -0600 Spirit: Bring in a couple ore more radio interface functions. commit 692a27da396b7683749790923d8fa085091764f1 Merge: 27c0a6ec08 38f79543dc Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 15:49:37 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 27c0a6ec0813187f125922c81189a70cf04d83d4 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 15:47:27 2017 -0600 Spirit: Bring in a couple ore more radio interface functions. commit 96657af2831487724723a60084831619257fd953 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 14:20:14 2017 -0600 Spirit: Bring in more radio interface functions. commit 640d55399b54a019be68825668fca1446abd082f Merge: 3fcf84a9a2 47791442a0 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 12:01:43 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 3fcf84a9a2673e1e1466ce5b114d7b73c257e515 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 12:00:31 2017 -0600 Spirit: Brings in the last of the PktCommon interfaces. commit d26ebd901ba4ba84910e99b4e728b98c30fa4c0b Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 09:54:52 2017 -0600 Spirit: Add a few more PktCommon interfaces. commit b5cb8041d50233a4abb8fb4d1dcef5428ae2c2b2 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 09:33:31 2017 -0600 libc/termios: Remember block comments before empty file sections. commit 0fcab2c1c8c74442d40bd5e8c6af50a34f8a5821 Author: Sebastien Lorquet <sebastien@lorquet.fr> Date: Fri Jul 28 09:31:00 2017 -0600 tcdrain implementation based on a new term ioctl commit 797d4adf7d41068c671f0217d369b797b269de1a Author: Stefan Kolb <Stefan.Kolb@avat.de> Date: Fri Jul 28 09:19:04 2017 -0600 We discovered a problem with the samv7 mcan driver which results, under some circumstances, in a very high CPU load. The problem occurs, and is easily reproducible, if the device is connected to a CAN network with a wrongly configured CAN speed (baud rate). In our tests we set the CAN speed of the device to 1000000 and the speed of the other CAN nodes to 500000. The device is restarted and sends a CANopen “bootup message” to the CAN network. This results in huge amount of errors messages on the CAN bus, probably because of the CAN feature for acknowledging error messages. The error messages can’t be read by the device because of the misconfigured CAN speed, instead the CAN chip reports lots of errors, which are reported to the application which uses the CAN driver (CONFIG_CAN_ERRORS is enabled). The CAN errors are reported from the CAN chip via interrupts and thus the interrupt load is very high in this scenario. To fix the problem the driver now disables each RX error interrupt after it is occurred. The RX error interrupts are turned back on if at least one CAN message is received successfully. commit e298f48e96d9e34017dcab8e4d87032862ae9322 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 09:06:26 2017 -0600 Spirit: Bring in PktStack interfaces. commit 4a0f00a7058312dcf6ac392689b9f69112f613ec Merge: 855cf97130 b458934ac4 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 18:05:02 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 855cf9713052a851a1daeb3842db2edd6ff6f658 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 18:03:56 2017 -0600 Spirit Network Driver: Add some hooks that will eventually support address filtering. commit 3b3fb24ea86cf8233b034871d5c550f47ab852e6 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 17:13:21 2017 -0600 Spirit: Add a PktStack header file. commit 705e8fff6a21264ab751fb34c107cb109430ac89 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 15:00:03 2017 -0600 Spirit: Bring in last of timer interfaces. commit f8984b2f82e165f5bba132d6b099222d1beb1fbd Merge: cb79778a30 f287cc25d6 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 11:57:01 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit cb79778a3044ae97a1cc615dfa24099144f04bd0 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 11:46:31 2017 -0600 Spirit: Bring in last of QI interfaces. commit 0245b330a33aa73531b82ae261b1312be9922e0f Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 10:14:34 2017 -0600 Spirit: Add general interfaces. commit 121845a8f229ec2c88e5721da5512135f6624ee5 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 09:41:23 2017 -0600 Spirit: Bring in last of GPIO interfaces. commit 279bfcc92bcd0cfa48c0ed7862fa2b75fbee99b8 Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 17:09:19 2017 -0600 Spirit: Add some missing configuration options: Add register -level debug options. commit 4be89324a5908e35afc70373c279f4d05f62b48f Merge: 66e87f9bb3 598386ef90 Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 15:36:20 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 66e87f9bb3ef75fddf25400bc08475c5e6ad4c30 Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 15:19:56 2017 -0600 Spirit: Brings in last of PktBasic logic. commit 8b4c89d6a103003fa04363e2c2ae7b9ee390bf49 Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 11:55:50 2017 -0600 Spirit: Bring in AES and MBUS logic. commit d00022d39ab0ce839de29386949481e5c24feff3 Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 09:22:03 2017 -0600 Spirit: Bring in remainder of calibration interfaces. commit 40b4b2f902e04293f8940551a97a9a24a48988dd Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 08:44:32 2017 -0600 Spirit: Bring in DirectRF interfaces. commit 7c109608e1a2989f3edbc2fd939a2d225fff382a Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 07:46:19 2017 -0600 Spirit: Add CSMA support. commit 0f88896595d162c4ac6138e7b1af2fc35c865b3d Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 18:57:43 2017 -0600 Spirit: Add some initial TX logic to network driver. commit 4dc7058dfcdcf40980578680b7e1a4206dea4ea2 Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 17:02:11 2017 -0600 Spirit: Completes ports of spirit_management.* files commit c904eef51d929e041b87d0c8aff6fa3c2f895341 Merge: 91e985a877 c9ff8cbab9 Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 15:15:04 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 91e985a87729017a66d19276c4d47681064f95ea Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 15:13:54 2017 -0600 Spirit: Add a few more functions that will soon be needed for packet transmission. commit b5981d29983907c2194fbc26af4b72ad532bee78 Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 13:30:07 2017 -0600 Spirit: Finish off some initialization issues; Started some interrupt handling logic. commit c21073e0bc2870b3d9ba40bdfdfd5151ce4f5890 Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 09:35:52 2017 -0600 Spirit: Completes very basic radio initialization for network driver commit 1b544334361c54f46bcf0ba313c125932e8dafc6 Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 07:58:30 2017 -0600 Spirit: Add more radio initialization logic... getting closer. commit 45d1047db60843c57d394ec910c63e7c127671e0 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 19:15:33 2017 -0600 Spirit: add some CSMA initialization logic commit bcf55c71336d48947fe19bb09a799169852301c2 Merge: 89e9d426e9 2fc0fbcf7e Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 16:47:11 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 89e9d426e91c056e659fccf5e5c4392618f8f777 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 16:44:19 2017 -0600 Update some comments commit 9c5d8a5833350006ed389e898b11c8c8a20e5f4f Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 16:15:54 2017 -0600 Spirit: Rename drivers/wireless/spirit/src to lib. Move Spirit network driver out of IEEE802.15.4 into drivers/wireless/spirit/drivers commit cabc0ec9e6eb558dcb715ab17264383aa0105e7a Merge: 87b616414a 6bd744c4b3 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 15:38:40 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 87b616414a79c01a71acea78f8258e05325c1996 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 15:37:27 2017 -0600 Spirit radio driver is mutating into a standalone network driver. commit 507798233868a661ae8adad3e3aa117075a7a146 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 13:32:08 2017 -0600 Spirit: More radio initialization logic commit 33af25704ce9ca83d576300d153cfe31cc6d2576 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 12:19:14 2017 -0600 Spirit: Beginning of radio initialization logic commit 97b20014c016e55952a8f9d8f4ae29e2cc555b23 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 09:42:06 2017 -0600 Spirit: More initialization logic. commit 295d8e27824c0417fccea2344b30bb5c93ffbabe Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 23 15:39:53 2017 -0600 Spirit: Add header file containing enumeration of commands. commit 8a2d9dd8eb9cc70cbcdd1b913fc9022b9c9ec8da Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 23 11:33:50 2017 -0600 Spirit: Add GPIO initialization logic commit 8b6d80c44f92024c45a6ba63ba1af3fdafe94dc3 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 23 10:07:25 2017 -0600 Spirit: Add interrupt control logic. commit 423f846fe5c914f92a4bfea4d9d1fa33de1c77a5 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 19:06:52 2017 -0600 Spirit: Yet a little more radio initialization logic. commit 5895b979823e51ddde5ad52e6de66a8ad662e883 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 15:36:05 2017 -0600 Spirit: A little more radio initialization logic. commit 86311ab30aad386203c181c792847dd1d37f9a02 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 13:02:32 2017 -0600 Spirit: A miniscule amount of radio initialization logic. commit ad55e89d5ee12ea1eeea95fcd38ff3da0db4416a Merge: 90a7666655 f4e46b0da7 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 10:56:30 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 90a766665534b05da0157dbc383cb06a98c86a79 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 10:52:52 2017 -0600 Spirit1: A few fixes for a clean build of initial configuration (not much there yet) commit bbbf04c223230a52a7705a2161128265cfbaa480 Merge: 623d54a7f7 2319ea53a9 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 09:53:57 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 623d54a7f719e9032099f88f38203efee4b80722 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 09:43:52 2017 -0600 b-l475e-iot01a: Add a configuration for testing sprit radio. commit d309d73d9f4665f9d870eb03531f450043d9389d Merge: 52c3ddfae6 d88dc9b2e5 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 09:02:06 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 52c3ddfae6802e111c2b5cf1207baf21a61dd00b Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 08:33:04 2017 -0600 Spirit: Add register definition header file. commit 8d842ab5e8f9ca653b42f9ee88dc279f06b4fa98 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 17:27:03 2017 -0600 b-l475e-iot01a: Add initial, unverified support for the SPSRGF/Spirit1 module. commit 73d902a1048616fb9c2dd2147cabcd8ee78e19ac Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 15:49:43 2017 -0600 Spirit: Fixes to get skeleton IEEE 802.15.4 driver build. commit ebc5a8387bb94f0cc3827533795f3e4a33207e67 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 15:16:29 2017 -0600 Spirit1: Add framework for IEEE 802.15.4 driver. Does not yet build. commit 52e195a7ae14ddb18bdd56258f4877381d2501ca Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 14:02:42 2017 -0600 Spirit: A little more SPI logic. commit 90048d0c5b8a5af4d81a15d99535c84ed38d8ae9 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 11:19:06 2017 -0600 Spirit: Build directories setup. Some initial files added, mostly just to verify build. commit 8273a381ac1f6bb081b292b5e73226185e9e634c Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 08:34:04 2017 -0600 USB composite: Remove references to CDC/ACM and USB MSC from composite logic. They are no longer coupled.
2017-07-30 19:10:51 -06:00
#else /* if defined(CONFIG_WIRELESS_PKTRADIO) */
# define RADIO_MAX_ADDRLEN CONFIG_PKTRADIO_ADDRLEN
#endif
/* Helper macros for network device statistics */
#ifdef CONFIG_NETDEV_STATISTICS
# define NETDEV_RESET_STATISTICS(dev) \
memset(&(dev)->d_statistics, 0, sizeof(struct netdev_statistics_s))
# define _NETDEV_STATISTIC(dev,name) ((dev)->d_statistics.name++)
# define _NETDEV_ERROR(dev,name) \
do \
{ \
(dev)->d_statistics.name++; \
(dev)->d_statistics.errors++; \
} \
while (0)
# define NETDEV_RXPACKETS(dev) _NETDEV_STATISTIC(dev,rx_packets)
# define NETDEV_RXFRAGMENTS(dev) _NETDEV_STATISTIC(dev,rx_fragments)
# define NETDEV_RXERRORS(dev) _NETDEV_ERROR(dev,rx_errors)
# ifdef CONFIG_NET_IPv4
# define NETDEV_RXIPV4(dev) _NETDEV_STATISTIC(dev,rx_ipv4)
# else
# define NETDEV_RXIPV4(dev)
# endif
# ifdef CONFIG_NET_IPv6
# define NETDEV_RXIPV6(dev) _NETDEV_STATISTIC(dev,rx_ipv6)
# else
# define NETDEV_RXIPV6(dev)
# endif
# ifdef CONFIG_NET_ARP
# define NETDEV_RXARP(dev) _NETDEV_STATISTIC(dev,rx_arp)
# else
# define NETDEV_RXARP(dev)
# endif
# define NETDEV_RXDROPPED(dev) _NETDEV_STATISTIC(dev,rx_dropped)
# define NETDEV_TXPACKETS(dev) _NETDEV_STATISTIC(dev,tx_packets)
# define NETDEV_TXDONE(dev) _NETDEV_STATISTIC(dev,tx_done)
# define NETDEV_TXERRORS(dev) _NETDEV_ERROR(dev,tx_errors)
# define NETDEV_TXTIMEOUTS(dev) _NETDEV_ERROR(dev,tx_timeouts)
# define NETDEV_ERRORS(dev) _NETDEV_STATISTIC(dev,errors)
#else
# define NETDEV_RESET_STATISTICS(dev)
# define NETDEV_RXPACKETS(dev)
# define NETDEV_RXFRAGMENTS(dev)
# define NETDEV_RXERRORS(dev)
# define NETDEV_RXIPV4(dev)
# define NETDEV_RXIPV6(dev)
# define NETDEV_RXARP(dev)
# define NETDEV_RXDROPPED(dev)
# define NETDEV_TXPACKETS(dev)
# define NETDEV_TXDONE(dev)
# define NETDEV_TXERRORS(dev)
# define NETDEV_TXTIMEOUTS(dev)
# define NETDEV_ERRORS(dev)
#endif
/****************************************************************************
* Public Types
****************************************************************************/
#ifdef CONFIG_NETDEV_STATISTICS
/* If CONFIG_NETDEV_STATISTICS is enabled and if the driver supports
* statistics, then this structure holds the counts of network driver
* events.
*/
struct netdev_statistics_s
{
/* Rx Status */
uint32_t rx_packets; /* Number of packets received */
uint32_t rx_fragments; /* Number of fragments received */
uint32_t rx_errors; /* Number of receive errors */
#ifdef CONFIG_NET_IPv4
uint32_t rx_ipv4; /* Number of Rx IPv4 packets received */
#endif
#ifdef CONFIG_NET_IPv6
uint32_t rx_ipv6; /* Number of Rx IPv6 packets received */
#endif
#ifdef CONFIG_NET_ARP
uint32_t rx_arp; /* Number of Rx ARP packets received */
#endif
uint32_t rx_dropped; /* Unsupported Rx packets received */
/* Tx Status */
uint32_t tx_packets; /* Number of Tx packets queued */
2015-11-26 13:41:57 -06:00
uint32_t tx_done; /* Number of packets completed */
uint32_t tx_errors; /* Number of receive errors (incl timeouts) */
uint32_t tx_timeouts; /* Number of Tx timeout errors */
/* Other status */
uint32_t errors; /* Total umber of errors */
};
#endif
This comment adds (1) basic support for AF_BLUETOOTH sockets. The logic compiles but is still incomplete. Support for Bluetooth is general is still dependent on CONFIG_EXPERMIMENTAL because it is not yet ready for used. Squashed commit of the following: wireless/bluetooth: Some small changes that gets to a clean compile by just eliminating some incorrect implementations (still with a lot of warnings. The logic is still incomplete but now not so lethal. wireless/bluetooth: Restructuring: Connection interfaces should internal to wireless/bluetooth. include/nuttx/wireless/bt_conn.h removed and merged with wireless/bluetooth/bt_conn.h. Several fix to get closer to bt_netdev.c compiling. Need to design some not interfaces and use some existing interfaces to send and receiv packets. wireless/bluetooth: Some organization with some network device compile errors fixed. Still not even close to compiling. net/bluetooth: Fix numerous compile issues; Still open design issues with regard to the interface with the Bluetooth stack. wireless/bluetooth: Create bt_netdev.c with a crude copy of mac802154_netdev.c. Does not not even compile yet. include/nuttx/net: Add bluetooth.h. Content is not yet correct. net/netpackets: Add bluetooth.h. Update net/bluetooth to use new socket address definition. net/bluetooth: Some fixes for initial build. net/bluetooth: Add initial support for Bluetooth sockets. The initial cut is just the a clone of the IEEE 802.15.4 socket support with name changes. net/ieee802154: Fix some typos noted when cloning to create net/bluetooth.
2018-03-31 14:55:03 -06:00
#if defined(CONFIG_NET_6LOWPAN) || defined(CONFIG_NET_BLUETOOTH) || \
defined(CONFIG_NET_IEEE802154)
Squashed commit of the following: commit f97da3a546f9d6e1b858cfc45538a06b62396034 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 30 19:09:46 2017 -0600 Network: Condition out some types that depend on definitions that are only available with 6LoWPAN is enabled. commit 312e9dc1195527100e12bf6be8b629f5b29be1f6 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 30 18:57:23 2017 -0600 6LoWPAN: Fix case where source and destination IP address were backward. Fix some compile issues when star topology support is enabled. commit 3b0e71c5807194fbb006d0560bb2c98133055ba3 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 30 16:01:48 2017 -0600 6LoWPAN PktRadio: Finishes up all logic; Lots of misc changes from build testing. commit cc118f8cb335e1c48354fd7112e20be57de50b68 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 30 12:41:18 2017 -0600 6LoWPAN: Remove explicate type struct ieee802154_frame_meta_s from derive interface methods. Replace with a opaque void * type so that other radio meta data structures may use the interfaces. Add a new radion interface to get properties of the radio. Spirit: Finish packet I/O interface with the network. commit 1aa0a63e8341ca5f9f88c294f96d1740459146d4 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 30 07:57:15 2017 -0600 6LoWPAN: Replace metadata input parameter type from struct ieee802154_data_ind_s to void*. This permits radios with different MAC metadata to interact with 6LoWPAN. Includes many changes to handle variable length radio addresses. No longer just short and exteneded; any length. commit 46266ace61ae6246123873935436d864c7de31e0 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 17:50:42 2017 -0600 Spirit: Fix typos in SPI debug code. commit 27c6b235f6a2d3b2f08da4920b224a40e9991f59 Merge: 7029dffd02 7f53e08917 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 13:43:02 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 7029dffd02156bcbfa84262671c2ca766a117191 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 12:02:13 2017 -0600 6LoWPAN PktRadio: Add missing MetaData-related prototypes and initialization logic. Perform a major renaming to make room in the 6LoWPAN name space for packet radios. commit e2012f7c1df14155c0bfd45d7f1cb3f71b259f48 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 10:16:23 2017 -0600 6LoWPAN PktRadio: Some initial changes to support raw packet radios without IEEE 802.15.4 with 6LoWPAN. commit c6dbf9178539b7da75e492ffd1d1f93c9c326299 Merge: da782d6cdf 5889ce65f5 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 07:30:08 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit da782d6cdff5980d71aaa2da5f9c28ab3438d085 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 07:26:48 2017 -0600 Spirit: Completes port of the spirit radio library to NuttX. commit 63f3595c47dca13952d28b518c7f0a8d6ae9037a Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 17:42:51 2017 -0600 Spirit: Bring in a couple ore more radio interface functions. commit 692a27da396b7683749790923d8fa085091764f1 Merge: 27c0a6ec08 38f79543dc Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 15:49:37 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 27c0a6ec0813187f125922c81189a70cf04d83d4 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 15:47:27 2017 -0600 Spirit: Bring in a couple ore more radio interface functions. commit 96657af2831487724723a60084831619257fd953 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 14:20:14 2017 -0600 Spirit: Bring in more radio interface functions. commit 640d55399b54a019be68825668fca1446abd082f Merge: 3fcf84a9a2 47791442a0 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 12:01:43 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 3fcf84a9a2673e1e1466ce5b114d7b73c257e515 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 12:00:31 2017 -0600 Spirit: Brings in the last of the PktCommon interfaces. commit d26ebd901ba4ba84910e99b4e728b98c30fa4c0b Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 09:54:52 2017 -0600 Spirit: Add a few more PktCommon interfaces. commit b5cb8041d50233a4abb8fb4d1dcef5428ae2c2b2 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 09:33:31 2017 -0600 libc/termios: Remember block comments before empty file sections. commit 0fcab2c1c8c74442d40bd5e8c6af50a34f8a5821 Author: Sebastien Lorquet <sebastien@lorquet.fr> Date: Fri Jul 28 09:31:00 2017 -0600 tcdrain implementation based on a new term ioctl commit 797d4adf7d41068c671f0217d369b797b269de1a Author: Stefan Kolb <Stefan.Kolb@avat.de> Date: Fri Jul 28 09:19:04 2017 -0600 We discovered a problem with the samv7 mcan driver which results, under some circumstances, in a very high CPU load. The problem occurs, and is easily reproducible, if the device is connected to a CAN network with a wrongly configured CAN speed (baud rate). In our tests we set the CAN speed of the device to 1000000 and the speed of the other CAN nodes to 500000. The device is restarted and sends a CANopen “bootup message” to the CAN network. This results in huge amount of errors messages on the CAN bus, probably because of the CAN feature for acknowledging error messages. The error messages can’t be read by the device because of the misconfigured CAN speed, instead the CAN chip reports lots of errors, which are reported to the application which uses the CAN driver (CONFIG_CAN_ERRORS is enabled). The CAN errors are reported from the CAN chip via interrupts and thus the interrupt load is very high in this scenario. To fix the problem the driver now disables each RX error interrupt after it is occurred. The RX error interrupts are turned back on if at least one CAN message is received successfully. commit e298f48e96d9e34017dcab8e4d87032862ae9322 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 09:06:26 2017 -0600 Spirit: Bring in PktStack interfaces. commit 4a0f00a7058312dcf6ac392689b9f69112f613ec Merge: 855cf97130 b458934ac4 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 18:05:02 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 855cf9713052a851a1daeb3842db2edd6ff6f658 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 18:03:56 2017 -0600 Spirit Network Driver: Add some hooks that will eventually support address filtering. commit 3b3fb24ea86cf8233b034871d5c550f47ab852e6 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 17:13:21 2017 -0600 Spirit: Add a PktStack header file. commit 705e8fff6a21264ab751fb34c107cb109430ac89 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 15:00:03 2017 -0600 Spirit: Bring in last of timer interfaces. commit f8984b2f82e165f5bba132d6b099222d1beb1fbd Merge: cb79778a30 f287cc25d6 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 11:57:01 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit cb79778a3044ae97a1cc615dfa24099144f04bd0 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 11:46:31 2017 -0600 Spirit: Bring in last of QI interfaces. commit 0245b330a33aa73531b82ae261b1312be9922e0f Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 10:14:34 2017 -0600 Spirit: Add general interfaces. commit 121845a8f229ec2c88e5721da5512135f6624ee5 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 09:41:23 2017 -0600 Spirit: Bring in last of GPIO interfaces. commit 279bfcc92bcd0cfa48c0ed7862fa2b75fbee99b8 Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 17:09:19 2017 -0600 Spirit: Add some missing configuration options: Add register -level debug options. commit 4be89324a5908e35afc70373c279f4d05f62b48f Merge: 66e87f9bb3 598386ef90 Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 15:36:20 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 66e87f9bb3ef75fddf25400bc08475c5e6ad4c30 Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 15:19:56 2017 -0600 Spirit: Brings in last of PktBasic logic. commit 8b4c89d6a103003fa04363e2c2ae7b9ee390bf49 Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 11:55:50 2017 -0600 Spirit: Bring in AES and MBUS logic. commit d00022d39ab0ce839de29386949481e5c24feff3 Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 09:22:03 2017 -0600 Spirit: Bring in remainder of calibration interfaces. commit 40b4b2f902e04293f8940551a97a9a24a48988dd Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 08:44:32 2017 -0600 Spirit: Bring in DirectRF interfaces. commit 7c109608e1a2989f3edbc2fd939a2d225fff382a Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 07:46:19 2017 -0600 Spirit: Add CSMA support. commit 0f88896595d162c4ac6138e7b1af2fc35c865b3d Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 18:57:43 2017 -0600 Spirit: Add some initial TX logic to network driver. commit 4dc7058dfcdcf40980578680b7e1a4206dea4ea2 Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 17:02:11 2017 -0600 Spirit: Completes ports of spirit_management.* files commit c904eef51d929e041b87d0c8aff6fa3c2f895341 Merge: 91e985a877 c9ff8cbab9 Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 15:15:04 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 91e985a87729017a66d19276c4d47681064f95ea Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 15:13:54 2017 -0600 Spirit: Add a few more functions that will soon be needed for packet transmission. commit b5981d29983907c2194fbc26af4b72ad532bee78 Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 13:30:07 2017 -0600 Spirit: Finish off some initialization issues; Started some interrupt handling logic. commit c21073e0bc2870b3d9ba40bdfdfd5151ce4f5890 Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 09:35:52 2017 -0600 Spirit: Completes very basic radio initialization for network driver commit 1b544334361c54f46bcf0ba313c125932e8dafc6 Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 07:58:30 2017 -0600 Spirit: Add more radio initialization logic... getting closer. commit 45d1047db60843c57d394ec910c63e7c127671e0 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 19:15:33 2017 -0600 Spirit: add some CSMA initialization logic commit bcf55c71336d48947fe19bb09a799169852301c2 Merge: 89e9d426e9 2fc0fbcf7e Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 16:47:11 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 89e9d426e91c056e659fccf5e5c4392618f8f777 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 16:44:19 2017 -0600 Update some comments commit 9c5d8a5833350006ed389e898b11c8c8a20e5f4f Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 16:15:54 2017 -0600 Spirit: Rename drivers/wireless/spirit/src to lib. Move Spirit network driver out of IEEE802.15.4 into drivers/wireless/spirit/drivers commit cabc0ec9e6eb558dcb715ab17264383aa0105e7a Merge: 87b616414a 6bd744c4b3 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 15:38:40 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 87b616414a79c01a71acea78f8258e05325c1996 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 15:37:27 2017 -0600 Spirit radio driver is mutating into a standalone network driver. commit 507798233868a661ae8adad3e3aa117075a7a146 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 13:32:08 2017 -0600 Spirit: More radio initialization logic commit 33af25704ce9ca83d576300d153cfe31cc6d2576 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 12:19:14 2017 -0600 Spirit: Beginning of radio initialization logic commit 97b20014c016e55952a8f9d8f4ae29e2cc555b23 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 09:42:06 2017 -0600 Spirit: More initialization logic. commit 295d8e27824c0417fccea2344b30bb5c93ffbabe Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 23 15:39:53 2017 -0600 Spirit: Add header file containing enumeration of commands. commit 8a2d9dd8eb9cc70cbcdd1b913fc9022b9c9ec8da Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 23 11:33:50 2017 -0600 Spirit: Add GPIO initialization logic commit 8b6d80c44f92024c45a6ba63ba1af3fdafe94dc3 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 23 10:07:25 2017 -0600 Spirit: Add interrupt control logic. commit 423f846fe5c914f92a4bfea4d9d1fa33de1c77a5 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 19:06:52 2017 -0600 Spirit: Yet a little more radio initialization logic. commit 5895b979823e51ddde5ad52e6de66a8ad662e883 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 15:36:05 2017 -0600 Spirit: A little more radio initialization logic. commit 86311ab30aad386203c181c792847dd1d37f9a02 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 13:02:32 2017 -0600 Spirit: A miniscule amount of radio initialization logic. commit ad55e89d5ee12ea1eeea95fcd38ff3da0db4416a Merge: 90a7666655 f4e46b0da7 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 10:56:30 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 90a766665534b05da0157dbc383cb06a98c86a79 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 10:52:52 2017 -0600 Spirit1: A few fixes for a clean build of initial configuration (not much there yet) commit bbbf04c223230a52a7705a2161128265cfbaa480 Merge: 623d54a7f7 2319ea53a9 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 09:53:57 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 623d54a7f719e9032099f88f38203efee4b80722 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 09:43:52 2017 -0600 b-l475e-iot01a: Add a configuration for testing sprit radio. commit d309d73d9f4665f9d870eb03531f450043d9389d Merge: 52c3ddfae6 d88dc9b2e5 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 09:02:06 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 52c3ddfae6802e111c2b5cf1207baf21a61dd00b Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 08:33:04 2017 -0600 Spirit: Add register definition header file. commit 8d842ab5e8f9ca653b42f9ee88dc279f06b4fa98 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 17:27:03 2017 -0600 b-l475e-iot01a: Add initial, unverified support for the SPSRGF/Spirit1 module. commit 73d902a1048616fb9c2dd2147cabcd8ee78e19ac Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 15:49:43 2017 -0600 Spirit: Fixes to get skeleton IEEE 802.15.4 driver build. commit ebc5a8387bb94f0cc3827533795f3e4a33207e67 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 15:16:29 2017 -0600 Spirit1: Add framework for IEEE 802.15.4 driver. Does not yet build. commit 52e195a7ae14ddb18bdd56258f4877381d2501ca Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 14:02:42 2017 -0600 Spirit: A little more SPI logic. commit 90048d0c5b8a5af4d81a15d99535c84ed38d8ae9 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 11:19:06 2017 -0600 Spirit: Build directories setup. Some initial files added, mostly just to verify build. commit 8273a381ac1f6bb081b292b5e73226185e9e634c Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 08:34:04 2017 -0600 USB composite: Remove references to CDC/ACM and USB MSC from composite logic. They are no longer coupled.
2017-07-30 19:10:51 -06:00
/* This structure is used to represent addresses of varying length. This
* structure is used to represent the address assigned to a radio.
This comment adds (1) basic support for AF_BLUETOOTH sockets. The logic compiles but is still incomplete. Support for Bluetooth is general is still dependent on CONFIG_EXPERMIMENTAL because it is not yet ready for used. Squashed commit of the following: wireless/bluetooth: Some small changes that gets to a clean compile by just eliminating some incorrect implementations (still with a lot of warnings. The logic is still incomplete but now not so lethal. wireless/bluetooth: Restructuring: Connection interfaces should internal to wireless/bluetooth. include/nuttx/wireless/bt_conn.h removed and merged with wireless/bluetooth/bt_conn.h. Several fix to get closer to bt_netdev.c compiling. Need to design some not interfaces and use some existing interfaces to send and receiv packets. wireless/bluetooth: Some organization with some network device compile errors fixed. Still not even close to compiling. net/bluetooth: Fix numerous compile issues; Still open design issues with regard to the interface with the Bluetooth stack. wireless/bluetooth: Create bt_netdev.c with a crude copy of mac802154_netdev.c. Does not not even compile yet. include/nuttx/net: Add bluetooth.h. Content is not yet correct. net/netpackets: Add bluetooth.h. Update net/bluetooth to use new socket address definition. net/bluetooth: Some fixes for initial build. net/bluetooth: Add initial support for Bluetooth sockets. The initial cut is just the a clone of the IEEE 802.15.4 socket support with name changes. net/ieee802154: Fix some typos noted when cloning to create net/bluetooth.
2018-03-31 14:55:03 -06:00
*
* NOTE: the Bluetooth address is not variable, but shares struct
* radio_driver_s which depends on this type.
Squashed commit of the following: commit f97da3a546f9d6e1b858cfc45538a06b62396034 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 30 19:09:46 2017 -0600 Network: Condition out some types that depend on definitions that are only available with 6LoWPAN is enabled. commit 312e9dc1195527100e12bf6be8b629f5b29be1f6 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 30 18:57:23 2017 -0600 6LoWPAN: Fix case where source and destination IP address were backward. Fix some compile issues when star topology support is enabled. commit 3b0e71c5807194fbb006d0560bb2c98133055ba3 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 30 16:01:48 2017 -0600 6LoWPAN PktRadio: Finishes up all logic; Lots of misc changes from build testing. commit cc118f8cb335e1c48354fd7112e20be57de50b68 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 30 12:41:18 2017 -0600 6LoWPAN: Remove explicate type struct ieee802154_frame_meta_s from derive interface methods. Replace with a opaque void * type so that other radio meta data structures may use the interfaces. Add a new radion interface to get properties of the radio. Spirit: Finish packet I/O interface with the network. commit 1aa0a63e8341ca5f9f88c294f96d1740459146d4 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 30 07:57:15 2017 -0600 6LoWPAN: Replace metadata input parameter type from struct ieee802154_data_ind_s to void*. This permits radios with different MAC metadata to interact with 6LoWPAN. Includes many changes to handle variable length radio addresses. No longer just short and exteneded; any length. commit 46266ace61ae6246123873935436d864c7de31e0 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 17:50:42 2017 -0600 Spirit: Fix typos in SPI debug code. commit 27c6b235f6a2d3b2f08da4920b224a40e9991f59 Merge: 7029dffd02 7f53e08917 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 13:43:02 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 7029dffd02156bcbfa84262671c2ca766a117191 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 12:02:13 2017 -0600 6LoWPAN PktRadio: Add missing MetaData-related prototypes and initialization logic. Perform a major renaming to make room in the 6LoWPAN name space for packet radios. commit e2012f7c1df14155c0bfd45d7f1cb3f71b259f48 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 10:16:23 2017 -0600 6LoWPAN PktRadio: Some initial changes to support raw packet radios without IEEE 802.15.4 with 6LoWPAN. commit c6dbf9178539b7da75e492ffd1d1f93c9c326299 Merge: da782d6cdf 5889ce65f5 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 07:30:08 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit da782d6cdff5980d71aaa2da5f9c28ab3438d085 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 07:26:48 2017 -0600 Spirit: Completes port of the spirit radio library to NuttX. commit 63f3595c47dca13952d28b518c7f0a8d6ae9037a Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 17:42:51 2017 -0600 Spirit: Bring in a couple ore more radio interface functions. commit 692a27da396b7683749790923d8fa085091764f1 Merge: 27c0a6ec08 38f79543dc Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 15:49:37 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 27c0a6ec0813187f125922c81189a70cf04d83d4 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 15:47:27 2017 -0600 Spirit: Bring in a couple ore more radio interface functions. commit 96657af2831487724723a60084831619257fd953 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 14:20:14 2017 -0600 Spirit: Bring in more radio interface functions. commit 640d55399b54a019be68825668fca1446abd082f Merge: 3fcf84a9a2 47791442a0 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 12:01:43 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 3fcf84a9a2673e1e1466ce5b114d7b73c257e515 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 12:00:31 2017 -0600 Spirit: Brings in the last of the PktCommon interfaces. commit d26ebd901ba4ba84910e99b4e728b98c30fa4c0b Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 09:54:52 2017 -0600 Spirit: Add a few more PktCommon interfaces. commit b5cb8041d50233a4abb8fb4d1dcef5428ae2c2b2 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 09:33:31 2017 -0600 libc/termios: Remember block comments before empty file sections. commit 0fcab2c1c8c74442d40bd5e8c6af50a34f8a5821 Author: Sebastien Lorquet <sebastien@lorquet.fr> Date: Fri Jul 28 09:31:00 2017 -0600 tcdrain implementation based on a new term ioctl commit 797d4adf7d41068c671f0217d369b797b269de1a Author: Stefan Kolb <Stefan.Kolb@avat.de> Date: Fri Jul 28 09:19:04 2017 -0600 We discovered a problem with the samv7 mcan driver which results, under some circumstances, in a very high CPU load. The problem occurs, and is easily reproducible, if the device is connected to a CAN network with a wrongly configured CAN speed (baud rate). In our tests we set the CAN speed of the device to 1000000 and the speed of the other CAN nodes to 500000. The device is restarted and sends a CANopen “bootup message” to the CAN network. This results in huge amount of errors messages on the CAN bus, probably because of the CAN feature for acknowledging error messages. The error messages can’t be read by the device because of the misconfigured CAN speed, instead the CAN chip reports lots of errors, which are reported to the application which uses the CAN driver (CONFIG_CAN_ERRORS is enabled). The CAN errors are reported from the CAN chip via interrupts and thus the interrupt load is very high in this scenario. To fix the problem the driver now disables each RX error interrupt after it is occurred. The RX error interrupts are turned back on if at least one CAN message is received successfully. commit e298f48e96d9e34017dcab8e4d87032862ae9322 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 09:06:26 2017 -0600 Spirit: Bring in PktStack interfaces. commit 4a0f00a7058312dcf6ac392689b9f69112f613ec Merge: 855cf97130 b458934ac4 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 18:05:02 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 855cf9713052a851a1daeb3842db2edd6ff6f658 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 18:03:56 2017 -0600 Spirit Network Driver: Add some hooks that will eventually support address filtering. commit 3b3fb24ea86cf8233b034871d5c550f47ab852e6 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 17:13:21 2017 -0600 Spirit: Add a PktStack header file. commit 705e8fff6a21264ab751fb34c107cb109430ac89 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 15:00:03 2017 -0600 Spirit: Bring in last of timer interfaces. commit f8984b2f82e165f5bba132d6b099222d1beb1fbd Merge: cb79778a30 f287cc25d6 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 11:57:01 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit cb79778a3044ae97a1cc615dfa24099144f04bd0 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 11:46:31 2017 -0600 Spirit: Bring in last of QI interfaces. commit 0245b330a33aa73531b82ae261b1312be9922e0f Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 10:14:34 2017 -0600 Spirit: Add general interfaces. commit 121845a8f229ec2c88e5721da5512135f6624ee5 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 09:41:23 2017 -0600 Spirit: Bring in last of GPIO interfaces. commit 279bfcc92bcd0cfa48c0ed7862fa2b75fbee99b8 Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 17:09:19 2017 -0600 Spirit: Add some missing configuration options: Add register -level debug options. commit 4be89324a5908e35afc70373c279f4d05f62b48f Merge: 66e87f9bb3 598386ef90 Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 15:36:20 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 66e87f9bb3ef75fddf25400bc08475c5e6ad4c30 Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 15:19:56 2017 -0600 Spirit: Brings in last of PktBasic logic. commit 8b4c89d6a103003fa04363e2c2ae7b9ee390bf49 Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 11:55:50 2017 -0600 Spirit: Bring in AES and MBUS logic. commit d00022d39ab0ce839de29386949481e5c24feff3 Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 09:22:03 2017 -0600 Spirit: Bring in remainder of calibration interfaces. commit 40b4b2f902e04293f8940551a97a9a24a48988dd Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 08:44:32 2017 -0600 Spirit: Bring in DirectRF interfaces. commit 7c109608e1a2989f3edbc2fd939a2d225fff382a Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 07:46:19 2017 -0600 Spirit: Add CSMA support. commit 0f88896595d162c4ac6138e7b1af2fc35c865b3d Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 18:57:43 2017 -0600 Spirit: Add some initial TX logic to network driver. commit 4dc7058dfcdcf40980578680b7e1a4206dea4ea2 Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 17:02:11 2017 -0600 Spirit: Completes ports of spirit_management.* files commit c904eef51d929e041b87d0c8aff6fa3c2f895341 Merge: 91e985a877 c9ff8cbab9 Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 15:15:04 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 91e985a87729017a66d19276c4d47681064f95ea Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 15:13:54 2017 -0600 Spirit: Add a few more functions that will soon be needed for packet transmission. commit b5981d29983907c2194fbc26af4b72ad532bee78 Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 13:30:07 2017 -0600 Spirit: Finish off some initialization issues; Started some interrupt handling logic. commit c21073e0bc2870b3d9ba40bdfdfd5151ce4f5890 Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 09:35:52 2017 -0600 Spirit: Completes very basic radio initialization for network driver commit 1b544334361c54f46bcf0ba313c125932e8dafc6 Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 07:58:30 2017 -0600 Spirit: Add more radio initialization logic... getting closer. commit 45d1047db60843c57d394ec910c63e7c127671e0 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 19:15:33 2017 -0600 Spirit: add some CSMA initialization logic commit bcf55c71336d48947fe19bb09a799169852301c2 Merge: 89e9d426e9 2fc0fbcf7e Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 16:47:11 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 89e9d426e91c056e659fccf5e5c4392618f8f777 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 16:44:19 2017 -0600 Update some comments commit 9c5d8a5833350006ed389e898b11c8c8a20e5f4f Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 16:15:54 2017 -0600 Spirit: Rename drivers/wireless/spirit/src to lib. Move Spirit network driver out of IEEE802.15.4 into drivers/wireless/spirit/drivers commit cabc0ec9e6eb558dcb715ab17264383aa0105e7a Merge: 87b616414a 6bd744c4b3 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 15:38:40 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 87b616414a79c01a71acea78f8258e05325c1996 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 15:37:27 2017 -0600 Spirit radio driver is mutating into a standalone network driver. commit 507798233868a661ae8adad3e3aa117075a7a146 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 13:32:08 2017 -0600 Spirit: More radio initialization logic commit 33af25704ce9ca83d576300d153cfe31cc6d2576 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 12:19:14 2017 -0600 Spirit: Beginning of radio initialization logic commit 97b20014c016e55952a8f9d8f4ae29e2cc555b23 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 09:42:06 2017 -0600 Spirit: More initialization logic. commit 295d8e27824c0417fccea2344b30bb5c93ffbabe Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 23 15:39:53 2017 -0600 Spirit: Add header file containing enumeration of commands. commit 8a2d9dd8eb9cc70cbcdd1b913fc9022b9c9ec8da Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 23 11:33:50 2017 -0600 Spirit: Add GPIO initialization logic commit 8b6d80c44f92024c45a6ba63ba1af3fdafe94dc3 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 23 10:07:25 2017 -0600 Spirit: Add interrupt control logic. commit 423f846fe5c914f92a4bfea4d9d1fa33de1c77a5 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 19:06:52 2017 -0600 Spirit: Yet a little more radio initialization logic. commit 5895b979823e51ddde5ad52e6de66a8ad662e883 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 15:36:05 2017 -0600 Spirit: A little more radio initialization logic. commit 86311ab30aad386203c181c792847dd1d37f9a02 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 13:02:32 2017 -0600 Spirit: A miniscule amount of radio initialization logic. commit ad55e89d5ee12ea1eeea95fcd38ff3da0db4416a Merge: 90a7666655 f4e46b0da7 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 10:56:30 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 90a766665534b05da0157dbc383cb06a98c86a79 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 10:52:52 2017 -0600 Spirit1: A few fixes for a clean build of initial configuration (not much there yet) commit bbbf04c223230a52a7705a2161128265cfbaa480 Merge: 623d54a7f7 2319ea53a9 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 09:53:57 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 623d54a7f719e9032099f88f38203efee4b80722 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 09:43:52 2017 -0600 b-l475e-iot01a: Add a configuration for testing sprit radio. commit d309d73d9f4665f9d870eb03531f450043d9389d Merge: 52c3ddfae6 d88dc9b2e5 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 09:02:06 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 52c3ddfae6802e111c2b5cf1207baf21a61dd00b Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 08:33:04 2017 -0600 Spirit: Add register definition header file. commit 8d842ab5e8f9ca653b42f9ee88dc279f06b4fa98 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 17:27:03 2017 -0600 b-l475e-iot01a: Add initial, unverified support for the SPSRGF/Spirit1 module. commit 73d902a1048616fb9c2dd2147cabcd8ee78e19ac Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 15:49:43 2017 -0600 Spirit: Fixes to get skeleton IEEE 802.15.4 driver build. commit ebc5a8387bb94f0cc3827533795f3e4a33207e67 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 15:16:29 2017 -0600 Spirit1: Add framework for IEEE 802.15.4 driver. Does not yet build. commit 52e195a7ae14ddb18bdd56258f4877381d2501ca Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 14:02:42 2017 -0600 Spirit: A little more SPI logic. commit 90048d0c5b8a5af4d81a15d99535c84ed38d8ae9 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 11:19:06 2017 -0600 Spirit: Build directories setup. Some initial files added, mostly just to verify build. commit 8273a381ac1f6bb081b292b5e73226185e9e634c Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 08:34:04 2017 -0600 USB composite: Remove references to CDC/ACM and USB MSC from composite logic. They are no longer coupled.
2017-07-30 19:10:51 -06:00
*/
struct netdev_maxaddr_s
{
uint8_t nm_addr[RADIO_MAX_ADDRLEN];
};
struct netdev_varaddr_s
{
uint8_t nv_addrlen;
uint8_t nv_addr[RADIO_MAX_ADDRLEN];
};
#endif
/* This structure collects information that is specific to a specific network
* interface driver. If the hardware platform supports only a single instance
* of this structure.
*/
struct devif_callback_s; /* Forward reference */
2014-06-27 16:48:12 -06:00
struct net_driver_s
{
/* This link is used to maintain a single-linked list of ethernet drivers.
* Must be the first field in the structure due to blink type casting.
*/
#if CONFIG_NSOCKET_DESCRIPTORS > 0
2014-06-27 16:48:12 -06:00
FAR struct net_driver_s *flink;
/* This is the name of network device assigned when netdev_register was called.
* This name is only used to support socket ioctl lookups by device name
* Examples: "eth0"
*/
char d_ifname[IFNAMSIZ];
#endif
/* Drivers interface flags. See IFF_* definitions in include/net/if.h */
uint8_t d_flags;
/* Multi network devices using multiple link layer protocols are supported */
uint8_t d_lltype; /* See enum net_lltype_e */
2015-01-15 13:08:28 -06:00
uint8_t d_llhdrlen; /* Link layer header size */
#ifdef CONFIG_NETDEV_IFINDEX
uint8_t d_ifindex; /* Device index */
#endif
This commit attempts remove some long standard confusion in naming and some actual problems that result from the naming confusion. The basic problem is the standard MTU does not include the size of the Ethernet header. For clarity, I changed the naming of most things called MTU to PKTSIZE. For example, CONFIG_NET_ETH_MTU is now CONFIG_NET_ETH_PKTSIZE. This makes the user interface a little hostile. People thing of an MTU of 1500 bytes, but the corresponding packet is really 1514 bytes (including the 14 byte Ethernet header). A more friendly solution would configure the MTU (as before), but then derive the packet buffer size by adding the MAC header length. Instead, we define the packet buffer size then derive the MTU. The MTU is not common currency in networking. On the wire, the only real issue is the MSS which is derived from MTU by subtracting the IP header and TCP header sizes (for the case of TCP). Now it is derived for the PKTSIZE by subtracting the IP header, the TCP header, and the MAC header sizes. So we should be all good and without the recurring 14 byte error in MTU's and MSS's. Squashed commit of the following: Trivial update to fix some spacing issues. net/: Rename several macros containing _MTU to _PKTSIZE. net/: Rename CONFIG_NET_SLIP_MTU to CONFIG_NET_SLIP_PKTSIZE and similarly for CONFIG_NET_TUN_MTU. These are not the MTU which does not include the size of the link layer header. These are the full size of the packet buffer memory (minus any GUARD bytes). net/: Rename CONFIG_NET_6LOWPAN_MTU to CONFIG_NET_6LOWPAN_PKTSIZE and similarly for CONFIG_NET_TUN_MTU. These are not the MTU which does not include the size of the link layer header. These are the full size of the packet buffer memory (minus any GUARD bytes). net/: Rename CONFIG_NET_ETH_MTU to CONFIG_NET_ETH_PKTSIZE. This is not the MTU which does not include the size of the link layer header. This is the full size of the packet buffer memory (minus any GUARD bytes). net/: Rename the file d_mtu in the network driver structure to d_pktsize. That value saved there is not the MTU. The packetsize is the memory large enough to hold the maximum packet PLUS the size of the link layer header. The MTU does not include the link layer header.
2018-07-04 14:10:40 -06:00
uint16_t d_pktsize; /* Maximum packet size */
#if defined(CONFIG_NET_ETHERNET) || defined(CONFIG_NET_6LOWPAN) || \
This comment adds (1) basic support for AF_BLUETOOTH sockets. The logic compiles but is still incomplete. Support for Bluetooth is general is still dependent on CONFIG_EXPERMIMENTAL because it is not yet ready for used. Squashed commit of the following: wireless/bluetooth: Some small changes that gets to a clean compile by just eliminating some incorrect implementations (still with a lot of warnings. The logic is still incomplete but now not so lethal. wireless/bluetooth: Restructuring: Connection interfaces should internal to wireless/bluetooth. include/nuttx/wireless/bt_conn.h removed and merged with wireless/bluetooth/bt_conn.h. Several fix to get closer to bt_netdev.c compiling. Need to design some not interfaces and use some existing interfaces to send and receiv packets. wireless/bluetooth: Some organization with some network device compile errors fixed. Still not even close to compiling. net/bluetooth: Fix numerous compile issues; Still open design issues with regard to the interface with the Bluetooth stack. wireless/bluetooth: Create bt_netdev.c with a crude copy of mac802154_netdev.c. Does not not even compile yet. include/nuttx/net: Add bluetooth.h. Content is not yet correct. net/netpackets: Add bluetooth.h. Update net/bluetooth to use new socket address definition. net/bluetooth: Some fixes for initial build. net/bluetooth: Add initial support for Bluetooth sockets. The initial cut is just the a clone of the IEEE 802.15.4 socket support with name changes. net/ieee802154: Fix some typos noted when cloning to create net/bluetooth.
2018-03-31 14:55:03 -06:00
defined(CONFIG_NET_BLUETOOTH) || defined(CONFIG_NET_IEEE802154)
/* Link layer address */
union
{
#ifdef CONFIG_NET_ETHERNET
/* Ethernet device identity */
struct ether_addr ether; /* Device Ethernet MAC address */
#endif
Squashed commit of the following: commit f97da3a546f9d6e1b858cfc45538a06b62396034 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 30 19:09:46 2017 -0600 Network: Condition out some types that depend on definitions that are only available with 6LoWPAN is enabled. commit 312e9dc1195527100e12bf6be8b629f5b29be1f6 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 30 18:57:23 2017 -0600 6LoWPAN: Fix case where source and destination IP address were backward. Fix some compile issues when star topology support is enabled. commit 3b0e71c5807194fbb006d0560bb2c98133055ba3 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 30 16:01:48 2017 -0600 6LoWPAN PktRadio: Finishes up all logic; Lots of misc changes from build testing. commit cc118f8cb335e1c48354fd7112e20be57de50b68 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 30 12:41:18 2017 -0600 6LoWPAN: Remove explicate type struct ieee802154_frame_meta_s from derive interface methods. Replace with a opaque void * type so that other radio meta data structures may use the interfaces. Add a new radion interface to get properties of the radio. Spirit: Finish packet I/O interface with the network. commit 1aa0a63e8341ca5f9f88c294f96d1740459146d4 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 30 07:57:15 2017 -0600 6LoWPAN: Replace metadata input parameter type from struct ieee802154_data_ind_s to void*. This permits radios with different MAC metadata to interact with 6LoWPAN. Includes many changes to handle variable length radio addresses. No longer just short and exteneded; any length. commit 46266ace61ae6246123873935436d864c7de31e0 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 17:50:42 2017 -0600 Spirit: Fix typos in SPI debug code. commit 27c6b235f6a2d3b2f08da4920b224a40e9991f59 Merge: 7029dffd02 7f53e08917 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 13:43:02 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 7029dffd02156bcbfa84262671c2ca766a117191 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 12:02:13 2017 -0600 6LoWPAN PktRadio: Add missing MetaData-related prototypes and initialization logic. Perform a major renaming to make room in the 6LoWPAN name space for packet radios. commit e2012f7c1df14155c0bfd45d7f1cb3f71b259f48 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 10:16:23 2017 -0600 6LoWPAN PktRadio: Some initial changes to support raw packet radios without IEEE 802.15.4 with 6LoWPAN. commit c6dbf9178539b7da75e492ffd1d1f93c9c326299 Merge: da782d6cdf 5889ce65f5 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 07:30:08 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit da782d6cdff5980d71aaa2da5f9c28ab3438d085 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 07:26:48 2017 -0600 Spirit: Completes port of the spirit radio library to NuttX. commit 63f3595c47dca13952d28b518c7f0a8d6ae9037a Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 17:42:51 2017 -0600 Spirit: Bring in a couple ore more radio interface functions. commit 692a27da396b7683749790923d8fa085091764f1 Merge: 27c0a6ec08 38f79543dc Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 15:49:37 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 27c0a6ec0813187f125922c81189a70cf04d83d4 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 15:47:27 2017 -0600 Spirit: Bring in a couple ore more radio interface functions. commit 96657af2831487724723a60084831619257fd953 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 14:20:14 2017 -0600 Spirit: Bring in more radio interface functions. commit 640d55399b54a019be68825668fca1446abd082f Merge: 3fcf84a9a2 47791442a0 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 12:01:43 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 3fcf84a9a2673e1e1466ce5b114d7b73c257e515 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 12:00:31 2017 -0600 Spirit: Brings in the last of the PktCommon interfaces. commit d26ebd901ba4ba84910e99b4e728b98c30fa4c0b Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 09:54:52 2017 -0600 Spirit: Add a few more PktCommon interfaces. commit b5cb8041d50233a4abb8fb4d1dcef5428ae2c2b2 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 09:33:31 2017 -0600 libc/termios: Remember block comments before empty file sections. commit 0fcab2c1c8c74442d40bd5e8c6af50a34f8a5821 Author: Sebastien Lorquet <sebastien@lorquet.fr> Date: Fri Jul 28 09:31:00 2017 -0600 tcdrain implementation based on a new term ioctl commit 797d4adf7d41068c671f0217d369b797b269de1a Author: Stefan Kolb <Stefan.Kolb@avat.de> Date: Fri Jul 28 09:19:04 2017 -0600 We discovered a problem with the samv7 mcan driver which results, under some circumstances, in a very high CPU load. The problem occurs, and is easily reproducible, if the device is connected to a CAN network with a wrongly configured CAN speed (baud rate). In our tests we set the CAN speed of the device to 1000000 and the speed of the other CAN nodes to 500000. The device is restarted and sends a CANopen “bootup message” to the CAN network. This results in huge amount of errors messages on the CAN bus, probably because of the CAN feature for acknowledging error messages. The error messages can’t be read by the device because of the misconfigured CAN speed, instead the CAN chip reports lots of errors, which are reported to the application which uses the CAN driver (CONFIG_CAN_ERRORS is enabled). The CAN errors are reported from the CAN chip via interrupts and thus the interrupt load is very high in this scenario. To fix the problem the driver now disables each RX error interrupt after it is occurred. The RX error interrupts are turned back on if at least one CAN message is received successfully. commit e298f48e96d9e34017dcab8e4d87032862ae9322 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 09:06:26 2017 -0600 Spirit: Bring in PktStack interfaces. commit 4a0f00a7058312dcf6ac392689b9f69112f613ec Merge: 855cf97130 b458934ac4 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 18:05:02 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 855cf9713052a851a1daeb3842db2edd6ff6f658 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 18:03:56 2017 -0600 Spirit Network Driver: Add some hooks that will eventually support address filtering. commit 3b3fb24ea86cf8233b034871d5c550f47ab852e6 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 17:13:21 2017 -0600 Spirit: Add a PktStack header file. commit 705e8fff6a21264ab751fb34c107cb109430ac89 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 15:00:03 2017 -0600 Spirit: Bring in last of timer interfaces. commit f8984b2f82e165f5bba132d6b099222d1beb1fbd Merge: cb79778a30 f287cc25d6 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 11:57:01 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit cb79778a3044ae97a1cc615dfa24099144f04bd0 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 11:46:31 2017 -0600 Spirit: Bring in last of QI interfaces. commit 0245b330a33aa73531b82ae261b1312be9922e0f Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 10:14:34 2017 -0600 Spirit: Add general interfaces. commit 121845a8f229ec2c88e5721da5512135f6624ee5 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 09:41:23 2017 -0600 Spirit: Bring in last of GPIO interfaces. commit 279bfcc92bcd0cfa48c0ed7862fa2b75fbee99b8 Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 17:09:19 2017 -0600 Spirit: Add some missing configuration options: Add register -level debug options. commit 4be89324a5908e35afc70373c279f4d05f62b48f Merge: 66e87f9bb3 598386ef90 Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 15:36:20 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 66e87f9bb3ef75fddf25400bc08475c5e6ad4c30 Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 15:19:56 2017 -0600 Spirit: Brings in last of PktBasic logic. commit 8b4c89d6a103003fa04363e2c2ae7b9ee390bf49 Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 11:55:50 2017 -0600 Spirit: Bring in AES and MBUS logic. commit d00022d39ab0ce839de29386949481e5c24feff3 Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 09:22:03 2017 -0600 Spirit: Bring in remainder of calibration interfaces. commit 40b4b2f902e04293f8940551a97a9a24a48988dd Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 08:44:32 2017 -0600 Spirit: Bring in DirectRF interfaces. commit 7c109608e1a2989f3edbc2fd939a2d225fff382a Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 07:46:19 2017 -0600 Spirit: Add CSMA support. commit 0f88896595d162c4ac6138e7b1af2fc35c865b3d Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 18:57:43 2017 -0600 Spirit: Add some initial TX logic to network driver. commit 4dc7058dfcdcf40980578680b7e1a4206dea4ea2 Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 17:02:11 2017 -0600 Spirit: Completes ports of spirit_management.* files commit c904eef51d929e041b87d0c8aff6fa3c2f895341 Merge: 91e985a877 c9ff8cbab9 Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 15:15:04 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 91e985a87729017a66d19276c4d47681064f95ea Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 15:13:54 2017 -0600 Spirit: Add a few more functions that will soon be needed for packet transmission. commit b5981d29983907c2194fbc26af4b72ad532bee78 Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 13:30:07 2017 -0600 Spirit: Finish off some initialization issues; Started some interrupt handling logic. commit c21073e0bc2870b3d9ba40bdfdfd5151ce4f5890 Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 09:35:52 2017 -0600 Spirit: Completes very basic radio initialization for network driver commit 1b544334361c54f46bcf0ba313c125932e8dafc6 Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 07:58:30 2017 -0600 Spirit: Add more radio initialization logic... getting closer. commit 45d1047db60843c57d394ec910c63e7c127671e0 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 19:15:33 2017 -0600 Spirit: add some CSMA initialization logic commit bcf55c71336d48947fe19bb09a799169852301c2 Merge: 89e9d426e9 2fc0fbcf7e Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 16:47:11 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 89e9d426e91c056e659fccf5e5c4392618f8f777 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 16:44:19 2017 -0600 Update some comments commit 9c5d8a5833350006ed389e898b11c8c8a20e5f4f Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 16:15:54 2017 -0600 Spirit: Rename drivers/wireless/spirit/src to lib. Move Spirit network driver out of IEEE802.15.4 into drivers/wireless/spirit/drivers commit cabc0ec9e6eb558dcb715ab17264383aa0105e7a Merge: 87b616414a 6bd744c4b3 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 15:38:40 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 87b616414a79c01a71acea78f8258e05325c1996 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 15:37:27 2017 -0600 Spirit radio driver is mutating into a standalone network driver. commit 507798233868a661ae8adad3e3aa117075a7a146 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 13:32:08 2017 -0600 Spirit: More radio initialization logic commit 33af25704ce9ca83d576300d153cfe31cc6d2576 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 12:19:14 2017 -0600 Spirit: Beginning of radio initialization logic commit 97b20014c016e55952a8f9d8f4ae29e2cc555b23 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 09:42:06 2017 -0600 Spirit: More initialization logic. commit 295d8e27824c0417fccea2344b30bb5c93ffbabe Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 23 15:39:53 2017 -0600 Spirit: Add header file containing enumeration of commands. commit 8a2d9dd8eb9cc70cbcdd1b913fc9022b9c9ec8da Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 23 11:33:50 2017 -0600 Spirit: Add GPIO initialization logic commit 8b6d80c44f92024c45a6ba63ba1af3fdafe94dc3 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 23 10:07:25 2017 -0600 Spirit: Add interrupt control logic. commit 423f846fe5c914f92a4bfea4d9d1fa33de1c77a5 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 19:06:52 2017 -0600 Spirit: Yet a little more radio initialization logic. commit 5895b979823e51ddde5ad52e6de66a8ad662e883 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 15:36:05 2017 -0600 Spirit: A little more radio initialization logic. commit 86311ab30aad386203c181c792847dd1d37f9a02 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 13:02:32 2017 -0600 Spirit: A miniscule amount of radio initialization logic. commit ad55e89d5ee12ea1eeea95fcd38ff3da0db4416a Merge: 90a7666655 f4e46b0da7 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 10:56:30 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 90a766665534b05da0157dbc383cb06a98c86a79 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 10:52:52 2017 -0600 Spirit1: A few fixes for a clean build of initial configuration (not much there yet) commit bbbf04c223230a52a7705a2161128265cfbaa480 Merge: 623d54a7f7 2319ea53a9 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 09:53:57 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 623d54a7f719e9032099f88f38203efee4b80722 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 09:43:52 2017 -0600 b-l475e-iot01a: Add a configuration for testing sprit radio. commit d309d73d9f4665f9d870eb03531f450043d9389d Merge: 52c3ddfae6 d88dc9b2e5 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 09:02:06 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 52c3ddfae6802e111c2b5cf1207baf21a61dd00b Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 08:33:04 2017 -0600 Spirit: Add register definition header file. commit 8d842ab5e8f9ca653b42f9ee88dc279f06b4fa98 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 17:27:03 2017 -0600 b-l475e-iot01a: Add initial, unverified support for the SPSRGF/Spirit1 module. commit 73d902a1048616fb9c2dd2147cabcd8ee78e19ac Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 15:49:43 2017 -0600 Spirit: Fixes to get skeleton IEEE 802.15.4 driver build. commit ebc5a8387bb94f0cc3827533795f3e4a33207e67 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 15:16:29 2017 -0600 Spirit1: Add framework for IEEE 802.15.4 driver. Does not yet build. commit 52e195a7ae14ddb18bdd56258f4877381d2501ca Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 14:02:42 2017 -0600 Spirit: A little more SPI logic. commit 90048d0c5b8a5af4d81a15d99535c84ed38d8ae9 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 11:19:06 2017 -0600 Spirit: Build directories setup. Some initial files added, mostly just to verify build. commit 8273a381ac1f6bb081b292b5e73226185e9e634c Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 08:34:04 2017 -0600 USB composite: Remove references to CDC/ACM and USB MSC from composite logic. They are no longer coupled.
2017-07-30 19:10:51 -06:00
This comment adds (1) basic support for AF_BLUETOOTH sockets. The logic compiles but is still incomplete. Support for Bluetooth is general is still dependent on CONFIG_EXPERMIMENTAL because it is not yet ready for used. Squashed commit of the following: wireless/bluetooth: Some small changes that gets to a clean compile by just eliminating some incorrect implementations (still with a lot of warnings. The logic is still incomplete but now not so lethal. wireless/bluetooth: Restructuring: Connection interfaces should internal to wireless/bluetooth. include/nuttx/wireless/bt_conn.h removed and merged with wireless/bluetooth/bt_conn.h. Several fix to get closer to bt_netdev.c compiling. Need to design some not interfaces and use some existing interfaces to send and receiv packets. wireless/bluetooth: Some organization with some network device compile errors fixed. Still not even close to compiling. net/bluetooth: Fix numerous compile issues; Still open design issues with regard to the interface with the Bluetooth stack. wireless/bluetooth: Create bt_netdev.c with a crude copy of mac802154_netdev.c. Does not not even compile yet. include/nuttx/net: Add bluetooth.h. Content is not yet correct. net/netpackets: Add bluetooth.h. Update net/bluetooth to use new socket address definition. net/bluetooth: Some fixes for initial build. net/bluetooth: Add initial support for Bluetooth sockets. The initial cut is just the a clone of the IEEE 802.15.4 socket support with name changes. net/ieee802154: Fix some typos noted when cloning to create net/bluetooth.
2018-03-31 14:55:03 -06:00
#if defined(CONFIG_NET_6LOWPAN) || defined(CONFIG_NET_BLUETOOTH) || \
defined(CONFIG_NET_IEEE802154)
Squashed commit of the following: commit f97da3a546f9d6e1b858cfc45538a06b62396034 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 30 19:09:46 2017 -0600 Network: Condition out some types that depend on definitions that are only available with 6LoWPAN is enabled. commit 312e9dc1195527100e12bf6be8b629f5b29be1f6 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 30 18:57:23 2017 -0600 6LoWPAN: Fix case where source and destination IP address were backward. Fix some compile issues when star topology support is enabled. commit 3b0e71c5807194fbb006d0560bb2c98133055ba3 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 30 16:01:48 2017 -0600 6LoWPAN PktRadio: Finishes up all logic; Lots of misc changes from build testing. commit cc118f8cb335e1c48354fd7112e20be57de50b68 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 30 12:41:18 2017 -0600 6LoWPAN: Remove explicate type struct ieee802154_frame_meta_s from derive interface methods. Replace with a opaque void * type so that other radio meta data structures may use the interfaces. Add a new radion interface to get properties of the radio. Spirit: Finish packet I/O interface with the network. commit 1aa0a63e8341ca5f9f88c294f96d1740459146d4 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 30 07:57:15 2017 -0600 6LoWPAN: Replace metadata input parameter type from struct ieee802154_data_ind_s to void*. This permits radios with different MAC metadata to interact with 6LoWPAN. Includes many changes to handle variable length radio addresses. No longer just short and exteneded; any length. commit 46266ace61ae6246123873935436d864c7de31e0 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 17:50:42 2017 -0600 Spirit: Fix typos in SPI debug code. commit 27c6b235f6a2d3b2f08da4920b224a40e9991f59 Merge: 7029dffd02 7f53e08917 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 13:43:02 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 7029dffd02156bcbfa84262671c2ca766a117191 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 12:02:13 2017 -0600 6LoWPAN PktRadio: Add missing MetaData-related prototypes and initialization logic. Perform a major renaming to make room in the 6LoWPAN name space for packet radios. commit e2012f7c1df14155c0bfd45d7f1cb3f71b259f48 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 10:16:23 2017 -0600 6LoWPAN PktRadio: Some initial changes to support raw packet radios without IEEE 802.15.4 with 6LoWPAN. commit c6dbf9178539b7da75e492ffd1d1f93c9c326299 Merge: da782d6cdf 5889ce65f5 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 07:30:08 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit da782d6cdff5980d71aaa2da5f9c28ab3438d085 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 07:26:48 2017 -0600 Spirit: Completes port of the spirit radio library to NuttX. commit 63f3595c47dca13952d28b518c7f0a8d6ae9037a Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 17:42:51 2017 -0600 Spirit: Bring in a couple ore more radio interface functions. commit 692a27da396b7683749790923d8fa085091764f1 Merge: 27c0a6ec08 38f79543dc Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 15:49:37 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 27c0a6ec0813187f125922c81189a70cf04d83d4 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 15:47:27 2017 -0600 Spirit: Bring in a couple ore more radio interface functions. commit 96657af2831487724723a60084831619257fd953 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 14:20:14 2017 -0600 Spirit: Bring in more radio interface functions. commit 640d55399b54a019be68825668fca1446abd082f Merge: 3fcf84a9a2 47791442a0 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 12:01:43 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 3fcf84a9a2673e1e1466ce5b114d7b73c257e515 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 12:00:31 2017 -0600 Spirit: Brings in the last of the PktCommon interfaces. commit d26ebd901ba4ba84910e99b4e728b98c30fa4c0b Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 09:54:52 2017 -0600 Spirit: Add a few more PktCommon interfaces. commit b5cb8041d50233a4abb8fb4d1dcef5428ae2c2b2 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 09:33:31 2017 -0600 libc/termios: Remember block comments before empty file sections. commit 0fcab2c1c8c74442d40bd5e8c6af50a34f8a5821 Author: Sebastien Lorquet <sebastien@lorquet.fr> Date: Fri Jul 28 09:31:00 2017 -0600 tcdrain implementation based on a new term ioctl commit 797d4adf7d41068c671f0217d369b797b269de1a Author: Stefan Kolb <Stefan.Kolb@avat.de> Date: Fri Jul 28 09:19:04 2017 -0600 We discovered a problem with the samv7 mcan driver which results, under some circumstances, in a very high CPU load. The problem occurs, and is easily reproducible, if the device is connected to a CAN network with a wrongly configured CAN speed (baud rate). In our tests we set the CAN speed of the device to 1000000 and the speed of the other CAN nodes to 500000. The device is restarted and sends a CANopen “bootup message” to the CAN network. This results in huge amount of errors messages on the CAN bus, probably because of the CAN feature for acknowledging error messages. The error messages can’t be read by the device because of the misconfigured CAN speed, instead the CAN chip reports lots of errors, which are reported to the application which uses the CAN driver (CONFIG_CAN_ERRORS is enabled). The CAN errors are reported from the CAN chip via interrupts and thus the interrupt load is very high in this scenario. To fix the problem the driver now disables each RX error interrupt after it is occurred. The RX error interrupts are turned back on if at least one CAN message is received successfully. commit e298f48e96d9e34017dcab8e4d87032862ae9322 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 09:06:26 2017 -0600 Spirit: Bring in PktStack interfaces. commit 4a0f00a7058312dcf6ac392689b9f69112f613ec Merge: 855cf97130 b458934ac4 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 18:05:02 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 855cf9713052a851a1daeb3842db2edd6ff6f658 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 18:03:56 2017 -0600 Spirit Network Driver: Add some hooks that will eventually support address filtering. commit 3b3fb24ea86cf8233b034871d5c550f47ab852e6 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 17:13:21 2017 -0600 Spirit: Add a PktStack header file. commit 705e8fff6a21264ab751fb34c107cb109430ac89 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 15:00:03 2017 -0600 Spirit: Bring in last of timer interfaces. commit f8984b2f82e165f5bba132d6b099222d1beb1fbd Merge: cb79778a30 f287cc25d6 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 11:57:01 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit cb79778a3044ae97a1cc615dfa24099144f04bd0 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 11:46:31 2017 -0600 Spirit: Bring in last of QI interfaces. commit 0245b330a33aa73531b82ae261b1312be9922e0f Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 10:14:34 2017 -0600 Spirit: Add general interfaces. commit 121845a8f229ec2c88e5721da5512135f6624ee5 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 09:41:23 2017 -0600 Spirit: Bring in last of GPIO interfaces. commit 279bfcc92bcd0cfa48c0ed7862fa2b75fbee99b8 Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 17:09:19 2017 -0600 Spirit: Add some missing configuration options: Add register -level debug options. commit 4be89324a5908e35afc70373c279f4d05f62b48f Merge: 66e87f9bb3 598386ef90 Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 15:36:20 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 66e87f9bb3ef75fddf25400bc08475c5e6ad4c30 Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 15:19:56 2017 -0600 Spirit: Brings in last of PktBasic logic. commit 8b4c89d6a103003fa04363e2c2ae7b9ee390bf49 Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 11:55:50 2017 -0600 Spirit: Bring in AES and MBUS logic. commit d00022d39ab0ce839de29386949481e5c24feff3 Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 09:22:03 2017 -0600 Spirit: Bring in remainder of calibration interfaces. commit 40b4b2f902e04293f8940551a97a9a24a48988dd Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 08:44:32 2017 -0600 Spirit: Bring in DirectRF interfaces. commit 7c109608e1a2989f3edbc2fd939a2d225fff382a Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 07:46:19 2017 -0600 Spirit: Add CSMA support. commit 0f88896595d162c4ac6138e7b1af2fc35c865b3d Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 18:57:43 2017 -0600 Spirit: Add some initial TX logic to network driver. commit 4dc7058dfcdcf40980578680b7e1a4206dea4ea2 Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 17:02:11 2017 -0600 Spirit: Completes ports of spirit_management.* files commit c904eef51d929e041b87d0c8aff6fa3c2f895341 Merge: 91e985a877 c9ff8cbab9 Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 15:15:04 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 91e985a87729017a66d19276c4d47681064f95ea Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 15:13:54 2017 -0600 Spirit: Add a few more functions that will soon be needed for packet transmission. commit b5981d29983907c2194fbc26af4b72ad532bee78 Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 13:30:07 2017 -0600 Spirit: Finish off some initialization issues; Started some interrupt handling logic. commit c21073e0bc2870b3d9ba40bdfdfd5151ce4f5890 Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 09:35:52 2017 -0600 Spirit: Completes very basic radio initialization for network driver commit 1b544334361c54f46bcf0ba313c125932e8dafc6 Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 07:58:30 2017 -0600 Spirit: Add more radio initialization logic... getting closer. commit 45d1047db60843c57d394ec910c63e7c127671e0 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 19:15:33 2017 -0600 Spirit: add some CSMA initialization logic commit bcf55c71336d48947fe19bb09a799169852301c2 Merge: 89e9d426e9 2fc0fbcf7e Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 16:47:11 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 89e9d426e91c056e659fccf5e5c4392618f8f777 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 16:44:19 2017 -0600 Update some comments commit 9c5d8a5833350006ed389e898b11c8c8a20e5f4f Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 16:15:54 2017 -0600 Spirit: Rename drivers/wireless/spirit/src to lib. Move Spirit network driver out of IEEE802.15.4 into drivers/wireless/spirit/drivers commit cabc0ec9e6eb558dcb715ab17264383aa0105e7a Merge: 87b616414a 6bd744c4b3 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 15:38:40 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 87b616414a79c01a71acea78f8258e05325c1996 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 15:37:27 2017 -0600 Spirit radio driver is mutating into a standalone network driver. commit 507798233868a661ae8adad3e3aa117075a7a146 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 13:32:08 2017 -0600 Spirit: More radio initialization logic commit 33af25704ce9ca83d576300d153cfe31cc6d2576 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 12:19:14 2017 -0600 Spirit: Beginning of radio initialization logic commit 97b20014c016e55952a8f9d8f4ae29e2cc555b23 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 09:42:06 2017 -0600 Spirit: More initialization logic. commit 295d8e27824c0417fccea2344b30bb5c93ffbabe Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 23 15:39:53 2017 -0600 Spirit: Add header file containing enumeration of commands. commit 8a2d9dd8eb9cc70cbcdd1b913fc9022b9c9ec8da Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 23 11:33:50 2017 -0600 Spirit: Add GPIO initialization logic commit 8b6d80c44f92024c45a6ba63ba1af3fdafe94dc3 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 23 10:07:25 2017 -0600 Spirit: Add interrupt control logic. commit 423f846fe5c914f92a4bfea4d9d1fa33de1c77a5 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 19:06:52 2017 -0600 Spirit: Yet a little more radio initialization logic. commit 5895b979823e51ddde5ad52e6de66a8ad662e883 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 15:36:05 2017 -0600 Spirit: A little more radio initialization logic. commit 86311ab30aad386203c181c792847dd1d37f9a02 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 13:02:32 2017 -0600 Spirit: A miniscule amount of radio initialization logic. commit ad55e89d5ee12ea1eeea95fcd38ff3da0db4416a Merge: 90a7666655 f4e46b0da7 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 10:56:30 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 90a766665534b05da0157dbc383cb06a98c86a79 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 10:52:52 2017 -0600 Spirit1: A few fixes for a clean build of initial configuration (not much there yet) commit bbbf04c223230a52a7705a2161128265cfbaa480 Merge: 623d54a7f7 2319ea53a9 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 09:53:57 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 623d54a7f719e9032099f88f38203efee4b80722 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 09:43:52 2017 -0600 b-l475e-iot01a: Add a configuration for testing sprit radio. commit d309d73d9f4665f9d870eb03531f450043d9389d Merge: 52c3ddfae6 d88dc9b2e5 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 09:02:06 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 52c3ddfae6802e111c2b5cf1207baf21a61dd00b Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 08:33:04 2017 -0600 Spirit: Add register definition header file. commit 8d842ab5e8f9ca653b42f9ee88dc279f06b4fa98 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 17:27:03 2017 -0600 b-l475e-iot01a: Add initial, unverified support for the SPSRGF/Spirit1 module. commit 73d902a1048616fb9c2dd2147cabcd8ee78e19ac Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 15:49:43 2017 -0600 Spirit: Fixes to get skeleton IEEE 802.15.4 driver build. commit ebc5a8387bb94f0cc3827533795f3e4a33207e67 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 15:16:29 2017 -0600 Spirit1: Add framework for IEEE 802.15.4 driver. Does not yet build. commit 52e195a7ae14ddb18bdd56258f4877381d2501ca Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 14:02:42 2017 -0600 Spirit: A little more SPI logic. commit 90048d0c5b8a5af4d81a15d99535c84ed38d8ae9 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 11:19:06 2017 -0600 Spirit: Build directories setup. Some initial files added, mostly just to verify build. commit 8273a381ac1f6bb081b292b5e73226185e9e634c Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 08:34:04 2017 -0600 USB composite: Remove references to CDC/ACM and USB MSC from composite logic. They are no longer coupled.
2017-07-30 19:10:51 -06:00
/* The address assigned to an IEEE 802.15.4 or generic packet radio. */
Squashed commit of the following: commit 2a3ab1652a2c95bcfc8be8380fc7cbdcb6472938 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Aug 19 08:44:31 2017 -0600 PF_IEEE802154: Finish some missing bind() logic. Add configs/sim configuration for testing. commit 59be4b846a6e3bfe82087a888e3fdac9c3c414e5 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 19:30:04 2017 -0600 PF_IEEE802154: More renaming to decouple 6LoPAN from radios in general. commit 69fabb1aea76e54381bdc13de28a3f1441fb42f4 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 19:21:11 2017 -0600 PF_IEEE802154: Missed a few renamings. commit ff0af1bb25567720934cc1c2a721ccd92cc35f89 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 17:46:58 2017 -0600 PF_IEEE802154: A few bugfixes commit 01c7c84afd00cf907d280d30cfaf0fb2cf90e02e Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 17:01:31 2017 -0600 PF_IEEE802154: A few bugfixes commit dcef4056d1c1488c93151135f3b7106977faa903 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 16:31:05 2017 -0600 PF_IEEE802154: Bring in framework for sendto/recvfrom. Currently just a crude port of functions from net/pkt and do not provide the implemenation needed. commit 68c5b7b6dd3ab7eb2d0c19890abb38e6561b140e Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 15:18:31 2017 -0600 Trivial fix to typo in comment commit fd0af534c089569ccdbd59f13b85453de0a653ad Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 15:07:20 2017 -0600 PF_IEEE802154: Add device lookup logic; Rename some things that used to be used only by 6LoWPAN but now must be shared with PF_IEEE802154 and need more generic naming. commit 4fc80a1659f1c699b050775cefc7f6b631b46114 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 13:49:54 2017 -0600 PF_IEEE802154: Add driver poll logic. commit d83f71992df8764faa93f9425f1a7602a758f730 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 13:28:59 2017 -0600 PF_IEEE802154: Add frame input function. commit 77561b8c4d5d7be1f8d8eb62cf1a07229afe2048 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 12:46:29 2017 -0600 PF_IEEE802154: Socket type should be SOCK_DGRAM. Hook in socket interface. commit c0f90350282e9905d7f26a1b30f04cc6d6794648 Merge: 8b518abfd0 169c55e546 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 09:36:32 2017 -0600 Merge remote-tracking branch 'origin/master' into pf_ieee802154 commit 8b518abfd07d492f5148f2c5fdf65604de9822da Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 09:35:39 2017 -0600 PF_IEEE802154: Add initialization and connection management logic. commit 98b62620b3cb420041d8ad14204f9410a8aace8c Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 07:52:51 2017 -0600 PF_IEEE802154: Add basic build support and socket interface framework.
2017-08-19 08:48:52 -06:00
struct netdev_varaddr_s radio;
This comment adds (1) basic support for AF_BLUETOOTH sockets. The logic compiles but is still incomplete. Support for Bluetooth is general is still dependent on CONFIG_EXPERMIMENTAL because it is not yet ready for used. Squashed commit of the following: wireless/bluetooth: Some small changes that gets to a clean compile by just eliminating some incorrect implementations (still with a lot of warnings. The logic is still incomplete but now not so lethal. wireless/bluetooth: Restructuring: Connection interfaces should internal to wireless/bluetooth. include/nuttx/wireless/bt_conn.h removed and merged with wireless/bluetooth/bt_conn.h. Several fix to get closer to bt_netdev.c compiling. Need to design some not interfaces and use some existing interfaces to send and receiv packets. wireless/bluetooth: Some organization with some network device compile errors fixed. Still not even close to compiling. net/bluetooth: Fix numerous compile issues; Still open design issues with regard to the interface with the Bluetooth stack. wireless/bluetooth: Create bt_netdev.c with a crude copy of mac802154_netdev.c. Does not not even compile yet. include/nuttx/net: Add bluetooth.h. Content is not yet correct. net/netpackets: Add bluetooth.h. Update net/bluetooth to use new socket address definition. net/bluetooth: Some fixes for initial build. net/bluetooth: Add initial support for Bluetooth sockets. The initial cut is just the a clone of the IEEE 802.15.4 socket support with name changes. net/ieee802154: Fix some typos noted when cloning to create net/bluetooth.
2018-03-31 14:55:03 -06:00
#endif
} d_mac;
This comment adds (1) basic support for AF_BLUETOOTH sockets. The logic compiles but is still incomplete. Support for Bluetooth is general is still dependent on CONFIG_EXPERMIMENTAL because it is not yet ready for used. Squashed commit of the following: wireless/bluetooth: Some small changes that gets to a clean compile by just eliminating some incorrect implementations (still with a lot of warnings. The logic is still incomplete but now not so lethal. wireless/bluetooth: Restructuring: Connection interfaces should internal to wireless/bluetooth. include/nuttx/wireless/bt_conn.h removed and merged with wireless/bluetooth/bt_conn.h. Several fix to get closer to bt_netdev.c compiling. Need to design some not interfaces and use some existing interfaces to send and receiv packets. wireless/bluetooth: Some organization with some network device compile errors fixed. Still not even close to compiling. net/bluetooth: Fix numerous compile issues; Still open design issues with regard to the interface with the Bluetooth stack. wireless/bluetooth: Create bt_netdev.c with a crude copy of mac802154_netdev.c. Does not not even compile yet. include/nuttx/net: Add bluetooth.h. Content is not yet correct. net/netpackets: Add bluetooth.h. Update net/bluetooth to use new socket address definition. net/bluetooth: Some fixes for initial build. net/bluetooth: Add initial support for Bluetooth sockets. The initial cut is just the a clone of the IEEE 802.15.4 socket support with name changes. net/ieee802154: Fix some typos noted when cloning to create net/bluetooth.
2018-03-31 14:55:03 -06:00
#endif /* CONFIG_NET_ETHERNET || CONFIG_NET_6LOWPAN ... || CONFIG_NET_IEEE802154 */
/* Network identity */
2015-01-15 13:08:28 -06:00
#ifdef CONFIG_NET_IPv4
in_addr_t d_ipaddr; /* Host IPv4 address assigned to the network interface */
in_addr_t d_draddr; /* Default router IP address */
in_addr_t d_netmask; /* Network subnet mask */
#endif
#ifdef CONFIG_NET_IPv6
net_ipv6addr_t d_ipv6addr; /* Host IPv6 address assigned to the network interface */
net_ipv6addr_t d_ipv6draddr; /* Default router IPv6 address */
net_ipv6addr_t d_ipv6netmask; /* Network IPv6 subnet mask */
#endif
/* The d_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 the link level headers is
* configured by the NET_LL_HDRLEN(dev) define.
*
* The network will handle only a single buffer for both incoming and
* outgoing packets. However, the driver design may be concurrently
* sending and filling separate, break-off buffers. That buffer
* management must be controlled by the driver.
*/
FAR uint8_t *d_buf;
/* d_appdata points to the location where application data can be read from
* or written to in the packet buffer.
*/
uint8_t *d_appdata;
#ifdef CONFIG_NET_TCPURGDATA
/* This pointer points to any urgent TCP data that has been received. Only
* present if compiled with support for urgent data (CONFIG_NET_TCPURGDATA).
*/
uint8_t *d_urgdata;
/* Length of the (received) urgent data */
uint16_t d_urglen;
#endif
/* The length of the packet in the d_buf buffer.
*
* Holds the length of the packet in the d_buf buffer.
*
* When the network device driver calls the network input function,
* d_len should be set to the length of the packet in the d_buf
* buffer.
*
* When sending packets, the device driver should use the contents of
* the d_len variable to determine the length of the outgoing
* packet.
*/
uint16_t d_len;
/* When d_buf contains outgoing xmit data, d_sndlen is non-zero and represents
* the amount of application data after d_appdata
*/
uint16_t d_sndlen;
/* Multicast group support */
#ifdef CONFIG_NET_IGMP
/* IGMP group list */
sq_queue_t d_igmp_grplist;
#endif
#ifdef CONFIG_NET_MCASTGROUP
/* MLD group list */
sq_queue_t d_mld_grplist;
#endif
#ifdef CONFIG_NETDEV_STATISTICS
/* If CONFIG_NETDEV_STATISTICS is enabled and if the driver supports
* statistics, then this structure holds the counts of network driver
* events.
*/
struct netdev_statistics_s d_statistics;
#endif
/* Application callbacks:
*
* Network device event handlers are retained in a 'list' and are called
* for events specified in the flags set within struct devif_callback_s.
*
* There are two lists associated with each device:
*
* 1) d_conncb - For connection/port oriented events for certain
* socket-less packet transfers. There events include:
*
* ICMP data receipt: ICMP_NEWDATA, ICMPv6_NEWDATA
* ICMP ECHO replies: ICMP_ECHOREPLY, ICMPv6_ECHOREPLY
* Driver Tx poll events: ARP_POLL, ICMP_POLL. ICMPv6_POLL
* IP Forwarding: IPFWD_POLL
*
* 2) d_devcb - For non-data, device related events that apply to all
* transfers or connections involving this device:
*
* NETDEV_DOWN - The network is down
*/
FAR struct devif_callback_s *d_conncb;
FAR struct devif_callback_s *d_devcb;
/* Driver callbacks */
int (*d_ifup)(FAR struct net_driver_s *dev);
int (*d_ifdown)(FAR struct net_driver_s *dev);
int (*d_txavail)(FAR struct net_driver_s *dev);
#ifdef CONFIG_NET_MCASTGROUP
int (*d_addmac)(FAR struct net_driver_s *dev, FAR const uint8_t *mac);
int (*d_rmmac)(FAR struct net_driver_s *dev, FAR const uint8_t *mac);
#endif
#ifdef CONFIG_NETDEV_IOCTL
int (*d_ioctl)(FAR struct net_driver_s *dev, int cmd,
unsigned long arg);
#endif
/* Drivers may attached device-specific, private information */
void *d_private;
};
typedef int (*devif_poll_callback_t)(FAR struct net_driver_s *dev);
/****************************************************************************
* Public Data
****************************************************************************/
/****************************************************************************
* Public Function Prototypes
****************************************************************************/
2014-06-30 19:03:01 -06:00
/****************************************************************************
* Network device driver functions
*
* These functions are used by a network device driver for interacting
* with the NuttX network.
*
* Process an incoming IP packet.
*
* This function should be called when the device driver has received
* a packet from the network. The packet from the device driver must
* be present in the d_buf buffer, and the length of the packet
* should be placed in the d_len field.
*
* When the function returns, there may be an outbound packet placed
* in the d_buf packet buffer. If so, the d_len field is set to
* the length of the packet. If no packet is to be sent out, the
* d_len field is set to 0.
*
* The usual way of calling the function is presented by the source
* code below.
*
* dev->d_len = devicedriver_poll();
* if (dev->d_len > 0)
* {
* ipv4_input(dev);
* if (dev->d_len > 0)
* {
* devicedriver_send();
* }
* }
*
* Note: If you are writing a network device driver that needs ARP
* (Address Resolution Protocol), e.g., when running the network over
* Ethernet, you will need to call the network ARP code before calling
* this function:
*
2014-06-25 09:57:52 -06:00
* #define BUF ((struct eth_hdr_s *)&dev->d_buf[0])
* dev->d_len = ethernet_devicedrver_poll();
* if (dev->d_len > 0)
* {
2014-07-04 15:40:49 -06:00
* if (BUF->type == HTONS(ETHTYPE_IP))
* {
* arp_ipin();
* ipv4_input(dev);
* if (dev->d_len > 0)
* {
* arp_out();
* devicedriver_send();
* }
* }
2014-07-04 15:40:49 -06:00
* else if (BUF->type == HTONS(ETHTYPE_ARP))
* {
* arp_arpin();
* if (dev->d_len > 0)
* {
* devicedriver_send();
* }
* }
2014-06-30 19:03:01 -06:00
*
****************************************************************************/
#ifdef CONFIG_NET_IPv4
int ipv4_input(FAR struct net_driver_s *dev);
#endif
#ifdef CONFIG_NET_IPv6
int ipv6_input(FAR struct net_driver_s *dev);
#endif
2017-03-27 18:15:20 -06:00
#ifdef CONFIG_NET_6LOWPAN
struct radio_driver_s; /* Forward reference. See radiodev.h */
struct iob_s; /* Forward reference See iob.h */
Squashed commit of the following: commit 2a3ab1652a2c95bcfc8be8380fc7cbdcb6472938 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Aug 19 08:44:31 2017 -0600 PF_IEEE802154: Finish some missing bind() logic. Add configs/sim configuration for testing. commit 59be4b846a6e3bfe82087a888e3fdac9c3c414e5 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 19:30:04 2017 -0600 PF_IEEE802154: More renaming to decouple 6LoPAN from radios in general. commit 69fabb1aea76e54381bdc13de28a3f1441fb42f4 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 19:21:11 2017 -0600 PF_IEEE802154: Missed a few renamings. commit ff0af1bb25567720934cc1c2a721ccd92cc35f89 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 17:46:58 2017 -0600 PF_IEEE802154: A few bugfixes commit 01c7c84afd00cf907d280d30cfaf0fb2cf90e02e Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 17:01:31 2017 -0600 PF_IEEE802154: A few bugfixes commit dcef4056d1c1488c93151135f3b7106977faa903 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 16:31:05 2017 -0600 PF_IEEE802154: Bring in framework for sendto/recvfrom. Currently just a crude port of functions from net/pkt and do not provide the implemenation needed. commit 68c5b7b6dd3ab7eb2d0c19890abb38e6561b140e Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 15:18:31 2017 -0600 Trivial fix to typo in comment commit fd0af534c089569ccdbd59f13b85453de0a653ad Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 15:07:20 2017 -0600 PF_IEEE802154: Add device lookup logic; Rename some things that used to be used only by 6LoWPAN but now must be shared with PF_IEEE802154 and need more generic naming. commit 4fc80a1659f1c699b050775cefc7f6b631b46114 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 13:49:54 2017 -0600 PF_IEEE802154: Add driver poll logic. commit d83f71992df8764faa93f9425f1a7602a758f730 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 13:28:59 2017 -0600 PF_IEEE802154: Add frame input function. commit 77561b8c4d5d7be1f8d8eb62cf1a07229afe2048 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 12:46:29 2017 -0600 PF_IEEE802154: Socket type should be SOCK_DGRAM. Hook in socket interface. commit c0f90350282e9905d7f26a1b30f04cc6d6794648 Merge: 8b518abfd0 169c55e546 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 09:36:32 2017 -0600 Merge remote-tracking branch 'origin/master' into pf_ieee802154 commit 8b518abfd07d492f5148f2c5fdf65604de9822da Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 09:35:39 2017 -0600 PF_IEEE802154: Add initialization and connection management logic. commit 98b62620b3cb420041d8ad14204f9410a8aace8c Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 07:52:51 2017 -0600 PF_IEEE802154: Add basic build support and socket interface framework.
2017-08-19 08:48:52 -06:00
int sixlowpan_input(FAR struct radio_driver_s *ieee,
Squashed commit of the following: commit f97da3a546f9d6e1b858cfc45538a06b62396034 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 30 19:09:46 2017 -0600 Network: Condition out some types that depend on definitions that are only available with 6LoWPAN is enabled. commit 312e9dc1195527100e12bf6be8b629f5b29be1f6 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 30 18:57:23 2017 -0600 6LoWPAN: Fix case where source and destination IP address were backward. Fix some compile issues when star topology support is enabled. commit 3b0e71c5807194fbb006d0560bb2c98133055ba3 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 30 16:01:48 2017 -0600 6LoWPAN PktRadio: Finishes up all logic; Lots of misc changes from build testing. commit cc118f8cb335e1c48354fd7112e20be57de50b68 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 30 12:41:18 2017 -0600 6LoWPAN: Remove explicate type struct ieee802154_frame_meta_s from derive interface methods. Replace with a opaque void * type so that other radio meta data structures may use the interfaces. Add a new radion interface to get properties of the radio. Spirit: Finish packet I/O interface with the network. commit 1aa0a63e8341ca5f9f88c294f96d1740459146d4 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 30 07:57:15 2017 -0600 6LoWPAN: Replace metadata input parameter type from struct ieee802154_data_ind_s to void*. This permits radios with different MAC metadata to interact with 6LoWPAN. Includes many changes to handle variable length radio addresses. No longer just short and exteneded; any length. commit 46266ace61ae6246123873935436d864c7de31e0 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 17:50:42 2017 -0600 Spirit: Fix typos in SPI debug code. commit 27c6b235f6a2d3b2f08da4920b224a40e9991f59 Merge: 7029dffd02 7f53e08917 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 13:43:02 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 7029dffd02156bcbfa84262671c2ca766a117191 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 12:02:13 2017 -0600 6LoWPAN PktRadio: Add missing MetaData-related prototypes and initialization logic. Perform a major renaming to make room in the 6LoWPAN name space for packet radios. commit e2012f7c1df14155c0bfd45d7f1cb3f71b259f48 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 10:16:23 2017 -0600 6LoWPAN PktRadio: Some initial changes to support raw packet radios without IEEE 802.15.4 with 6LoWPAN. commit c6dbf9178539b7da75e492ffd1d1f93c9c326299 Merge: da782d6cdf 5889ce65f5 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 07:30:08 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit da782d6cdff5980d71aaa2da5f9c28ab3438d085 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 29 07:26:48 2017 -0600 Spirit: Completes port of the spirit radio library to NuttX. commit 63f3595c47dca13952d28b518c7f0a8d6ae9037a Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 17:42:51 2017 -0600 Spirit: Bring in a couple ore more radio interface functions. commit 692a27da396b7683749790923d8fa085091764f1 Merge: 27c0a6ec08 38f79543dc Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 15:49:37 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 27c0a6ec0813187f125922c81189a70cf04d83d4 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 15:47:27 2017 -0600 Spirit: Bring in a couple ore more radio interface functions. commit 96657af2831487724723a60084831619257fd953 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 14:20:14 2017 -0600 Spirit: Bring in more radio interface functions. commit 640d55399b54a019be68825668fca1446abd082f Merge: 3fcf84a9a2 47791442a0 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 12:01:43 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 3fcf84a9a2673e1e1466ce5b114d7b73c257e515 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 12:00:31 2017 -0600 Spirit: Brings in the last of the PktCommon interfaces. commit d26ebd901ba4ba84910e99b4e728b98c30fa4c0b Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 09:54:52 2017 -0600 Spirit: Add a few more PktCommon interfaces. commit b5cb8041d50233a4abb8fb4d1dcef5428ae2c2b2 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 09:33:31 2017 -0600 libc/termios: Remember block comments before empty file sections. commit 0fcab2c1c8c74442d40bd5e8c6af50a34f8a5821 Author: Sebastien Lorquet <sebastien@lorquet.fr> Date: Fri Jul 28 09:31:00 2017 -0600 tcdrain implementation based on a new term ioctl commit 797d4adf7d41068c671f0217d369b797b269de1a Author: Stefan Kolb <Stefan.Kolb@avat.de> Date: Fri Jul 28 09:19:04 2017 -0600 We discovered a problem with the samv7 mcan driver which results, under some circumstances, in a very high CPU load. The problem occurs, and is easily reproducible, if the device is connected to a CAN network with a wrongly configured CAN speed (baud rate). In our tests we set the CAN speed of the device to 1000000 and the speed of the other CAN nodes to 500000. The device is restarted and sends a CANopen “bootup message” to the CAN network. This results in huge amount of errors messages on the CAN bus, probably because of the CAN feature for acknowledging error messages. The error messages can’t be read by the device because of the misconfigured CAN speed, instead the CAN chip reports lots of errors, which are reported to the application which uses the CAN driver (CONFIG_CAN_ERRORS is enabled). The CAN errors are reported from the CAN chip via interrupts and thus the interrupt load is very high in this scenario. To fix the problem the driver now disables each RX error interrupt after it is occurred. The RX error interrupts are turned back on if at least one CAN message is received successfully. commit e298f48e96d9e34017dcab8e4d87032862ae9322 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 28 09:06:26 2017 -0600 Spirit: Bring in PktStack interfaces. commit 4a0f00a7058312dcf6ac392689b9f69112f613ec Merge: 855cf97130 b458934ac4 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 18:05:02 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 855cf9713052a851a1daeb3842db2edd6ff6f658 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 18:03:56 2017 -0600 Spirit Network Driver: Add some hooks that will eventually support address filtering. commit 3b3fb24ea86cf8233b034871d5c550f47ab852e6 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 17:13:21 2017 -0600 Spirit: Add a PktStack header file. commit 705e8fff6a21264ab751fb34c107cb109430ac89 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 15:00:03 2017 -0600 Spirit: Bring in last of timer interfaces. commit f8984b2f82e165f5bba132d6b099222d1beb1fbd Merge: cb79778a30 f287cc25d6 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 11:57:01 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit cb79778a3044ae97a1cc615dfa24099144f04bd0 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 11:46:31 2017 -0600 Spirit: Bring in last of QI interfaces. commit 0245b330a33aa73531b82ae261b1312be9922e0f Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 10:14:34 2017 -0600 Spirit: Add general interfaces. commit 121845a8f229ec2c88e5721da5512135f6624ee5 Author: Gregory Nutt <gnutt@nuttx.org> Date: Thu Jul 27 09:41:23 2017 -0600 Spirit: Bring in last of GPIO interfaces. commit 279bfcc92bcd0cfa48c0ed7862fa2b75fbee99b8 Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 17:09:19 2017 -0600 Spirit: Add some missing configuration options: Add register -level debug options. commit 4be89324a5908e35afc70373c279f4d05f62b48f Merge: 66e87f9bb3 598386ef90 Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 15:36:20 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 66e87f9bb3ef75fddf25400bc08475c5e6ad4c30 Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 15:19:56 2017 -0600 Spirit: Brings in last of PktBasic logic. commit 8b4c89d6a103003fa04363e2c2ae7b9ee390bf49 Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 11:55:50 2017 -0600 Spirit: Bring in AES and MBUS logic. commit d00022d39ab0ce839de29386949481e5c24feff3 Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 09:22:03 2017 -0600 Spirit: Bring in remainder of calibration interfaces. commit 40b4b2f902e04293f8940551a97a9a24a48988dd Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 08:44:32 2017 -0600 Spirit: Bring in DirectRF interfaces. commit 7c109608e1a2989f3edbc2fd939a2d225fff382a Author: Gregory Nutt <gnutt@nuttx.org> Date: Wed Jul 26 07:46:19 2017 -0600 Spirit: Add CSMA support. commit 0f88896595d162c4ac6138e7b1af2fc35c865b3d Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 18:57:43 2017 -0600 Spirit: Add some initial TX logic to network driver. commit 4dc7058dfcdcf40980578680b7e1a4206dea4ea2 Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 17:02:11 2017 -0600 Spirit: Completes ports of spirit_management.* files commit c904eef51d929e041b87d0c8aff6fa3c2f895341 Merge: 91e985a877 c9ff8cbab9 Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 15:15:04 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 91e985a87729017a66d19276c4d47681064f95ea Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 15:13:54 2017 -0600 Spirit: Add a few more functions that will soon be needed for packet transmission. commit b5981d29983907c2194fbc26af4b72ad532bee78 Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 13:30:07 2017 -0600 Spirit: Finish off some initialization issues; Started some interrupt handling logic. commit c21073e0bc2870b3d9ba40bdfdfd5151ce4f5890 Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 09:35:52 2017 -0600 Spirit: Completes very basic radio initialization for network driver commit 1b544334361c54f46bcf0ba313c125932e8dafc6 Author: Gregory Nutt <gnutt@nuttx.org> Date: Tue Jul 25 07:58:30 2017 -0600 Spirit: Add more radio initialization logic... getting closer. commit 45d1047db60843c57d394ec910c63e7c127671e0 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 19:15:33 2017 -0600 Spirit: add some CSMA initialization logic commit bcf55c71336d48947fe19bb09a799169852301c2 Merge: 89e9d426e9 2fc0fbcf7e Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 16:47:11 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 89e9d426e91c056e659fccf5e5c4392618f8f777 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 16:44:19 2017 -0600 Update some comments commit 9c5d8a5833350006ed389e898b11c8c8a20e5f4f Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 16:15:54 2017 -0600 Spirit: Rename drivers/wireless/spirit/src to lib. Move Spirit network driver out of IEEE802.15.4 into drivers/wireless/spirit/drivers commit cabc0ec9e6eb558dcb715ab17264383aa0105e7a Merge: 87b616414a 6bd744c4b3 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 15:38:40 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 87b616414a79c01a71acea78f8258e05325c1996 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 15:37:27 2017 -0600 Spirit radio driver is mutating into a standalone network driver. commit 507798233868a661ae8adad3e3aa117075a7a146 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 13:32:08 2017 -0600 Spirit: More radio initialization logic commit 33af25704ce9ca83d576300d153cfe31cc6d2576 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 12:19:14 2017 -0600 Spirit: Beginning of radio initialization logic commit 97b20014c016e55952a8f9d8f4ae29e2cc555b23 Author: Gregory Nutt <gnutt@nuttx.org> Date: Mon Jul 24 09:42:06 2017 -0600 Spirit: More initialization logic. commit 295d8e27824c0417fccea2344b30bb5c93ffbabe Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 23 15:39:53 2017 -0600 Spirit: Add header file containing enumeration of commands. commit 8a2d9dd8eb9cc70cbcdd1b913fc9022b9c9ec8da Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 23 11:33:50 2017 -0600 Spirit: Add GPIO initialization logic commit 8b6d80c44f92024c45a6ba63ba1af3fdafe94dc3 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sun Jul 23 10:07:25 2017 -0600 Spirit: Add interrupt control logic. commit 423f846fe5c914f92a4bfea4d9d1fa33de1c77a5 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 19:06:52 2017 -0600 Spirit: Yet a little more radio initialization logic. commit 5895b979823e51ddde5ad52e6de66a8ad662e883 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 15:36:05 2017 -0600 Spirit: A little more radio initialization logic. commit 86311ab30aad386203c181c792847dd1d37f9a02 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 13:02:32 2017 -0600 Spirit: A miniscule amount of radio initialization logic. commit ad55e89d5ee12ea1eeea95fcd38ff3da0db4416a Merge: 90a7666655 f4e46b0da7 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 10:56:30 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 90a766665534b05da0157dbc383cb06a98c86a79 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 10:52:52 2017 -0600 Spirit1: A few fixes for a clean build of initial configuration (not much there yet) commit bbbf04c223230a52a7705a2161128265cfbaa480 Merge: 623d54a7f7 2319ea53a9 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 09:53:57 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 623d54a7f719e9032099f88f38203efee4b80722 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 09:43:52 2017 -0600 b-l475e-iot01a: Add a configuration for testing sprit radio. commit d309d73d9f4665f9d870eb03531f450043d9389d Merge: 52c3ddfae6 d88dc9b2e5 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 09:02:06 2017 -0600 Merge remote-tracking branch 'origin/master' into spirit commit 52c3ddfae6802e111c2b5cf1207baf21a61dd00b Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Jul 22 08:33:04 2017 -0600 Spirit: Add register definition header file. commit 8d842ab5e8f9ca653b42f9ee88dc279f06b4fa98 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 17:27:03 2017 -0600 b-l475e-iot01a: Add initial, unverified support for the SPSRGF/Spirit1 module. commit 73d902a1048616fb9c2dd2147cabcd8ee78e19ac Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 15:49:43 2017 -0600 Spirit: Fixes to get skeleton IEEE 802.15.4 driver build. commit ebc5a8387bb94f0cc3827533795f3e4a33207e67 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 15:16:29 2017 -0600 Spirit1: Add framework for IEEE 802.15.4 driver. Does not yet build. commit 52e195a7ae14ddb18bdd56258f4877381d2501ca Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 14:02:42 2017 -0600 Spirit: A little more SPI logic. commit 90048d0c5b8a5af4d81a15d99535c84ed38d8ae9 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 11:19:06 2017 -0600 Spirit: Build directories setup. Some initial files added, mostly just to verify build. commit 8273a381ac1f6bb081b292b5e73226185e9e634c Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Jul 21 08:34:04 2017 -0600 USB composite: Remove references to CDC/ACM and USB MSC from composite logic. They are no longer coupled.
2017-07-30 19:10:51 -06:00
FAR struct iob_s *framelist, FAR const void *metadata);
2017-03-27 18:15:20 -06:00
#endif
2014-06-30 19:03:01 -06:00
/****************************************************************************
* Polling of connections
*
* These functions will traverse each active network connection structure
* and perform appropriate operations: devif_timer() will perform TCP timer
* operations (and UDP polling operations); devif_poll() will perform TCP
* and UDP polling operations. The CAN driver MUST implement logic to
* periodically call devif_timer(); devif_poll() may be called asynchronously
* from the network driver can accept another outgoing packet.
*
* In both cases, these functions will call the provided callback function
* for every active connection. Polling will continue until all connections
* have been polled or until the user-supplied function returns a non-zero
* value (which it should do only if it cannot accept further write data).
*
* When the callback function is called, there may be an outbound packet
* waiting for service in the device packet buffer, and if so the d_len field
* is set to a value larger than zero. The device driver should then send
* out the packet.
*
* Example:
* int driver_callback(FAR struct net_driver_s *dev)
* {
* if (dev->d_len > 0)
* {
* devicedriver_send();
* return 1; <-- Terminates polling if necessary
* }
* return 0;
* }
*
* ...
* devif_poll(dev, driver_callback);
*
* Note: If you are writing a network device driver that needs ARP (Address
* Resolution Protocol), e.g., when running the networ over Ethernet, you
* will need to call the arp_out() function in the callback function
* before sending the packet:
*
* int driver_callback(FAR struct net_driver_s *dev)
* {
* if (dev->d_len > 0)
* {
* arp_out();
* devicedriver_send();
* return 1; <-- Terminates polling if necessary
* }
2014-07-02 17:23:25 -06:00
*
* return 0;
* }
2014-06-30 19:03:01 -06:00
*
****************************************************************************/
int devif_poll(FAR struct net_driver_s *dev, devif_poll_callback_t callback);
int devif_timer(FAR struct net_driver_s *dev, devif_poll_callback_t callback);
/****************************************************************************
* Name: neighbor_out
*
* Description:
* This function should be called before sending out an IPv6 packet. The
* function checks the destination IPv6 address of the IPv6 packet to see
* what Ethernet MAC address that should be used as a destination MAC
* address on the Ethernet.
*
* If the destination IPv6 address is in the local network (determined
* by logical ANDing of netmask and our IPv6 address), the function
* checks the Neighbor Table to see if an entry for the destination IPv6
* address is found. If so, an Ethernet header is pre-pended at the
* beginning of the packet and the function returns.
*
* If no Neighbor Table entry is found for the destination IPv6 address,
* the packet in the d_buf[] is replaced by an ICMPv6 Neighbor Solict
* request packet for the IPv6 address. The IPv6 packet is dropped and
* it is assumed that the higher level protocols (e.g., TCP) eventually
* will retransmit the dropped packet.
*
* Upon return in either the case, a packet to be sent is present in the
* d_buf[] buffer and the d_len field holds the length of the Ethernet
* frame that should be transmitted.
*
****************************************************************************/
#ifdef CONFIG_NET_IPv6
void neighbor_out(FAR struct net_driver_s *dev);
#endif /* CONFIG_NET_IPv6 */
/****************************************************************************
* Name: devif_loopback
*
* Description:
* This function should be called before sending out a packet. The function
* checks the destination address of the packet to see whether the target of
* packet is ourself and then consume the packet directly by calling input
* process functions.
*
* Returned Value:
* Zero is returned if the packet don't loop back to ourself, otherwise
* a no zero value is returned.
*
****************************************************************************/
int devif_loopback(FAR struct net_driver_s *dev);
2014-06-30 19:03:01 -06:00
/****************************************************************************
* Carrier detection
*
* Call netdev_carrier_on when the carrier has become available and the device
* is ready to receive/transmit packets.
*
2014-07-06 11:14:24 -06:00
* Call detdev_carrier_off when the carrier disappeared and the device has
* moved into non operational state.
2014-06-30 19:03:01 -06:00
*
****************************************************************************/
2014-06-27 16:48:12 -06:00
int netdev_carrier_on(FAR struct net_driver_s *dev);
int netdev_carrier_off(FAR struct net_driver_s *dev);
/****************************************************************************
* Name: net_ioctl_arglen
*
* Description:
* Calculate the ioctl argument buffer length.
*
* Input Parameters:
*
* cmd The ioctl command
*
* Returned Value:
* The argument buffer length, or error code.
*
****************************************************************************/
#ifdef CONFIG_NET_USRSOCK
ssize_t net_ioctl_arglen(int cmd);
#endif
/****************************************************************************
* Name: net_chksum
*
* Description:
* Calculate the Internet checksum over a buffer.
*
* The Internet checksum is the one's complement of the one's complement
* sum of all 16-bit words in the buffer.
*
* See RFC1071.
*
* If CONFIG_NET_ARCH_CHKSUM is defined, then this function must be
* provided by architecture-specific logic.
*
* Input Parameters:
*
* buf - A pointer to the buffer over which the checksum is to be computed.
*
* len - The length of the buffer over which the checksum is to be computed.
*
* Returned Value:
* The Internet checksum of the buffer.
*
****************************************************************************/
uint16_t net_chksum(FAR uint16_t *data, uint16_t len);
/****************************************************************************
* Name: net_incr32
*
* Description:
*
* Carry out a 32-bit addition.
*
* By defining CONFIG_NET_ARCH_INCR32, the architecture can replace
* net_incr32 with hardware assisted solutions.
*
* Input Parameters:
* op32 - A pointer to a 4-byte array representing a 32-bit integer in
* network byte order (big endian). This value may not be word
* aligned. The value pointed to by op32 is modified in place
*
* op16 - A 16-bit integer in host byte order.
*
****************************************************************************/
void net_incr32(FAR uint8_t *op32, uint16_t op16);
/****************************************************************************
* Name: ipv4_chksum
*
* Description:
* Calculate the IPv4 header checksum of the packet header in d_buf.
*
* The IPv4 header checksum is the Internet checksum of the 20 bytes of
* the IPv4 header.
*
* If CONFIG_NET_ARCH_CHKSUM is defined, then this function must be
* provided by architecture-specific logic.
*
* Returned Value:
* The IPv4 header checksum of the IPv4 header in the d_buf buffer.
*
****************************************************************************/
#ifdef CONFIG_NET_IPv4
uint16_t ipv4_chksum(FAR struct net_driver_s *dev);
#endif
/****************************************************************************
* Name: ipv6_chksum
*
* Description:
* Calculate the IPv6 header checksum of the packet header in d_buf.
*
* The IPv6 header checksum is the Internet checksum of the 40 bytes of
* the IPv6 header.
*
* If CONFIG_NET_ARCH_CHKSUM is defined, then this function must be
* provided by architecture-specific logic.
*
* Returned Value:
* The IPv6 header checksum of the IPv6 header in the d_buf buffer.
*
****************************************************************************/
#ifdef CONFIG_NET_IPv6
uint16_t ipv6_chksum(FAR struct net_driver_s *dev);
#endif
/****************************************************************************
* Name: netdev_ipv4_hdrlen
*
* Description:
* Provide header length for interface based on device
*
* Input Parameters:
* dev Device structure pointer
*
****************************************************************************/
#ifdef CONFIG_NET_IPv4
# define netdev_ipv4_hdrlen(dev) (dev->d_llhdrlen)
#endif /* CONFIG_NET_IPv4 */
/****************************************************************************
* Name: netdev_ipv6_hdrlen
*
* Description:
* Provide header length for interface based on device
*
* Input Parameters:
* dev Device structure pointer
*
****************************************************************************/
#ifdef CONFIG_NET_IPv6
# define netdev_ipv6_hdrlen(dev) dev->d_llhdrlen
#endif /* CONFIG_NET_IPv6 */
#endif /* __INCLUDE_NUTTX_NET_NETDEV_H */