From 87e2a65b716763d92747905c7560557bfc2a2261 Mon Sep 17 00:00:00 2001 From: Max Brombach Date: Mon, 30 Mar 2026 10:43:41 -0400 Subject: [PATCH] Device: VividCAN: Add bootloader pipeline and chips --- include/icsneo/device/tree/vividcan/vividcan.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/include/icsneo/device/tree/vividcan/vividcan.h b/include/icsneo/device/tree/vividcan/vividcan.h index 4b5d2e0..236e5a1 100644 --- a/include/icsneo/device/tree/vividcan/vividcan.h +++ b/include/icsneo/device/tree/vividcan/vividcan.h @@ -32,6 +32,24 @@ public: ProductID getProductID() const override { return ProductID::VividCAN; } + + const std::vector& getChipInfo() const override { + static std::vector chips = { + {ChipID::VividCAN_MCHIP, false, "MCHIP", "vividcan_mchip_ief", 0, FirmwareType::IEF}, + {ChipID::VividCAN_EXT_FLASH, false, "Ext. Flash", "vividcan_ext_flash_ief", 0, FirmwareType::IEF} + }; + return chips; + } + + BootloaderPipeline getBootloader() override { + return BootloaderPipeline() + .add() + .add(ChipID::VividCAN_EXT_FLASH, BootloaderCommunication::RED, false) + .add(ChipID::VividCAN_MCHIP, BootloaderCommunication::RED, false) + .add(ChipID::VividCAN_MCHIP) + .add(std::chrono::milliseconds(3000)) + .add(); + } protected: VividCAN(neodevice_t neodevice, const driver_factory_t& makeDriver) : Device(neodevice) { initialize(makeDriver);