| 4 | |
| 5 | == 1.7 Releases == |
| 6 | '''Download Latest: [https://warpproject.org/dl/refdes/802.11/Mango_802.11_RefDes_v1.7.8.zip Mango_802.11_RefDes_v1.7.8.zip]''' |
| 7 | |
| 8 | Release Details: |
| 9 | ||= Hardware =||= Release =||= Date Posted =||= SVN Rev. =||= ISE Ver. =||= Arch =|| |
| 10 | || WARP v3 || [https://warpproject.org/dl/refdes/802.11/Mango_802.11_RefDes_v1.8.0.zip 1.8.0] || 21-May-2019 || [browser:ReferenceDesigns/w3_802.11?rev=6322 6322] || 14.4 || Dual MB/AXI || |
| 11 | |
| 12 | ---- |
| 13 | '''Changes in v1.8.0:''' |
| 14 | |
| 15 | '''PHY and MAC Hardware Changes:'''[[BR]] |
| 16 | * Added a software interrupt core that allows code to assert bits in a register to force interrupt events. Code uses this code to handle non-empty queues in the Ethernet portal and wlan_exp |
| 17 | |
| 18 | '''MAC Software Changes:'''[[BR]] |
| 19 | * Formalized "peripherals" which act as modules that may be used across multiple platforms if those platforms support the particular hardware they describe. |
| 20 | * "wlan_axi_ethernet_intr" is a new peripheral that handles all Ethernet actions on the WARP v3 platform. It is used for both wired-wireless portal behaviors as well as wlan_exp communication with a host computer. |
| 21 | * Other new peripherals include "axi_intc" and "axi_timer" |
| 22 | * Ethernet changes: |
| 23 | * Transmissions are no longer blocking. Buffer descriptors are cleaned up on demand when new transmissions are started. |
| 24 | * Major rewrite of wlan_exp code |
| 25 | * Significantly cleaner and easier to understand |
| 26 | * Fixed several race conditions that could have manifested in unexpected bytes in Ethernet payloads |
| 27 | * Previously, AXI Ethernet behaviors were hardcoded deep in the IP/UDP library. This has been turned inside out so that the IP/UDP library consumes receptions that start with the "wlan_axi_ethernet_intr" peripheral. This creates platform independence for wlan_exp. |
| 28 | * Ethernet receptions now occur in an interrupt context since they use the same "wlan_axi_ethernet_intr" peripheral as the wired-wireless portal. To keep the impact on wireless behaviors to a minimum, wlan_exp command processing is deferred until a non-interrupt context via a new queue of commands. |
| 29 | * Better formalized over-the-wire formats with wlan_exp host. Code is now explicit about response packets that contain 32-bit network-ordered words vs. host-ordered arbitrarily-aligned structs and log data |
| 30 | * Queueing has been significantly generalized and is no longer only meant for outgoing wireless transmissions: |
| 31 | * Ethernet portal Tx and Rx now have their own queues managed by the MAC High Framework |
| 32 | * wlan_exp Tx and Rx have their own queues managed by the MAC High Framework |
| 33 | * Per-station Tx queues no longer rely on an arbitrary AID to QID mapping. Each station is dynamically given a queue when it joins a network. |
| 34 | * Fixed a bug in all high application projects where the unicast management queue was not being purged. |
| 35 | |
| 36 | '''Python changes:'''[[BR]] |
| 37 | * Added support to specify arbitrary MTU for Ethernet interface; jumbo (9014) and non-jumbo (1514) are the defaults |
| 38 | * Renamed many node methods and arguments to improve overall clarity |
| 39 | * Restructured over-the-wire messages for Node Info, Station Info, Network Info, now based on well-specified InfoStruct definitions |
| 40 | * Re-implemented retrieval of Tx/Rx counts to extract counts from the Station Info structs returned by the node (same API, much cleaner code) |
| 41 | |