Xsens / Mbed 2 deprecated MTi-1_example

Dependencies:   mbed-rtos mbed Xbus

Fork of MTi-1_example by Alex Young

Committer:
Alex Young
Date:
Tue May 19 16:59:11 2015 +0200
Revision:
21:6015b8be3a00
Parent:
19:46e88d37ecef
Child:
22:3eab999c5076
Add function to convert XsDataIdentifier to string

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Alex Young 10:18a6661b7e59 1 /*!
Alex Young 10:18a6661b7e59 2 * \file
Alex Young 10:18a6661b7e59 3 * \copyright
Alex Young 10:18a6661b7e59 4 * Copyright (C) Xsens Technologies B.V., 2015. All rights reserved.
Alex Young 10:18a6661b7e59 5 *
Alex Young 10:18a6661b7e59 6 * This source code is intended for use only by Xsens Technologies BV and
Alex Young 10:18a6661b7e59 7 * those that have explicit written permission to use it from
Alex Young 10:18a6661b7e59 8 * Xsens Technologies BV.
Alex Young 10:18a6661b7e59 9 *
Alex Young 10:18a6661b7e59 10 * THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
Alex Young 10:18a6661b7e59 11 * KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
Alex Young 10:18a6661b7e59 12 * IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
Alex Young 10:18a6661b7e59 13 * PARTICULAR PURPOSE.
Alex Young 10:18a6661b7e59 14 */
Alex Young 10:18a6661b7e59 15
Alex Young 10:18a6661b7e59 16 #ifndef __XBUSMESSAGE_H
Alex Young 10:18a6661b7e59 17 #define __XBUSMESSAGE_H
Alex Young 10:18a6661b7e59 18
Alex Young 10:18a6661b7e59 19 #include <stddef.h>
Alex Young 10:18a6661b7e59 20 #include <stdint.h>
Alex Young 16:4bdcdac223d8 21 #include <stdbool.h>
Alex Young 10:18a6661b7e59 22
Alex Young 10:18a6661b7e59 23 #ifdef __cplusplus
Alex Young 10:18a6661b7e59 24 extern "C" {
Alex Young 10:18a6661b7e59 25 #endif
Alex Young 10:18a6661b7e59 26
Alex Young 10:18a6661b7e59 27 enum XsMessageId
Alex Young 10:18a6661b7e59 28 {
Alex Young 19:46e88d37ecef 29 XMID_ReqDid = 0x00,
Alex Young 19:46e88d37ecef 30 XMID_DeviceId = 0x01,
Alex Young 10:18a6661b7e59 31 XMID_GotoConfig = 0x30,
Alex Young 10:18a6661b7e59 32 XMID_GotoConfigAck = 0x31,
Alex Young 10:18a6661b7e59 33 XMID_GotoMeasurement = 0x10,
Alex Young 10:18a6661b7e59 34 XMID_GotoMeasurementAck = 0x11,
Alex Young 15:558d279addd9 35 XMID_MtData2 = 0x36
Alex Young 10:18a6661b7e59 36 };
Alex Young 10:18a6661b7e59 37
Alex Young 16:4bdcdac223d8 38 enum XsDataIdentifier
Alex Young 16:4bdcdac223d8 39 {
Alex Young 16:4bdcdac223d8 40 XDI_PacketCounter = 0x1020,
Alex Young 16:4bdcdac223d8 41 XDI_SampleTimeFine = 0x1060,
Alex Young 16:4bdcdac223d8 42 XDI_Quaternion = 0x2010,
Alex Young 16:4bdcdac223d8 43 XDI_DeltaV = 0x4010,
Alex Young 16:4bdcdac223d8 44 XDI_Acceleration = 0x4020,
Alex Young 16:4bdcdac223d8 45 XDI_RateOfTurn = 0x8020,
Alex Young 16:4bdcdac223d8 46 XDI_DeltaQ = 0x8030,
Alex Young 16:4bdcdac223d8 47 XDI_MagneticField = 0xC020,
Alex Young 16:4bdcdac223d8 48 XDI_StatusWord = 0xE020,
Alex Young 16:4bdcdac223d8 49 };
Alex Young 16:4bdcdac223d8 50
Alex Young 10:18a6661b7e59 51 struct XbusMessage
Alex Young 10:18a6661b7e59 52 {
Alex Young 10:18a6661b7e59 53 enum XsMessageId mid;
Alex Young 10:18a6661b7e59 54 uint16_t length;
Alex Young 19:46e88d37ecef 55 void* data;
Alex Young 10:18a6661b7e59 56 };
Alex Young 10:18a6661b7e59 57
Alex Young 10:18a6661b7e59 58 size_t XbusMessage_format(uint8_t* raw, struct XbusMessage const* message);
Alex Young 16:4bdcdac223d8 59 bool XbusMessage_getDataItem(void* item, enum XsDataIdentifier id, struct XbusMessage const* message);
Alex Young 21:6015b8be3a00 60 char const* XbusMessage_dataDescription(enum XsDataIdentifier id);
Alex Young 10:18a6661b7e59 61
Alex Young 10:18a6661b7e59 62 #ifdef __cplusplus
Alex Young 10:18a6661b7e59 63 }
Alex Young 10:18a6661b7e59 64 #endif // extern "C"
Alex Young 10:18a6661b7e59 65
Alex Young 10:18a6661b7e59 66 #endif // __XBUSMESSAGE_H