Commit Graph

882 Commits (10ffd756a17cd2f149223c86c3822f98e48ec359)

Author SHA1 Message Date
Paul Hollinsky 4ef8fe8794 Disk: Predictable behavior for zero length reads 2022-02-28 01:54:21 -05:00
Paul Hollinsky f8a46b7196 Device: Add logical disk size accessor 2022-02-28 01:49:50 -05:00
Paul Hollinsky 0b27e88da1 Disk: WriteDriver: Fix parameter shadowing 2022-02-25 01:14:57 -05:00
Paul Hollinsky 241502c2a2 Disk: Fix improper offset calculation
This would cause an underflow previously
2022-02-25 01:14:57 -05:00
Paul Hollinsky 242c7259ac Disk: Proper error reporting for EOF 2022-02-25 01:14:57 -05:00
Paul Hollinsky 9d2d94d22b Tests: Add disk driver tests 2022-02-25 01:14:57 -05:00
Paul Hollinsky bb49ce039e ThirdParty: Update included gtest 2022-02-25 01:14:57 -05:00
Paul Hollinsky e52073c518 Tests: EthernetPacketizer: Fix typo 2022-02-25 01:14:57 -05:00
Paul Hollinsky 0dcd950092 Device: Add disk write driver framework
At the moment, no drivers are implemented, so all devices have Access::None.
2022-02-25 01:14:57 -05:00
Paul Hollinsky 80cd4ae052 Disk: Fix out of bounds accesses in base ReadDriver 2022-02-25 01:14:57 -05:00
Paul Hollinsky f8bfb243fa Disk: Implement NeoMemoryDiskReadDriver 2022-02-25 01:14:57 -05:00
Paul Hollinsky fe4d5e0c15 Device: Add disk read driver framework
Allow access to the device's logical disk.

At the moment, no drivers are implemented, so all devices have Access::None.
2022-02-25 01:14:57 -05:00
Paul Hollinsky 9e6970fd39 Windows: DynamicLib: Slim down Windows.h
This is important as it ends up being included in icsneoc.h
2022-02-24 16:37:13 -05:00
Paul Hollinsky f1d9be1a81 Build: Don't add libusb include until after libftdi
This fixes GH-46 and a regression caused by 82954d9 where the project
would fail to build until configured a second time on Unix-y platforms.

LibFTDI adds libusb, so we need to make sure that's included first.

Windows does not use libusb so it does not need the include directory.
2022-02-24 16:07:56 -05:00
Paul Hollinsky 6cd821be2c Build: Don't add libusb include until after libftdi
This fixes GH-46 and a regression caused by 82954d9 where the project
would fail to build until configured a second time on Unix-y platforms.

LibFTDI adds libusb, so we need to make sure that's included first.

Windows does not use libusb so it does not need the include directory.
2022-02-24 16:03:02 -05:00
Paul Hollinsky 6cc0f08e2b Settings: The device can report when defaults were applied 2022-02-24 15:50:39 -05:00
Paul Hollinsky 80362e7f81 Event Manager: Refactor 2022-02-24 15:49:21 -05:00
Paul Hollinsky d7d9c15a9f Tests: Resolve MSVC x86 warnings 2022-02-22 10:49:49 -05:00
Paul Hollinsky c326397bea Examples: C Interactive: Resolve warnings 2022-02-22 10:49:49 -05:00
Paul Hollinsky af152fe54a CI: Also set warnings as errors in C code 2022-02-22 10:49:49 -05:00
Paul Hollinsky d051d20db6 CI: Add Windows 32-bit 2022-02-22 10:49:49 -05:00
Paul Hollinsky d0d279fdad Windows: Disable unaligned on x86
Closes GH-44
2022-02-22 10:49:49 -05:00
Paul Hollinsky 2c282fe396 Tests: Resolve MSVC x86 warnings 2022-02-22 10:46:30 -05:00
Paul Hollinsky 95de93aa84 Examples: C Interactive: Resolve warnings 2022-02-22 10:46:27 -05:00
Paul Hollinsky 733312628c CI: Also set warnings as errors in C code 2022-02-22 10:37:37 -05:00
Paul Hollinsky b177617940 CI: Add Windows 32-bit 2022-02-22 10:31:46 -05:00
Paul Hollinsky 28d3730375 Windows: Disable unaligned on x86
Closes GH-44
2022-02-22 10:24:13 -05:00
Paul Hollinsky c32d027b2d MessageCallback: Tolerate being created with nullptr filter
Communication does this in waitForMessageSync if a filter
is not passed in.

This fixes a crash in icsneoWaitForRxMessagesWithTimeOut
for the legacy API.

For good measure, creation with an empty std::function will
immediately throw an std::bad_function_call back at the
caller, rather than letting that happen on the callback thread.

I'm also making the members const here so they are provably
always non-null (and not empty, for the function).
2022-02-21 22:55:49 -05:00
Paul Hollinsky ac7b2d5106 FlexRay: Automatically reconfigure for runtime-added message buffers 2022-02-21 21:40:46 -05:00
Paul Hollinsky 4dbb8f3956 FlexRay: Don't set default key slots to continuous
This way they will come out as NULL frames, which is likely
more appropriate for a default.

This only takes effect if you set a key slot, but then don't
configure a message buffer for it.
2022-02-21 21:40:46 -05:00
Paul Hollinsky eace014494 FlexRay: Don't enforce key slot rules on non-keyslots 2022-02-21 21:40:46 -05:00
Paul Hollinsky 159c54b756 Legacy: Updates for the new neomessage_t API 2022-02-21 21:36:20 -05:00
Paul Hollinsky 416996b31d CI: Warnings are errors 2022-02-21 21:36:20 -05:00
Paul Hollinsky f37669139f MSVC: Resolve warnings 2022-02-21 21:36:20 -05:00
Paul Hollinsky 7aedb673fd Legacy: Fix icsneoGetVnetSimpleNetid
The NetID is written to the out* parameter, not returned.
2022-02-21 21:28:31 -05:00
Paul Hollinsky 52c7b5aaca Legacy: Fix icsneoGetNetidforSlaveVNETs
The NetID is written to the out* parameter, not returned.
2022-02-21 21:28:31 -05:00
Paul Hollinsky 0f9bf83c89 Legacy: Formatting 2022-02-21 21:28:31 -05:00
Paul Hollinsky dfd8768bbf Legacy: Correct Ethernet message translation
* Fixes NetIDs over 255
* Fixes data lengths over 255
* Avoids writing unexpected messages to client
2022-02-21 21:28:31 -05:00
Paul Hollinsky 94e0ea1fe0 Legacy: Prevent incorrect access to NetID maps 2022-02-21 21:28:30 -05:00
Paul Hollinsky 58944a2523 Tests: Spaces to Tabs 2022-02-21 21:28:30 -05:00
Paul Hollinsky be666e810d CI: Add Windows 2022-02-21 21:28:30 -05:00
Paul Hollinsky c451fc2b7c CI: Warnings are errors 2022-02-21 21:23:58 -05:00
Paul Hollinsky c620b2ee8b MSVC: Resolve warnings 2022-02-21 21:16:15 -05:00
Paul Hollinsky 111d377d4a Legacy: Fix icsneoGetVnetSimpleNetid
The NetID is written to the out* parameter, not returned.
2022-02-21 21:16:12 -05:00
Paul Hollinsky c3469f5fb6 Legacy: Fix icsneoGetNetidforSlaveVNETs
The NetID is written to the out* parameter, not returned.
2022-02-21 21:16:07 -05:00
Paul Hollinsky 0219eccc94 Legacy: Formatting 2022-02-21 21:14:31 -05:00
Paul Hollinsky e22f70a35a Legacy: Correct Ethernet message translation
* Fixes NetIDs over 255
* Fixes data lengths over 255
* Avoids writing unexpected messages to client
2022-02-21 21:14:31 -05:00
Paul Hollinsky b019c20ad0 Legacy: Prevent incorrect access to NetID maps 2022-02-21 21:14:31 -05:00
Paul Hollinsky 6fa469de5f Tests: Spaces to Tabs 2022-02-21 20:26:57 -05:00
Paul Hollinsky be219288dc CI: Add Windows 2022-02-21 20:13:28 -05:00