Skip to main content

.NET API Reference

Endpoint on .NET: standard System.Device.* and .NET IoT APIs, plus the libraries below for hardware features .NET does not cover.

Standard .NET​

Endpoint's device libraries build on these standard Microsoft APIs. Code written against them on any platform ports to Endpoint unchanged.

Microsoft .NET APIDescription
System.Device.GpioDigital inputs and outputs: pin modes, read, write, interrupts.
System.Device.I2cI2C bus master: read and write to devices by address.
System.Device.SpiSPI bus master: full-duplex transfers with configurable clock and mode.
System.Device.PwmPWM channels: configurable frequency and duty cycle.
System.Device.AnalogAnalog inputs (ADC): read voltages from analog pins.
System.IO.PortsSerial ports (UART): the standard SerialPort class.

Endpoint libraries​

LibraryDescription
GHIElectronics.Endpoint.CoreCore of the Endpoint libraries: board pin names and pin setup.
GHIElectronics.Endpoint.Devices.AdcEndpoint's analog inputs for .NET's System.Device.Analog.
GHIElectronics.Endpoint.Devices.CameraUSB webcams, parallel-port cameras (DCMI), and shared camera settings and image conversion for Endpoint.
GHIElectronics.Endpoint.Devices.CanCAN for Endpoint: .NET IoT's CanRaw (Iot.Device.SocketCan) on the board's CAN ports. CanController.Initialize sets a port up.
GHIElectronics.Endpoint.Devices.DacThe DAC driver for Endpoint.
GHIElectronics.Endpoint.Devices.DisplayThe display driver for Endpoint.
GHIElectronics.Endpoint.Devices.NetworkThe network driver for Endpoint.
GHIElectronics.Endpoint.Devices.RtcThe RTC driver for Endpoint.
GHIElectronics.Endpoint.Devices.StorageEndpoint's SD cards and USB drives: insert and remove events, mounting (System.IO's DriveInfo).
GHIElectronics.Endpoint.Devices.TouchTouchscreen support for Endpoint. The Touch class is abstract: subclass it for your panel's chip (I2C, SPI, custom). Ships one concrete subclass, InputTouch, that wraps a kernel /dev/input/eventN (used for USB touchscreens).
GHIElectronics.Endpoint.Devices.UsbUSB device types for Endpoint.
GHIElectronics.Endpoint.Devices.UsbHostEndpoint's USB devices: connected and disconnected events, what each device is and its port or network interface.
GHIElectronics.Endpoint.Devices.WatchdogThe watchdog driver for Endpoint.
GHIElectronics.Endpoint.DrawingOff-screen 2D drawing primitives: Canvas, Color, Font, Image, PixelFormat. Pure pixel drawing, independent of the LVGL-backed UI widget library.
GHIElectronics.Endpoint.NativePower and device information for Endpoint.
GHIElectronics.Endpoint.UIUI widgets for Endpoint: Button, Label, Container, Image, TextBox, Slider, CheckBox on top of the embedded LVGL in libendpoint. Pair with the GHI UI designer.