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);