Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Software
XPF File Format Specification
Post-Processing Software – Xpf File Format Specification
Copyright
All rights reserved. No part of this manual may be reproduced or transmitted, in any form
or by any means, whether electronic, printed manual or otherwise, including but not
limited to photocopying, recording or information storage and retrieval systems, for any
purpose without prior written permission of iXBlue.
Disclaimer
iXBlue specifically disclaims all warranties, either expressed or implied, included but not
limited to implied warranties of merchantability and fitness for a particular purpose with
respect to this product and documentation. iXBlue reserves the right to revise or make
changes or improvements to this product or documentation at any time without notifying
any person of such revision or improvements.
In no event shall iXBlue be liable for any consequential or incidental damages, including
but not limited to loss of business profits or any commercial damages, arising out of the
use of this product.
Trademarks
Microsoft, MS-DOS and Windows are registered trademarks of Microsoft Corporation.
Table of Contents
1 INTRODUCTION .............................................................................................................. 3
2 STRUCTURE .................................................................................................................. 4
2.1 FILE HEADER .............................................................................................................................. 4
2.2 PACKETS .................................................................................................................................... 7
1 INTRODUCTION
The eXtended Packet File (Xpf) is the native file used in several post processing software
edited by iXBlue (DELPH INS, ATLANS Post-Processing software, RAMSES REPLAY,
USBL REPLAY). It is used to store the input/output processing data.
This document describes the general organization of an Xpf file. Data organization
concerning packets designed for specific applications is described in additional documents
distributed with the software (html files).
2 STRUCTURE
The header contains information about the file creation as well as the « metadata » which
enable to interpret the contents of the following packets.
The packets offer a consistent data set (i.e.: inertial measurement, GNSS fix, USBL
detection…). Each packet is assigned to a channel (which represents the instrument
acquiring the data such as GPS #1, GPS #2, DVL bottom track, LBL etc..
Thus the packets can be logically grouped by channel even if this is not obvious in the
packet distribution in the file.
file header channel def channel def packet def packet def
1. The file header is a fixed size structure which contains the following fields:
Note: This section indicates the logical structure of the fields. See section 3 - Detailed
Specifications for more information.
Field Description
2. The channel definition is a fixed size structure which contains the following fields:
Note: This section indicates the logical structure of the fields. See section 3 - Detailed
Specifications for more information.
Field Description
Label Short name describing the channel data. The label must
contain only the characters [a-z], [A-Z], [0-9] and « - », « _ ».
The use of the space, the tabulation and the dot are
strictly prohibited.
Identifier of the packet type Identifier of the packet type describing the structure of the
data stored in this channel (in the packet definitions).
packet def field def field def field def field def
The header definition of the packet definition is a fixed size structure which contains the following
fields:
Field Description
Identifier Identifier of the packet type. This identifier is free but a number of
reserved identifiers are defined and listed in the paragraph 3.7.
The field definition is a fixed size structure which contains the following fields:
Field Description
Label Short name describing the field. The label must contain only the
characters [a-z], [A-Z], [0-9] and « - », « _ ».
The use of the space, the tabulation and the dot are strictly
prohibited.
Type Type of the data (character, integer, floating…). The list of data type
is defined in the paragraph 3.8.
Size Number of items in this field (generally 1, the fields of table type with
several items are supported).
Nature Type of data stored in this field (distance, speed, temperature…). The
list of the data types is defined in the paragraph Erreur ! Source du
renvoi introuvable..
2.2 Packets
A packet is composed of three successive parts:
1. A header
2. A content
3. An end of packet
The packet header is a structure of fixed size data which is composed of the following fields:
Field Description
Size Total number of bytes in the packet (header and end of packet
included)
Offset to the previous Number of bytes between this packet and the previous packet of the
packet same channel (0 for the first packet of the channel).
Offset to the following Number of bytes between this packet and the following packet of the
packet same channel (0 for the last packet of the channel).
The packet has a content defined in the file header. It is specified by the packet definition
associated to the channel to which the packet belongs.
The end of the packet is a fixed size data structure which is composed of the following fields.
Field Description
Size Total number of bytes in the packet (header and end of packet
included)
3 DETAILED SPECIFICATIONS
The data encoded on 16 and 32 bits use the Little Endian convention (LSB in first), this
convention is currently used on computers running with Microsoft Windows.
The floating-point numbers 32 bits (floating) and 64 bits (double) are encoded according to
IEEE standard.
This section describes in C language the details of the structure indicated in the previous
section. To use this code in a program written with Visual C++, it is recommended to use
the compilation rules #pragma pack in order to align the fields of the structures on one
byte.
//--------------------------------------------------------------------------
//! The structure memorizing the channel definition.
//--------------------------------------------------------------------------
struct S_XpfChannelDef
{
//! Channel identifier
unsigned short channelId;
//--------------------------------------------------------------------------
//! The structure memorizing the data.
//--------------------------------------------------------------------------
struct S_XpfPacketDef
{
//! Identifier of the packet type (see paragraph 3.7 for reserved values)
unsigned short packetId;
//--------------------------------------------------------------------------
//! The structure memorizing the data.//---------------------------------------------------------
-----------------
struct S_XpfFieldDef
{
//! Field label
char label[30];
//------------------------------------------------------------------------------
//! Packet header
//------------------------------------------------------------------------------
struct S_XpfPacketHeader
{
//! Marker of the packet start ($$)
char marker[2];
//! Packet size in bytes (all the packet, header and footer included).
unsigned long packetSize;
//! Offset to reach the previous packet of the same channel (0 for the first
//! packet of the channel).
unsigned long previousPacketOffset;
//! Offset to reach the next packet of the same channel (0 for the last
//! packet of the channel)
unsigned long nextPacketOffset;
};
//------------------------------------------------------------------------------
//! Packet footer
//------------------------------------------------------------------------------
typedef struct S_XpfPacketFooter
{
//! Marker of the packet footer (!!).
char marker[2];
//! Packet size in byte (all the packet, header and footer included).
unsigned long packetSize;
};
Label Description Id
InsDvl DVL data (bottom track or water track) received by the INS 1
InsSystemTime Synchronization data between the time of the XPF file and 17
the time of the INS internal clock.
Label Description Id
Label Description Id
Label Description Id
Label Description Id
- reserved 93
- reserved 95
- reserved 96
- reserved 99
- reserved 102
Label Description Id
- reserved 105
- reserved 110
- reserved 111
Label Description Id
Label Description Id
Label Type Id
Label Nature Id
Latitude Latitude 1
Longitude Longitude 2
Label Nature Id
Enum Enumeration 22
BY EMAIL: support@ixblue.com
USING THE FORM ON THE IXBLUE WEB SITE www.ixblue.com