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
16458
16459
16460
16461
16462
16463
16464
16465
16466
16467
16468
16469
16470
16471
16472
16473
16474
16475
16476
16477
16478
16479
16480
16481
16482
16483
16484
16485
16486
16487
16488
16489
16490
16491
16492
16493
16494
16495
16496
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.
16498
16499
16500
16501
16502
16503
16504
16505
16506
16507
16508
16509
16510
16511
16512
16513
16514
16515
16516
16517
16518
16519
16520
16521
16522
16523
16524
16525
16526
16527
16528
16529
16530
16531
16532
16533
16534
16535
16536
16537
16538
16539
16540
16541
16542
16543
16544
16545
16546
16547
16548
16549
16550
16551
16552
16553
16554
16555
16556
16557
16558
16559
16560
16561
16562
16563
16564
16565
16566
16567
16568
16569
16570
16571
16572
16573
16574
16575
16576
16577
16578
16579
16580
16581
16582
16583
16584
16585
16586
16587
16588
16589
16590
16591
16592
16593
16594
16595
16596
16597
16598
16599
16600
16601
16602
16603
16604
16605
16606
16607
16608
16609
16610
16611
16612
16613
16614
16615
16616
16617
16618
16619
16620
16621
16622
16623
16624
16625
16626
16627
16628
16629
16630
16631
16632
16633
16634
16635
16636
16637
16638
16639
16640
16641
16642
16643
16644
16645
16646
16647
16648
16649
16650
16651
16652
16653
16654
16655
16656
16657
16658
16659
16660
16661
16662
16663
16664
16665
16666
16667
16668
16669
16670
16671
16672
16673
16674
16675
16676
16677
16678
16679
16680
16681
16682
16683
16684
16685
16686
16687
16688
16689
16690
16691
16692
16693
16694
16695
16696
16697
16698
16699
16700
16701
16702
16703
16704
16705
16706
16707
16708
16709
16710
16711
16712
16713
16714
16715
16716
16717
16718
16719
16720
16721
16722
16723
16724
16725
16726
16727
16728
16729
16730
16731
* 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).
7.23 2017-xx-xx Gregory Nutt <gnutt@nuttx.org>