From 95f3af38244deb8221672fe9961317c890720749 Mon Sep 17 00:00:00 2001 From: Paul Hollinsky Date: Thu, 20 Sep 2018 18:11:47 -0400 Subject: [PATCH] Added support for neoOBD2-SIM --- HARDWARE.md | 2 ++ device/devicefinder.cpp | 4 ++++ device/neoobd2sim/include/neoobd2sim.h | 32 ++++++++++++++++++++++++++ platform/posix/include/devices.h | 1 + platform/windows/include/devices.h | 1 + 5 files changed, 40 insertions(+) create mode 100644 device/neoobd2sim/include/neoobd2sim.h diff --git a/HARDWARE.md b/HARDWARE.md index af9933a..f8cd6db 100644 --- a/HARDWARE.md +++ b/HARDWARE.md @@ -12,6 +12,8 @@ STM32 devices CAN 2.0 works neoOBD2 PRO CAN 2.0 works + neoOBD2-SIM + Connects FTDI devices neoVI FIRE diff --git a/device/devicefinder.cpp b/device/devicefinder.cpp index e218279..2acfe07 100644 --- a/device/devicefinder.cpp +++ b/device/devicefinder.cpp @@ -11,6 +11,10 @@ std::vector> DeviceFinder::FindAll() { findResults.push_back(NeoOBD2PRO::Find()); #endif + #ifdef __NEOOBD2SIM_H_ + findResults.push_back(NeoOBD2SIM::Find()); + #endif + #ifdef __NEOVIFIRE_H_ findResults.push_back(NeoVIFIRE::Find()); #endif diff --git a/device/neoobd2sim/include/neoobd2sim.h b/device/neoobd2sim/include/neoobd2sim.h new file mode 100644 index 0000000..46cbddf --- /dev/null +++ b/device/neoobd2sim/include/neoobd2sim.h @@ -0,0 +1,32 @@ +#ifndef __NEOOBD2SIM_H_ +#define __NEOOBD2SIM_H_ + +#include "device/include/device.h" +#include "platform/include/stm32.h" + +namespace icsneo { + +class NeoOBD2SIM : public Device { +public: + // Serial numbers are OS**** + static constexpr const char* PRODUCT_NAME = "neoOBD2-SIM"; + static constexpr const uint16_t PRODUCT_ID = 0x1100; + NeoOBD2SIM(neodevice_t neodevice) : Device(neodevice) { + com = std::make_shared(std::make_shared(getWritableNeoDevice())); + setProductName(PRODUCT_NAME); + productId = PRODUCT_ID; + } + + static std::vector> Find() { + std::vector> found; + + for(auto neodevice : STM32::FindByProduct(PRODUCT_ID)) + found.push_back(std::make_shared(neodevice)); + + return found; + } +}; + +}; + +#endif \ No newline at end of file diff --git a/platform/posix/include/devices.h b/platform/posix/include/devices.h index a8fc3b6..51e9486 100644 --- a/platform/posix/include/devices.h +++ b/platform/posix/include/devices.h @@ -2,6 +2,7 @@ #define __DEVICES_POSIX_H_ #include "device/neoobd2pro/include/neoobd2pro.h" +#include "device/neoobd2sim/include/neoobd2sim.h" #include "device/neovifire/include/neovifire.h" //#include "device/neovifire2/include/neovifire2eth.h" Ethernet not yet supported #include "device/neovifire2/include/neovifire2usb.h" diff --git a/platform/windows/include/devices.h b/platform/windows/include/devices.h index 48c8151..290ebe3 100644 --- a/platform/windows/include/devices.h +++ b/platform/windows/include/devices.h @@ -2,6 +2,7 @@ #define __DEVICES_WINDOWS_H_ #include "device/neoobd2pro/include/neoobd2pro.h" +#include "device/neoobd2sim/include/neoobd2sim.h" #include "device/neovifire/include/neovifire.h" #include "device/neovifire2/include/neovifire2eth.h" #include "device/neovifire2/include/neovifire2usb.h"