#include "product_composition/target_build_binding.h" #include namespace product_composition { namespace { constexpr TargetBuildBinding kWioTrackerL2Build = { "wio_tracker_l2", "platformio.ini", "apps/esp32_lvgl", nullptr, "platformio", }; constexpr TargetBuildBinding kTargetBuildBindings[] = { { "tab5", "builds/esp_idf", "apps/esp32_lvgl", "builds/esp_idf/targets/tab5/sdkconfig.defaults", "migrated", }, { "t_display_p4_tft", "builds/esp_idf", "apps/esp32_lvgl", "builds/esp_idf/targets/t_display_p4_tft/sdkconfig.defaults", "migrated", }, { "t_display_p4_amoled", "builds/esp_idf", "apps/esp32_lvgl", "builds/esp_idf/targets/t_display_p4_amoled/sdkconfig.defaults", "migrated", }, { "tlora_pager", "builds/esp_idf", "apps/esp32_lvgl", nullptr, "pending_target_defaults", }, { "tdeck", "builds/esp_idf", "apps/esp32_lvgl", nullptr, "pending_target_defaults", }, { "twatch", "builds/esp_idf", "apps/esp32_lvgl", nullptr, "pending_target_defaults", }, { "uconsole", "builds/linux_cmake", "apps/linux_uconsole_gtk", nullptr, "linux_cmake", }, { "linux_sim", "builds/linux_cmake", "apps/linux_sim_shell", nullptr, "linux_simulator", }, { "cardputerzero", "builds/linux_cmake", "apps/linux_cardputer_zero", nullptr, "linux_device_shell", }, { "gat562_mesh_evb_pro", "builds/pio_nrf52", "apps/nrf52_node", nullptr, "platformio", }, { "t-echo-lite", "builds/pio_nrf52", "apps/nrf52_node", nullptr, "platformio", }, kWioTrackerL2Build, }; } // namespace const TargetBuildBinding* findTargetBuildBinding(const char* target_id) { if (target_id == nullptr) { return nullptr; } for (const auto& binding : kTargetBuildBindings) { if (std::strcmp(binding.target_id, target_id) == 0) { return &binding; } } return nullptr; } const TargetBuildBinding* allTargetBuildBindings(std::size_t* count) { if (count != nullptr) { *count = sizeof(kTargetBuildBindings) / sizeof(kTargetBuildBindings[0]); } return kTargetBuildBindings; } const TargetBuildBinding* esp32LvglTargetBuildBindings(std::size_t* count) { static constexpr TargetBuildBinding kEsp32LvglBuildBindings[] = { kTargetBuildBindings[0], kTargetBuildBindings[1], kTargetBuildBindings[2], kTargetBuildBindings[3], kTargetBuildBindings[4], kTargetBuildBindings[5], kWioTrackerL2Build, }; if (count != nullptr) { *count = sizeof(kEsp32LvglBuildBindings) / sizeof(kEsp32LvglBuildBindings[0]); } return kEsp32LvglBuildBindings; } } // namespace product_composition