Radio Libraries
- 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 Libraries
- 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.
Basic Libraries
- 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 printf
or sprintf
.