#ifndef __NEOVIION_H_ #define __NEOVIION_H_ #ifdef __cplusplus #include "icsneo/device/tree/plasion/plasion.h" #include "icsneo/device/devicetype.h" #include "icsneo/disk/plasiondiskreaddriver.h" #include "icsneo/disk/neomemorydiskdriver.h" namespace icsneo { class NeoVIION : public Plasion { public: // USB PID is 0x0901, standard driver is FTDI ICSNEO_FINDABLE_DEVICE_BY_PID(NeoVIION, DeviceType::ION, 0x0901); bool supportsComponentVersions() const override { return true; } private: NeoVIION(neodevice_t neodevice, const driver_factory_t& makeDriver) : Plasion(neodevice) { initialize(makeDriver); } virtual std::shared_ptr makeCommunication( std::unique_ptr transport, std::function()> makeConfiguredPacketizer, std::unique_ptr encoder, std::unique_ptr decoder ) override { return std::make_shared( report, std::move(transport), makeConfiguredPacketizer, std::move(encoder), std::move(decoder), 1 // 2 ); } std::optional getCoreminiStartAddressSD() const override { return 0; } }; } #endif // __cplusplus #endif