- radio_com.lib (radio_com.h): Provides reliable, ordered delivery and reception of a stream of bytes between two devices. Also supports control signals. Depends on radio_link.lib.
- radio_link.lib (radio_link.h): Provides reliable, ordered delivery and reception of a series of data packets between two devices. This is the layer that takes care of Ping/ACK/NAK packets, and handles the details of timing. Depends on radio_mac.lib.
- radio_queue.lib (radio_queue.h): Provides queues for sending and receiving radio packets. It does not ensure reliability, nor does it specify a format for the packet contents. Depends on radio_mac.lib.
- radio_mac.lib (radio_mac.h): Takes care of setting up the radio's DMA channel and interrupt, and allows higher-level code to control the radio from an interrupt. This is a general purpose library that could be used to implement any kind of radio protocol. Depends on radio_registers.lib and dma.lib.
- radio_registers.lib (radio_registers.h): Configures the radio with some good default settings, and provides some basic functions for reading information from the radio.
- usb_cdc_acm.lib (usb_com.h): Implements the USB CDC ACM interface, which allows the Wixel to appear as a virtual COM port when it is connected to a PC. Depends on usb.lib and wixel.lib.
- usb_hid.lib (usb_hid.h): Implements a USB Human Interface Device (HID) which allows the Wixel to appear as both a Mouse and Keyboard when it is connected to a PC. Depends on usb.lib and wixel.lib.
- usb.lib (usb.h): Sets up the USB module and responds to standard device requests. This is a general purpose library that could be used to implement many different kinds of USB device interfaces. Depends on wixel.lib.
Peripheral Driver Libraries
- adc.lib (adc.h): Uses the Analog-to-Digital Converter (ADC) to read analog voltages.
- gpio.lib (gpio.h): Uses the CC2511's pins as general purpose inputs or outputs (GPIO).
- i2c.lib (i2c.h): Provides a basic software (bit-banging) implementation of a master node for I2C communication. Depends on gpio.lib and wixel.lib.
- servo.lib (servo.h): Provides the ability to control up to 6 RC servos by generating digital pulses directly from your Wixel without the need for a separate servo controller.
- uart.lib (uart0.h, uart1.h): Uses USART0 and/or USART1 in UART mode to send and receive serial bytes.
- spi_master.lib (spi0_master.h, spi1_master.h): Uses USART0 and/or USART1 in SPI mode to send and receive bytes from an SPI slave.
- wixel.lib (board.h, time.h): Takes care of everything that is specific to the Wixel hardware, including managing LEDs and other I/O lines, detecting the current power source, keeping track of time, and providing delay functions.
- dma.lib (dma.h): Coordinates the use of DMA channels 1-3. Does not touch DMA channel 0.
- random.lib (random.h): Takes care of generating random numbers.
Standard C Libraries
The Small Device C Compiler (SDCC) provides library routines that may be useful for your application. In particular, if you need to format a string of ASCII text,
sprintf is useful. SDCC also provides math routines and a memory allocation routine (malloc). See the Library Routines section of the SDCC manual for more information. Also, several of the example and test apps in the
apps directory use