AudioScience HPI Version_4.20.5

HPI network interface using HPIUDP

The AudioScience HPIUDP layer is designed to communicate with network devices using UDP to transport the HPI protocol.

HPIUDP uses port 44600.

Note that due the the possibility of CobraNet silicon becoming overwhelmed with broadcast ARP requests from a host PC, there is a built in 5ms delay between unicast discovery requests. This means that if 100 IP addresses are explicity added to HPIUDP, the call to GetNumAdapters() will take at least 500ms to complete.

Windows

In Windows, the HPIUDP interface is implemented by a DLL called asihpiudp32.dll (or asihpiudp64.dll for 64-bit). By default the DLL is loaded by asihpi32.dll (i.e. the top level HPI DLL) but device discovery is not enabled until either

Note that while HPI_SubSys_OptionSet_Integer(HPI_SUBSYS_OPT_NET_ADDR) is superficially the same as HPI_SubSysSetHostNetworkInterface, it does not have the side-effect of enabling network activity.

Linux

In Linux HPIUDP is implemented in two libraries.

You can either link your application directly against one of these libraries, or use LD_PRELOAD to force one to be loaded instead of the default libhpi.so (see "man ld.so" for details)