Skip to content
ChangeLog 1.02 MiB
Newer Older
16001 16002 16003 16004 16005 16006 16007 16008 16009 16010 16011 16012 16013 16014 16015 16016 16017 16018 16019 16020 16021 16022 16023 16024 16025 16026 16027 16028 16029 16030 16031 16032 16033 16034 16035 16036 16037 16038 16039 16040 16041 16042 16043 16044 16045 16046 16047 16048 16049 16050 16051 16052 16053 16054 16055 16056 16057 16058 16059 16060 16061 16062 16063 16064 16065 16066 16067 16068 16069 16070 16071 16072 16073 16074 16075 16076 16077 16078 16079 16080 16081 16082 16083 16084 16085 16086 16087 16088 16089 16090 16091 16092 16093 16094 16095 16096 16097 16098 16099 16100 16101 16102 16103 16104 16105 16106 16107 16108 16109 16110 16111 16112 16113 16114 16115 16116 16117 16118 16119 16120 16121 16122 16123 16124 16125 16126 16127 16128 16129 16130 16131 16132 16133 16134 16135 16136 16137 16138 16139 16140 16141 16142 16143 16144 16145 16146 16147 16148 16149 16150 16151 16152 16153 16154 16155 16156 16157 16158 16159 16160 16161 16162 16163 16164 16165 16166 16167 16168 16169 16170 16171 16172 16173 16174 16175 16176 16177 16178 16179 16180 16181 16182 16183 16184 16185 16186 16187 16188 16189 16190 16191 16192 16193 16194 16195 16196 16197 16198 16199 16200 16201 16202 16203 16204 16205 16206 16207 16208 16209 16210 16211 16212 16213 16214 16215 16216 16217 16218 16219 16220 16221 16222 16223 16224 16225 16226 16227 16228 16229 16230 16231 16232 16233 16234 16235 16236 16237 16238 16239 16240 16241 16242 16243 16244 16245 16246 16247 16248 16249 16250 16251 16252 16253 16254 16255 16256 16257 16258 16259 16260 16261 16262 16263 16264 16265 16266 16267 16268 16269 16270 16271 16272 16273 16274 16275 16276 16277 16278 16279 16280 16281 16282 16283 16284 16285 16286 16287 16288 16289 16290 16291 16292 16293 16294 16295 16296 16297 16298 16299 16300 16301 16302 16303 16304 16305 16306 16307 16308 16309 16310 16311 16312 16313 16314 16315 16316 16317 16318 16319 16320 16321 16322 16323 16324 16325 16326 16327 16328 16329 16330 16331 16332 16333 16334 16335 16336 16337 16338 16339 16340 16341 16342 16343 16344 16345 16346 16347 16348 16349 16350 16351 16352 16353 16354 16355 16356 16357 16358 16359 16360 16361 16362 16363 16364 16365 16366 16367 16368 16369 16370 16371 16372 16373 16374 16375 16376 16377 16378 16379 16380 16381 16382 16383 16384 16385 16386 16387 16388 16389 16390 16391 16392 16393 16394 16395 16396 16397 16398 16399 16400 16401 16402 16403 16404 16405 16406 16407 16408 16409 16410 16411 16412 16413 16414 16415 16416 16417 16418 16419 16420 16421 16422 16423 16424 16425 16426 16427 16428 16429 16430 16431 16432 16433 16434 16435 16436 16437 16438 16439 16440 16441 16442 16443 16444 16445 16446 16447 16448 16449 16450 16451 16452 16453 16454 16455 16456
	* IP Forwaring.  Fix some errors in ipforwar.h when
	  CONFIG_NET_STATISTICS is enabled, but CONFIG_NETDEV_MULTINIC is not.
	  Add some forward references that are needed when
	  CONFIG_NETDEV_MULTINIC is not enabled. ipfwd_dropstats needs to
	  include errno.h (2017-07-10).
	* STM32 TIM3/4 are always 16-bits; never 32-bits.  Noted by Eetu
	  Nevalainen. (2017-07-10).
	* Build System:  It is no longer necessary to have a unique Make.defs
	  file for each configuration.  A board may share a common Make.defs
	  file in the scripts directory.  Some duplicate Make.defs files
	  removed; Some common Make.defs file moved to the scripts/
	  sub-directory (2017-07-10).
	* configs/clicker2-stm32/mrf24j40-mac: Updates stack size to 2048 to
	  avoid random stack overflows when logging is enabled.  From Anthony
	  Merlino (2017-07-10).
	* Add small hello example for stm32f103-minimum board.  From Alan
	  Carvalho de Assis (2017-07-10).
	* ieee802154: Many small bug fixes clean-ups that help stabilize the
	  functionality.  From Anthony Merlino (2017-07-10).
	* SAML21 I2C driver.  Developed for and contributed with permissin from
	  Filament company.  From Alan Carvalho de Assis (2017-07-11).
	* SAMD/L21 I2C:  Another update... needs to use
	  enter/leave_critical_section vs. old irqsave/restore (2017-07-11).
	* Remove duplicate Make.defs files in configs/.  Move remaining, common
	  Make.defs files to board/scripts directory (2017-07-11).
	* SAMD21:  Fix some SPI-related issues.  From Matt Thompson
	  (2017-07-11).
	* ICMPv6 w/Autoconfiguration:  Fix a compile issue introduced with
	  recent change for 6LoWPAN support (2017-07-11).
	* sockets: Coding fix fix + minor structuring for forthcoming socket
	  interface logic (2017-07-11).
	* drivers/wireless/ieee802154/mrf24j40/: Fixes bug causing radio to
	  cease transmitting.  From Anthony Merlino (2017-07-11).
	* ieee802154: Notify radio layer of changes in devmode.  From Anthony
	  Merlino (2017-07-12).
	* drivers/mrf24j40: Hook in setdevmode from newly added radio attribute
	  setting.  From Anthony Merlino (2017-07-12).
	* ieee802154: Set devmode to endpoint on MAC layer reset.  From Anthony
	  Merlino (2017-07-12).
	* I was having issues with the bus freezing up .. slaves holding SDL
	  low.. so I rewrote a good portion of the interrupt logic based on the
	  application notes from Atmel.  One major improvement is using the
	  RXNACK flag in the STATUS register, which indicates that no device
	  responded to an address packet. Assuming that the chip will always
	  give an interrupt status, I believe it's possible to eliminate the
	  timer as well.  From Matt Thompson (2017-07-12).
	* SAMD/L21:  Add a USB driver.  Developed for Filament Inc. by Offcode,
	  LTD.  From Janne Rosberg (2017-07-12).
	* drivers/mrf24j40: Adds header guards to mrf24j40_reg.h.  From Anthony
	  Merlino (2017-07-12).
	* C library:  Fix an error in mkstemp() the could result in an infinite
	  loop.  From Alan Carvalho de Assis (2017-07-12).
	* SAMD/L21:  Need to preserve errno value across syslog() call
	  (2017-07-12).
	* SocketI/F:  Initial steps to add a socket interface to the
	  networking.  Each address family will have an interface that
	  describes how to perform socket operations on that address family.
	  Currently only a couple of methods are defined in the table as a
	  proof of concept.  More to come.  Currently there are only tables for
	  the INET/INET6 family, the Unix LOCAL family, and the raw PACKET
	  family.  Hopefully there will be AF_IEEE802154 and AF_BLUETOOTH
	  comming down the pike.  Add recvfrom() method to interface
	  (2017-07-12).
	* ieee802154: Fixes setting devmode logic.  From Anthony Merlino
	  (2017-07-13).
	* drivers/mrf24j40: Fixes issues with sleeping for beacon enabled
	  networking.  From Anthony Merlino (2017-07-13).
	* Fixes timing issues for beacon enabled coordinators and endpoints.
	  From Anthony Merlino (2017-07-13).
	* Socket I/F: Added bind(), connect(), listen(), accept(), close(),
	  addref() and sockcaps() interfaces (2017-07-13).
	* ieee802154: Fixes issue with association on beacon-enabled
	  networking.  From Anthony Merlino (2017-07-13).
	* drivers/wireless/mrf24j40: Fixes math error for calculating sleep
	  count values.  From Anthony Merlino (2017-07-13).
	* STM32 F7 Ethernet:  Fix typo in header; Add memory sync barrier
	  between writing to DMA TX descriptor and restarting DMA TX. Avoid
	  calling work_queue on pollwork if it's already queued, just skip a
	  poll cycle instead.  Nucleo-144: Fix RMII TXD1 signal, connected to
	  PB13 not to PG14.  From savinz (2017-07-14).
	* Socket I/F: Added getsockname() interfaces.  Add address family
	  support for poll() and sendfile() (2017-07-14).
	* tools/refresh.sh:  Update so that it can find the Make.defs file in
	  the new location (2017-07-15).
	* Numerous fixes, updates generalizations needed in order to merge
	  Frank Berkert's massive USB composite change of June 1 into master.
	  Too many changes to summarize adequately here (2017-07-16).
	* Makefile.win would only create uboot images for ARM.  MIPS support
	  also needed.  From Lwazi Dube (2017-07-16).
	* IEEE 802.15.4 MAC:  Disable option to select interrupt-level meta
	  data allocator (2017-07-16).
	* ieee802154: Adds retry count to tx descriptor.  Renames ack_wait_dur
	  to ack_waitdur and removes it from private mac struct.  From Anthony
	  Merlino (2017-07-16).
	* STM32 F7: I2C4_SDA can also be on GPIO PB7.  From Titus von Boxberg
	  (2017-07-16).
	* STM32 F7:  Definitions for I2C4, SDMMC2.  Adapted RAM start / size to
	  internal SRAM.  From Titus von Boxberg (2017-07-16).
	* Networking: When upd_input() cannot process a packet, it returns
	  ERROR so that network drivers may try calling ipv4_input() later.  In
	  this case, it must also set d_len to zero.  Otherwise, all network
	  drivers will assume tht there is also an outgoing packet.  This
	  results in a gratuitous ARP (2017-07-17).
	* STM32 F7:  do not enforce CONFIG_STM32_CCMEXCLUDE for
	  CONFIG_ARCH_CHIP_STM32F7, macro rename STM32 -> STM32F7, #include
	  corrections.  renamed STM32_LCDTFT_BASE to STM32_LTDC_BASE for
	  consistency.   macro rename STM32 -> STM32F7.  initial
	  (dysfunctional) lcd configuration (from STM32).  From Titus von
	  Boxberg (2017-07-17).
	* STM32 F7:  option for DSI output, inconsistency: the stm32f746 does
	  not feature a DSI interface.  compileable with LTDC_INTERFACE and
	  LTDC_USE_DSI.  From Titus von Boxberg (2017-07-18).
	* ieee802154:  Adds special attribute that can be used to perform a
	  regdump of the radio.  Sets txdesc retrycount to the maxretries MAC
	  attribute when allocated.  From Anthony Merlino (2017-07-18).
	* STM32 F7: Added functions for DSI clock source selection.  From Titus
	  von Boxberg (2017-07-18).
	* Network poll:  Remove logic conditioned on non-existent HAVE_NET_POLL
	  (2017-07-19).
	* CDC/ACM.  Fix several known problems resulting from merge of USB
	  composite device.  That merge now breaks some of the non-composite
	  USB devices.  These fixes are for CDC/ACM (2017-07-19).
	* SAMD21:  Changes needed to get USB working.  From Matt Thompson
	  (2017-07-19).
	* Initial port to STM32F769I-DISCO.  From Titus von Boxberg
	  (2017-07-20).
	* libc/math:  Fix wrong ouput in modf() API.  The sign of integral part
	  given by the modf() should be same as sign of input.  But for inputs
	  between 0 and 1, the sign of integral part was not same as sign of
	  input.  From Lokesh B V (2017-07-20).
	* libc/math: Fix wrong ouput in ceil() API.  Ex:for input x = 1.0, the
	  ouput should be 1.0, but the ouput was 2.0.    From Lokesh B V
	  (2017-07-20).
	* USB device:  Rename usbdev_description_s to usbdev_devinfo_s to avoid
	  any more confusion of naming with device descriptions in the future.
	  Instances of usbdev_devinfo_s are now called devinfo vs devdesc when
	  is a bad naming collision (2017-07-20).
	* USB MSC: Add missing logic to define endpoints.  The composite
	  changes broke the the non-composite, USB MSC only case because it
	  omitted the critical setup when USB MSC was not part of the composite
	  (2017-07-20).
	* libc/stdlib: (1) Fix an error in mkstemp() the could result in an
	  infinite loop.  (2)  Fix for wrong output in some cases.  For
	  Example: (a) input: "FILEXX", output: "FILE00" and repeats same
	  output for further invocations of mkstemp(). But, the ouput has to be
	  FILE01, FILE02, ...., FILEZZ. (b) input: "FILEXXXXXX", output:
	  "FILE100000", for next invocation "FILE200000" and so on.  But it's
	  good, if the ouput goes like FILE000001, FILE000002, ..., FILE000101,
	  ...  From Lokesh B V (2017-07-21).
	* configs: add stm32f334-disco basic support.  From Mateusz Szafoni
	  (2017-07-21).
	* USB composite:  Remove references to CDC/ACM and USB MSC from
	  composite logic.  They are no longer coupled (2017-07-21).
	* nucleo-f334r8: UART2 is default serial port (STLINK Virtual Port).
	  From Mateusz Szafoni (2017-07-22).
	* STM32 HRTIM: add slave timers private data, fix some bad definitions,
	  some assertions.  From Mateusz Szafoni (2017-07-22).
	* b-l475e-iot01a: Add initial, unverified support for the
	  SPSRGF/Spirit1 module.  Add a configuration for testing sprit radio
	  (2017-07-22).
	* epoll: fix epoll_wait function.  From Simon Piriou (2017-07-22).
	* sim arch: Add non blocking read to devconsole driver.  From Simon
	  Piriou (2017-07-22).
	* sim arch: poll for TX frames to speed up driver.  From Simon Piriou
	  (2017-07-22).
	* sim arch: fix mkdir issue in GNU target.  From Simon Piriou
	  (2017-07-22).
	* drivers:  add generic upper-half driver for SMPS.  From Mateusz
	  Szafoni (2017-07-23).
	* Add power-related debug output (2017-07-23).
	* Move SMPS driver to drivers/power (and header to
	  include/nuttx/power).  Rename debug to IOCTLs to more general power
	  naming; create a separate file to coordinate power-related IOCTL
	  commands (2017-07-23).
	* STM32 F7: enable APB2 DSI clock.  From Titus von Boxberg
	  (2017-07-26).
	* drivers/leds: Add support for inverted LEDS.  See common anode RGB
	  LED discussion in the Yahoo group.  From Jeff (2017-07-27).
	* drivers/analog:  Fix some data alignment issues in the ADC driver
	  (2017-07-27).
	* STM32 F7: added missing config option for register value debugging.
	  From Titus von Boxberg (2017-07-27).
	* STM32 F7: No FSMC, only FMC for STM32F7.  From Titus von Boxberg
	  (2017-07-27).
	* sig_timedwait:  Pending signal structure used after it has been
	  releasd.  From anonymous Bitbucket Issue 59 (2017-07-27).
	* Add driver for LTC4151 current and voltage monitor.  From Giorgio
	  Groß (2017-07-28).
	* drivers/leds: Lightness correction for RGB LED driver.  From Jeff
	  (2017-07-28).
	* 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.  From Stefan Kolb (2017-07-28).
	* tcdrain implementation based on a new term ioctl.  From Sebastien
	  Lorquet (2017-07-28).
	* Spirit Network Driver:  Create build directories, Add radio
	  initialization, interrupt handling logic, packet transmissin and
	  reception logic.  Add some hooks that will eventually support address
	  filtering (2017-07-28).
	* STM32 F7: HEAP2 depends on CONFIG_ARCH_HAVE_HEAP2, not on particular
	  FMC RAM type.  From Titus von Boxberg (2017-07-28).
	* STM32 F7:  No board specific dithering values used; corrected
	  dithering init.  Corrected LIPOS/LIPCR calculation.  Change only
	  polarity bits in LTDC_GCR.  From Titus von Boxberg (2017-07-29).
	* STM32_RCC_DCKCFGR2 has nothing to do with PLLI2S; PLLI2S is not
	  dependent on LTDC, instead on SAICLK1/2 generated from PLLI2S.  From
	  Titus von Boxberg (2017-07-29).
	* To use an external oscillator module (not just a crystal) with the
	  STM32F4, one needs to enable the HSEBYP bit in the RCC_CR register.
	  This change allows an integrator to define STM32_RCC_CR_HSEBYP in
	  their board.h file if they want this configuration.  From Jeff
	  (2017-07-30).
	* 6LoWPAN PktRadio:  Some initial changes to support raw packet radios
	  without IEEE 802.15.4 with 6LoWPAN. Add missing MetaData-related
	  prototypes and initialization logic.  Perform a major renaming to
	  make room in the 6LoWPAN name space for packet radios.  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.Remove
	  explicit 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.  Fix case where source and destination IP address
	  were backward.  Fix some compile issues when star topology support is
	  enabled. Condition out some types that depend on definitions that are
	  only available with 6LoWPAN is enabled (2017-07-30).
	* STM32L4 PWR: correct PWR_SR2 REGLPS and REGLPF bits, add port I
	  registers.  Also remove duplicate section from Kconfig.  From Juha
	  Niskanen (2017-07-31).
	* STM32L1:  Add base address for TIM11.  From Juha Niskanen
	  (2017-07-31).
	* net/local: fix accept for local stream sockets.  From Jussi Kivilinna
	  (2017-07-31).
	* network: Move USRSOCK specific code from from inet_sockif to
	  usrsock_sockif.  Fix USRSOCK to work with recent changes to
	  networking layer.  From Jussi Kivilinna (2017-07-31).
	* PktRadio/6LoWPAN: Add a loopback driver for testing on the simulator.
	  Fix more issues related to single byte radio addressing.  Some
	  initial fixes resulting for early testing with loopback device
	  (2017-07-31).
	* Simulator: Protect a few more NuttX symbols from collisions with host
	  symbols (2017-07-31).
	* STM32 F7: added function for reset.  From Titus von Boxberg
	  (2017-07-31).
	* IoT Board/Spirit:  Fix a few issues that interfered with testing.
	  Move console to the VCOM port (USART) for all configurations.  Rename
	  the spirit-mac configuration to spirit-6lowpan.  Add lots of debug
	  output the spirit network driver (2017-07-31).
	* drivers/serial/serial.c:  Add support for TCFLUSH.  From Sebastien
	  Lorquet (2017-08-01).
	* Fixes for compilation of stm32f746g-disco.  From Ivan Ucherdzhiev
	  (2017-08-01).
	* stm32f746g-disco:  Make the initialization logic identical to the
	  standard way that is done for all other board (2017-08-01).
	* serial.c:  Finish implementation of TCDRAIN.  Based partly on logic
	  from Sebastien Lorquet (2017-08-01).
	* serial.c:  Use common TX drain logic when closing a driver as with
	  the TCDRAIN IOCTL (2017-08-01).
	* Spirit network driver:  Network driver needs to setup IP address
	  based on configured node address.  If no node address is provided,
	  then it will use a default.  Make sure device is in READY state after
	  reset and before changing to STANDBY.  Add a function to wait for a
	  state change with a timeout (2017-08-01).
	* network procfs:  Fix so that PktRadio address are shown correctly
	  (2017-08-01).
	* arch/arm/src/lc823450: Initial support for ON Semiconductor LC823450.
	  From Masayuki Ishikawa (2017-08-02).
	* configs/lc823450-xgevk: LC823450-XGEVK board support.  From Masayuki
	  Ishikawa (2017-08-02).
	* b-l475e-iot91a:  Add apps/examples/nettest and eamples/udp to Spirit1
	  configuration.  Add telnet support.  fix driver statistics
	  configuration (2017-08-02).
	* Networking: Add support for some packet radio IOCTL commands
	  (2017-08-02).
	* b-l475e-iot01a: crude update to +CONFIG_BOARD_LOOPSPERMSEC.  Not
	  precise but on assertions no flashes at approximately the correct
	  rate (2Hz) (2017-08-02).
	* Fix for stm32f746g-disco board for button support with interrupt.
	  This change is tested with buttons app example and it is working with
	  interrupts (signals). I tried the test with polling but at this point
	  it doesn't work.  From Ivan Ucherdzhiev (2017-08-02).
	* configs/stm32f746g-disco:  Remove inclusion of STM32-specific header
	  files from board.h (2017-08-02).
	* Spirit1 network driver:   Remove extra clear of pending interrupts,
	  could cause missing interrupts.  Fix a deadlock.  Also several other
	  design improvements to eliminate corner cases (2017-08-03).
	* poll: fix poll for regular files and block devices.  Open Group
	  documentation says that poll (and select) support regular files and
	  that 'Regular files shall always poll TRUE for reading and writing'.
	  From Jussi Kivilinna (2017-08-03).
	* mm_mallinfo: do heap end debug assert check with heap semaphore held.
	  From Jussi Kivilinna (2017-08-03).
	* Spirit1 network driver:  Modify reg needs to toggle CS to get the
	  correct status.  Make sprit_unlock an inline function.  Tx timeout
	  should run on the HP work queue (2017-08-03).
	* Simulator:  x86 stack needs to be aligned to 16-byte boundaries
	  (2017-08-04).
	* drivers: handle I2C_TRANSFER return value consistently.  Some I2C
	  peripherals transfers return zero on success, others number of
	  completed transfers.  Make drivers robust against this.  From Juha
	  Niskanen (2017-08-04).
	* syslog: Add option to use the CLOCK_MONOTONIC for time stamping.
	  From Jussi Kivilinna (2017-08-04).
	* RAMTRON: Add support for splitting block writes in chunks.  Some
	  Re-RAMs like MB85AS4MT have a write buffer size limitation.  From
	  Boris Astardzhiev (2017-08-04).
	* Spirit1 network driver:  Correct setting of the length width field;
	  Add multicast and broadcast addresses to radio properties.  Convert
	  network driver to use STack packets vs. Basic packets.  We need to
	  use the STack packets in order to provide the source address
	  (2017-08-04).
	* tools/mkdeps.c:  Eliminate a warning. MAX_PATH may already be defined
	  in included system files.  From Jeff (2017-08-04).
	* Spirit1 network drvier: Increase number of retries if there is no
	  acknowledgement; Add interrupt handling for the case where the max
	  number of retries expires.  Fix some badly implemented queue
	  management code.  With these changes the basic UDP and TCP tests
	  work.  Enable AutoACK, TX retries, and RX timeouts in the network
	  driver (2017-08-04).
	* B-L475E-IOT01A: Make spirit-6lowpan configuration match what is
	  currently under test:  Enable multicast, broadcast, but disable CRC
	  support.  Currently CRCs are not working right (2017-08-04).
	* b-l475e-iot01a:  Add configurations to support a star topology
	  (2017-08-05).
	* Spirit + 6LoWPAN:  In STAR configuration, Spirit must use a
	  configured well known hub address.  6LoWPAN cannot assume that the
	  PAN coordinator is the STAR hub; it must ask the radio to provide it
	  with the address of the star hub (2017-08-05).
	* IEEE 802.15.4 network driver:  Fix more compile issues that only show
	  up when CONFIG_NET_STARPOINT is defined (2017-08-05).
	* STM32F746-Disco:  Add ADC3 support.  From Ivan Ucherdzhiev
	  (2017-08-05).
	* Spirit Network Driver:  Attempts to eliminate RX FIFO errors.  Reduce
	  max packet length to avoid an errata.  Reducing the packet length had
	  no effect on eliminating RX FIFO errors.  Add support for watermark
	  interrupts on RX FIFO.  Restructure threading to reduce locking.
	  Still get a few RX FIFO errors (2017-08-06).
	* STM32F103-Minimum: Add support for SmartFS on Winbond W25 SPI NOR
	  Flash.  From Alan Carvalho de Assis (2017-08-06).
	* MTD: Add driver for Macronix QuadSPI flash memory.  From Simon Piriou
	  (2017-08-06).
	* b-l475e-iot01a: add basic support for external Macronix QuadSPI flash
	  memory.  From Simon Piriou (2017-08-06).
	* Spirit radio:  Dropping packet size to 94 seems to fix problem with
	  CRC failures (2017-08-06).
	* STM32F103-Minimum: (1) Enable CONFIG_MTD_PARTITION in Kconfig if
	  flash partition is enabled and (2) Update the README.txt file with
	  info needed to get SmartFS working.  From Alan Carvalho de Assis
	  (2017-08-06).
	* 6LoWPAN:  When obtaining the radio MAC address from the IP address,
	  handle the special case of broadcast and multicast address
	  (2017-08-06).
	* Networking: Move INET socket interface out of net/sockets to its own
	  directory net/inet (2017-08-06).
	* Spirit network driver:  TX timeout was never being cancelled!  Also
	  reviewed and cleaned up all error handling logic (2017-08-06).
	* sched/: Fix return value in sched_setaffinity().  From Masayuki
	  Ishikawa (2017-08-07).
	* Spirit bugfixes:  Was hanging occasionally because there was no
	  mechanism to restart the poll timer if poll was not performed because
	  Spirit ws busy.  Fixed by not checking if Spirit is busy.  The TX
	  poll can be performed asynchronouly while spirit is busy; any
	  outgoing data will queued until Spirit is ready. Fixed handling of a
	  timeout condition.  Failure to transmition to the TX state would fail
	  (timeout) if in a race condition Spirit already committed to the RX
	  state.  The driver needs to recover the state properly and avoid
	  debug assertions in this event (2017-08-07).
	* STM32 USB:  I'm working on bringing up USB full-speed support on
	  STM32F405.  My board does not include a USB power switch, VBus
	  sensing, over current detection, or ID pin.  This commit add a
	  config STM32_OTGFS_VBUS_ CONTROL which lets us selectively disable
	  VBus sensing and control.  I also sneaked in a change to disable the
	  configgpio call for the ID pin, which is only used in OTG mode which
	  isn't supported yet.  The only pins that need to be initialized
	  should be OTGFS_DP and OTGFS_DM.  These changes let a USB mouse
	  enumerate on my platform if it's plugged in on power-up.  Plugging,
	  unplugging, clicking, or moving the mouse cause NSH to stop
	  responding.  Because I'm using the ramlog, I don't have useful debug
	  messaging yet, so there's a lot more work I have to do to
	  troubleshoot it or get my JTAG debugging set up, but these patches
	  shouldn't hurt anything.  I'm hoping my issue is something simple I
	  overlooked in configuration.  From Jeff (2017-08-07).
	* I discovered while working on the SAMV7 mcan driver that the
	  implementation of the CAN error handling is suboptimal. In the
	  current implementation the many errors are implemented as pending
	  errors.  But those errors are not pending, the errors occurred and
	  are gone directly afterwards. This commit changes the described
	  behavior and simplifies the handling of CAN errors.  From Stefan Kolb
	  (2017-08-07).
	* IPv6:  Remove comparisons to the address with all ones set.  IPv6
	  does not support broadcast addresses and certainly not in that form.
	  Replace with multicast addresses beginning with 0xff02 (2017-08-07).
	* ICMPv6: Support source link-layer address option in RA.  From
	  Masayuki Ishikawa (2017-08-08).
	* libm:  Port gamma() and lgamma() from FreeBSD to NuttX.  From Alan
	  Carvalho de Assis (2017-08-08).
	* B-L475-IOT01A: Enable UDP broadcast test in the spirit-starhub
	  configuration (2017-08-08).
	* Spirit Radio:  Add support for CSMA backoff count reached interrupt
	  (2017-08-08).
	* STM32F4-Discovery:  Add a configuration for testing libc++.  From
	  Alan Carvalho de Assis (2017-08-08).
	* Remove CONFIG_NET_MULTILINK.  This increases code size by a little,
	  but greatly reduces the complexity of the network code (2017-08-08).
	* Networking:  Fix netdev_dev_lladdrsize().  In some configurations, it
	  could return the wrong size for the address of a packet radio
	  (2017-08-08).
	* Fix IPv6 loopback driver that depended on the removed
	  g_ipv6_allonesaddr.  Noted by Masayuki Ishikawa (2017-08-09).
	* Networking: Fix typo for 802.11 devices in netdev_register().  Was
	  being masked before because depended on CONFIG_NET_MULTLINK
	  (2017-08-09).
	* Networking:  Fix a compilation issue with
	  CONFIG_NET_ICMPv6_AUTOCONF=y.  From  Masayuki Ishikawa (2017-08-09).
	* Update NSH documentation to show new usage for addroute and delroute
	  (2017-08-10).
	* cwchar:  Use CONFIG_LIBC_WCHAR to only export the wc/mb functions.
	  When a build does not want to use wide or multibyte char
	  CONFIG_LIBC_WCHAR is not set. Therefore we should to only export the
	  wc/mb functions when defined.  Regardless of the stat of
	  CONFIG_LIBC_WCHAR the non mb/wc  definitions such as mbstate_t,
	  wint_t, wctype_t need to be exported.  From David Sidrane
	  (2017-08-10).
	* inet_ntop:  Was printing negative values for fields >127
	  (2017-08-11).
	* procfs:  Add support for routing tables at proc/net/route
	  (2017-08-11).
	* Unify GCC/Clang config.  From Goran Mekić (2017-08-12).
	* procfs routing table:  Don't print the IPv4 routing table header if
	  the table is empty.  Fix a couple of places where CONFIG_NET_IPv4 was
	  used wehre IPv6 was intended (not noticed now because I am testing
	  with both enabled) (2017-08-12).
	* C++: Compilation with recent C++ compiler needs an overloaded delete
	  operator that includes a size_t size argument (2017-08-12).
	* ARM: The older ARM7 and ARM9 configurations were determining CFLAGS
	  based on the GCC version 4.x.x or not.  That needx to be extended for
	  5.x.x and 6.x.x which also behave like 4.x.x (2017-08-12).
	* STM32F7: Some STM32F7 builds failed in build testing due to undefined
	  STM32_SRAM1_BASE.  I think that is because stm32_allocateheap.c was
	  not including chip/stm32_memorymap.h (2017-08-13).
	* Fix ESP32 gpio enable reg and default UART pin. Modify default uart
	  pin for ESP-WROOM-32. Fix gpio enable reg.  From Sungki Kim
	  (2017-08-13).
	* stm32/stm32f0:  Fix some funny shifts in DAC header files.  From Juha
	  Niskanen (2017-08-14).
	* STM32L4 COMP:  Input minus pin extended selection.  From Juha
	  Niskanen (2017-08-14).
	* STM32L4 DAC:  Port from STM32.  Add ADC register definitions.  Note
	  that this does not address the somewhat confusing relation between
	  STM32L4_NDACS and DAC2 config macros that comes from original STM32
	  code.  From Juha Niskanen (2017-08-14).
	* libxx:  New sized delete operators are only for C++14 and above
	  (2017-08-14).
	* Miscellaneous fixes from astyle tool.  Noted by Arjun Hary
	  (2017-08-14).
	* SAMv71-XULT: Fix MRF24J40 interrupt GPIO number (2017-08-15).
	* Clicker2:  Configure EDBG SPI CS just to make that it is disabled
	  (2017-08-15).
	* STM32L476VG Discovery:  Add a knsh configuration that may be used to
	  test the PROTECTED build mode (2017-08-17).
	* stm32f7:DMA correct comments and document stm32_dmacapable.  Updated
	  comment to proper refernce manual for STM32F7 not STM32F4.  Added
	  stm32_dmacapable input paramaters documentation.  From David Sidrane
	  (2017-08-17).
	* STM32 F7: DMA add dcache alignment check in stm32_dmacapable.  In the
	  case dcache write-buffed mode is used (not write-through) buffer
	  alignment is required for DMA transfers because  a)
	  arch_invalidate_dcache could lose buffered writes data and b)
	  arch_flush_dcache could corrupt adjacent memory if the maddr and the
	  mend+1, the next next address are not on ARMV7M_DCACHE_LINESIZE
	  boundaries.  From David Sidrane (2017-08-17).
	* STM32 F7: SDMMC remove widebus limitation on DMA.  There is no
	  documantation for the STM32F7 that limits DMA on 1 bit vrs 4 bit
	  mode.  From David Sidrane (2017-08-17).
	* dcache write-buffed mode is used (not write-through) buffer alignment
	  is required for DMA transfers because a) arch_invalidate_dcache could
	  lose buffered writes data and b) arch_flush_dcache could corrupt
	  adjacent memory if the buffer and the bufflen, are not on
	  ARMV7M_DCACHE_LINESIZE boundaries.  From David Sidrane (2017-08-17).
	* STM32 F7: SDMMC add dcache alignment check in dma{recv|send}setup.
	  In the case where CONFIG_SDIO_PREFLIGHT is not used.
	* drivers/sensors: Add support to HC-SR04 distance sensor.  From Alan
	  Carvalho de Assis (2017-08-17).
	* PF_IEEE802154 address family:  With this commit PF_IEEE802154 address
	  family is basically functional.  More testing is needed, of course:
	  Finishes up socket interfaces connect() sendto(), recvfrom(), and
	  bind() logic.  Special initialization, device lookup, driver poll,
	  and frame input logic.  Add configs/sim configuration for testing
	  (2017-08-19).
	* STM32 COMP: add default INM configuration and some missing
	  COMP1,3,5,7 code.  From Mateusz Szafoni (2017-08-20).
	* 6LoWPAN/PF_IEEE802154:  Created radiodev.h and renamed various
	  structures to provide a better separation between 6LoWPAN networking
	  and PF_IEEE802154 address family (2017-08-20).
	* STM32 DAC: fix some configuration logic. When STM32_NDAC is greather
	  than 1, then second channel is always DAC1OUT2.  From Mateusz Szafoni
	  (2017-08-20).
	* PF_IEEE802154 address family:  IEEE 802.15.4 network device: Make
	  same changes as per loopback device so that it will build with
	  PF_IEEE802154 but without 6LoWPAN.  More fixes to device registration
	  and to IEEE 802.15.4 loopback driver for PF_IEEE802154 without
	  6LoWPAN.  Changes to conditional compilation so that PF_IEEE802154
	  can build without 6LoWPAN (2017-08-20).
	* drivers/net/tun.c:  Currently cannot support TAP mode unless Ethenet
	  is enabled (2017-08-20).
	* PktRadio loopback driver:  Fix compile problem by removing
	  inappropriate const storage class (2017-08-20).
	* Networking:  Remove driver based backlog support.  This affects the
	  entire network, but is used by only one driver.  The only supported
	  RX backlog is now via common read-ahead buffering (2017-08-21).
	* PF_IEEE802154 socket family:  (1) Improve some backlog counting
	  logic; add more assertions to catch cases where the backlog count
	  might deviate from the actual backlog. (2) Add a maximum backlog
	  option.  This will prevent overrun of the RX frame queue if many
	  frames are received from the radio, but no application is receiving
	  the queued data. (3) On input, there may be a list of frames
	  provided, not just one.  When closed() and connection is freed, also
	  need to free any frames remaining in the RX queue (2017-08-21).
	* Network procfs: Add support for network procfs statistics when
	  nothing is enabled but PF_IEEE802154 (2017-08-21).
	* STM32 DAC:  Add support for HRTIM triggering.  Separate dma buffer
	  configuration for channels.  From Mateusz Szafoni (2017-08-21).
	* ENCX24J600:  Fix some warnings.  Update interface to use newer
	  parameter passing to interrupt handlers (2017-08-21).
	* ENC28J60: Update interface to use newer parameter passing to
	  interrupt handlers (2017-08-21).
	* drivers/analog/comp: add poll support.  From Pekka Ervasti
	  (2017-08-22).
	* STM32L4 COMP:  Bind to upper half comp driver.  From Pekka Ervasti
	  (2017-08-22).
	* STM32L4 ADC: correct EXTSEL macros.  From Juha Niskanen
	  (2017-08-22).
	* drivers/lcd: ssd1306:  (1) Separate lcd_dev_s setup to separate
	  object.  g_oleddev takes 1 KiB because framebuffer and was allocated
	  to .data section because of lcd_dev_s function pointer setup. Move
	  lcd_dev_s setup out, so that g_oleddev goes to .bss and avoid wasting
	  ROM. (2) Fix memory corruption caused by ssd1306_getrun().
	  ssd1306_getrun was writing one extra byte (with value 0) past target
	  buffer when pixlen is multiple of 8. When pixlen was not multiple of
	  8, last byte of buffer was fully cleared, instead of modifying only
	  the (pixlen % 8) bits of last byte.  (3) Add support for board power
	  control.  ThingseeOne has regulator for controlling display power
	  on/off.  Patch adds support for board based power control to SSD1306
	  driver. (4) Add DD-12864WO-4A/SSD1309 support to SSD1306 driver.
	  From Jussi Kivilinna (2017-08-22).
	* Network procfs: procfs/net_procfs_route.c building error occur if
	  CONFIG_NET_ROUTE is enabled.  Fix suggested by Aleksandr Kazantsev
	  (2017-08-22).
	* Networking:  Fix ompile error if Unix domain sockets selected
	  (2017-08-23).
	* STM32L4 TIM: TIM15,16,17 are always in APB2.  From Juha Niskanen
	  (2017-08-25).
	* STM32L4 DAC: report transfer as completed in DMA callback.  Without
	  this even O_NONBLOCK writes block the calling task if DAC was using
	  DMA.  From Juha Niskanen (2017-08-25).
	* STM32L4 COMP: comparators share RCC enable bit with SYSCFG.  From
	  Juha Niskanen (2017-08-25).
	* power: add driver for TI bq2429x battery charger.  TODO: Untested.
	  Does not have poll() support.  From Juha Niskanen (2017-08-25).
	* 6LoWPAN:  The original, Contiki-based design used only a single
	  buffer for reassemblying larger packets.  This could be a problem
	  issue for hub configurations which really need the capability
	  concurrently reassemble multiple incoming streams concurrently.
	  These was also a design issue in that the reassembly buffer could be
	  corrupted by outgoing packets.  The design was extended to support
	  multiple reassembly buffers, each associated with the reassembly tag
	  and source address.  This assures that there can be be no corruption
	  of the reassembly once it has started (2017-08-26).
	* Simulator:  Adds necessary functionality to build Simulator under ARM
	  Linux. Tested only on Raspberry3. Currently setjmp/longjmp do not
	  save/restore floating point registers.  From Nickolay Semyonov
	  (2017-08-26).
	* fs: FS_AUTOMOUNTER should depend on SCHED_LPWORK.  From Nickolay
	  Semyonov (2017-08-26).
	* configs/lc823450-xgevk: Add eMMC/SD and USB support.  From Masayuki
	  Ishikawa (2017-08-27).
	* LC823450: eMMC/SD and USB support for LC823450.  From Masayuki
	  Ishikawa (2017-08-27).
	* drivers/analog/comp.c:  Fix compilation errors when poll disabled.
	  From Mateusz Szafoni (2017-08-27).
	* stm32_dac.c: conditional logic for timer triggering, fix TSEL
	  configuration when HRTIM, DMA request remapping, Add DMA buffers
	  initialization logic.  From Mateusz Szafoni (2017-08-27).
	* STM32 HRTIM: Fix DAC triggers configuration, Add missing master timer
	  logic, enable DAC triggering.  From Mateusz Szafoni (2017-08-27).
	* STM32F33: missing SYSCFG CFGR3 definitions.  From Mateusz Szafoni
	  (2017-08-27).
	* STM32 DAC: support external triggering for DMA transfer.  From
	  Mateusz Szafoni (2017-08-27).
	* ARM: Add support for STM32F433RC.  From Alan Carvalho de Assis
	  (2017-08-27).
	* STM32L4 RCC:  Enable ADC clock source.  From Juha Niskanen
	  (2017-08-28).
	* drivers: analog: adc:  Add poll support.  From Juha Niskanen
	  (2017-08-28).
	* STM32, STM32L4, STM32F7 ADC: fix channel 18 sample time.  Frpm Juha
	  Niskanen (2017-08-28).
	* STM32L4 ADC: implement peripheral.  From Juha Niskanen (2017-08-28).
	* work_queue() must cancel existing work prior to queuing new work,
	  otherwise the work queue list structure can become corrupted.
	  Problem noted by Pascal Speck (2017-08-28).
	* STM32 HRTIM:  Add DMA configuration. From Mateusz Szafoni
	  (2017-08-28).
	* Networking:  Move TCP specific files from inet/ to tcp/.  There is
	  another TCP-specific logic in inet/ that should be moved sometime,
	  but those are more entangled (2017-08-29).
	* Networking:  TCP disconnection callbacks are not retained in a list.
	  This will support mutiple callbacks per lower-level TCP connection
	  structure.  That is necessary for the cae where a socket is dup'ed
	  and shares the same lower-level connection structure.  NOTE:  There
	  still needs to be a call to tcp_start_monitor() when the socket is
	  dup'ed (2017-08-29).
	* Networking:  Start the network monitor for a socket when a TCP socket
	  is dup'ed (2017-08-29).
	* Networking:  A placeholder for some missing logic in the previous
	  change related to monitoring network status for dup'ed sockets.  If
	  one of the dup'ed socket's is closed, then network monitor resources
	  associated with that one socket must be recovered.  Also, in the
	  event that socket is being used on one thread, but then closed on
	  another, any threads waiting for events from the socket should be
	  informed of the closure.  That latter requirement is not implemented
	  because current data structures do not support it (2017-08-29).
	* Networking:  Clean up some naming that has bothered me for a long
	  time... There are no interrupts and no interrupt handlers in the
	  network.  There are events and event handler (there used to to be
	  interrupt logic in there years ago but that is long, long gone)
	  (2017-08-29).
	* configs: update STM32L4 configs for ADC changes.  From Juha Niskanen
	  (2017-08-30).
	* configs: update STM32L4 configs for ADC changes.  From Juha Niskanen
	  (2017-08-30).
	* Porting Guide:  Add usage tip for reading CAN messages from the CAN
	  driver without losing message (2017-08-30).
	* Networking:  socket dup() conditional operation was missing the test
	  for the condition (2017-08-30).
	* ARMv7-M syscall logic:  Clear bit 0 in PC settings.  Bit 0 is the
	  thumb mode indication and should not be set in the PC.  This extra
	  bit has not caused problems in the past, but seeing it set in the PC
	  is unnerving (2017-08-30).
	* Networking:  Fix a race condition.  The accept() operation is
	  performed with the network locked.  However, the network is unlocked
	  BEFORE the connected state is set.  Therefore, a context switch may
	  occur and the socket may no longer be connected when it is marked so.
	  Noted by Pascal Speck (2017-08-31).
	* Work queue:  In a recent change for a problem noted by Pascal Speck,
	  it was noted (again by Pascal Speck) that the cancellation of
	  existing work and replacement with new work must be atomic.  Thanks,
	  Pascal (2017-08-31).
	* LPC43xx: Modify up_allocate_(k)heap() to support PROTECTED mode.
	  From Alan Carvalho de Assis (2017-08-31).
	* STM32 Timer:  Add the set counter function for stm32 timers.  From
	  Sergey Ustinov (2017-08-31).
	* configs/Bambino: Add protected mode configuration to Bambino board.
	  From Alan Carvalho de Assis (2017-08-31).
	* STM32L4 DAC: add option for routing DAC output to ADC.  Actually
	  write something to the DAC DMA buffer.  From Juha Niskanen
	  (2017-08-29).
	* STM32L4 DAC: separate DMA buffer configuration for channels. From
	  Juha Niskanen (2017-08-29).
	* STM32L4 DAC: Fix naming so that DAC1 and DAC2 always refer to
	  channels 1 and 2.  User should not be bothered by details like how
	  many IP blocks there are. As no current STM32L4 has second DAC block
	  (channel 3), remove support for such hypothetical hardware. DMA
	  channels corrected.  From Juha Niskanen (2017-09-01).
	* configs/nucleo-l496zg: add DAC and missing TIM frequencies.  From
	  Juha Niskanen (2017-09-01).
	* Networking: net_timedwait() and net_lockedwait() no longer return
	  errors via errno but returned negated errno values like other
	  internal OS functions (2017-09-01).
	* Networking: Fix net_lock returning ERROR when instead of real error
	  code on failure.  From Jussi Kivilinna (2017-09-01).
	* net/local:  Fix server lc_waitsem overflow.  From Jussi Kivilinna
	  (2017-09-01).
	* drivers/bch:  Add poll support.  From Jussi Kivilinna (2017-09-01).
	* STM32 F7: do not enable read-modify-write on DTCM.  "AN 4667 -
	  STM32F7 Series system architecture and performance" recommends to
	  disable read-modify-write on DTCM: "If the DTCM-RAM is used as data
	  location and the variables used are byte or/and halfword types, since
	  there is no ECC management in this RAM on the STM32F7 Series, it is
	  recommended to disable the read-modify-write of the DTCM-RAM in the
	  DTCM interface (inthe DTCMCR register) to increase the performance."
	  From Jussi Kivilinna (2017-09-01).
	* Networking:  IGMP: Remove special support for interrupt level
	  processing (there is none) and fix some timer cancellation logic.  In
	  many files, correct comments.  There is no interrupt level processing
	  in the networking layer (2017-09-02).
	* stm32_dac.c: fix compilation when DMA disabled for channel.  From
	  Mateusz Szafoni (2017-09-02).
	* Extend the RTC framework with an alarm read ioctl (RTC_RD_ALARM).
	  Through it consumer could get configuration settings about previously
	  scheduled hardware alarms (active status, hours, minutes, seconds).
	  From Boris Astardzhiev (2017-09-03).
	* STM32 F7: Port Boris Astardzhiev's RTC change for STM32L4 to STM32F7
	  (2017-09-03).
	* STM32: Port Boris Astardzhiev's RTC change for STM32L4 to STM32
	  (2017-09-03).
	* Kinetis: Unverified implementation of the alarm read function.
	  Pretty simple because the Kinetis RTC is just a 1Hz counter
	  (2017-09-03).
	* STM32 HRTIM: add burst mode configuration, rename some definitions.
	  From Mateusz Szafoni (2017-09-03).
	* Update net_timedwait() and net_lockedwait() call sites to handle
	  negated errno in return value.  From Jussi Kivilinna (2017-09-04).
	* stm32f7:  Add new configuration option for enabling flash ART
	  Accelerator and flash prefetcher.  From Jussi Kivilinna
	  (2017-09-04).
	* Simulation:  Fix building 32-bit simulation on 32-bit X86.  From
	  Jussi Kivilinna (2017-09-04).
	* waitpid():  Corrects two problems when
	  CONFIG_SCHED_HAVE_PARENT+CONFIG_SCHED_CHILD_STATUS are enabled:  (1)
	  Was erroring out if the waited for task had already exited, and (2)
	  was not freeing resources when a wait was completed.  From Boris
	  Astardzhiev (2017-09-04).

16731 16732 16733 16734 16735 16736 16737 16738 16739 16740 16741 16742 16743 16744 16745 16746 16747 16748 16749 16750 16751 16752 16753 16754 16755 16756 16757 16758 16759 16760 16761 16762 16763 16764 16765 16766 16767 16768 16769 16770 16771 16772 16773 16774 16775 16776 16777 16778 16779 16780 16781 16782 16783 16784 16785 16786 16787 16788 16789 16790 16791 16792 16793 16794 16795 16796 16797 16798 16799 16800 16801 16802 16803 16804 16805 16806 16807 16808 16809 16810 16811 16812 16813 16814 16815 16816 16817 16818 16819 16820 16821 16822 16823 16824 16825 16826 16827 16828 16829 16830 16831 16832 16833 16834 16835 16836 16837 16838 16839 16840 16841 16842 16843 16844 16845 16846 16847 16848 16849 16850 16851 16852 16853 16854 16855 16856 16857 16858 16859 16860 16861 16862 16863 16864 16865 16866 16867 16868 16869 16870 16871 16872 16873 16874 16875 16876 16877 16878 16879 16880 16881 16882 16883 16884 16885 16886 16887 16888 16889 16890 16891 16892 16893 16894 16895 16896 16897 16898 16899 16900 16901 16902 16903 16904 16905 16906 16907 16908 16909 16910 16911 16912 16913 16914 16915 16916 16917 16918 16919 16920 16921 16922 16923 16924 16925 16926 16927 16928 16929 16930 16931 16932 16933 16934 16935 16936 16937 16938 16939 16940 16941 16942 16943 16944 16945 16946 16947 16948 16949 16950 16951 16952 16953 16954 16955 16956 16957 16958 16959 16960 16961 16962 16963 16964 16965 16966 16967 16968 16969 16970 16971 16972 16973 16974 16975 16976 16977 16978 16979 16980 16981 16982 16983 16984 16985 16986 16987 16988 16989 16990 16991 16992 16993 16994 16995 16996 16997 16998 16999 17000
7.23 2017-12-04 Gregory Nutt <gnutt@nuttx.org>

	* STM32L4: ADC, Kconfig small changes:
	    - STM32L4 ADC: port analog watchdog ioctls from the Motorola MDK
	    - STM32L4: Kconfig: add some L486 and L496 chips, remove duplicates
	  From Juha Niskanen (2017-09-06).
	* 6LoWPAN:  Correct an error in uncompressing multicast address
	  (2017-09-08).
	* sem_open() should return SEM_FAILED on any failures.  This is change
	  in the POSIX specification since the original sem_open() was written
	  so many years ago (2017-09-08).
	* STM32: Add logic for enabling wakeup pins.  From Oleg Evseev
	  (2017-09-08).
	* Update/fix last commit:  On some STM32's, the CSR regiser is 18 vs. 16
	  bits wide.  Need to use 32-bit register accesses (2017-09-08).
	* 6LoWPAN: I believe, based on RFC review, that with the last multicast
	  change, the NuttX 6LoWPAN is now compliant with RFC 6282 (2017-09-08).
	* arch/arm/Kconfig:  Add more classic ARM11 architecture selections
	  (2017-09-09).
	* 6LoWPAN/Radio:  Rename radio property sp_pktlen to sp_framelen.  Add
	  6LoWPAN utility to get the max frame length (not yet hooked in)
	  (2017-09-10).
	* 6LoWPAN: Remove the option to disable fragmentation support.  Two
	  reasons:  (1) First fragementation is always required because IPv6
	  requires an MTU of 1280 bytes.  The is no application use case that can
	  work without fragmentation support.  And (2) it greatly reduces the
	  complexity of the code (2017-09-10).
	* net/sixlowpan: Remove CONFIG_NET_6LOWPAN_FRAMELEN.  In this case where
	  multiple radios are supported, this may not be a constant.  6LoWPAN now
	  always queries the driver to get the maximum frame length (2017-09-10).
	* drivers/smps.c: fix error messages.  From Mateusz Szafoni (2017-09-10).
	* configs/stm32f334-disco: beginning of lower half driver for high power
	  LED (powerled).  From Mateusz Szafoni (2017-09-10).
	* Misc STM32 fixes
	    - stm32f33xxx_hrtim.h: fix definition
	    - stm32_hrtim: fix pclk calculation
	    - stm32_hrtim.c: cosmetics
	    - add upper-half driver for high power LED driver (powerled)
	  From Mateusz Szafoni (2017-09-10).
	* drivers/video/fb.c:  Add framebuffer character device (2017-09-11).
	* drivers/video/fb.c:  Add support for LCD drivers that use a simulated
	  framebuffer and must receive explicit notification when there is an
	  update to a region in the framebuffer (2017-09-11).
	* configs/lc823450-xgevk: Enable ADC and watchdog driver.  From Masayuki
	  Ishikawa (2017-09-12).
	* arch/arm/src/lc823450:  Conform to the NuttX coding style, merge the
	  latest fix in lc823450_rtc.c, add ADC driver, add watchdog driver.  From
	  Masayuki Ishikawa (2017-09-12).
	* net/sock: recvfrom:  Fix double leave_cancellation_point on error
	  path.  From Jussi Kivilinna (2017-09-12).
	* net/socket:  Do not enter cancellation point in psock_send() as this
	  is already done in send().  From Jussi Kivilinna (2017-09-12).
	* net/socket: send: verify that sockfd is valid, fixes assert when using
	  send on closed socket.  From Jussi Kivilinna (2017-09-12).
	* drivers/video/fb.c and include/nuttx/video.fb.h:  Some improvements
	  and fixes from early testing sith the sim/fb cnofiguration (2017-09-12).
	* sim/configs/fb:  Add a configuration for non-graphical testing of the
	  frambuffer character driver using apps/example/fb (2017-09-12).
	* Rename CONFIG_VIDEO_DEVICES to CONFIG_DRIVERS_VIDEO to conform better
	  to the evolving configuration naming standard (2017-09-12).
	* Rename CONFIG_AUDIO_DEVICES to CONFIG_DRIVERS_AUDIO to conform better
	  to the evolving configuration naming standard (2017-09-12).
	* stm32:  stm32 alt I2C ensure proper error handling. Injecting data
	  errors would cause the driver to continually reenter the isr with BERR
	  an RxNE.  This fix allows the error to be cleared and propagated to the
	  waiting task.  From David Sidrane (2017-09-12).
	* stm32x i2c fixes, stm32: Fix coding standard error, stm32f7 I2C: fixed
	  typo in comment.  From David Sidrane (2017-09-13).
	* STM32 Tickless: Fixes compilation error when timer info/debug messages
	  are enabled.  From Rajan Gill (2017-09-13).
	* net/: Fix some errors found by Coverity.
	* STM32/STM32 F7:  Fix some errors found by Coverity (2017-09-13).
	* drivers/video/fb.c: File offset is in units of bytes, not pixels
	  (2017-09-14).
	* drivers/lis3dsh.c:  Added the argument parameter (FAR void *arg) to
	  the interrupt handler provided by the LIS3DSH driver to fit the
	  definition for ISRs in xcpt_t.  Changed the check for working queue
	  availability in lis3dsh interrupt handler to use work_available() and
	  not crash in case of an overrun.  From Florian Olbrich (2017-09-14).
	* configs/stm32f4discover: Added initialization code and Kconfig entries
	  to set up the LIS3DSH accelerometer driver on STM32F4Discovery rev. C
	  boards and attach the associated interrupt callback.  From Florian
	  Olbrich (2017-09-14).
	* Added initialization code and Kconfig entries for LIS3DSH
	  accelerometer on STM32F4Discovery + associated changes to LIS3DSH
	  driver.  From Florian Olbrich (2017-09-14).
	* LPC31xx: Change naming of some global variables to match coding
	  standard (2017-09-14).
	* wireless/ieee802154/: Moves MAC802154IOC from ieee802154_ioctl.h and
	  renames ieee802154_ioctl.h to ieee802154_device.h since it only contains
	  types relevant to the MAC char device now.  From Anthony Merlino
	  (2017-09-15).
	* wireless/ieee802154: Adds support for receiving MAC events via IOCTL
	  through socket interface. Other small fixes and cleanup.  From Anthony
	  Merlino (2017-09-15).
	* drivers/wireless:  Adds XBee S2C (802.15.4 firmware) support. XBee
	  driver emulates mac802154 interface.  From Anthony Merlino (2017-09-15).
	* sched/waitpid.c: Eliminate a warning detected by GCC 6 (2017-09-15).
	* drivers/xbee: Fixes a few warnings
	    - drivers/xbee: Fixes a few warnings
	    - configs/clicker2-stm32: Updates sections about i8sak usage in the
	      README
	  From Anthony Merlino (2017-09-15).
	* STM32 Tickless: The attached patch removes the restriction to 16bit
	  counts when a 32bit timer is used for the new tickless on the stm32. As
	  it is now, the restriction is very limiting, especially if one wants
	  high granularity and large achievable intervals and has the hardware
	  (namely the 32bit timers) available.  From Rajan Gill (2017-09-16).
	* configs/open1788:  Initialization now follows the pattern of other
	  boards.  Add initialization of fb driver.  Add a configuration for
	  testing the framebuffer driver (2017-09-16).
	* drivers/video: fb driver now clears framebuffer initially.  Eliminates
	  (or minimizes) initial garbage on the display (2017-09-16).
	* SAMV71-XULT: Add support for fb_driver (2017-09-17).
	* drivers/lcd:  Add suppose for a generic front-end that will convert
	  any LCD driver into a framebuffer driver (2017-09-17).
	* SAMv71-XULT:  Add a configuration to test the LCD framebuffer driver.
	  Not quite yet working properly (2017-09-17).
	* configs/stm3210e-eval:  Rename stm32_appinit.c to stm32_bringup.c so
	  that the start up logic is compatible with other, new boards.  Bring in
	  new stm32_appinit.c, add board_initialize(), add support for FB
	  character driver (2017-09-17).
	* configs/stm3240g-eval:  Rename stm32_appinit.c to stm32_bringup.c to
	  better match other architectures.  Replace the old-style stm32_appinit.c
	  with tne new one from the STM32F4-Discovery.  Add a configuration for
	  testing the FB character driver at drivers/video/fb.c using the LCD
	  frame driver front end at drivers/lcd/lcd_framebuffer.c.  Appears to be
	  fully functional (2017-09-17).
	* netinet/in.h:  Add missing IN6_IS_ADDR_V4COMPAT macro (2017-09-18).
	* configs/stm32f4discovery: Update README.  Add summary of differences
	  with the newest STM32F407G-DISC1 part.  Remove a lot of old discussion
	  that is really no longer helpful (2017-09-18).
	* Networking: sockgetname() files need to include udp/udp.h and
	  tcp/tcp.h or otherwise NET_UDP_HAVE_STACK and NET_TCP_HAVE_STACK are
	  undefined and the logic is never compiled.  Noted by Anthony Merlino
	  (2017-09-18).
	* Add driver for APA102 LED controller.  These LEDs are used on LED
	  Strips and are controlled over SPI (2017-09-18).
	* configs/stm32f103-minimum: Add board support for APA102 driver.  From
	  Alan Carvalho de Assis (2017-09-18).
	* sched/env_dup.c:  Fix an error in the duplication of the child tasks
	  environment in the special case where the parent's environment was
	  created, but then all of the variables were unset.  In that case, there
	  is still an allocation in place but the size of the allocation is zero.
	  This case was not being handled correctly when a child task attempts to
	  create its environment and inherit the zero-size partent environment.
	  Noted by Anthony Merlino (2017-09-18).
	* STM32L4 DFSDM: add peripheral, DAC, TIM: small changes
	    - STM32L4 DAC: do not configure output pin if it is not used
	    - STM32L4 TIM: fix compilation of timers with complementary outputs
	      when not PWM_MULTICHAN
	    - STM32L4 DFSDM: peripheral for digital filters for sigma-delta ADCs
	  Initial version. Timer trigger support is not completed and there is
	  some issue with DMA.
	  From Juha Niskanen (2017-09-19).
	* stm3240g-eval: Remove some bad conditional compilation (2017-09-19).
	* Networking: IPv4 getsockname(): Fix a typo that can cause a compile
	  error (2017-09-19).
	* viewtool-stm32f107: Enable NSH arch-specific initialization.  Rename
	  stm32_appinit.c to stm32_bringup.c for consistency with other boards.
	  Replace old stm32_appinit.c (now stm32_bringup.c) with 'standard'
	  stm32_appinit.c from the STM32F4-Discovery.  Add CONFIG_BOARD_INITIALIZE
	  logic to stm32_boot.c.  Add support to auto-mount the procfs file system
	  (2017-09-19).
	* Networking:  Add implementation of logic for SIOCGIFCONF and
	  SIOCGLIFCOF IOCTL commnds (2017-09-19).
	* Networking: drivers/net/loopback.c: Eliminate a warning.
	  net/netdev/netdev_ifconfig.c: Was not returning all of the address info
	  (2017-09-19).
	* STM32L4 ADC, DFSDM: add routing of ADC data to DFSDM filters.   From
	  Juha Niskanen
	    - configs/nucleo-l496zg: add DFSDM initialization
	    - STM32L4 ADC: add option for routing ADC data to DFSDM, fix DFSDM
	      DMA (2017-09-20).
	* SIOCGIFCONF and SIOCGLIFCONF IOCTL commands should only report on
	  network adatpors in the UP state (2017-09-20).
	* In some cases, packets are still not sent behind the router. I found
	  that NuttX sends the ARP requests not to the router but to the target.
	  Mistake in file net/route/netdev_router.c.  From Aleksandr Kazantsev
	  (2017-09-20).
	* stm32: stm32f40xxx I2C ensure proper isr handling.  Injecting data
	  errors that causes a STOP to be perceived by the driver, will
	  continually re-enter the isr with SB not set and BTF
	  and RxNE set.  This changes allows the interrupts to be cleared and
	  propagates a I2C_SR1_TIMEOUT to the waiting task.  From David Sidrane
	  (2017-09-21).
	* include/nuttx/net/net.h:  Add missing semicolon in prototype.  Fixes
	  error in certain combinations of configuration options.  From Pavel Pisa
	  (2017-09-21).
	* drivers/pipes: pipe_common:  Fix writing large buffers not triggering
	  POLLIN for reader poll.  From Jussi Kivilinna (2017-09-21).
	* drivers/usbdev:  Add support for RX flow control to the CDC/ACM driver
	  (2017-09-22).
	* STM32 Serial:  Fix some incorrect conditional compilation (2017-09-23).
	* drivers/usbdev:  Add support for flow control TERMIOs in CDC/ACM
	  driver (2017-09-23).
	* drivers/usbdev:  CDC/ACM should reset all 'irregular' notifications to
	  zero after sending the SerialState packet (2017-09-23).
	* drivers/usbdev:  Fix some bad conditional logic (2017-09-23).
	* Fixes several errors preventing icmpv6_radvertise.c from being
	  compiled. Fixes conversions to network byte order (namely vlifetime,
	  plifetime, mtu).  IPv6 source address is set to link-local IP address
	  instead of the address in the netdev structure. This is in compliance to
	  RFC 4861. RA didn't work on Linux before this change.  Finally, router
	  prefix and prefix length are derived from the IPv6 address and netmask
	  in the netdev structure. This seems to make more sense than using a
	  predefined, separate prefix from the config.  From Sakari Kapanen
	  (2017-09-24).
	* drivers/usbdev/usbdev: Add RNDIS-over-USB driver.  From Sakari Kapanen
	  (2017-09-24).
	* net/igmp/igmp_send.c:  Fix incoming IGMP checksum calculation.  From
	  Louis Mayencourt (2017-09-25).
	* Fixes for problems found by Coverity in the nuttx repository:
	    - net/socket/recvfrom.c: Check fromlen integrity before using it.
	    - net/socket/net_sockets.c: Always check for valid psock before using.
	    - net/tcp/tcp_send_unbuffered.c:  Avoid using psock beforing
	      checking its integrity.
	    - sched/timer/timer_create.c: Fix watchdog resource leak if cannot
	      allocate a new timer.
	  From Bruno Herrera (2017-09-25).
	* drivers/usbdev/Kconfig: Add comments in regard to RNDIS selection
	  (2017-09-25).
	* configs/nucleo-f410rb:  Add support for the nucleo-F410RB board.  From
	  Gwenhael Goavec-Merou (2017-09-25).
	* STM32 L4: Add SDMMC driver.  From Miha Vrhovnik (2017-09-26).
	* Nucleo-L496ZG: Add support for SDMMC driver.  From Miha Vrhovnik
	  (2017-09-26).
	* drivers/usbdev/cdcacm.c: Avoid using priv before checking its
	  validity.  From Juha Niskanen (2017-09-26).
	* drivers/usbdev/cdcacm.c:  Change design for queuing RX packets that
	  cannot be processed.  Previous design had a logic problem that could
	  cause data loss (2017-09-26).
	* drivers/usbdev/cdcacm.c:  Add a failsafe time to assure that the RX
	  pending queue cannot stall indefinitely.  I can imagine a corner case
	  where the serial driver's RX buffer is full and it stops accepting data
	  and where all of the read requests are queued and there is not event to
	  restart RX processing.  I am not sure that that scenario can really
	  happen, but the failsafe timer gives me peace of mind (2017-09-26).
	* Build break fix: define PWM_TIM2_CH1CFG for channel 1 PWM.  From
	  Tomasz Wozniak (2017-09-26).
	* Fixed directory unlocking in tmpfs_opendir.   From Dmitriy Linikov
	  (2017-09-27).
	* drivers/usbdev/cdcacm.c:  Add some missing logic when flow control is
	  disabled.  Also make sure that the flowcontrol and rxint can handle
	  being re-entered when cdcacm_release_rxpending() is called (2017-09-27).
	* drivers/usbdev/cdcacm.c:  Fix confusion between flow control being
	  enabled and being active.  Different things (2017-09-27).
	* drivers/usbdev/cdcacm.c:  Change ordering of some operations to avoid
	  races; Add missing uppder watermark logic that is normally in
	  serial_io.c but must be duplicated in cdcacm.c (2017-09-27).
	* Fixed directory unlocking in tmpfs_opendir.  From Dmitriy Linikov
	  (2017-09-27).
	* net/route: Permit IPv4 and IPv6 routing tables to be of different
	  sizes (2017-09-27).
	* ROMFS for STM32F4 Discovery board.  Tomasz Wozniak (2017-09-28).
	* STM32 PWR:  Adds stm32_pwr_getsbf and stm32_pwr_getwuf functions that
	  return the standby flag and the wakeup flag PWR power control/status
	  register.  From Oleg Evseev (2017-09-28).
	* net/arp/arp_out.c:  Fix IGMP Ethernet address computation.  From Louis
	  Mayencourt (2017-09-28).
	* net/route:  Adds support for read-only routing tables.  Prior to this
	  change, routing tables were only support in RAM and had to be
	  initialized with explicit logic to add the necessary routes to the
	  routing table.  With this change, routes may be defined in the
	  pre-initialized, read-only routing table provided by the board-specific
	  logic

	  This would be particularly useful, for example, in the case where
	  there is only a single network adaptor and you want all output packets
	  to go to the single adaptor in all cases.  So for that behavior you