User's Manual

8 P330 Data Sheet / User Guide
DRAFT
2 P330 Software
The P330 software consists of five elements:
Embedded software operating on the P330 module
The Application Programming Interface (API) which defines the interface between the P330
and a Host processor
The RangeNet GUI which (1) illustrates operation of the P330 and (2) provides an analytical
tool for characterizing performance
Sample C and MATLAB code to assist the user in developing custom applications
The RangeNet network and localizer to enable systems of P330s to range, communicate
efficiently and determine their location
In addition, Time Domain is committed to periodically adding new features and capabilities through
software upgrades.
2.1 P330 Embedded Software
The P330 is a microprocessor-based UWB platform. The embedded software driving the onboard
processor has three principal functions:
It is responsible for controlling and monitoring the operation of the Decawave DW1000
UWB ranging chip.
It handles all communications (Ethernet, USB, SPI, Serial, and CAN) with the user’s Host
processor (typically a PC or single-board computer). It also controls 15 GPIO pins.
When instructed to act as a network, the onboard processor:
o Assumes all responsibilities for scheduling communications and range requests
o Provides the Host with status update information
o Handles supervisory commands sent by the Host
This increases the ranging update rate and significantly offloads the Host processor.
When instructed to compute node locations, the onboard processor will monitor reported
ranges and, based on input from the user, employ either a Kalman Filter based algorithm or a
Geometric solver to compute and report the location of device.
The processor can also monitor communications traffic and report ranges between other units
as well as the location of other units.
2.2 Application Programming Interfaces (APIs)
The communications between the P330 and the Host processor is defined in document 320-0336
P300 RangeNet API Specification. The API consists of a set of commands which allow the user to
initialize, control and monitor the P330 and the DW1000 chip. For example, these commands allow