Skip to content

Nickez/new firmware targets#1980

Open
NickeZ wants to merge 4 commits into
BitBoxSwiss:masterfrom
NickeZ:nickez/new-firmware-targets
Open

Nickez/new firmware targets#1980
NickeZ wants to merge 4 commits into
BitBoxSwiss:masterfrom
NickeZ:nickez/new-firmware-targets

Conversation

@NickeZ

@NickeZ NickeZ commented Jun 1, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

@NickeZ NickeZ requested a review from benma June 1, 2026 11:58
NickeZ added 2 commits June 1, 2026 14:16
Replace internal Plus platform and product symbols with Nova names
across C, Rust, Python, tests, and build helpers. Keep identifying
protocol strings, target names, magic values, and platform byte values
unchanged.
Build firmware-nova and firmware-nova-btc as separate CMake artifacts
while keeping them identical to the existing multi and BTC-only firmware
variants for now.
@NickeZ NickeZ force-pushed the nickez/new-firmware-targets branch from 75505cf to 027194d Compare June 1, 2026 12:17
Comment thread src/CMakeLists.txt Outdated
Comment thread py/bitbox02/bitbox02/bitbox02/bootloader.py Outdated
Comment thread py/bitbox02/bitbox02/communication/bitbox_api_protocol.py Outdated
NickeZ added 2 commits June 1, 2026 14:58
Keep the existing BITBOX02PLUS public symbols while preserving the Nova product strings introduced by the firmware target rename.
Build the Nova firmware targets with PRODUCT_BITBOX_NOVA_MULTI and
PRODUCT_BITBOX_NOVA_BTCONLY instead of the classic BitBox02 product
macros.

Update the firmware-side product string, OP_INFO edition byte, and Nova
USB descriptor checks to recognize the Nova macros.
@benma

benma commented Jun 1, 2026

Copy link
Copy Markdown
Collaborator

https://github.com/BitBoxSwiss/bitbox02-firmware/blob/master/releases/README.md?plain=1#L8

This sentence needs to be changed to say that it was the same until v9.26.1, but different afterwards.

'B', 0, 'i', 0, 't', 0, 'B', 0, 'o', 0, 'x', 0, '0', 0, '2', 0, ' ', 0, 'N', 0, 'o', \
0, 'v', 0, 'a', 0, ' ', 0, 'F', 0, 'a', 0, 'c', 0, 't', 0, 'o', 0, 'r', 0, 'y', 0,
#elif PRODUCT_BITBOX_BTCONLY == 1
#elif PRODUCT_BITBOX_NOVA_BTCONLY == 1

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should at some point do a compile time selection of this file instead of dynamic based on the memory flag. (This file is also compiled for BB02, so the BB02 btconly binary will now contain 'multi' string inside 😅

Comment thread src/platform/platform_init.c Outdated
#error "unknown product"
#endif
#else
// Currently we have one firmware for both BB02 and BB02_NOVA, and only the

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe leave a comment to explain that the below is only needed for Nova, but since BLE stuff is still compiled for BB02, it needs to be defined anyway. (Is this true?)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same file on line 347:

vec!["-DTESTING", "-D_UNIT_TEST_", "-DPRODUCT_BITBOX_MULTI=1"]

Should this maybe be PRODUCT_BITBOX_NOVA_MULTI?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants