Table of Contents

libLPC

A library for LPC microcontrollers.

HAL

The HAL provides a layer of hardware abstraction for the internal peripherals of the microcontroller.

The interface is a bunch of functions defined in C header files.

Where possible, the implementation in C source files is common for all microcontrollers. Where necessary, each microcontroller or controller family gets its own implementation.

ADC

DAC

CAN

DMA

GPIO

I2C

SPI

UART

TIMER

USB

CRC

SYSTEM

API

The API provides a higher-level interface to basic functions (IO, Timer, etc.) and external peripherals.

The interface consists of C++ classes/singletons. Due to the uniform HAL, the API has one implementation for all controllers.

Callbacks should be provided for all important functionality to make using classes together easy.

Analog I/O

Digital I/O

Pin & Port & Bus

Communication

Protocol Handler, printf, Stream

USB

Serial

CAN

Ethernet?

Timer

Delay, Ticker (s,ms,µs), Events

Miscellaneous

Buffers (FIFO, Ring, etc.), Filesystem?, Callchain