SPRESENSE v3.3.1 release (2024/12/16)
Summary
- Feature enhancements are available
- This release has a new bootloader which have to be loaded before use.
New features and feature enhancements
- [Wi-Fi Halow] Add a new driver for Vizmonet Spresense Halow board ahSP1.
- [Audio] Add a source code generator tool (
mkalwcomp.py
) for easier implementation of signal processing on the worker program.
Improved features
- [Bluetooth] Add a config option (
CONFIG_CXD56_BLE1507_RESET_PIN_XXX
) for the driver to control the reset pin to the BLE1507 board.- A solder connection on the board is required to control the reset pin.
- [Bluetooth] Add the BLE APIs:
- API(
ble_set_vendor_uuid()
) to get vendor-specific UUID (128bit) during BLE discovery. - API(
ble_set_tx_power()
) to set BLE Tx Power. - API(
ble_set_scan_param()
) to set BLE scan parameter. - API(
ble_set_conn_param()
) to set BLE connection parameter. - API(
ble_set_public_address()
) to set BLE public address. - API(
ble_set_appearance()
) to set BLE appearance. - API(
bleutil_get_rssi()
) to get RSSI of peripheral devices during scanning.
- API(
- [Bluetooth] Add an option (
CONFIG_NRF52_SCAN_COMPAT_MODE
) to allow connections for legacy peripheral devices that do not support the window offset value of 0 for scan parameters. - [Bluetooth] Fix an issue that it fails pairing with devices with bonding information.
- [Bluetooth] Fix an issue that could cause rescanning to fail after disconnecting from a peripheral device.
- [Bluetooth] Fix an issue that could prevent BLE service discovery from completing.
- [System] Fix an issue that the PIN_EMMC_XXX are reset after waking up from cold sleep.
- [System] Fix an issue of waking up immediately from cold sleep when SD card is inserted on the LTE extension board.
- [I2C] Add a config option (
CONFIG_I2C_RESET
) to recover when I2C device hangs. - [I2C] After an error occurred during I2C bus access, the next and subsequent I2C bus accesses were not performed correctly.
- [FileSystem] Improve access performance to SD card.
- [ASMP] Allow the worker program to use printf for debugging.
- Add
#include <asmp/stdio.h>
to use printf in worker program
- Add
- [Ethernet] Improve an issue that error rarely occurs in SPI communication with the WIZnet W5500.
- [LTE] Fix an issue that caused an assertion when sendto() is executed after opening a UDP socket.
- [Tool] Improve libncurses installation failure when running the install script (
install-tools.sh
) on Ubuntu.
Added example code
- [Bluetooth] Add BLE Mouse Central example (
ble_mouse_central
). - [Bluetooth] Add BLE toio Central example (
ble_toio_central
). - [Audio] Add Audio FFT example (
audiolite_fft
) generated by AudioLite's code generator toolmkalwcomp.py
.- Please refert to README for implementation of FFT signal processing.
- [UART] Add UART bridge example (
uart_bridge
) to bridge UART2 and Debug UART.
How to get source codes
$ git clone --recursive https://github.com/sonydevworld/spresense.git -b v3.3.1
(Below is in Japanese)
概要
- 機能拡張および機能改善を行いました。
- 今回のリリースにより ブートローダーの更新 が必要になります。
新規機能追加および機能拡張
- [Wi-Fi Halow] Vizmonet社製 Spresense Halowボード:ahSP1向けドライバを追加しました。
- [Audio] Workerでの信号処理の実装をより手軽に行うためのソースコードジェネレータツール(
mkalwcomp.py
)を追加しました。
改善された機能
- [Bluetooth] BLE1507ボードに対してドライバからリセット制御を行うコンフィグオプション(
CONFIG_CXD56_BLE1507_RESET_PIN_XXX
)を追加しました。- リセットピンを操作するには、ボード上の半田ジャンパ接続が必要です。
- [Bluetooth] BLEのAPIを追加しました。
- BLE ディスカバリ時にベンダー固有のUUID(128bit)を取得するためのAPI(
ble_set_vendor_uuid()
) - BLE Tx Powerを設定する API (
ble_set_tx_power()
) - BLE スキャンパラメータを設定するAPI (
ble_set_scan_param()
) - BLE コネクションパラメータを設定するAPI (
ble_set_conn_param()
) - Publicアドレスを設定するためのAPI(
ble_set_public_address()
) - Appearanceを設定するためのAPI(
ble_set_appearance()
) - スキャン時にペリフェラル機器のRSSI値を取得するAPI(
bleutil_get_rssi()
)
- BLE ディスカバリ時にベンダー固有のUUID(128bit)を取得するためのAPI(
- [Bluetooth] スキャンパラメータのWindow offset値 0 をサポートしていないレガシーなペリフェラルデバイスに対して、接続を可能にするためのコンフィグオプション (
CONFIG_NRF52_SCAN_COMPAT_MODE
) を追加しました。 - [Bluetooth] ボンディング情報を保持しているデバイスとのペアリングに失敗する問題を改善しました。
- [Bluetooth] BLEペリフェラルデバイスとの切断後に再度スキャンを実行すると途中で失敗することがある問題を修正しました。
- [Bluetooth] BLEサービスディスカバリが完了しないことがある問題を修正しました。
- [System] Coldスリープから起床したときにPIN_EMMC_XXX のピンが初期状態に戻ってしまう不具合を修正しました。
- [System] LTE拡張ボードでSDカードが挿入されているとCold Sleep状態からすぐに起床してしまう問題を改善しました。
- [I2C] I2Cデバイスがハングアップしたときにリカバリするためのコンフィグオプション(
CONFIG_I2C_RESET
)に対応しました。 - [I2C] I2Cバスアクセス時にエラーが発生したのちに、次回以降のI2Cバスアクセスが正しく行われない問題を改善しました。
- [FileSystem] SDカードへの読み出し/書き込みのパフォーマンスを改善しました。
- [ASMP] Workerでデバッグ用にprintfが利用可能になりました。
- Workerで利用するには、
#include <asmp/stdio.h>
とインクルード文を追加してください。
- Workerで利用するには、
- [Ethernet] WIZnet W5500を利用した際に、SPI通信中に稀にエラーが発生する問題を改善しました。
- [LTE] UDPソケットをオープンしてsendto()実行するとAssertが発生する問題を修正しました。
- [Tool] Ubuntuでインストールスクリプト(
install-tools.sh
)を実行した際にlibncursesのインストールに失敗する問題を改善しました。
追加されたサンプルコード
- [Bluetooth] マウスと接続するBLEのサンプル (
ble_mouse_central
) を追加しました。 - [Bluetooth] toioと接続するBLEのサンプル (
ble_toio_central
) を追加しました。 - [Audio] AudioLiteのコード生成ツールmkalwcomp.pyを用いて作成した、音声FFTサンプル (
audiolite_fft
)を追加しました。- FFT信号処理の実装方法についてはREADMEを参照してください。
- [UART] UART2とDebug UARTをブリッジするサンプル(
uart_bridge
)を追加しました。
コード取得方法
$ git clone --recursive https://github.com/sonydevworld/spresense.git -b v3.3.1
Commits history(コミット履歴)
spresense.git
f6208f69 Update Submodules for develop at 2024/12/12 17:43:49
b7c51144 Update a version number for SDKv3.3.1
ea572701 Update Submodules for develop at 2024/12/11 22:03:12
5d6cbdea Update version.json for release v3.3.0
5e5fd476 Update Submodules for develop at 2024/12/04 12:20:43
817d1a40 examples/audiolite_fft: Fix typo and add some description
cf0cd2d8 system/logdump: Fix the configuration name
740cb904 Makefile: Remove obsolete and useless makefiles
7564ccfc externals/micro-ecc: Replace INCDIR to INCDIR_PREFIX
a1e6ad5f modules/fwuputils: Remove unnecessary include path
296242d4 externals/awsiot: Remove obsolete makefile
3cbd0d0e system/lte_sysctl: Remove unnecessary include path
5e398257 examples/step_counter: Remove unnecessary include path
58c6b1bd examples/audio: Remove unnecessary include path
7f17f395 examples/bluetooth_spp: Fix stack overflow
033e2d4a Update LICENSE file for the new host software of multi_webcamera
5f21c088 wireless/nrc7292: Fix build configuration for nrc7292_fwupdate
d443ddd4 Update Submodules for develop at 2024/12/02 22:05:45
56996f84 Update a version number for SDKv3.3.0
e57be0ed bluetooth: Add BLE scan compatible option for legacy device
b90d5b20 examples/audiolite_fft: Add the defconfig
dd4fa870 examples/audiolite_fft: Add an example to explain mkalwcomp.py
a1117013 audiolite: Add a mechanism for synchronizing message between worker and component
eb6c00d8 audiolite/workerfw: Add effective helper functions
d18ce755 audiolite: Change default priority of al_comp_op thread
a2bf164c audiolite: Add audiolite_simplelistener
f5d913be modules/asmp/worker: Add up_udelay and up_mdelay
8477c001 examples/multi_webcamera: Add linux video driver
75d37ef9 modules/asmp: Add config options for library selection
4a82468c Update Submodules for develop at 2024/11/29 22:00:31
3f05f65d bluetooth: Add BLE API to set connection parameter
2d157149 bluetooth: Add BLE API to set scan parameter
55e920a6 bluetooth: Add BLE API to set Tx power
38168cac examples/lte_hibernation: Change handling of context data buffer
fcc009cc examples/lte_hibernation_wake_socket: Fix redundant condition
d127c3b0 examples/lte_hibernation_wake_socket: Fix leak of closing socket descriptor
edb32979 examples/lte_http_get: Fix uninitialized variable
d30507aa Update Submodules for develop at 2024/11/28 22:00:16
3102f3b8 wireless: Add support for Wi-Fi Halow using NRC7292 Add support for Wi-Fi Halow using NRC7292
8d348b3b Update Submodules for develop at 2024/11/27 22:04:11
6060c9c2 configs: Add an example defconfig for BLE central toio
08b860c9 examples/ble_toio_central: Add an example to control toio
ac161b8b configs: Add an example defconfig for BLE central mouse
caf881f9 examples/ble_mouse_central: Add an example to control BLE mouse
c8174516 configs/examples/uart_bridge: Add a defconfig for uart_bridge
59996a70 examples/uart_bridge: Add an example for bridging data
53b655c3 bluetooth: Add BLE API to discover vendor specific UUID
6c10c8ad bluetooth: Add extern C to ble_util.h
3958d0e8 bluetooth: Improve getting device name from advertising data
4c368145 install-tools: Fix install error
f4bea882 examples/bluetooth_le_central: Update command with argument
d9ce942e examples/bluetooth_le_central: Improve service discovery callback
f473d45b bluetooth: nrf52: Fix underflow access to array buffer
69becc48 bluetooth: Remove duplicated definitions
a2c074f2 bluetooth: nrf52: Fix issue that fails to re-scan after disconnection
46fb5968 modules/audiolite: Fix a stacking issue when stop() is called after stop playing
d69d58c5 examples/audiolite_mp3player: Fix an issue of stopping before finish play.
cdb1dc11 modules/audiolite: Fix not stop after decode done
ea247bb2 modules/aspm/worker: Add fmsynth lib build on worker libasmp.a
230895de modules/asmp/worker: Add a define to indicate worker
98276b76 tools/bin/mkalwcomp.py: Add a command to generate audiolite worker component
b0f1ed55 configs/feature/audiolite: Add CMSIS
a0db06c5 modules/audiolite: Add worker component
56fa25ea Update Submodules for develop at 2024/11/07 21:59:51
702848dd audiolite: Fix a BUG mp3player doesn't work after first stop()
ba11b79f Update Submodules for develop at 2024/11/05 22:00:50
5a10bd2a examples/audiolite_through: Fix build break in optional case
691d266d examples/fmsynth/defconfig: Remove unused config
27da487a audiolite: Add defconfigs for building mp3dec worker
88a5fbf8 audiolite/worker/mp3dec: Support Kconfig options to build mp3dec worker
52ff8625 audiolite/mp3dec: Fix freeze on audiolite_mp3dec component
e9307175 asmp/worker: Add some stdio library functions on worker
690dd4e9 tools/mkcmd: Support generate skeleton code in C++
f1231854 audiolite: Modify order of starting sequence order
77bcf90d examples/audiolite_mp3player: Add way to stop during playing
e6802922 audiolite: Fix hang-up issue on wav recorder
8041125a system/lte_sysctl: Improvement of lte_sysctl start argument
929bcc46 bluetooth: nrf52: Fix LESC connection error with bonding information
6abb8909 bluetooth: nrf52: Use the own LTK key for LESC pairing
34ccc4ed bluetooth: nrf52: Fix the IRK not saving in bonding information
b58ca514 bluetooth: nrf52: Fix wrong debug message
4b77b960 examples/bluetooth_le_central: Fix uninitialized variable
3faf4267 examples/bluetooth_le_central: Fix uninitialized reference
82e11dcc examples/lte_lwm2m: Fix build error in using external mbedtls
63ca60a0 examples: Fix uninitialized variable
a24dfd9f Update Submodules for develop at 2024/10/10 21:59:50
529f1e09 Update Submodules for develop at 2024/10/07 22:00:18
f62947f3 Update Submodules for develop at 2024/10/04 22:00:04
b7e6e51a Update Submodules for develop at 2024/10/03 22:00:17
81966ed4 Update Submodules for develop at 2024/09/20 22:00:29
902bca4f Update Submodules for develop at 2024/09/10 21:59:56
1621bd01 Update Submodules for develop at 2024/08/28 10:39:29
91ec530e modules/sensing: Fix build error of tap manager
1dcc573f asmp: Remove cpu_set_t typedef
0b343f09 Update Submodules for develop at 2024/06/03 21:36:01
ee3fd42d modules: gnss: Fix an issue cxd5610nmea is not clean
6dad5c73 xmodem.py: Fix runtime error on the latest Python
6a3faf4f Update Submodules for develop at 2024/03/29 21:36:14
07113515 Update Submodules for develop at 2024/03/22 21:36:15
16f90fa9 examples/gnss: Add GNSS poll example
f9345729 Update Submodules for develop at 2024/03/21 21:35:39
368ed9a1 modules/bluetooth: Add API to set BLE appearance
49e6c8e1 modules/bluetooth: Add API to set BLE public address
e5c0fa29 examples/bluetooth_le_central: Show RSSI from the scan callback
403cc48b modules/bluetooth: Allow RSSI to be gotten from the advertising data
3e6a6c17 modules/bluetooth: Fix build error under macos
6d07bc8b Update Submodules for develop at 2024/02/27 21:36:26
f1b8ad00 modules/bluetooth: Add reset control on BLE1507 Add-on board
ce6b8650 modules/bluetooth: Replace to use nuttx/include/sys/queue.h
nuttx.git
SPRESENSE/nuttx@7f076626d7 arch: cxd56xx: Fix not restart after TX error
SPRESENSE/nuttx@d3a3ccec47 arch: cxd56xx: Add audio sources to CMakeLists.txt
SPRESENSE/nuttx@35e1dba882 arch: cxd56xx: Add gnss source to CMakeLists.txt
SPRESENSE/nuttx@64b9e2566e drivers/audio: Remove useless descriptions from CMakeLists.txt
SPRESENSE/nuttx@9ac171447b boards: cxd56xx: Fix CMakeLists.txt
SPRESENSE/nuttx@b106a2362b boards: cxd56xx: Add CMakeLists.txt for the specific drivers
SPRESENSE/nuttx@96b27b12ee cmake: Fix build failure when -DNUTTX_APPS_DIR is specified
SPRESENSE/nuttx@9372ba5251 drivers/wireless: Add NRC7292 Driver
SPRESENSE/nuttx@9e2b7a99bc drivers/net/wiznet:Fix bug in TCP/UDP communication
SPRESENSE/nuttx@6e69c60de0 boards/arm/spresense: Add a function to control gpo
SPRESENSE/nuttx@744b4362df cxd56xx/cxd56_audio: Fix an issue when driver is stopping
SPRESENSE/nuttx@5e527e864a binfmt/libelf: Fix return code
SPRESENSE/nuttx@cebc3b0279 drivers/mmcsd/mmcsd_sdio.c: Fix SD card 4-bit support
SPRESENSE/nuttx@0f3965c2d5 Revert "drivers/mmcsd: Fix issue does not switch bus width of SD card"
SPRESENSE/nuttx@efe59eb079 arch: cxd56xx: Add SD card 4-bit capability
SPRESENSE/nuttx@701a2b911b drivers/mmcsd: Fix issue does not switch bus width of SD card
SPRESENSE/nuttx@25142e758b boards: cxd56xx: Fix an issue not to enter cold sleep
SPRESENSE/nuttx@f0613770b8 arch: cxd56xx: Fix gnss compile error
SPRESENSE/nuttx@31ccbe3431 net/usrsock: Clear usockid when USRSOCK_EVENT_ABORT is received
SPRESENSE/nuttx@b7168f56df drivers/modem/alt1250: Fix issue where the program would get stuck
SPRESENSE/nuttx@ab63616fd0 arch: cxd56xx: update loader and gnssfw version
SPRESENSE/nuttx@b6af9f8240 arch: cxd56xx: Fix SCU sensor data format
SPRESENSE/nuttx@a2295bc986 arch: cxd56xx: Add logic for i2c reset
SPRESENSE/nuttx@0da68324fc boards: cxd56xx: Fix read position in cxd5610 gnss driver
SPRESENSE/nuttx@71ea3d29e2 drivers/video/isx012: Fix FPS validation codes
SPRESENSE/nuttx@2331992953 drivers/video/isx019: Fix default_value of 3A status
SPRESENSE/nuttx@c08a4a7123 drivers/video/isx019: Fix the default_value of some parameters
SPRESENSE/nuttx@0b8e564795 drivers/video/isx012: Make the I2C access more efficient
SPRESENSE/nuttx@741f27b077 drivers/video/isx019: Make the I2C access more efficient
SPRESENSE/nuttx@5d9231f42b boards: spresense: Add reset control on BLE1507 Add-on board
SPRESENSE/nuttx@c823ac5e63 sensors: Remove duplicated defnitions from bmi160.h
SPRESENSE/nuttx@7f076626d7 arch: cxd56xx: Fix not restart after TX error
nuttx-apps.git
SPRESENSE/nuttx-apps@8cb3d961a wireless/nrc7292: Set duty cycle to 10%
SPRESENSE/nuttx-apps@dfa051226 examples: Remove unnecessary descriptions from Makefile
SPRESENSE/nuttx-apps@bc59d5f9d lte: Add CMakeLists.txt
SPRESENSE/nuttx-apps@d306cc62e system/spi: Add CMakeLists.txt
SPRESENSE/nuttx-apps@a0fe8eb91 audioutils/fmsynth: Fix CMakeLists.txt
SPRESENSE/nuttx-apps@d632384b5 wireless/nrc7292: Fix build error of nrc7292
SPRESENSE/nuttx-apps@52d6d5578 lte/lapi: Modify parameter checks in lte_hibernation_resume()
SPRESENSE/nuttx-apps@b09898663 lte/alt1250: Fix bug that caused name resolution to fail
SPRESENSE/nuttx-apps@6e074fcdc wireless/nrc7292: Add NRC7292 usrsock daemon
SPRESENSE/nuttx-apps@e08832041 lte/alt1250: Fix issue that caused assert when sending UDP packet
SPRESENSE/nuttx-apps@7200f7d4a Revert "webclient: Fix buffer overflow bug"
SPRESENSE/nuttx-apps@8cb3d961a wireless/nrc7292: Set duty cycle to 10%