Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed-rtos mbed Xbus
Fork of MTi-1_example by
xbus/xbusmessage.h@33:542e4b568631, 2015-05-21 (annotated)
- Committer:
- Alex Young
- Date:
- Thu May 21 12:19:08 2015 +0200
- Revision:
- 33:542e4b568631
- Parent:
- 30:27ff4335edec
- Child:
- 48:69d35430fe8b
Add Xbus wakeup message ids
Who changed what in which revision?
| User | Revision | Line number | New 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 |
33:542e4b568631 | 29 | XMID_Wakeup = 0x3E, |
| Alex Young |
33:542e4b568631 | 30 | XMID_WakeupAck = 0x3F, |
| Alex Young |
19:46e88d37ecef | 31 | XMID_ReqDid = 0x00, |
| Alex Young |
19:46e88d37ecef | 32 | XMID_DeviceId = 0x01, |
| Alex Young |
10:18a6661b7e59 | 33 | XMID_GotoConfig = 0x30, |
| Alex Young |
10:18a6661b7e59 | 34 | XMID_GotoConfigAck = 0x31, |
| Alex Young |
10:18a6661b7e59 | 35 | XMID_GotoMeasurement = 0x10, |
| Alex Young |
10:18a6661b7e59 | 36 | XMID_GotoMeasurementAck = 0x11, |
| Alex Young |
22:3eab999c5076 | 37 | XMID_MtData2 = 0x36, |
| Alex Young |
22:3eab999c5076 | 38 | XMID_ReqOutputConfig = 0xC0, |
| Alex Young |
22:3eab999c5076 | 39 | XMID_SetOutputConfig = 0xC0, |
| Alex Young |
22:3eab999c5076 | 40 | XMID_OutputConfig = 0xC1, |
| Alex Young |
30:27ff4335edec | 41 | XMID_Reset = 0x40, |
| Alex Young |
30:27ff4335edec | 42 | XMID_ResetAck = 0x41, |
| Alex Young |
30:27ff4335edec | 43 | XMID_Error = 0x42, |
| Alex Young |
10:18a6661b7e59 | 44 | }; |
| Alex Young |
10:18a6661b7e59 | 45 | |
| Alex Young |
16:4bdcdac223d8 | 46 | enum XsDataIdentifier |
| Alex Young |
16:4bdcdac223d8 | 47 | { |
| Alex Young |
16:4bdcdac223d8 | 48 | XDI_PacketCounter = 0x1020, |
| Alex Young |
16:4bdcdac223d8 | 49 | XDI_SampleTimeFine = 0x1060, |
| Alex Young |
16:4bdcdac223d8 | 50 | XDI_Quaternion = 0x2010, |
| Alex Young |
16:4bdcdac223d8 | 51 | XDI_DeltaV = 0x4010, |
| Alex Young |
16:4bdcdac223d8 | 52 | XDI_Acceleration = 0x4020, |
| Alex Young |
16:4bdcdac223d8 | 53 | XDI_RateOfTurn = 0x8020, |
| Alex Young |
16:4bdcdac223d8 | 54 | XDI_DeltaQ = 0x8030, |
| Alex Young |
16:4bdcdac223d8 | 55 | XDI_MagneticField = 0xC020, |
| Alex Young |
16:4bdcdac223d8 | 56 | XDI_StatusWord = 0xE020, |
| Alex Young |
16:4bdcdac223d8 | 57 | }; |
| Alex Young |
16:4bdcdac223d8 | 58 | |
| Alex Young |
10:18a6661b7e59 | 59 | struct XbusMessage |
| Alex Young |
10:18a6661b7e59 | 60 | { |
| Alex Young |
10:18a6661b7e59 | 61 | enum XsMessageId mid; |
| Alex Young |
10:18a6661b7e59 | 62 | uint16_t length; |
| Alex Young |
19:46e88d37ecef | 63 | void* data; |
| Alex Young |
10:18a6661b7e59 | 64 | }; |
| Alex Young |
10:18a6661b7e59 | 65 | |
| Alex Young |
22:3eab999c5076 | 66 | struct OutputConfiguration |
| Alex Young |
22:3eab999c5076 | 67 | { |
| Alex Young |
22:3eab999c5076 | 68 | enum XsDataIdentifier dtype; |
| Alex Young |
22:3eab999c5076 | 69 | uint16_t freq; |
| Alex Young |
22:3eab999c5076 | 70 | }; |
| Alex Young |
22:3eab999c5076 | 71 | |
| Alex Young |
10:18a6661b7e59 | 72 | size_t XbusMessage_format(uint8_t* raw, struct XbusMessage const* message); |
| Alex Young |
16:4bdcdac223d8 | 73 | bool XbusMessage_getDataItem(void* item, enum XsDataIdentifier id, struct XbusMessage const* message); |
| Alex Young |
21:6015b8be3a00 | 74 | char const* XbusMessage_dataDescription(enum XsDataIdentifier id); |
| Alex Young |
10:18a6661b7e59 | 75 | |
| Alex Young |
10:18a6661b7e59 | 76 | #ifdef __cplusplus |
| Alex Young |
10:18a6661b7e59 | 77 | } |
| Alex Young |
10:18a6661b7e59 | 78 | #endif // extern "C" |
| Alex Young |
10:18a6661b7e59 | 79 | |
| Alex Young |
10:18a6661b7e59 | 80 | #endif // __XBUSMESSAGE_H |

Xsens MTi 1-series