Skip to content
Snippets Groups Projects
Unverified Commit 9c0c1d42 authored by Timothy Maes's avatar Timothy Maes Committed by GitHub
Browse files

* Allow overrule of PID/VID/Version at build time (#22787) (#22819)

Used for customer development and simple OTA test image creation
parent 43098604
No related branches found
No related tags found
No related merge requests found
......@@ -49,14 +49,18 @@
*
* 0xFFF1: Test Vendor.
*/
#ifndef CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID
#define CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID 0xFFF1
#endif // CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID
/**
* CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID
*
* 0x8005: example lighting app
*/
#ifndef CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID
#define CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID 0x8005
#endif // CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID
/**
* CHIP_DEVICE_CONFIG_DEVICE_HARDWARE_VERSION
......
......@@ -47,14 +47,18 @@
*
* 0xFFF1: Test vendor.
*/
#ifndef CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID
#define CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID 0xFFF1
#endif // CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID
/**
* CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID
*
* 0x8006: example lock-app
*/
#ifndef CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID
#define CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID 0x8006
#endif // CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID
/**
* CHIP_DEVICE_CONFIG_DEVICE_HARDWARE_VERSION
......
......@@ -38,6 +38,7 @@ qpg_executable("persistent_storage_app") {
output_name = "chip-${qpg_target_ic}-persistent_storage-example.out"
deps = []
defines = []
public_deps = [
":sdk",
......
......@@ -45,14 +45,18 @@
*
* 0xFFF1: Test vendor.
*/
#ifndef CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID
#define CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID 0xFFF1
#endif // CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID
/**
* CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID
*
* 0x8009: example persistent-storage
*/
#ifndef CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID
#define CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID 0x8009
#endif // CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID
/**
* CHIP_DEVICE_CONFIG_DEVICE_HARDWARE_VERSION
......
......@@ -51,14 +51,18 @@
*
* 0xFFF1: Test vendor.
*/
#ifndef CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID
#define CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID 0xFFF1
#endif // CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID
/**
* CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID
*
* 0x8009: example shell
*/
#ifndef CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID
#define CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID 0x8012
#endif // CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID
/**
* CHIP_DEVICE_CONFIG_DEVICE_HARDWARE_VERSION
......
......@@ -19,6 +19,13 @@ import("${build_root}/toolchain/flashable_executable.gni")
import("${chip_root}/src/platform/device.gni")
import("qpg_sdk.gni")
declare_args() {
matter_device_vid = ""
matter_device_pid = ""
matter_device_software_version_string = ""
matter_device_software_version = ""
}
# Run the generator script that takes a .HEX file and adds the OTA header to it.
#
# This requires a Python script, given by ota_header_generator,
......@@ -66,6 +73,25 @@ template("qpg_executable") {
objcopy_image_format = "ihex"
objcopy = "arm-none-eabi-objcopy"
defines = []
if (defined(invoker.defines)) {
defines += invoker.defines
}
# Overrule CHIPProjectConfig.h settings
if (matter_device_vid != "") {
defines += [ "CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID=${matter_device_vid}" ]
}
if (matter_device_pid != "") {
defines += [ "CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID=${matter_device_pid}" ]
}
if (matter_device_software_version_string != "") {
defines += [ "CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION_STRING=\"${matter_device_software_version_string}\"" ]
}
if (matter_device_software_version != "") {
defines += [ "CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION=${matter_device_software_version}" ]
}
# Copy flashing dependencies to the output directory so that the output
# is collectively self-contained; this allows flashing to work reliably
# even if the build and flashing steps take place on different machines
......@@ -124,6 +150,22 @@ template("qpg_executable") {
"--pem_password=test1234",
"--sign",
]
# Use build-time overrules in OTA header creation
# Normally taken from CHIPProjectConfig.h by scripting
if (matter_device_vid != "") {
ota_header_options += [ "-vid=${matter_device_vid}" ]
}
if (matter_device_pid != "") {
ota_header_options += [ "-pid=${matter_device_pid}" ]
}
if (matter_device_software_version != "") {
ota_header_options += [ "-vn=${matter_device_software_version}" ]
}
if (matter_device_software_version_string != "") {
ota_header_options +=
[ "-vs=\"${matter_device_software_version_string}\"" ]
}
deps = [ ":$executable_target_name" ]
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment