Skip to content

Commit

Permalink
Preparing v4.2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
ricardoquesada committed Jan 3, 2025
1 parent b4a27be commit d16f155
Show file tree
Hide file tree
Showing 6 changed files with 44 additions and 17 deletions.
47 changes: 36 additions & 11 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,17 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [4.2.0] - 2024-??-??
## [4.2.0] - 2025-01-03

### New
- ESP32: ESP32-C6 and ESP32-H2 supported
- Pico W: Pico 2 W supported
- ESP32: ESP32-C6 and ESP32-H2 supported.
- They depend on BTstack 1.6.2 (pre-bundled with Bluepad32 v4.2.0)
- Pico W: Pico 2 W supported.
- Requires [Pico SDK 2.1][pico_sdk_2_1] or newer.
- If you want to use it with BTstack 1.6.2 you might need to apply [this patch][github_pico_sdk_pr_2157]
- By default, ["examples/pico_w"][examples_pico_w] was modified to use BTstack 1.6.1.
- ESP-IDF: v5.3 and v5.4 supported
- Needed for Arduino Core v3.1. See [template project][bp32_template_project]
- Wii: Add support for Wii uDraw Tablet. Fixes [Github Issue #105][github_issue_105]
- Wii: Add `uni_hid_parser_wii_request_report_type(struct uni_hid_device_s* d, wii_report_type_t r);`
- Allows user to change the Wii report type
Expand All @@ -18,25 +23,45 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- BTstack: Using v1.6.2
- Documentation: Updated FAQ and Arduino docs.
- Pico W: Updated `btstack_config.h`. Disables malloc, enables some BTstack features, and some minor changes
- Pico W: Updated instructions to use Pico Debug probe
- Pico W: Updated CMakeLists.txt with option to dump HCI packets.
- BLE: Connection should be a bit more reliable. No longer depends on having encryption enabled.
- See the new [btstack_config.h][pico_w_btstack_config_h]
- Pico W: [Updated instructions][pico_w_instructions] to use Pico Debug probe
- Pico W: Updated CMakeLists.txt with an option to dump HCI packets.
- ESP32: [Updated instructions][esp32_instructions] to use JTAG debugger.
- BLE: Connection is a bit more reliable. No longer depends on having encryption enabled.
- Core: packet handlers have the `uni_` prefix. Useful to avoid collision when putting breakpoints.
- Example: Easier to put a breakpoint in `uni_hci_packet_handler` than in `hci_packet_handler`
since there are many of those.
- Controllers DB: Updated from latest SDL
8 ESP32 Console: "incoming_connections_enable" sets/gets whether inconming connections are allowed.
* ESP32 Console: "scan_and_autoconnect" is a new command that behaves like the old "incoming_connections_enable".
- Only a few new entries added.
- ESP32 Console: `incoming_connections_enable` sets/gets whether incoming connections are allowed.
- ESP32 Console: `scan_and_autoconnect` is a new command that behaves like the old `incoming_connections_enable`.
- PlatformIO: `platformio.txt` file updated in ["examples/esp32"][examples_esp32] (and "template" project as well)
- See [PlatformIO issue 1225][github_pio_issue_1225] to learn what's going on between PlatformIO and Espressif.

## Fixed
- Switch driver:
- Increased timeout
- Fixed typo on pro joystick calibration
- Made sure right joycon calibration is mapped to right location
- Fixed pro joystick calibration
- Make sure the right joycon calibration is mapped to the right location
- Implemented a user calibration check and updated stick cal if true
- Examples: Cleanup CMakeLists.txt
- Allow multiple "safe" commands per loop. Fixes [Github Issue #130][github_issue_130]
- Allow multiple "safe" commands per loop.
- This was a nasty bug that was mostly manifested in Arduino users, when multiple commands like
`BP32.forget...()`, `BP32.enableService...()`, only the latest one was executed.
- Now it allows up to 8 calls per loop.
- Fixes [Github Issue #130][github_issue_130]

[github_issue_105]: https://github.com/ricardoquesada/bluepad32/issues/105
[github_issue_130]: https://github.com/ricardoquesada/bluepad32/issues/130
[github_pico_sdk_pr_2157]: https://github.com/raspberrypi/pico-sdk/pull/2157
[github_pio_issue_1225]: https://github.com/platformio/platform-espressif32/issues/1225
[examples_pico_w]: https://github.com/ricardoquesada/bluepad32/tree/main/examples/pico_w
[examples_esp32]: https://github.com/ricardoquesada/bluepad32/tree/main/examples/esp32
[bp32_template_project]: https://github.com/ricardoquesada/esp-idf-arduino-bluepad32-template
[pico_sdk_2_1]: https://github.com/raspberrypi/pico-sdk/releases/tag/2.1.0
[pico_w_instructions]: https://github.com/ricardoquesada/bluepad32/blob/main/examples/pico_w/README.md
[esp32_instructions]: https://github.com/ricardoquesada/bluepad32/blob/main/examples/esp32/README.md
[pico_w_btstack_config_h]: https://github.com/ricardoquesada/bluepad32/blob/main/examples/pico_w/src/btstack_config.h

## [4.1.0] - 2024-06-03
### New
Expand Down
2 changes: 2 additions & 0 deletions examples/pico_w/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ set(BTSTACK_ROOT ${PICO_SDK_PATH}/lib/btstack)
# ${BTSTACK_ROOT}/src/hci_event_builder.c
#)
# -- uncomment until here
# And you need to apply this patch in Pico SDK
# https://github.com/raspberrypi/pico-sdk/pull/2157

# initialize the SDK based on PICO_SDK_PATH
# note: this must happen before project()
Expand Down
2 changes: 1 addition & 1 deletion src/components/bluepad32/include/uni_version.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
#define UNI_VERSION_H

// String version
#define UNI_VERSION "4.2.0"
#define UNI_VERSION_STRING "4.2.0"

// Number version, in case a 3rd party needs to check it
#define UNI_VERSION_MAJOR 4
Expand Down
4 changes: 2 additions & 2 deletions src/components/bluepad32/uni_init.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ int uni_init(int argc, const char** argv) {
// Disable stdout buffering
setbuf(stdout, NULL);

loge("Bluepad32 (C) 2016-2024 Ricardo Quesada and contributors.\n");
loge("Version: v" UNI_VERSION "\n");
loge("Bluepad32 (C) 2016-2025 Ricardo Quesada and contributors.\n");
loge("Version: v" UNI_VERSION_STRING "\n");

// Honoring BTstack license
loge("BTstack: Copyright (C) 2017 BlueKitchen GmbH.\n");
Expand Down
4 changes: 2 additions & 2 deletions src/components/bluepad32/uni_property.c
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ static const uni_property_t properties[] = {
{UNI_PROPERTY_IDX_GAP_MIN_PERIODIC_LEN, UNI_PROPERTY_NAME_GAP_MIN_PERIODIC_LEN, UNI_PROPERTY_TYPE_U8,
.default_value.u8 = UNI_BT_MIN_PERIODIC_LENGTH},
{UNI_PROPERTY_IDX_MOUSE_SCALE, UNI_PROPERTY_NAME_MOUSE_SCALE, UNI_PROPERTY_TYPE_FLOAT, .default_value.f32 = 1.0f},
{UNI_PROPERTY_IDX_VERSION, UNI_PROPERTY_NAME_VERSION, UNI_PROPERTY_TYPE_STRING, .default_value.str = UNI_VERSION,
.flags = UNI_PROPERTY_FLAG_READ_ONLY},
{UNI_PROPERTY_IDX_VERSION, UNI_PROPERTY_NAME_VERSION, UNI_PROPERTY_TYPE_STRING,
.default_value.str = UNI_VERSION_STRING, .flags = UNI_PROPERTY_FLAG_READ_ONLY},
{UNI_PROPERTY_IDX_VIRTUAL_DEVICE_ENABLED, UNI_PROPERTY_NAME_VIRTUAL_DEVICE_ENABLED, UNI_PROPERTY_TYPE_BOOL,
#ifdef CONFIG_BLUEPAD32_ENABLE_VIRTUAL_DEVICE_BY_DEFAULT
.default_value.boolean = true
Expand Down
2 changes: 1 addition & 1 deletion src/components/bluepad32/uni_version.c
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@

#include "uni_version.h"

const char* uni_version = UNI_VERSION;
const char* uni_version = UNI_VERSION_STRING;

0 comments on commit d16f155

Please sign in to comment.