Gowtham Nanjukutty (XC-CP/ECC2.3) 0c9f1c5f3e darwin: fix CDCACM device detection on macOS 12+
On macOS 12 and later, Apple replaced IOUSBDevice with IOUSBHostDevice
in the USB host stack. When walking the IORegistry parent chain to find
the USB device providing a serial port, the existing code only checked
IOObjectConformsTo(parent, kIOUSBDeviceClassName). On macOS 12+, this
check fails because the USB device node conforms to IOUSBHostDevice
instead.

Fix by also checking IOObjectConformsTo(parent, "IOUSBHostDevice"),
so CDCACM device discovery works on both old and new macOS.

Verified on macOS 26 (Tahoe, arm64) with a ValueCAN 4-2 (V2D805).
2026-05-22 09:12:58 -04:00
2026-05-14 22:16:41 -04:00
2025-10-24 12:12:36 -04:00
2025-08-25 11:24:03 -04:00
2026-05-14 11:29:54 -04:00
2026-05-14 19:08:11 -04:00
2025-08-25 11:24:03 -04:00
2026-05-14 21:29:24 -04:00
2019-04-15 15:17:43 -04:00
2026-02-13 10:08:09 -05:00
2026-05-14 21:29:24 -04:00

libicsneo

libicsneo is the Intrepid Control Systems device communication library. Installation and usage documentation can be found within each of the respective APIs.

Installation

libicsneo relies on Servd, IntrepidCS's device communication server.

Servd can be installed for all platforms from https://cdn.intrepidcs.net/servd/.

Instructions for installing each API can be found in its respective documentation.

Documentation

Hardware Support

  • EtherBADGE
  • neoVI Connect
  • neoVI FIRE
  • neoVI FIRE 2
  • neoVI FIRE 3
  • neoVI ION
  • neoVI PLASMA
  • neoVI RED 2
  • RAD-A2B
  • RAD-Comet 2
  • RAD-Comet 3
  • RAD-Epsilon
  • RAD-EpsilonXL
  • RAD-Galaxy
  • RAD-Galaxy 2
  • RAD-Gemini
  • RAD-Gigastar
  • RAD-Gigastar 2
  • RAD-Moon 2
  • RAD-Moon 3
  • RAD-Moon T1S
  • RAD-Pluto
  • RAD-Star 2
  • RAD-SuperMoon
  • ValueCAN 3
  • ValueCAN 4

License

libicsneo is licensed as BSD-3 with an extra clause, see LICENSE for more details.

S
Description
No description provided
Readme BSD-3-Clause
9.3 MiB
Languages
C++ 80.2%
C 18.7%
CMake 1%