Case Studies

I2C Driver and DLL Development with NVAPI

I2C Bus Logo
Posted in Application Development, Consumer Goods, Digital Workplace Solutions, Embedded Development & Programming, Product Development, Web Application Development

Summary

DMC developed an encapsulated DLL for sending specific commands to the client's proprietary hardware over the I2C bus. DMC's solution included reference code that shows examples of calls to the API and allows the client's end users to easily develop application interfacing with the proprietary hardware.

NVIDIA Logo

NVIDIA Logo

Solution

The client came to DMC with a desire to make their proprietary hardware easily configurable by end clients and developers.  DMC worked with the client to develop an encapsulated driver level DLL that uses the Nvidia NVAPI to send commands over I2C.  The DLL is developed in unmanaged C++, which allows it to be called from both managed and unmanaged code.  The example reference code is developed in C#.

End users can now develop applications that easily utilize and configure the client's proprietary hardware, using DMC's reference project as an example for how to call the DLL.

Customer Benefits

  • Reduces complexity of interface for end users, making the client's proprietary hardware more attractive from a development perspective
  • Obfuscates the low level interface to proprietary hardware, hiding proprietary commands and calls from reverse engineering
  • DLL is designed to be called from both managed and unmanaged languages, making the client's solution attractive to end users with various programming platform preferences

Technologies

  • Nvidia NVAPI
  • Visual Studio C#
  • Visual Studio C++
  • I2C