Skip to content

v3.1.0

Compare
Choose a tag to compare
@SPRESENSE SPRESENSE released this 24 Jul 00:29
· 241 commits to master since this release
a24d96f

SPRESENSE v3.1.0 release (2023/7/24)

Summary

  • Feature enhancements are available
  • This release has a new bootloader which have to be loaded before use.
  • An updater is now available to correct a problem with the FPGA circuitry of the HDR camera that causes color errors in some pixels when acquiring QVGA/QQVGA JPEG images. Please download and execute the updater from the HDR camera section of this link.

New features and feature enhancements

  • [GNSS] Add a driver and example applications for GNSS Add-on boards.
    • The GNSS Add-on board is equipped with Sony's GNSS receiver LSI CXD5610, which is capable of L1/L5 dual-band positioning, enabling more accurate GNSS positioning than the built-in GNSS.
    • The API interface is compatible with the built-in GNSS, allowing existing application to run on the GNSS Add-on board without modification.
    • For more information, please refer to GNSS tutorial
  • [Bluetooth] Add support for BLE extended advertisement.
  • [Bluetooth] The BLE connection status change notification I/F ( connect_status_changed() ) can acquire the reason for the status change.

Improved features

  • [Build] Fix an issue where CMSIS could not be built in the MSYS2 environment due to restrictions in the NuttX build system.
  • [ASMP] Fix an issue that timeouts in the mpmq_timedrecieve() does not work.
  • [Audio]Fix an issue that AudioLite's MP3Decorder could not play long IDv3 TAG files.
  • [Bluetooth] Fix an issue that the 128-bit UUID of Characteristic can not be acquired during DeviceDiscovery.
  • [LTE] Revise the power control sequence of the Spresense LTE board.
  • [Tools] Fix an issue that the thread information does not display on the debugger of the IDE.

Added example code

  • [Bluetooth] Add BLE MIDI Central example (ble_midi_central).

Contribution

  • [Camera] Fix an issue that ISX019 HDR camera does not work if dynamic clock change mode is enabled. (Thanks to @takumiando)

How to update toolchain

This SDK v3.1.0 updates the OpenOCD version to 0.12.0. Follow the command below to update the toolchain.

$ mkdir ~/tmp
$ cd ~/tmp
$ wget https://raw.githubusercontent.com/sonydevworld/spresense/master/install-tools.sh
$ bash install-tools.sh -r

How to get source codes

$ git clone --recursive https://github.com/sonydevworld/spresense.git -b v3.1.0


(Below is in Japanese)

概要

  • 機能拡張および機能改善を行いました。
  • 今回のリリースにより ブートローダーの更新 が必要になります。
  • HDRカメラのFPGA回路で、QVGA/QQVGAのJPEG画像取得時に、一部ピクセルの色がおかしくなる不具合修正のアップデーターを公開しました。 こちらのリンク からHDRカメラの項目より、アップデーターをダウンロードして実行してください。

新規機能追加および機能拡張

  • [GNSS] GNSS Add-on ボード用のドライバとサンプルアプリケーションを追加しました。
    • GNSS Add-onボード は、L1/L5デュアルバンド測位が可能なソニー製GNSS受信LSI CXD5610 を搭載しており、内蔵GNSSと比べてより高精度なGNSS測位を実現します。
    • APIインターフェースは内蔵GNSSと互換性をもつので、既存のアプリケーションをGNSS Add-onボード上でそのまま動作させることができます。
    • 詳細は、GNSSチュートリアル をご参照ください。
  • [Bluetooth] BLEの拡張アドバタイジングに対応しました。
  • [Bluetooth] BLEの接続状態変更通知I/F( connect_status_changed() )で、状態変化の理由を取得できるようにしました。

改善された機能

  • [Build] NuttXのビルド環境の制約で、MSYS2環境でCMSISがビルドできないことがある問題を修正しました。
  • [ASMP] mpmq_timedrecieve() 関数のタイムアウトが機能していない不具合を修正しました。
  • [Audio] AudioLiteのMP3Decorderで、長いIDv3 TAGの付いたMP3ファイルの再生が出来ない不具合を修正しました。
  • [Bluetooth] DeviceDiscovery情報を取得した際にCharacteristicの128ビットUUIDが取得出来ない不具合を修正しました。
  • [LTE] Spresense LTEボードの電源制御シーケンスを見直しました。
  • [Tools] IDEを使用したデバッグでスレッド情報が表示されない不具合に対応しました。

追加されたサンプルコード

  • [Bluetooth] BLE MIDI Centralのサンプル (ble_midi_central) を追加しました。

コントリビューション

  • [Camera] 動的クロック変更モードを有効にしたときにISX019 HDRカメラが動作しなくなる問題を修正しました。 (Thanks to @takumiando)

ツールチェーンの更新方法

v3.1.0ではOpenOCDのバージョンを0.12.0に更新しました。以下のコマンドに従い、ツールチェーンの更新を行ってください。

$ mkdir ~/tmp
$ cd ~/tmp
$ wget https://raw.githubusercontent.com/sonydevworld/spresense/master/install-tools.sh
$ bash install-tools.sh -r

コード取得方法

$ git clone --recursive https://github.com/sonydevworld/spresense.git -b v3.1.0


Commits history(コミット履歴)

spresense.git

7671ac4a Update version.json for release v3.1.0
608be619 modules: gnss: Fix the latitude and longitude output
f5e677ca Update Submodules for develop at 2023/07/12 17:04:12
fd8db270 examples/ble_midi_central: Add defconfig
3c4ea2f7 examples/ble_midi_central: Add BLE MIDI Central
2bd55c5f system/startup_script: Fix build error after make clean
89ddd20d bluetooth: Shorten long macro names
7fb5467c bluetooth: Add CONFIG_BLUETOOTH_DEBUG_MSG config
1de5379b examples/ble: Follow the connect_status_changed() callback I/F change
8e769468 bluetooth: nrf52: Set timeout value for connection
fd2ccbc2 bluetooth: Add status information to connect_status_changed() callback I/F
1ebfce25 configs/examples: Add an example defconfig for gnss_addon
fb553b58 examples/gnss_addon: Add an example for GNSS Add-on board
65612389 examples/audiolite: Add termination code
612d745e bluetooth: nrf52: Fix BSO_Finalize() timing
5413fc6c examples/ble_central: Update BLE central example
5a8319c2 bluetooth: Add BLE utility funcions
ac8bee50 Update Submodules for develop at 2023/07/05 05:10:44
888a0941 bluetooth: Fix prototype declaration of ble_parse_advertising_data()
3388eb6e bluetooth: nrf52: Modify default setting for scan
e7f6746f audiolite: Fix CodeSonar detection
6cd85719 examples/lte_fwupdate: Fix Uninitialized Variable
68dd3cb2 memutils: simple_fifo: Modify asm to asm
08878d69 bluetooth: Enable to build in arduino environment
59b5b4e7 Update SDK version to SDK3.1.0
a15fd742 Update Submodules for develop at 2023/06/28 06:16:03
fc184e5b sdk/tools: Remove callstack.py to move nuttx repository
027a4a3b modules: gnss: Remove FAR descriptions from NMEA converter
62cc9186 Update Submodules for develop at 2023/06/27 04:16:44
e9bd5cce examples/audiolite_mp3player: Add log messages
0f73e039 audiolite/mp3dec: Add build option to make SPK
67e97c96 audiolite/mp3dec: Fix freeze bug
c8d2ee44 configs: Remove examples/udgram
6ea86cd0 examples/gnss_atcmd: Update gnss_atcmd commands
26913e82 examples/gnss_atcmd: Add support for gnss addon board
6c9dbbdc modules: gnss: Remove unnecessary file
e05c14f7 modules: gnss: Add utility to convert cxd5610 gnss data to NMEA
ddc9cfa5 examples/lte_lwm2m: Add support for gnss addon board
5aefad19 examples/awsiot_gnsslogger: Add support for gnss addon board
adde3b2d examples/ambient_gnsslogger: Add support for gnss addon board
92a64c02 examples/gnss: Add support for gnss addon board
e0965977 configs: Add gnss addon feature defconfig
bfe0d045 bluetooth: nrf52: Fix internal buffer size for advertising
c493f6dd bluetooth: Fix bug that data length is one byte larger
cf015e8a bluetooth: Extend array size for advertising data
51d3a5de Bluetooth: Remove A2DP/HFP samples
6385feb1 feature/sysutil: Remove unnecessary configs
14ecc6c2 Update Submodules for develop at 2023/06/21 06:15:18
aebe6474 examples/lte_lwm2mstub: Handle notice instance information
bee1de56 Update Submodules for develop at 2023/06/15 06:15:23
b9752996 externals/cmsis: Add SUFFIX definition to avoid build errors
b1d58b46 modules/asmp: Fix mistake in return code of mpmq_trysend
a2f70d4f sdk: Add common ASMP worker library variable
44abcf4e modules/asmp: Add udelay for workers
2eaa2052 modules/asmp: Implement timeout feature for send/receive
37b5a9a2 modules/asmp: Add low level clock and timer
f3c21f1a examples/ble_central: Support ble_discover_uuid() API
1143fc6c bluetooth: nrf52: Add ble_discover_uuid() API
1c4c8d1d bluetooth: nrf52: Reply for connection parameter update request
0edc6e52 examples/ble_central: Fix parameter order of ble_continue_db_discovery()
1499b08a bluetooth: nrf52: Fix bug that wrong timeout log is output
ad17b743 examples/ble_central: Add codes that use BLE address type
0e2b44f6 bluetooth: nrf52: Enable to specify to BLE address type in ble_connect()
d67a26e5 bluetooth: nrf52: Support long advertising data reception
a91545aa Update Submodules for develop at 2023/05/17 07:28:43
df4f95e5 install-tools.sh: Update prebuilt openocd download URL
7b789e9c configs: Remove emmc from examples/fsperf

nuttx.git

sonydevworld/spresense-nuttx@6e7baf4dec drivers/video: Fix returned errno in error cases
sonydevworld/spresense-nuttx@478e0618dd drivers/video: Initialize flags member of query control APIs
sonydevworld/spresense-nuttx@a5171bb709 boards: cxd56xx: Fix boot timeout
sonydevworld/spresense-nuttx@d4a9fae857 driver/audio/cxd56: Support 24bit, 192kHz and 4ch max
sonydevworld/spresense-nuttx@583bdaf8a1 boards: cxd56xx: Fix issue of sending commands before boot completes
sonydevworld/spresense-nuttx@16d3066343 cxd56/alt1250: Fix ALT1250 power control for power ON state
sonydevworld/spresense-nuttx@05dcc6300b cxd56/alt1250: Change power on sequence
sonydevworld/spresense-nuttx@0ae9412424 arch: cxd56xx: Fix bug when watchdog restart
sonydevworld/spresense-nuttx@12e89f7aef drivers: video: isx012: Fix system clock to HV mode
sonydevworld/spresense-nuttx@867c6166f1 tools: Add script to parse callstack
sonydevworld/spresense-nuttx@576912facb boards: cxd56xx: Remove i2c from cxd5610 lowerhalf interface
sonydevworld/spresense-nuttx@2abbb7940e boards: cxd56xx: Register cxd5610 gnss driver
sonydevworld/spresense-nuttx@6562bfbede boards: cxd56xx: Add cxd5610 gnss lowerhalf driver
sonydevworld/spresense-nuttx@c891a1bd93 boards: cxd56xx: Add cxd5610 gnss driver
sonydevworld/spresense-nuttx@6f27039270 arch: cxd56xx: Support to get gnss firmware version
sonydevworld/spresense-nuttx@706c8a3cad arch: cxd56xx: Update gnss header files
sonydevworld/spresense-nuttx@e32aa62d40 driver/alt1250: Notice instance information
sonydevworld/spresense-nuttx@3d4913ebbc drivers: video: isx019: Fix system clock to HV mode

nuttx-apps.git

sonydevworld/spresense-nuttx-apps@965d83fee audioutils/fmsynth: Add create instance for static
sonydevworld/spresense-nuttx-apps@167f626a0 lte/alt1250: Notice instance information
sonydevworld/spresense-nuttx-apps@3a347f9ca Change the way of definition of SUFFIX
sonydevworld/spresense-nuttx-apps@7d546dc91 examples/camera: Add Spot metering option