Defines | Typedefs | Functions | Variables
HL_interface.h File Reference
#include "extPositionCtrl.h"
#include "HL_SSDK.h"
#include <inttypes.h>
Include dependency graph for HL_interface.h:

Go to the source code of this file.

Defines

#define HLI_COMM_ACK   0x01
 defines that a packet has to be acknowledged when received
#define HLI_COMMUNICATION_TIMEOUT   3
#define HLI_DEFAULT_BAUDRATE   57600
#define HLI_DEFAULT_PERIOD_EKF_STATE   0
#define HLI_DEFAULT_PERIOD_GPS   200
#define HLI_DEFAULT_PERIOD_IMU   20
#define HLI_DEFAULT_PERIOD_RCDATA   100
#define HLI_DEFAULT_PERIOD_SSDK_DEBUG   200
#define HLI_EKF_STATE_CURRENT_STATE   1
#define HLI_EKF_STATE_INITIALIZATION   2
#define HLI_EKF_STATE_SIZE   16
#define HLI_EKF_STATE_STATE_CORRECTION   3
#define HLI_FLIGHTMODE_ACC   0x01
#define HLI_FLIGHTMODE_GPS   0x07
#define HLI_FLIGHTMODE_HEIGHT   0x03
#define HLI_GPS_BIT   0x20
#define HLI_HEIGHT_BIT   0x10
#define HLI_MODE_POSCTRL_HL   0x40
 use position controller on the HL based on state estimation on the HL or external state estimation
#define HLI_MODE_POSCTRL_LL   0x20
 position control in performed on the LL controller. This just works if GPS is available
#define HLI_MODE_POSCTRL_OFF   0x10
 position control switched off
#define HLI_MODE_STATE_ESTIMATION_EXT   0x08
 state estimation is performed externally, e.g. on the host computer
#define HLI_MODE_STATE_ESTIMATION_HL_EKF   0x04
 state estimation is performed on the HL based on the state prediction of an EKF
#define HLI_MODE_STATE_ESTIMATION_HL_SSDK   0x02
 state estimation is performed on the HL in the SSDK based on positions that are sent to it
#define HLI_MODE_STATE_ESTIMATION_OFF   0x01
 switches state estimation on the HL off
#define HLI_NUMBER_RC_CHANNELS   8
#define HLI_PACKET_ID_ACK   0x11
 Acknowledge packet.
#define HLI_PACKET_ID_BAUDRATE   0x0a
 set baudrate
#define HLI_PACKET_ID_CONFIG   0x12
 Acknowledge packet.
#define HLI_PACKET_ID_CONTROL_ENABLE   0x0d
 packet to enable single axis for control
#define HLI_PACKET_ID_CONTROL_HL   0x07
 commands for control by the HL
#define HLI_PACKET_ID_CONTROL_LL   0x06
 this is for commands that get forwarded to the LL processor i.e. acceleration/attitude and gps velocities
#define HLI_PACKET_ID_EKF_STATE   0x0e
 packet to exchange the state of the position/attitude ekf
#define HLI_PACKET_ID_GPS   0x03
 gps
#define HLI_PACKET_ID_IMU   0x01
 imu packet
#define HLI_PACKET_ID_MAG   0x13
 Magnetic compass data packet.
#define HLI_PACKET_ID_MOTORS   0x09
 motor on/off commands
#define HLI_PACKET_ID_POSITION_UPDATE   0x08
 (absolute) position update from external reference
#define HLI_PACKET_ID_RC   0x04
 rc data
#define HLI_PACKET_ID_SSDK_DEBUG   0x05
 debug data from datafusion/position controller
#define HLI_PACKET_ID_SSDK_PARAMETERS   0x0b
 set params for matlab onboard controller
#define HLI_PACKET_ID_SSDK_STATUS   0x10
 SSDK status packet.
#define HLI_PACKET_ID_STATUS   0x02
 status packet
#define HLI_PACKET_ID_SUBSCRIPTION   0x0f
 packet to define the periods the packets are sent with
#define HLI_PACKET_ID_TIMESYNC   0x0c
 timesync packet indentifier
#define HLI_PITCH_BIT   0x01
#define HLI_ROLL_BIT   0x02
#define HLI_SERIALINTERFACE_ACTIVE_BIT   0x40
#define HLI_SERIALINTERFACE_ENABLED_BIT   0x20
#define HLI_THRUST_BIT   0x08
#define HLI_YAW_BIT   0x04

Typedefs

typedef struct EXT_POSITION_CMD HLI_CMD_HL
 from included file provided by asctec, defines position/velocity commands
typedef struct EXT_POSITION HLI_EXT_POSITION
 from included file provided by asctec, defines position updates from an external reference

Functions

struct __attribute__ ((packed))
 imu packet

Variables

 HLI_ACK
 HLI_BAUDRATE
 HLI_CMD_LL
 HLI_CONFIG
 HLI_EKF_STATE
 HLI_GPS
 HLI_IMU
 HLI_MAG
 HLI_MOTORS
 HLI_RCDATA
 HLI_SSDK_STATUS
 HLI_STATUS
 HLI_SUBSCRIPTION
 HLI_TIMESYNC

Define Documentation

#define HLI_COMM_ACK   0x01

defines that a packet has to be acknowledged when received

Definition at line 95 of file HL_interface.h.

#define HLI_COMMUNICATION_TIMEOUT   3

Definition at line 77 of file HL_interface.h.

#define HLI_DEFAULT_BAUDRATE   57600

Definition at line 78 of file HL_interface.h.

Definition at line 83 of file HL_interface.h.

#define HLI_DEFAULT_PERIOD_GPS   200

Definition at line 80 of file HL_interface.h.

#define HLI_DEFAULT_PERIOD_IMU   20

Definition at line 79 of file HL_interface.h.

#define HLI_DEFAULT_PERIOD_RCDATA   100

Definition at line 82 of file HL_interface.h.

Definition at line 81 of file HL_interface.h.

Definition at line 295 of file HL_interface.h.

Definition at line 296 of file HL_interface.h.

#define HLI_EKF_STATE_SIZE   16

Definition at line 294 of file HL_interface.h.

Definition at line 297 of file HL_interface.h.

#define HLI_FLIGHTMODE_ACC   0x01

Definition at line 64 of file HL_interface.h.

#define HLI_FLIGHTMODE_GPS   0x07

Definition at line 66 of file HL_interface.h.

#define HLI_FLIGHTMODE_HEIGHT   0x03

Definition at line 65 of file HL_interface.h.

#define HLI_GPS_BIT   0x20

Definition at line 74 of file HL_interface.h.

#define HLI_HEIGHT_BIT   0x10

Definition at line 73 of file HL_interface.h.

#define HLI_MODE_POSCTRL_HL   0x40

use position controller on the HL based on state estimation on the HL or external state estimation

Definition at line 92 of file HL_interface.h.

#define HLI_MODE_POSCTRL_LL   0x20

position control in performed on the LL controller. This just works if GPS is available

Definition at line 91 of file HL_interface.h.

#define HLI_MODE_POSCTRL_OFF   0x10

position control switched off

Definition at line 90 of file HL_interface.h.

#define HLI_MODE_STATE_ESTIMATION_EXT   0x08

state estimation is performed externally, e.g. on the host computer

Definition at line 89 of file HL_interface.h.

state estimation is performed on the HL based on the state prediction of an EKF

Definition at line 88 of file HL_interface.h.

state estimation is performed on the HL in the SSDK based on positions that are sent to it

Definition at line 87 of file HL_interface.h.

#define HLI_MODE_STATE_ESTIMATION_OFF   0x01

switches state estimation on the HL off

Definition at line 86 of file HL_interface.h.

#define HLI_NUMBER_RC_CHANNELS   8

Definition at line 221 of file HL_interface.h.

#define HLI_PACKET_ID_ACK   0x11

Acknowledge packet.

Definition at line 58 of file HL_interface.h.

#define HLI_PACKET_ID_BAUDRATE   0x0a

set baudrate

Definition at line 51 of file HL_interface.h.

#define HLI_PACKET_ID_CONFIG   0x12

Acknowledge packet.

Definition at line 59 of file HL_interface.h.

#define HLI_PACKET_ID_CONTROL_ENABLE   0x0d

packet to enable single axis for control

Definition at line 54 of file HL_interface.h.

#define HLI_PACKET_ID_CONTROL_HL   0x07

commands for control by the HL

Definition at line 48 of file HL_interface.h.

#define HLI_PACKET_ID_CONTROL_LL   0x06

this is for commands that get forwarded to the LL processor i.e. acceleration/attitude and gps velocities

Definition at line 47 of file HL_interface.h.

#define HLI_PACKET_ID_EKF_STATE   0x0e

packet to exchange the state of the position/attitude ekf

Definition at line 55 of file HL_interface.h.

#define HLI_PACKET_ID_GPS   0x03

gps

Definition at line 44 of file HL_interface.h.

#define HLI_PACKET_ID_IMU   0x01

imu packet

Definition at line 42 of file HL_interface.h.

#define HLI_PACKET_ID_MAG   0x13

Magnetic compass data packet.

Definition at line 60 of file HL_interface.h.

#define HLI_PACKET_ID_MOTORS   0x09

motor on/off commands

Definition at line 50 of file HL_interface.h.

#define HLI_PACKET_ID_POSITION_UPDATE   0x08

(absolute) position update from external reference

Definition at line 49 of file HL_interface.h.

#define HLI_PACKET_ID_RC   0x04

rc data

Definition at line 45 of file HL_interface.h.

#define HLI_PACKET_ID_SSDK_DEBUG   0x05

debug data from datafusion/position controller

Definition at line 46 of file HL_interface.h.

#define HLI_PACKET_ID_SSDK_PARAMETERS   0x0b

set params for matlab onboard controller

Definition at line 52 of file HL_interface.h.

#define HLI_PACKET_ID_SSDK_STATUS   0x10

SSDK status packet.

Definition at line 57 of file HL_interface.h.

#define HLI_PACKET_ID_STATUS   0x02

status packet

Definition at line 43 of file HL_interface.h.

#define HLI_PACKET_ID_SUBSCRIPTION   0x0f

packet to define the periods the packets are sent with

Definition at line 56 of file HL_interface.h.

#define HLI_PACKET_ID_TIMESYNC   0x0c

timesync packet indentifier

Definition at line 53 of file HL_interface.h.

#define HLI_PITCH_BIT   0x01

Definition at line 69 of file HL_interface.h.

#define HLI_ROLL_BIT   0x02

Definition at line 70 of file HL_interface.h.

#define HLI_SERIALINTERFACE_ACTIVE_BIT   0x40

Definition at line 68 of file HL_interface.h.

Definition at line 67 of file HL_interface.h.

#define HLI_THRUST_BIT   0x08

Definition at line 72 of file HL_interface.h.

#define HLI_YAW_BIT   0x04

Definition at line 71 of file HL_interface.h.


Typedef Documentation

typedef struct EXT_POSITION_CMD HLI_CMD_HL

from included file provided by asctec, defines position/velocity commands

Definition at line 274 of file HL_interface.h.

typedef struct EXT_POSITION HLI_EXT_POSITION

from included file provided by asctec, defines position updates from an external reference

Definition at line 271 of file HL_interface.h.


Function Documentation

struct __attribute__ ( (packed)  ) [read]

imu packet

packet with magnetic compass readings

acknowledge packet with message type that has been acknowledged

packet for SSDK status

configuration packet for HL processor

define at which frequencies data should be sent

packet for time synchronization between HL processor and PC

struct for LL control commands

contains rc data that was transmitted to the helicopter

status of the helicopter

gps packet

Client | | Server | | tc1 |--------| ts1 | | tc2 |--------| ts2 | |

ts1=ts2; tc2 is measured on the arrival of the packet

timestamp in us; synchronized to host pc

accelerations [mg]

angular velocities; bias-free in units of 0.015deg/s

angles [deg*100]

yaw from 0...360 [deg*100]

height from pressure sensor [mm]

differentiated height [mm/s]

motor speeds

GPS data fused with all other sensors

timestamp in us; synchronized to host pc

latitude/longitude in deg * 10^7

height [mm]

pressure height [mm]

speed in x (E/W) and y(N/S) in mm/s

heading from 0...360 [deg*100]

accuracy estimates [mm] / [mm/s]

GPS status information;

Bit7...Bit3: 0 Bit 2: longitude direction Bit1: latitude direction Bit 0: GPS lock

number of satellite vehicles used in NAV solution

timestamp in us; synchronized to host pc

battery voltage [mv]

Flight time [s]

cpu load in % of the time of one sdk loop

Motor Status:

-1: motors off 0: stop motors 1: start motors 2: motors on

total received packets

total received good packets

indicates if parameters for onboard filters/controller are available

timestamp in us; synchronized to host pc

channel[0]: Pitch channel[1]: Roll channel[2]: Thrust channel[3]: Yaw channel[4]: Serial interface enable/disable channel[5]: manual / height control / GPS + height control

range of each channel: 0..4095

pitch angle / velocity x

roll angle / velocity y

yaw angular velocity

thrust(=acceleration z) / climbrate

0: stop motors, 1: start motors

accelerations [mg]

angular velocities; bias-free in units of 0.015deg/s

state in SI units

< imu packet, 20 ms

< rc channels, 50 ms

< debug channels from the ssdk, 200 ms

< gps data, 200 ms

< pose ekf state, 0 --> set to zero if you don't want to have it

< magnetic compass packet

Definition at line 99 of file HL_interface.h.


Variable Documentation

Definition at line 354 of file HL_interface.h.

Definition at line 268 of file HL_interface.h.

Definition at line 254 of file HL_interface.h.

Definition at line 340 of file HL_interface.h.

Definition at line 318 of file HL_interface.h.

Definition at line 174 of file HL_interface.h.

Definition at line 130 of file HL_interface.h.

Definition at line 365 of file HL_interface.h.

Definition at line 261 of file HL_interface.h.

Definition at line 240 of file HL_interface.h.

Definition at line 347 of file HL_interface.h.

Definition at line 219 of file HL_interface.h.

Definition at line 330 of file HL_interface.h.

Definition at line 292 of file HL_interface.h.



asctec_hl_comm
Author(s): Markus Achtelik, Michael Achtelik, Stephan Weiss, Laurent Kneip
autogenerated on Thu Jun 6 2019 20:57:06