Commit Graph
78 Commits
Author SHA1 Message Date
Paul Hollinsky 769c797a50 Detection for ValueCAN 4 models, as well as settings for each 2018-10-19 13:43:36 -04:00
Paul Hollinsky cb57f06564 Slight speed improvement for CAN transmit 2018-10-19 13:42:48 -04:00
Paul Hollinsky d037709963 CAN and CAN FD transmit implemented 2018-10-18 17:39:37 -04:00
Paul Hollinsky dd99f82324 Allow the decoder to fail 2018-10-18 14:06:58 -04:00
Paul Hollinsky e5f1ba41b5 Resolve relevant Linux compile warnings 2018-10-18 13:49:56 -04:00
Paul Hollinsky 912b11ce30 Encoder allowed to fail, preparation for upcoming CAN transmit 2018-10-18 13:42:20 -04:00
Paul Hollinsky 92839c22a5 Merge branch 'devicesettings' of Lustra:InfiniteWalrus/libicsneo into devicesettings 2018-10-17 16:26:42 -04:00
Paul Hollinsky b4fc3edd0f LED state changing (Device LEDs work now) 2018-10-17 16:15:15 -04:00
Paul Hollinsky 4426334f3f Resolve Linux build issues and warnings 2018-10-17 15:13:28 -04:00
Paul Hollinsky ae5646dd78 Update devices to the new memory management model 2018-10-17 15:12:48 -04:00
Paul Hollinsky ba82c51914 Allow settings to be marked as readonly
In the case of the FIRE 2 ethernet, we're waiting on a bug fix in firmware before we re-enable writing.
In the meantime, setting settings over ethernet crashes the ethernet driver.
2018-10-10 16:28:00 -04:00
Paul Hollinsky 5d4cfe4930 Decoding for CAN FD, RTR, and XTD ID 2018-10-10 16:25:09 -04:00
Paul Hollinsky b3184eb1ed Decode reset status messages 2018-10-09 13:38:54 -04:00
Paul Hollinsky d50e6040b3 Resolve callback filter null pointer issues 2018-10-09 13:38:38 -04:00
Paul Hollinsky ba9813021e Legacy API can receive CAN now 2018-10-08 21:43:32 -04:00
Paul Hollinsky b3471890eb Allow returning to the default settings 2018-10-08 19:03:12 -04:00
Paul Hollinsky 7d821b9745 Revamp the way that ethernet devices are found
Also add RADStar2 Ethernet support
2018-10-08 16:32:51 -04:00
Paul Hollinsky 466d35c68b Use the interface MAC to transmit 2018-10-08 15:44:23 -04:00
Paul Hollinsky 600813b7e6 Remove some noisy debugging info 2018-10-08 15:09:50 -04:00
Paul Hollinsky 6ad4e564b9 Fix PCAP MAC PID issues by checking against the serial returned instead 2018-10-04 17:37:17 -04:00
Paul Hollinsky efe04128fb IDeviceSettings is now referenced by unique_ptr, rather than shared_ptr 2018-10-04 17:28:35 -04:00
Paul Hollinsky c56aa73b31 Fix communication commands failing 2018-10-04 17:27:39 -04:00
Paul Hollinsky 21f5badb0c Use unique_ptr for increased ownership clarity of communication components 2018-10-04 13:13:44 -04:00
Paul Hollinsky 214acf4c8f Statically link in C++ API rather than compiling it 3 times 2018-10-04 12:47:54 -04:00
Paul Hollinsky 7e7a969f28 Resolve some MSVC warnings 2018-10-04 12:31:26 -04:00
Paul Hollinsky d86f15ab4c Fix settings checksum issues 2018-10-04 12:31:04 -04:00
Paul Hollinsky acfeacedfc Encoder works but needs cleanup, GS checksum is not working properly somehow 2018-10-03 17:04:55 -04:00
Paul Hollinsky dffae23e54 Testing the encoder for sending more complex messages 2018-10-03 14:33:30 -04:00
Paul Hollinsky 590a99d995 Linux: Take out hardcoded path to SO, use LD_LIBRARY_PATH or copy the SO 2018-10-02 16:20:24 -04:00
Paul Hollinsky 5bf50ddc00 Begin adding an encoder for messages 2018-10-01 16:16:49 -04:00
Paul Hollinsky d7372bbd5a Incomplete device settings sending 2018-10-01 15:26:13 -04:00
Paul Hollinsky a8ef08fae4 Fix POSIX building 2018-10-01 11:33:46 -04:00
Paul Hollinsky 2b443ad83d The icsneolegacy API finds devices correctly now 2018-09-27 13:34:16 -04:00
Paul Hollinsky 06b7181492 Implement DeviceType and icsneo_getProductName 2018-09-26 20:43:49 -04:00
Paul Hollinsky bbcc5b2d7b Resolve macOS compile warnings 2018-09-26 18:30:06 -04:00
Paul Hollinsky 399c72e61d Resolve merge conflicts master into devicesettings 2018-09-26 18:24:59 -04:00
Paul Hollinsky a5b79167b9 Clean up DeviceType 2018-09-26 18:16:50 -04:00
Paul Hollinsky 8060b07eee Fix macOS compile errors 2018-09-26 18:16:05 -04:00
Paul Hollinsky bab9e0f020 Device types, not finished yet 2018-09-26 16:53:18 -04:00
Paul Hollinsky 1dcdb58008 Skeleton legacy API 2018-09-26 16:49:31 -04:00
Paul Hollinsky b0f5ad0f7f Refactor icsneoc to icsneo_functionName to avoid conflicts with legacy 2018-09-26 16:38:28 -04:00
Paul Hollinsky c391bb97a4 Manage memory for the C interface in a much less hack way 2018-09-25 18:58:37 -04:00
Paul Hollinsky 6a0c28cb3d Got rid of a strcpy 2018-09-25 18:46:05 -04:00
Paul Hollinsky 650b46fad2 Fix structs for FIRE 2 settings 2018-09-25 18:41:05 -04:00
Paul Hollinsky 126c8efd2a Don't reuse the device object we use to get the serial 2018-09-25 18:15:50 -04:00
Paul Hollinsky 840fe54bcd Get rid of annoying warning 2018-09-25 18:00:52 -04:00
Paul Hollinsky 9f20d70102 Refactor MessageDecoder to Decoder 2018-09-25 18:00:16 -04:00
Paul Hollinsky 4c45b235bc Merge branch 'master' of intrepidcs.homeip.net:paulhollinsky/icsneonext 2018-09-25 17:56:02 -04:00
Paul Hollinsky dec85a4c55 Lazily load PCAP DLL on Windows, keeping it cached afterwards 2018-09-25 17:55:59 -04:00
Paul Hollinsky 69773d6537 Check serial number on device open, get correctly for PCAP devices 2018-09-25 17:53:58 -04:00
Paul Hollinsky 72773d9afa Refactor MessageFilter and MessageCallback 2018-09-25 17:53:02 -04:00
Paul Hollinsky 28de70aa05 Refactor ICSChecksum and packetWrap into the Packetizer 2018-09-25 17:50:58 -04:00
Paul Hollinsky aa25ba1728 Communication uses instantiated Packetizers and Decoders now 2018-09-25 17:47:27 -04:00
Paul Hollinsky 585abe7cbb Communication::Packet refactored out to Packet 2018-09-25 17:40:33 -04:00
Paul Hollinsky d27b516894 Communication::Command refactored out of Communication 2018-09-25 17:35:56 -04:00
Paul Hollinsky 2099ba9d1e Resolve macOS warnings and standardize style 2018-09-24 19:04:20 -04:00
Paul Hollinsky 6284223650 Wait on the correct netid for the correct time for serial numbers
Serial number decoding not implemented yet
2018-09-24 18:54:45 -04:00
Paul Hollinsky b634e6a443 Point macOS version towards the right dylib
This is super temporary

Eventually we'll decide where the library will go
2018-09-24 18:16:08 -04:00
Paul Hollinsky da4d9e46be Start work on device settings communication 2018-09-24 16:57:14 -04:00
Paul Hollinsky af4f4894f5 C++11 and CMake 3.2 compliance changes 2018-09-21 17:32:47 -04:00
Paul Hollinsky 95f3af3824 Added support for neoOBD2-SIM 2018-09-20 18:11:47 -04:00
Paul Hollinsky 1f65a03481 Struct packing 2018-09-20 16:02:40 -04:00
Paul Hollinsky 22021bbd83 Remove unnecessary FTDI/Comm instantiation for FIRE 2 2018-09-20 16:02:19 -04:00
Paul Hollinsky d6100f99d1 It is not necessary to set bitrate for the USB serial on POSIX
Additionally, this fixed build on macOS as they don't support up to `B500000` in their `termios.h` for some reason
2018-09-20 14:44:32 -04:00
Paul Hollinsky ef8d764aa6 Move platforms around, most of POSIX will be common implementation 2018-09-20 14:40:24 -04:00
Paul Hollinsky 8435efb039 Resolve some compile errors and warnings that can arise under Linux 2018-09-20 14:26:59 -04:00
Paul Hollinsky fb4a327891 Allow devices to be selectively included per platform
This way a platform does not have to be 100% implemented to be useful
2018-09-20 13:21:54 -04:00
Paul Hollinsky 30327dd12d Remove debugging printouts from the pcap driver 2018-09-19 13:52:12 -04:00
Paul Hollinsky 315be76034 Silence warnings 2018-09-18 17:01:37 -04:00
Paul Hollinsky b254ac991d Rename the USB_PRODUCT_ID to PRODUCT_ID as it is used for Ethernet as well 2018-09-18 16:59:59 -04:00
Paul Hollinsky 8343093708 Fixed an issue where Windows VCP data latency was bad at low traffic 2018-09-18 16:51:22 -04:00
Paul Hollinsky 8375a354af Add support for RADGalaxy and neoVI FIRE 2 over Ethernet 2018-09-18 16:50:42 -04:00
Paul Hollinsky 5b1a56ee6c Renamed to avoid compiler warning 2018-09-18 16:36:04 -04:00
Paul Hollinsky 6d4652f03f Add support for neoOBD2 PRO 2018-09-18 16:35:22 -04:00
Paul Hollinsky 63d13cdb88 Allow polling for messages from C 2018-09-13 19:40:23 -04:00
Paul Hollinsky f1f1cb1701 Change to the read buffer size on Windows for better performance 2018-09-13 19:40:09 -04:00
Paul Hollinsky 9f43e9e39e Separate MessageDecoder from Packetizer and optimize
This will, in the future, allow overriding of MessageDecoder per device as necessary.
2018-09-13 19:39:19 -04:00
Paul Hollinsky e2e5017331 Initial commit 2018-09-10 20:28:29 -04:00