Newer
Older
13001
13002
13003
13004
13005
13006
13007
13008
13009
13010
13011
13012
13013
13014
13015
13016
13017
13018
13019
13020
13021
13022
13023
13024
13025
13026
13027
13028
13029
13030
13031
13032
13033
13034
13035
13036
13037
13038
13039
13040
13041
13042
13043
13044
13045
13046
13047
13048
13049
13050
13051
13052
13053
13054
13055
13056
13057
13058
13059
13060
13061
13062
13063
13064
13065
13066
13067
13068
13069
13070
13071
13072
13073
13074
13075
13076
13077
13078
13079
13080
13081
13082
13083
13084
13085
13086
13087
and '}'.
- libc/unisted: Change brings strtol() and related functions more
conformant with POSIX. Corner cases like strtol(-2147483648, NULL,
10) now pass clang -fsanitize=integer without warnings. From Juha
Niskanen.
- libc/unistd: sleep() was returning remaining nanoseconds (kind of),
instead the remaining seconds. From Eunbong Song.
- termios.h: Fix CRTSCTS define to include input and output flow. From
Lorenz Meier.
* Build/Configuration System:
- configs/*/defconfig: The buttons example was changed to archbuttons.
As a result all of the button configurations are broken and need some
renaming in the defconfig files. Noted by Frank Berkert.
- config/*/defconfgs: More fallout from name change of
apps/examples/buttons to archbuttons.
- configs: All QE encoder files. Last change made timer hard-coded to
3. Make configurable.
- configs: Remove all traces of the no-longer existent ARCHBUTTONS
example. Remove all button configurations that depended on the
obsoleted ARCHBUTTON example.
- minnsh Configurations: Remove minnsh configurations and support
logic: up_getc() and lowinstream. This was an interesting exercise
to see just how small you could get NuttX, but otherwise it was not
useful: (1) the NSH code violated the OS interface layer by callup
up_getc() and up_putc() directly, and (2) while waiting for character
input, NSH would call up_getc() which would hog all of the CPU. Not a
reasonable solution other than as a proof of concept.
* Application Build/Configuration System:
- Make.defs: Using wrong link script if native window tool used with
Cygwin.
* apps/platform:
- ESP32 Core v2 Platform: Fix some naming that prevented building the
C++ support.
* apps/nshlib:
- NSH Library: nsh_getdirpath(), use snprint instead of sprintf to
avoid possibility of buffer overrun. Noted by Chung Hwan Kim.
* apps/system:
- Remove std_readline(). This called up_getc() and up_putc() directly,
violating the POSIX OS interface.
* apps/netutils:
- FTPD: Fixed bug that didn't free ftpd ressources on exit. From Pascal
Speck.
- NTP client: Fix missing left parenthesis. From Pierre-Noel Bouteville.
- cJSON: Import patch to fix:cJSON_PrintUnformatted() behaves unexpected
if an empty array shall be printed to text. from Jerome Lang
2012-04-19. From Pierre-Noel Bouteville.
- esp8266 update cosmetic and many bug fix. From Pierre-Noel Bouteville.
- FTPD: Fix bug un ftpd file or socket may be not closed. From
Pierre-Noel Bouteville.
* apps/modbus:
- Modbus Master is missing many files and doesn't compile at all. More
details in
https://groups.yahoo.com/neo/groups/nuttx/conversations/topics/13734.
From Vytautas Lukenskas.
* apps/examples:
- The examples/qencoder app was trying to init the encoder by a direct
call into the board, cheating in a local header to declare the
normally unavailable function prototype. From Sebastien Lorquet.
- apps/examples/timer: Should detach signal handler before exiting.
- examples/qencode: The examples/qencoder app was trying to init the
encoder by a direct call into the board, cheating in a local header to
declare the normally unavailable function prototype. From Sebastien
Lorquet.
- apps/examples/archbuttons: Removed becaue it violates OS interface
principles.
- examples/adc, pwm, can: Remove all usage of BOARDIOC_ADCTEST_SETUP,
BIOARDIOC_PWMSETUP. Remove BOARDIOC_CAN_INITIALIZE. CAN
initialization is now done in the board initialization logic just like
every other device driver.
- examples/ostest: Add some delays to the pthread cancellation test.
With deferred cancellation enabled, things happen more asynchronously.
13088
13089
13090
13091
13092
13093
13094
13095
13096
13097
13098
13099
13100
13101
13102
13103
13104
13105
13106
13107
13108
13109
13110
13111
13112
13113
13114
13115
13116
13117
13118
13119
13120
13121
13122
13123
13124
13125
13126
13127
13128
13129
13130
13131
13132
13133
13134
13135
13136
13137
13138
13139
13140
13141
13142
13143
13144
13145
13146
13147
13148
13149
13150
13151
13152
13153
13154
13155
13156
13157
13158
13159
13160
13161
13162
13163
13164
13165
13166
13167
13168
13169
13170
13171
13172
13173
13174
13175
13176
13177
13178
NuttX-7.20 Release Notes
------------------------
The 120th release of NuttX, Version 7.20, was made on March 8, 2017,
and is available for download from the Bitbucket.org website. Note
that release consists of two tarballs: nuttx-7.20.tar.gz and
apps-7.20.tar.gz. These are available from:
https://bitbucket.org/nuttx/nuttx/downloads
https://bitbucket.org/nuttx/apps/downloads
Both may be needed (see the top-level nuttx/README.txt file for build
information).
Additional new features and extended functionality:
* Core OS:
- Kernel Modules: Module initializer may now return a symbol table.
- Modules: Extend the module interface so that we can access symbols
exported by the module.
- Shared Libraries: In the FLAT build mode, kernel modules may be
used to provide minimal shared library functionality.
- Modules/Shared Libraries: Add support for dependencies between
modules.
- Module Library: Add build a configuration logic for a shared module
library.
- Shared Libraries: Implement module based shared libraries for the
PROTECTED mode build.
- Interrupt handling: irq_attach() now includes an argument of type
xcpt_t that retained with the handler address. That argument is
then provided to the interrupt handler when the interrupt occurs.
The common parameter passing replaces the ad hoc parmater passing
implemented in current drivers. From Mark Schulte.
- Adapt many drivers to utilize the IRQ argument feature.
- All functions that used to return an xcpt_t old handler value, now
return an int error code. The oldhandler value is no longer useful
with the recent changes to the interrupt argument passing. Some of
the functions effected include board_button_irq(), arch_phy_irq(),
STM32 EXTI functions (Alarm, COMP, PVD), GPIO interrupt logic like
kinetis_pinirq(), stm32_gpiosetevent(), and others.
- IRQ subsystem: Add support for smaller interrupt tables as
described at
http://www.nuttx.org/doku.php?id=wiki:howtos:smallvectors . This
is partially the work of Mark Schulte.
* File Systems/Block and MTD Drivers
- Pseudo File System: Add support for soft links in the top-level
psuedo file system.
- Soft links: Add an implementation of readlink().
- Add fstat() support. Implement fstat() method in binfs, romfs,
unionfs, tmpfs, nxffs, nfx, hostfs, procfs, and smartfs.
- fstat: Add fstat() support to FAT. From Alan Carvalho de Assis.
* Graphics/Display Drivers:
- Fonts: Add support for Tom Thumb small mono-space font. From Alan
Carvalho de Assis.
- Graphics: Separated of font cache from graphics/nxterm. Now in
libnx/nxfronts where it can be shared with other grapics
applications.
* Networking/Network Drivers:
- Ethernet drivers: Add framework for serialization in the case where
multiple low-priority work queues are used.
* Other Common Device Drivers:
- Add capabilities() method to SDIO interface. Remove
CONFIG_SDIO_WIDTH_D1_ONLY. That should not be a global propertie,
but rather a capability/limitation of single slot when there may be
multiple slots.
- Removed dmasupported() method from the SDIO interface. That is now
a bit in the capability set.
- drivers/sensors: Add driver for the ST L3GD20 3 axis gyro. From
raiden00.
* Atmel SAM3/4:
- SAM3/4: Add support for ATSAM4S4C. From Wolfgang Reißnegger.
* NXP Freescale i.MX6 Boards:
- Sabre 6quad: Enable examples/smp test in i.MX6 SMP/NSH
configurations.
* NXP Freescale Kinetis:
- Kinetis: Added support for CHIP_MK60FN1M0VLQ12 chip. From Maciej
13180
13181
13182
13183
13184
13185
13186
13187
13188
13189
13190
13191
13192
13193
13194
13195
13196
13197
13198
13199
13200
13201
13202
13203
13204
13205
13206
13207
13208
13209
13210
13211
13212
13213
13214
13215
13216
13217
13218
13219
13220
13221
13222
13223
13224
13225
13226
13227
13228
13229
13230
13231
13232
13233
13234
13235
13236
13237
13238
13239
13240
13241
13242
13243
13244
13245
13246
13247
13248
13249
13250
13251
13252
13253
13254
13255
13256
13257
13258
13259
13260
13261
13262
13263
13264
13265
13266
13267
13268
13269
13270
13271
13272
13273
13274
13275
13276
13277
13278
13279
13280
13281
13282
13283
13284
13285
13286
13287
13288
13289
13290
13291
13292
13293
13294
13295
13296
13297
13298
13299
13300
13301
13302
13303
13304
13305
13306
13307
13308
13309
13310
13311
13312
13313
13314
13315
13316
13317
13318
13319
13320
13321
13322
13323
13324
13325
13326
13327
13328
13329
13330
13331
13332
13333
13334
13335
13336
13337
13338
13339
13340
13341
13342
13343
13344
13345
13346
13347
13348
13349
13350
13351
13352
13353
13354
13355
13356
13357
13358
13359
13360
13361
13362
13363
13364
13365
13366
13367
Skrzypek.
- Kinetis: Add support for K64/K66 RTC lower half driver. From Neil
Hancock.
- Kinetis: Extensive modification of MCG support based feature
configuration. From David Sidrane.
- Kinetis: Add support for K66 family. From David Sidrane.
- Kinetis: Created a kinetis SIM versioning scheme pulled in by
Kinetis chip.h. From David Sidrane.
- Created a kinetis PMC versioning scheme pulled in by Kinetis
chip.h. From David Sidrane.
- Kinetis: Extend clock configuration logic. Refactor
implementation. From David Sidrane.
* NXP Freescale Kinetis Drivers:
- Kinetis Ethernet: Kinetis Support RMII clock source select. This
defined the RMII clock source select bits and allows the selection
to be made via Kconfig. From David Sidrane. Freedom-K66F uses
ENET_1588_CLKIN as RMII clock
- Kinetis Serial: Added configurable 1|2 stop bits.
HAVE_SERIAL_CONSOLE -> HAVE_UART_CONSOLE to be consistent with
HAVE_LPUART_CONSOLE naming. From David Sidrane.
- Kinetis LPserial: Add LPUART serial driver and Clock
configuartaion to freedom-k66f board. From David Sidrane.
- Kinetis USB device: Refactor clocking in kinetis_usbdev. From
David Sidrane.
* NXP Freescale Kinetis Boards:
- Add support for NXP Freedom-k66f development board. From David
Sidrane.
- Kinetis Freedom K66F: Add Ethernet support. From David Sidrane.
- Add twr-k64f120m config. From Marc Rechté.
* NXP Freescale LPC43xx Boards:
- Bamboo-200E: Add netnsh configuration. From Alan Carvalho de Assis.
- Add usbnsh config to Bambino 200E board. From Alan Carvalho de
Assis.
* STMicro STM32:
- STM32 F7: Allow board to configure HSE clock in bypass-mode. This
is needed to enable HSE with Nucleo-F746ZG board. From Jussi
Kivilinna.
- STM32 F7: stm32_allocateheap: allow use DTCM memory for heap.
STM32F7 has up to 128KiB of DTCM memory that is currently left
unused. This change adds DTCM to main heap if
CONFIG_STM32F7_DTCMEXCLUDE is not enabled. From Jussi Kivilinna.
- Add basic support for the STM32F334. From Mateusz Szafoni.
- STM32F33XX DAC, OPAMP, COMP, ADC, HRTIM headers. From Mateusz
Szafoni.
* STMicro STM32 Drivers:
- STM32 F7 SDMMC: Add support for single bit operation on SDMMC2.
- STM32 L4: Port STM32L4 SAI driver from MDK.
- STM32 L4: Bring power management logic from Motrola MDK into NuttX.
- STM32 L4: Bring LPTIM driver in from the Motorola MDK.
- STM32 L4 COMP: Port from Motorola MDK.
* STMicro STM32 Boards:
- STM32F429i Discovery: Add support for NxWM on STM32F429i-Disco
board. From Alan Carvalho de Assis.
- STM32F103 Minimum: Add support for nRF24 on STM32F103-Minimum
board. From Alan Carvalho de Assis.
- Olimex STM32 P407: Add a NSH protected build configuration; Enable
procfs/ in all configurations.
- Olimex STM32 P407: Add support for on-board microSD slot.
- STM32F429i Discovery: add support for the L3GD20 driver. From
raiden00.
- STM32F103 Minimum: Add support to QEncoder on STM32F103 Minimum
board. From Alan Carvalho de Assis.
- Olimex STM32 P407: Add external SRAM support.
- Add basic support for the Nucleo F334R8 board. From Mateusz
Szafoni.
- STM32F103 Minimum: Add SDCard support over SPI on STM32F103-Minimum
board. From Alan Carvalho de Assis.
- STM32F103 Minimum: Add support to USB Device on STM32F103-Minimum
board. From Alan Carvalho de Assis.
* C Library/Header Files:
- compiler.h: packed_struct replaced by begin_packed_struct and
end_packed_struct. Now support IAR style packed structures. From
Aleksandr Vyhovanec.
- Math library: Leverage optimized ARMv8-M functions from BSD license
ARM file.
- Shared libraries: Add a non-standard dllfnc.h function to set the
symbol table.
- C Library: Add a support for setvbuf(). This is a collaborative
effort. Alan Carvalho de Assis did the initial prototype.
- C Library: Add setbuf() which is a trivial wrapper around setvbuf().
- C library: Add swab().
- C library: Add strtoimax and strtoumax.
- C library: Add ffs(), rindex(), an index(). Add strings.h. Move
strcasecmp, strncasecmp, bzero, bcmp, and bcopy to where they
belong in strings.h.h, not string.h. bzero, bcmp, and bcopy are
legacy functions; the contemporary counterparts should be used
instead.
- C library: Add fstatfs().
- Update cwchar. Add cwctype.
* Build/Configuration System:
- Add configuration support for builds with Ubuntu under Windows 10.
* Tools:
- tools/noteinfo.c: A hack tool that I use to analyze some sched_note
output. Needs a home and may be useful to others.
- tools/mkconfig.c: Add logic to keep all of the buffering options in
sync.
* NSH: apps/nshlib:
- NSH: Add support for the 'ln' command.
- NSH ls command: if node is a symobolic link, use readlink() to get
and the display the target of the symblic link.
- NSH: Add readlink command.
* Applications: apps/examples:
- apps/examples/nxtext: Make line spacing configurable.
- apps/system/zmodem/host/nuttx/compiler.h synchronized with
nuttx/nuttx/include/nuttx/compiler.h. From Aleksandr Vyhovanec.
- apps/examples/sotest: Add a test for shared libraries.
- apps/examples/ostest: Add a test of setvbuf().
- apps/examples/stat: Add a simple test for stat(), fstat(),
statfs(), and fstatfs().
Works-In-Progress:
* IEEE802.14.5/6LowPAN. Hooks and framework for this effort were
introduced in NuttX-7.15. Work has continued on this effort on
forks from the main repositories, albeit with many interruptions.
The completion of this wireless feature will postponed until at
least NuttX-7.21.
Bugfixes. Only the most critical bugfixes are listed here (see the
ChangeLog for the complete list of bugfixes and for additional, more
detailed bugfix information):
* Core OS:
- SMP: There were certain conditions that we must avoid by preventing
the release of the pending tasks while withn a critical section.
But this logic was incomplete; there was no logic to prevent other
CPUs from adding new, running tasks while on CPU is in a critical
section. This commit corrects this. This is matching logic in
sched_addreadytorun to avoid starting new tasks within the critical
section (unless the CPU is the holder of the lock). The holder of
the IRQ lock must be permitted to do whatever it needs to do.
- SMP: Make checks for CPU lock set more robust. There are certain
conditions early in initialization on during interrupt handling
where things need to be done a little differently.
- sched_cpulocked: Avoid use of spinlock. That has been reported to
cause a deadlock (2016-12-28).
- SMP: Fix a gap where we may try to make modifications to the task
lists without being in a critical sections. That permits
concurrent access to the tasks lists and many subtle problems.
This fix just remains in the critical section throughout the
operation (and possible until the task is restore in the event of a
context switch). Makes a big difference in stability.
- SMP: Fix an error in critical section logic when performing a
context switch from an interrupt handler. The g_cpu_irqset bit was
not being set for the CPU so other CPUs did not know about the
critical section.
- SMP Signals: Fix some SMP signal delivery logic. Was not handling
some critical sections correctly and was missing logic to signal
tasks running on other CPUs.
- SMP: Fix timer related issues: Round robin and sporadic
scheduling were only being performed for tasks running on the CPU
that processes the system timer interrupt. Similary, CPU load
measurements were only be processed for running on the CPU that
receives the sampling interrupt.
- sched_note: Fix spinlock instrumentation. From Masayuki Ishikawa.
- In all implementations of _exit(), use enter_critical_section() vs.
disabling local interrupts.
- sigtimedwait: When timer expires, up_unblock_task() is called.
This is okay in the single CPU case because interrupts are disable
in the timer interrupt handler. But it is insufficient in the SMP
case. enter_ and leave_critical_section() must be called in order
to manage spinlocks correctly.
- Fix a compile error: in sched_cpuload.c:Line136, the variables ts
and secs are not defined if CONFIG_CPULOAD_ONESHOT_ENTROPY = 0.
However, these variables are used regardless of
CONFIG_CPULOAD_ONESHOT_ENTROPY at lines~180:onwards. From Rajan Gill.
13369
13370
13371
13372
13373
13374
13375
13376
13377
13378
13379
13380
13381
13382
13383
13384
13385
13386
13387
13388
13389
13390
13391
13392
13393
13394
13395
13396
13397
13398
13399
13400
13401
13402
13403
13404
13405
13406
13407
13408
13409
13410
13411
13412
13413
13414
13415
13416
13417
13418
13419
13420
13421
13422
13423
13424
13425
13426
13427
13428
13429
13430
13431
13432
13433
13434
13435
13436
13437
13438
13439
13440
13441
13442
13443
13444
13445
13446
13447
13448
13449
13450
13451
13452
13453
13454
13455
13456
13457
13458
13459
13460
13461
13462
13463
13464
13465
13466
13467
13468
13469
13470
13471
13472
13473
13474
13475
13476
13477
13478
13479
13480
13481
13482
13483
13484
13485
13486
13487
13488
13489
13490
13491
13492
13493
13494
13495
13496
13497
13498
13499
13500
13501
13502
13503
13504
13505
13506
13507
13508
13509
13510
13511
13512
13513
13514
13515
13516
13517
13518
13519
13520
13521
13522
13523
13524
13525
13526
13527
13528
13529
13530
13531
13532
13533
13534
13535
13536
13537
13538
13539
13540
13541
13542
13543
13544
13545
13546
13547
13548
- CPU load: Correct computation of the nominal period to use when the
source is a oneshot timer.
- Cancellation points: Fix some backward logic in conditional
compilation.
- Remove an unused variable when calling sigwaitinfo() and
sigtimedwait(). From Masayuki Ishikawa.
* File System/Block and MTD Drivers:
- procfs: Correct to snprintf-related errors in fs_procfsproc.c.
Resolves issue #24.
- Add logic to VFS rename: If target of rename exists and is a
directory, then the source file should be moved 'under' the target
directory. POSIX also requires that if the target is a file, then
that old file must be deleted.
- Fix open() a block device with
CONFIG_DISABLE_PSEUDOFS_OPERATIONS=y. From Masayuki Ishikawa.
- File System: Don't build block driver proxy if PSEUDOFS_OPERATIONS
are disabled.
- sendfile(): Fix error introduced with commit
ff73be870e38959b0aaee5961dc47b4b58dc2d86. Noted by Maciej Wójcik.
* Graphics/Graphic Drivers:
- NxWM configurations. If using a 7-bit character set, then the
cursor character cannot be 137 (graphic block). Use 95
(underscore) instead.
- NX server: Correct message queue names. Should not be at /dev,
but rather relative to /var/mqueue.
* Common Drivers:
- MMCSD_SDIO: Only wait for card ejected if card detection is
supported. From Alan Carvalho de Assis.
- Typos withim mtd/ with Macronix MX25L. In
NuttX/drivers/mtd/Make.defs letters X between M and 25 are
missing. Noted by Oleg Evseev.
- USBMSC: Always set LUN readonly flag. From Wolfgang Reißnegger.
- drivers/lcd: ssd1306_configspi() must have global scope.
- MMC/SD SDIO: Some drivers need to start DMA before sending CMD24
and some AFTER. From Alan Carvalho de Assis.
- drivers/tone.c: Handle configuration with multiple PWM channels.
This resolves issue #30: Audio Tone Generator and PWM Multiple
Output Channel options.
- drivers/tone.c: 50% duty needs to be expressed a a fixed precision
number.
- drivers/spi/Kconfig: There is too much SPI in the configuration
menu; SPI Driver Support menu is empty. From Maciej Wójcik.
- option to enable Memory Card debug output was hidden with SD cards
connected through SPI. From Maciej Wójcik.
- usbhost_cdcacm: fix tx outbuffer overflow and remove now invalid
assert. From Janne Rosberg.
* Networking/Network Drivers:
- Networking: Fixed some issues that prevented IPv6 from working with
IPv4 enabled. From Pascal Speck.
- Networking: fixed a nullptr-dereference on iob_clone. From Pascal
Speck.
- Ethernet: Need two work structures (minimum) in all Ethernet
drivers so that pending poll work is not lost when an interrupt
occurs.
* ARMv7-R:
- I found an issue inside the cp15_coherent_dcache function: The
"mcr CP15_BPIALLIS(r0)" should only be used with SMP
configurationa. In non-SMP configuration this instruction could
become undefined. From Manohara HK.
* Atmel SAM3/4 Drivers:
- SAM3/4: GPIO bit numbering typo fixes. From Wolfgang Reißnegger.
* Atmel SAM3/4 Boards:
- Add missing sched_note_*() calls in sam4cm SMP functions.
* NXP/Freescale Kinetis:
- Kinetis: Fixed wrong MCG VDIV calculation on new NXP K60. From
Maciej Skrzypek.
- Kinetis: Need to set HAVE_UART_DEVICE when UART4 is selected. From
Maciej Skrzypek.
- Kinetis MCG: Wrong FRDIV set in MCG_C1. From Maciej Skrzypek.
* NXP/Freescale Kinetis Drivers:
- Kinetis Serial: Fixed compile error when UART5 is selected. From
Maciej Skrzypek.
- Kinetis SDHC - Enable clock after selected. From David Sidrane.
- Kinetis: Correct some SPI and I2C configuration issues. From
David Sidrane.
- Kinetis Ethernet: Add #define for number of loops for auto
negotiation to complete. From Marc Rechté.
- Kinetis Werial: Fixed up_rxint - did not disable the RX
interuppts. There was an OR where and AND NOT was needed. From
David Sidrane.
* NXP/Freescale LPC43xx:
- LPC43 pinset definitions: Add more 1 bit to pinset to reach
SFSCLK0-SFSCLK3. Remove PINCONFIG_DIGITAL. From Alan Carvalho de
Assis.
* NXP/Freescale LPC43xx Drivers:
- LPC43 serial: Correct conditional logic that selects /dev/ttySN.
Problem noted by Alan Carvalho de Assis.
* NXP/Freescale i.MX6:
- i.MX6: Fix clearing GPT status register. From Masayuki Ishikawa.
* STMicro STM32:
- STM32, STM32L4 Oneshot: Fix logic so that it can support multiple
oneshot timers.
- STM32 F7: Added missing ARCH_HAVE_RESET for F7. From David Sidrane.
- STM32: Add missing STM32_BKP_BASE. From David Sidrane.
- STM32 and STM32F7: Fixes the BKP reference counter issue. From
David Sidrane.
* STMicro STM32 Drivers:
- Fix for SAMv7 SPI: DLYBS value was calculated, but never written to
any registers. This led to incorrect timings on the bus. From
Michael Spahlinger.
- STM32 QEncoder: Fix QEncoder driver, based on STM32L4 driver. From
Alan Carvalho de Assis.
- STM32 QEncoder: Enable clocking to the timer on QE setup; disable
clock on QE teardown.
- STM32 Ethernet: Need two work structures so that pending poll work
is not lost when an interrupt occurs. This change has also been
ported to all all other effected Ethernet drivers.
- STM32 OTGHS host: stm32_in_transfer() fails and returns NAK if a
short transfer is received. This causes problems from class
drivers like CDC/ACM where short packets are expected. In those
protocols, any transfer may be terminated by sending short or NUL
packet. From Janne Rosberg. Adapted Janne Rosberg's patch to
STM32 OTGHS host to OTGFS host, and to similar USB host
implementations for STM32 L4 and F7.
* STMicro STM32 Boards:
- STM32F4 Discovery: Fix issues with QEncoder support. From Alan
Carvalho de Assis.
* C Library/Header Files:
- Add debug assertion in libdtoa to catch attempts to use floating
point output formats from within an interrupt handler. That will
cause assertions or crashes downstream because __dtoa will attempt
to allocate memory. From Pierre-noel Bouteville.
- libc: Fix ARMv7-A/R memcpy assembly.
- Fix return value if x is NaN. From Aleksandr Vyhovanec.
* apps/nshlib:
- NSH: Eliminate a warning when all memory inspection commands are disabled.
* apps/graphics:
- apps/graphics/traveler/tools: Fix linkage issue. The -lm should
come after -o binname. From Alan Carvalho de Assis.
* apps/netutils:
- The CONFIG_NETUTILS_HTTPD_PATH constant is used by httpd_mmap.c and
httpd_sendfile.c but It was not present in Kconfig menu. From
Maciej Wójcik.
* apps/examples:
- Configurations that enable OSTEST must not disable signals.
- apps/examples/ostest: Was ignoring
CONFIG_EXAMPLES_OSTEST_FPUTESTDISABLE.
- In apps/examples/mtdpart/mtdpart_main.c where
CONFIG_EXAMPLES_MTDPART_NPARTITIONS defining is checked should be
#ifndef instead of #ifdef. Noted by Oleg Evseev.
13549
13550
13551
13552
13553
13554
13555
13556
13557
13558
13559
13560
13561
13562
13563
13564
13565
13566
13567
13568
13569
13570
13571
13572
13573
13574
13575
13576
13577
13578
13579
13580
13581
13582
13583
13584
13585
13586
13587
13588
13589
13590
13591
13592
13593
13594
13595
13596
13597
13598
13599
13600
13601
13602
13603
13604
13605
13606
13607
13608
13609
13610
13611
13612
13613
13614
13615
13616
13617
13618
13619
13620
13621
13622
13623
13624
13625
13626
13627
13628
13629
13630
13631
13632
13633
13634
13635
13636
13637
13638
13639
13640
13641
13642
13643
13644
13645
13646
13647
13648
13649
13650
13651
13652
13653
13654
NuttX-7.21 Release Notes
------------------------
The 121st release of NuttX, Version 7.21, was made on June 6, 2017,
and is available for download from the Bitbucket.org website. Note
that release consists of two tarballs: nuttx-7.21.tar.gz and
apps-7.21.tar.gz. These are available from:
https://bitbucket.org/nuttx/nuttx/downloads
https://bitbucket.org/nuttx/apps/downloads
Both may be needed (see the top-level nuttx/README.txt file for build
information).
Additional new features and extended functionality:
* Core OS:
- pthread rwlocks: Add an implementation for read/write locks
(rwlocks) into the pthread library. These locks are writer
priority, such that if any writers come in they are given priority
for writing. From Mark Schulte.
- pthread robust mutexes: Implement robust mutex support:
pthread_mutex_lock() and trylock() will return EOWNERDEAD if the
mutex is locked by a thread that no longer exists. Add
pthread_mutex_consistent() to recover from this situation. Keep
list of all mutexes held by a thread in a list in the pthread's TCB.
When pthread exits or is cancelled, mutexes held by thread are
marked inconsistent and the highest priority thread waiting for the
mutex is awakened. There is a configuration option to (a) support
only robust mutexes, (b) support only traditional unsafe mutexes,
or (c) Support both unsafe and robust mutexes via
pthread_mutexattr_get/setrobust().
- pthread cancellation points: Add logic to disable cancellation
points within the OS. This is useful when an internal OS function
that is NOT a cancellation point calls an OS function which is a
cancellation point. In that case, irrecoverable states may occur if
the cancellation is within the OS. From Juha Niskanen.
- clock: Add clock_resynchronize and use subseconds RTC. Add
clock_resynchronize for better synchronization of CLOCK_REALTIME and
CLOCK_MONOTONIC to match RTC after resume from low-power state. Add
up_rtc_getdatetime_with_subseconds under
CONFIG_ARCH_HAVE_RTC_SUBSECONDS to allow initializing (and
resynchronizing) system clock with subseconds accuracy RTC. From
Jussi Kivilinna.
- clock: Add new type ssystime_t for relative 64-bit ticks, change
ticks<->time conversion functions to use ssystime_t. From Jussi
Kivilinna.
- clock: Add testing for 32-bit overflow of 64-bit system timer. From
Jussi Kivilinna.
* File Systems/Block and MTD Drivers
- drivers/mtd/w25.c: Erase sector only if it is not in erased state.
From Jussi Kivilinna.
* Graphics/Display Drivers:
- drivers/lcd: Extend st7565 driver to include support for the
AQM_1248A. From Masayuki Ishikawa.
- drivers/lcd: Add driver for Nokia 5110 (Philips PCD8544). From Alan
Carvalho de Assis.
* Networking/Network Drivers:
- Extensive modifications to support wireless network (see below).
- TUN driver: Implement TAP (OSI layer 2) mode. Enable by setting the
IFF_TAP flag instead of the IFF_TUN flag in ifr_flags. From Thomas
Keh.
- Add user-space networking stack API (usrsock). User-space
networking stack API allows user-space daemon to provide TCP/IP
stack implementation for NuttX network. Main use for this is to
allow use and seamless integration of HW-provided TCP/IP stacks to
NuttX. For example, user-space daemon can translate /dev/usrsock
API requests to HW TCP/IP API requests while rest of the user-space
can access standard socket API, with socket descriptors that can be
used with NuttX system calls. From Jussi Kivilinna.
- net/: Network driver now retains Ethernet MAC address in a union so
that other link layer addresses may be used in a MULTILINK
environment.
* Wireless Networking/Wireless Drivers:
- BCM43362: Support for Broadcom's BCM43362 WiFi chip was contributed
by Simon Piriou as part of the port of the Particle Photon board.
Only station functionality is available at present. This work
includes not on the WiFi driver, but the support Particle Photon
board, the infrasture for IEEE 802.11 FullMAC networking including
the network device interface, WiFi configuration, AP scanning and
authentication and association with an AP.
- IEEE 802.11 networking tools and support.
- IEEE 802.15.4 MAC support. This is an effort that was started some
time back by Sebastien Lorquet (with some help from Matte Poppe).
Recently, Anthony Merlino has taken on this effort and has made
some significant progress. Using the Microchip MRF24J40 module with
the Mikroe Clicker2-STM32 board along with a PC-based IEEE 802.15.4
sniffer, Anthonly has verified correct transmittion and receipt of
basic frames.
- Microchip MRF24J40: As mentioned above, this IEEE 802.15.4 radio
driver is now basically functional.
- IEEE 802.15.4 Network Driver: A driver that interfaces the NuttX
network with the IEEE 802.15.4 MAC has been developed but is still
incomplete and has not been verified.
- IEEE 802.15.4 Network Loopback Driver: A simple IEEE 802.15.4 MAC
loopback driver was developed. This driver allowed for parallel
development of the IEEE 802.15.4 MAC and 6LoWPAN.
- 6LoWPAN: The Contiki 6LoWPAN stack has been ported so that works
13657
13658
13659
13660
13661
13662
13663
13664
13665
13666
13667
13668
13669
13670
13671
13672
13673
13674
13675
13676
13677
13678
13679
13680
13681
13682
13683
13684
13685
13686
13687
13688
13689
13690
13691
13692
13693
13694
13695
13696
13697
13698
13699
13700
13701
13702
13703
13704
13705
13706
13707
13708
13709
13710
13711
13712
13713
13714
13715
13716
13717
13718
13719
13720
13721
13722
13723
within the NuttX networking framework and interfaces with the new
IEEE 802.15.4 MAC via the network driver. Live testing with
IEEE 802.15.4 radios has not yet been done; all testing has used
the loopback driver. There are no known problems and the stack
is ready for additional testing.
- Add option to enable wireless debug output.
* Other Common Device Drivers:
- Add entropy pool and strong random number generator. Entropy pool
gathers environmental noise from device drivers, user-space, etc.,
and returns good random numbers, suitable for cryptographic use.
Based on entropy pool design from *BSDs and uses BLAKE2Xs algorithm
for CSPRNG output. Patch also adds /dev/urandom support for using
entropy pool RNG and new 'getrandom' system call for getting
randomness without file-descriptor usage (thus avoiding file-
descriptor exhaustion attacks). The 'getrandom' interface is similar
as 'getentropy' and 'getrandom' available on OpenBSD and Linux
respectively. From Jussi Kivilinna.
- XBox One controller: Adds USB host driver support for the XBox One
controller. Currently only the latest version (XBox One X)
controller works. The older XBox One controllers do not enumerate
correctly. From Brian Webb.
- drivers/analog: Add basic COMP driver. From Mateusz Szafoni.
- drivers/analog: Add driver for the LTC1767L ADC. From Martin
Lederhilger.
- drivers/analog: Add basic OPAMP driver. From Mateusz Szafoni.
- drivers/sensors: Add driver for ST HTS221 humidity sensor. From
Juha Niskanen.
- drivers/sensors: Add driver for ST LPS25H pressure sensor. From
Juha Niskanen.
- drivers/sensors: Add driver for ST LIS2DH accelerometer. From Timo
Voutilainen.
- drivers/usbmisc: Add driver for Fairchild FUSB301 USB type-C
controller. From Harri Luhtala.
- RTC: Add interface for check if RTC time has been set. New
interface allows checking if RTC time has been set. This allows to
application to detect if RTC has valid time (after reset) or should
application attempt to get real time by other means (for example, by
launching ntpclient or GPS). From Jussi Kivilinna.
- Buttons: Change return value of board_buttons() and the type of
btn_buttonset_t to uint32_t so that more than 8 buttons can be
supported.
- drivers/syslog: Use monotonic clock for timestamp when available.
From Jussi Kivilinna.
- SPI: Add an instance argument to the SPIDEV definitions. Thus,
instead of specifying a FLASH device, for example, as SPI_FLASH, you
would now use SPI_FLASH(0) where the "instance" argument now
distinguishes multiple FLASH devices on the same SPI bus. From
Sebastien Lorquet.
- IOBs: Move from net/iob to a better location in mm/iob where they
can be shared outside of the networking logic. Current also used
by IEEE 802.15.4 MAC and by syslog (when buffering enabled).
- syslog: Add option to buffer SYSLOG output to avoid interleaving.
Uses new shareable IOBs. Additional logic to assure that the the
write from the buffer is a single atomic write in normal debug
output.
- drivers/can: Move CAN subsystem to its own directory and put device
drivers there. From Alan Carvalho de Assis.
- drivers/can: Add Microchip MCP2515 CAN Bus controller driver. From
Alan Carvalho de Assis.
- drivers/audio: Add cs43l22 audio driver. From Taras Drozdovsky.
- drivers/input: Add Cypress MBR3108 CapSense touch button driver.
From Juha Niskanen.
* Simulation
- configs/sim/sixlowpan: Configuration for testing the 6LoWPAN with
13725
13726
13727
13728
13729
13730
13731
13732
13733
13734
13735
13736
13737
13738
13739
13740
13741
13742
13743
13744
13745
13746
13747
13748
13749
13750
13751
13752
13753
13754
13755
13756
13757
13758
13759
13760
13761
13762
13763
13764
the IEEE 802.15.4 loopback network driver.
* Infineon XMC4xxx:
- arch/arm/src/xmc4: Initial, partial support for Infineon XMC4xxx.
* Infineon XMC4xxx Boards:
- XMC4500 Relax: Add basic board support infrastructure of Infineon
XMC4500 Relax Lite v1. Basic serial, LED, and button button support
for a simple NSH configuration. There are still stome remaining
issues with serial communications.
* MicroChip PIC32MX Boards:
- pic32mx7mmb: Add support for the Pinquino toolchain.
- pic32mx7mmb: Add support for PROCFS file system.
* NXP Freescale Kinetis:
- Kinetis: Allow board to add pullups on SDHC lines. From David
Sidrane.
- Kinetis: Use optional BOARD_OSC_CR and BOARD_OSC_DIV in clock
configuration. From David Sidrane.
* NXP Freescale Kinetis Drivers:
- Kinetis: Add Timer PWM Module (TPM) to K66 chip. From David
Sidrane.
- Kinetis: Added HW flow control and termios. From David Sidrane.
- Kinetis: Add ARCH_HAVE_I2CRESET. From David Sidrane.
* NXP Freescale LPC43xx:
- Add support for LPC4337FET256. From Andreas Bihlmaier.
* STMicro STM32:
- Change STM32 tickless to use only one timer. From Konstantin
Berezenko.
- STM32 F7: Add support for LSE RTC and enable RTC subseconds. From
13766
13767
13768
13769
13770
13771
13772
13773
13774
13775
13776
13777
13778
13779
13780
13781
13782
13783
13784
13785
13786
13787
13788
13789
13790
13791
13792
13793
13794
13795
13796
13797
13798
13799
13800
13801
13802
13803
13804
13805
13806
13807
13808
13809
13810
13811
Jussi Kivilinna.
- STM32 L1: stm32l15xx_rcc: Add support for using MSI as system
clock. From Juha Niskanen.
- STM32 L1: stm32l15xxx_rcc: configure medium performance voltage
range and zero wait-state when allowed by SYSCLK setting. Zero
wait-state for flash can be configured when: (1) Range 1 and
SYSCLK <= 16 Mhz, (2) Range 2 and SYSCLK <= 8 Mhz, or (3) Range 3
and SYSCLK <= 4.2 Mhz. Medium performance voltage range (1.5V)
can be configured when SYSCLK is up to 16 Mhz and PLLVCO up to
48 Mhz. From Juha Niskanen.
- STM32 F0: Add basic support for STM32F0. From Alan Carvalho de
Assis.
- STM32 F0: Add basic support for STM32F07x family.
- STM32 L1: stm32l15xx_rcc: Allow board to configure HSE clock in
bypass-mode. Allows using MCO output from ST-link chip (on Nucleo
and Discovery boards) as HSE input. From Juha Niskanen.
- STM32 L1: Add support for STM32L152CC, STM32L152RC and STM32L152VC.
From Juha Niskanen.
- STM32 F0: Add support for HSI48.
- STM32 L4: Add support for the STM32L496XX family. From Juha
Niskanen.
- STM32 L4: modularize Kconfig to support different product
lines/families. This is modeled after STM32F7. Idea is to declare
each chip in Kconfig but allow for flash size override. Commit adds
many STM32L4_HAVE_XXX feature test macros. From Juha Niskanen.
- STM32 L4: Separate SYSCFG into product line specific files for
clarity. From Juha Niskanen.
- STM32 L4: Add support for many new MCUs from the STM32L4X3XX
product line. From Juha Niskanen.
- STM32 L4: Add dbgmcu header files. From Juha Niskanen.
- STM32 F410: Add support for STM32F410. STM32F410 is a version of
STM32F4 with 32 KB of RAM and 62 or 128 KB of flash. From Gwenhael
Goavec-Merou.
* STMicro STM32 Drivers:
- SDIO: Extensions to support the SDIO interface to the BCM43362 from
Simon Piriou.
- STM32 F2: Add USB OTG HS support for stm32f20xxx cores. From Simon
Piriou.
- STM32 F2, F4, and F7: Add BOARD_DISABLE_USBOTG_HSULPI flag. From
Simon Piriou.
- STM32 F33: Move DMA logic to a separate files + add ADC support.
From Mateusz Szafoni.
- STM32 F3: Add COMP support. From Mateusz Szafoni.
- STM32 F33: Support for COMP character driver. From Mateusz Szafoni.
- STM32 F4: Implement DMA support for the STM32F4 I2C. From Rajan Gill.
13813
13814
13815
13816
13817
13818
13819
13820
13821
13822
13823
13824
13825
13826
13827
13828
13829
13830
13831
13832
13833
13834
13835
13836
13837
13838
13839
13840
13841
- STM32 F7: Add stm32 RNG support. This is copied from stm32l4.
Tested on STM32F746ZG board. From Juha Niskanen.
- STM32 L1: Add STM32L162VE to chip.h. From Juha Niskanen.
- STM32 F4: Add I2C3 SDA pin mapping for STM32F411. From no1wudi.
- STM32 L1: stm32_flash: Add EEPROM writing for STM32L15XX. From
Juha Niskanen.
- STM32 F7: Serial: Add interface to get uart_dev_t by USART number,
stm32_serial_get_uart. From Jussi Kivilinna.
- STM32 F4: Provide TIM5 definition for STM32F429. From Matias v01d.
- STM32 F0: Add an untested port of the F1 USB device to the STM32F0.
- STM32 F0: Add support for the STM32F09X family. From Juha
Niskanen.
- STM32 F0: Initial cut at I2C driver. Still a work in progress.
From Alan Carvalho de Assis.
- STM32 F33: Add OPAMP support. From Mateusz Szafoni.
- STM32 L4: stm32l4_i2c: Add I2C4 code. From Juha Niskanen.
- STM32 L4: Add GPIO_PORTI definition. From Juha Niskanen.
- STM32 F7 Serial: Allow configuring Rx DMA buffer size. From Jussi
Kivilinna.
- STM32 L4: Firewall for stm32l4x3xx. Not tested for any product
family, but now it at least compiles. L496 devices can have one bit
wider Volatile Data Segment. From Juha Niskanen.
- STM32 TIM: Add method to get timer width. Freerun timer: Use timer
width to get the correct clock rollover point.
- STM32 L4: Add internal flash write support. From Juha Niskanen.
- STM32 L4: Port stm32l4_serial_get_uart function from STM32F7. From
Juha Niskanen.
- STM32 Ethernet: Add support for KSZ8081 PHY interrupts. From
Sebastien Lorquet.
- STM32 F4: Add I2S driver. From Taras Drozdovsky.
13843
13844
13845
13846
13847
13848
13849
13850
13851
13852
13853
13854
13855
13856
13857
13858
13859
13860
13861
13862
13863
13864
13865
13866
13867
13868
13869
13870
13871
13872
13873
13874
13875
13876
13877
13878
13879
13880
13881
13882
13883
13884
13885
13886
13887
13888
13889
13890
13891
13892
13893
13894
13895
13896
13897
13898
13899
13900
13901
13902
13903
13904
13905
13906
13907
13908
13909
13910
13911
13912
13913
13914
13915
13916
13917
13918
13919
13920
13921
13922
13923
13924
13925
13926
13927
13928
- STM32 L4: Add IWDG peripheral. This is the same as for STM32
except that prescale and reload can be changed after watchdog has
been started, as this seems to work on L4. From Juha Niskanen.
- STM32 F7: Add SPI DMA support. From Jussi Kivilinna.
* STMicro STM32 Boards:
- Support for the Particle Photon board was contributed by Simon
Piriou. The Photon board is based on a STM32F205G MCU with and on-
board BCM43362 WiFi chip that interfaces via the STM32's SDIO
interface. Board configuration support includes, in addition,
buttons, LEDS, IWDG, USB OTG HS, and procfs support. Configurations
available for nsh, usbnsh, and wlan configurations.
- Clicker2-STM32: Support for the Mikroelektronika Clicker 2 for
STM32 was added by Anthony Merlino. This board, along with the
MRF24J40 Click board is the platform used to deveop the IEEE
802.15.4 support. The boad configuration includes the MRF24J40
intialization logic and SPI support. Configurations exist for nsh,
knsh, usbnsh, and mrf24j40-radio.
- Nucleo_F334R8: Add ADC example. From Mateusz Szafoni.
- Nucleo-F334R8: Add COMP support. From Mateusz Szafoni.
- Nucleo-F334R8: Use new COMP driver. From Mateusz Szafoni.
- Adds USB host support to stm32f411-disco board. From Brian Webb.
- Add stm32f0discovery board support. From Alan Carvalho de Assis.
- Nucleo-F072RB: Add board configuration.
- Nucleo-F334R8: Add OPAMP support. From Mateusz Szafoni.
- Nucleo-F072RB: Add support for the I2C driver used by I2C tools.
- Nucleo-L496ZG: Add nucleo-l496zg board files. From Juha Niskanen.
- Nucleo-F091RC: Add nucleo-f091rc board files. From Juha Niskanen.
- Nucleo-L432KC: Add nucleo-l432kc board files. From Sebastien
Lorquet.
- Nucleo-L452RE: Add nucleo-l452re board files. From Juha Niskanen.
- stm32f103-miniumum: Add board support to use the Nokia 5110
LCD display driver. From Alan Carvalho de Assis.
* C Library/Header Files:
- C library: Add strerror_r().
- C Library: Add wcstoull(), swprintf(), wcstod(), wcstof(), wcstol(),
wcstold(), wcstoul(), wcstoll() functions. Add mbsnrtowcs() and
wcsnrtombs() (just returning success). Add mbtowc() and wctomb() to
C++ std namespace. From Alan Carvalho de Assis.
- C Library: Add ffsl(), ffsll(), fls(), flsl(), flsll() and use
GCC's __builtin_ctz/__builtin_clz for faster implementation of these.
From Jussi Kivilinna.
- fixedmath: Add square root and b32_t conversion operators. From
Jussi Kivilinna.
- locale.h: Add a bogus definition of locale_t.
- C library: Versions mbrlen and mbsrtowcs taken and adapted from
FreeBSD code (at https://github.com/freebsd/freebsd/). From Matias
v01d.
* Build/Configuration System:
- Include C++ library in 'make export'. From Alan Carvalho de Assis.
- configs: Remove all setenv.sh and setenv.bat files. Remove all
references to setenv.sh and setenv.bat from all config README files.
- Kconfig/deconfigs: Add CONFIG_ARCH_TOOLCHAIN_GNU to indicate that
the toolchain is based on GNU gcc/as/ld. This is in addition to the
CPU-specific versions of the same definition.
- Move prototype for up_cxxinitialize() from nuttx/include/nuttx/arch.h
to apps/include/platform/cxxinitialize.h.
* Tools:
- Add initialconfig.c so that perhaps in the future we will be able to
use this to generate a new configuration from scratch (rather than
having to derive new configurations from existing configurations).
NOTE: Not yet intregated into the build system.
* NSH: apps/nshlib:
- Added support for set [{+|-}{e|x|xe|ex}] [<name> <value>]. Set the
'exit on error control' and/or 'print a trace' of commands when
parsing scripts in NSH. The settinngs are in effect from the point
of exection, until they are changed again, or in the case of the init
script, the settings are returned to the default settings when it
exits. Included child scripts will run with the parents settings and
changes made in the child script will effect the parent on return.
Use 'set -e' to enable and 'set +e' to disable (ignore) the exit
condition on commands. The default is -e. Errors cause script to
exit. Use 'set -x' to enable and 'set +x' to disable (silence)
printing a trace of the script commands as they are ececuted. The
default is +x. No printing of a trace of script commands as they are
executed. From David Sidrane.
- Print expanded variables if -x. From David Sidrane.
- ifconfig command: Extend ifconfig to support 6LoWPAN. Adapt to
13930
13931
13932
13933
13934
13935
13936
13937
13938
13939
13940
13941
13942
13943
13944
13945
13946
13947
13948
13949
13950
13951
some changes in configuration variable usage.
- Network initialization: If IEEE802.11 selected use wlan0 instead of
eth0 for network device name.
- Network initialization: NSH now has configuration options to select
the wireless properties. It builds the configuration structure and
passes this to wpa_driver_wext_associate() so that it will set the
network as configured.
- Network initialization: Add a new option CONFIG_NSH_NETLOCAL that
will suppress some built in operations and will support manual
configuration of a wireless network through command line tools.
* Examples/Tests: apps/examples:
- examples/xbc_text: Adds a test program for the XBox One controller
driver. From Brian Webb.
- examples/ostest: Add a test of robust mutexes.
- examples/ostest: Add tests for pthread_rwlock. Adding tests to be
used to verify the pthread_rwlock lock works. From Mark Schulte.
- examples/ostest: Additional test for rwlock and one for cancel
cleanup handlers. From Juha Niskanen.
- examples/usrsocktest: Add application for USRSOCK testing. From
Jussi Kivilinna.
- examples/nettest: Adapt for use in testing 6LoWPAN.
- examples/nettest: If doing loopback, but not using the official
loopback device, then use the server should use the configured client
IP address.
- examples/udpblaster: Several fixes to work with 6LoWPAN.
- examples/udpblaster: Add logic to bind the local UDP socket to a
well-known address.
- examples/configdata: Add stacksize and priority. From Juha Niskanen.
* Network Utilies: apps/netutils:
- netutils/netlib: Add IEEE 802.11 wireless IOCTL wrappers.
- netutils/netlib: Add a helper function to convert a string to a
13966
13967
13968
13969
13970
13971
13972
13973
13974
13975
13976
13977
13978
13979
13980
13981
13982
13983
13984
13985
13986
13987
13988
13989
13990
13991
13992
13993
13994
13995
13996
13997
13998
13999
14000
- netlib and NSH: Add logic to get/set the IEEE802.15.4 PAN ID.
- netutils/dhcpc: Make the network device name a configuration
option. Was hardcoded to eth0 but may, instead, need to be wlan0.
- netutils/dhcpc: Remove hard-coded interface device. Now passed as
a parameter to dhcpc_open(). From Sebastien Lorquet.
* Wireless Utilies: apps/wireless:
- wireless/wapi: Port of Wapi wireless services. The original
depended on features not supported by NuttX: Removed logic that
depends on Linux netlink. Removed functionality that depended on
the Linux procfs: This includes only 1) listing of available
interfaces and 2) listing of all routes.
- wireless/wapi: Create command line Wapi application based on
Wapi sample code.
- wireless/wapi: wpa_driver_wext_associate() now accepts a
configuration parameter that can be used to specify the wireless
properties.
- wireless/wapi: Add basic wapi_event_stream_extract implementation.
From Simon Piriou.
- wireless/ieee802154: Add iwpan and i8sak tools. iwpan is similar
in concept to wapi. From Anthony Merlino (i8sak was originally
by Sebastien Lorquet).
- wireless/ieee802154/libmac: IEEE 802.15.4 MAC library.
- wireless/wext: Add drivers_wext from the WPA supplicant; Integrate
into NSH. From Simon Piriou.
* System Unitilities (apps/system)
- apps/system/dhcpc: Add a command to renew or establish a lease on an
IPv4 address.
- apps/system/ntpc: Add a command to start or stop the NTPC daemon.
- apps/system/ramtest: Make stacksize and priority conigurable.
* Platform-Specific Support (apps/platform)