mirror of
https://github.com/intrepidcs/libicsneo.git
synced 2026-08-05 01:18:36 +02:00
Add support for RADGalaxy and neoVI FIRE 2 over Ethernet
This commit is contained in:
@@ -1,9 +1,11 @@
|
||||
#include "device/include/devicefinder.h"
|
||||
#include "device/neoobd2pro/include/neoobd2pro.h"
|
||||
#include "device/neovifire/include/neovifire.h"
|
||||
#include "device/neovifire2/include/neovifire2.h"
|
||||
#include "device/neovifire2/include/neovifire2eth.h"
|
||||
#include "device/neovifire2/include/neovifire2usb.h"
|
||||
#include "device/plasion/include/neoviion.h"
|
||||
#include "device/plasion/include/neoviplasma.h"
|
||||
#include "device/radgalaxy/include/radgalaxy.h"
|
||||
#include "device/radstar2/include/radstar2.h"
|
||||
#include "device/radsupermoon/include/radsupermoon.h"
|
||||
#include "device/valuecan3/include/valuecan3.h"
|
||||
@@ -18,9 +20,11 @@ std::vector<std::shared_ptr<Device>> DeviceFinder::FindAll() {
|
||||
|
||||
findResults.push_back(NeoOBD2PRO::Find());
|
||||
findResults.push_back(NeoVIFIRE::Find());
|
||||
findResults.push_back(NeoVIFIRE2::Find());
|
||||
findResults.push_back(NeoVIFIRE2ETH::Find());
|
||||
findResults.push_back(NeoVIFIRE2USB::Find());
|
||||
findResults.push_back(NeoVIION::Find());
|
||||
findResults.push_back(NeoVIPLASMA::Find());
|
||||
findResults.push_back(RADGalaxy::Find());
|
||||
findResults.push_back(RADStar2::Find());
|
||||
findResults.push_back(RADSupermoon::Find());
|
||||
findResults.push_back(ValueCAN3::Find());
|
||||
|
||||
@@ -9,20 +9,9 @@ namespace icsneo {
|
||||
class NeoVIFIRE2 : public Device {
|
||||
public:
|
||||
static constexpr const char* PRODUCT_NAME = "neoVI FIRE 2";
|
||||
static constexpr const uint16_t USB_PRODUCT_ID = 0x1000;
|
||||
NeoVIFIRE2(neodevice_t neodevice) : Device(neodevice) {
|
||||
com = std::make_shared<Communication>(std::make_shared<FTDI>(getWritableNeoDevice()));
|
||||
setProductName(PRODUCT_NAME);
|
||||
usbProductId = USB_PRODUCT_ID;
|
||||
}
|
||||
|
||||
static std::vector<std::shared_ptr<Device>> Find() {
|
||||
std::vector<std::shared_ptr<Device>> found;
|
||||
|
||||
for(auto neodevice : FTDI::FindByProduct(USB_PRODUCT_ID))
|
||||
found.push_back(std::make_shared<NeoVIFIRE2>(neodevice));
|
||||
|
||||
return found;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
#ifndef __NEOVIFIRE2ETH_H_
|
||||
#define __NEOVIFIRE2ETH_H_
|
||||
|
||||
#include "device/neovifire2/include/neovifire2.h"
|
||||
#include "platform/include/pcap.h"
|
||||
|
||||
namespace icsneo {
|
||||
|
||||
class NeoVIFIRE2ETH : public NeoVIFIRE2 {
|
||||
public:
|
||||
static constexpr const uint16_t USB_PRODUCT_ID = 0x0004;
|
||||
NeoVIFIRE2ETH(neodevice_t neodevice) : NeoVIFIRE2(neodevice) {
|
||||
com = std::make_shared<Communication>(std::make_shared<PCAP>(getWritableNeoDevice()));
|
||||
usbProductId = USB_PRODUCT_ID;
|
||||
}
|
||||
|
||||
static std::vector<std::shared_ptr<Device>> Find() {
|
||||
std::vector<std::shared_ptr<Device>> found;
|
||||
|
||||
for(auto neodevice : PCAP::FindByProduct(USB_PRODUCT_ID))
|
||||
found.push_back(std::make_shared<NeoVIFIRE2ETH>(neodevice));
|
||||
|
||||
return found;
|
||||
}
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,29 @@
|
||||
#ifndef __NEOVIFIRE2USB_H_
|
||||
#define __NEOVIFIRE2USB_H_
|
||||
|
||||
#include "device/neovifire2/include/neovifire2.h"
|
||||
#include "platform/include/ftdi.h"
|
||||
|
||||
namespace icsneo {
|
||||
|
||||
class NeoVIFIRE2USB : public NeoVIFIRE2 {
|
||||
public:
|
||||
static constexpr const uint16_t USB_PRODUCT_ID = 0x1000;
|
||||
NeoVIFIRE2USB(neodevice_t neodevice) : NeoVIFIRE2(neodevice) {
|
||||
com = std::make_shared<Communication>(std::make_shared<FTDI>(getWritableNeoDevice()));
|
||||
usbProductId = USB_PRODUCT_ID;
|
||||
}
|
||||
|
||||
static std::vector<std::shared_ptr<Device>> Find() {
|
||||
std::vector<std::shared_ptr<Device>> found;
|
||||
|
||||
for(auto neodevice : FTDI::FindByProduct(USB_PRODUCT_ID))
|
||||
found.push_back(std::make_shared<NeoVIFIRE2USB>(neodevice));
|
||||
|
||||
return found;
|
||||
}
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,32 @@
|
||||
#ifndef __RADGALAXY_H_
|
||||
#define __RADGALAXY_H_
|
||||
|
||||
#include "device/include/device.h"
|
||||
#include "platform/include/pcap.h"
|
||||
|
||||
namespace icsneo {
|
||||
|
||||
class RADGalaxy : public Device {
|
||||
public:
|
||||
// Serial numbers start with RG
|
||||
static constexpr const char* PRODUCT_NAME = "RADGalaxy";
|
||||
static constexpr const uint16_t USB_PRODUCT_ID = 0x0003;
|
||||
RADGalaxy(neodevice_t neodevice) : Device(neodevice) {
|
||||
com = std::make_shared<Communication>(std::make_shared<PCAP>(getWritableNeoDevice()));
|
||||
setProductName(PRODUCT_NAME);
|
||||
usbProductId = USB_PRODUCT_ID;
|
||||
}
|
||||
|
||||
static std::vector<std::shared_ptr<Device>> Find() {
|
||||
std::vector<std::shared_ptr<Device>> found;
|
||||
|
||||
for(auto neodevice : PCAP::FindByProduct(USB_PRODUCT_ID))
|
||||
found.push_back(std::make_shared<RADGalaxy>(neodevice));
|
||||
|
||||
return found;
|
||||
}
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user