#include "main.h"#include "system.h"#include "sdk.h"#include "LL_HL_comm.h"#include "uart.h"#include "time.h"#include "irq.h"#include "LPC214x.h"#include "hardware.h"#include <ekf/autogen_ekf_propagation.h>#include <ekf/autogen_ekf_propagation_initialize.h>#include "gpsmath.h"#include <ert_main.h>#include "dekf.h"
Go to the source code of this file.
Functions | |
| int | checkTxPeriod (uint16_t period) |
| checks if a packet has to be sent | |
| void | SDK_mainloop (void) |
| void | sdkInit (void) |
| initializes the sdk | |
| void | sendGpsData (void) |
| assembles GPS packet and sends it | |
| void | sendImuData (void) |
| assembles IMU packet and sends it | |
| void | sendMagData (void) |
| assembles magnetic compass data packet and sends it | |
| void | sendRcData (void) |
| assembles rc packet and sends it | |
| void | sendStatus (void) |
| assembles status packet and sends it | |
| void | synchronizeTime () |
| adjusts HLP time to host PC time | |
| void | watchdog (void) |
| gets called every sdk loops. Currently, only checks for packets from the PC and starts autobaud in case there wwas no communication in the last 10 s | |
| void | writeCommand (short pitch, short roll, short yaw, short thrust, short ctrl, short enable) |
| Writes command to the LLP. | |
Variables | |
| HLI_BAUDRATE | baudrate |
| HLI_CMD_LL | cmdLL |
| unsigned char | cmdLLNew = 0 |
| short | cmdLLValid = 0 |
| HLI_CMD_LL | controlEnable |
| unsigned int | cpuLoad = 0 |
| DekfContext | dekf |
| HLI_EXT_POSITION | ext_position_update |
| HLI_EXT_POSITION | extPosition |
| HLI_CMD_HL | extPositionCmd |
| short | extPositionValid = 0 |
| HLI_GPS | gpsData |
| HLI_CONFIG | hli_config |
| HLI_IMU | imuData |
| HLI_MAG | mag_data |
| short | motor_state = -1 |
| short | motor_state_count = 0 |
| HLI_MOTORS | motors |
| PacketInfo * | packetBaudrate |
| PacketInfo * | packetCmdHL |
| PacketInfo * | packetCmdLL |
| PacketInfo * | packetConfig |
| PacketInfo * | packetControlEnable |
| PacketInfo * | packetExtPosition |
| PacketInfo * | packetMotors |
| PacketInfo * | packetSSDKParams |
| PacketInfo * | packetSubscription |
| PacketInfo * | packetTimeSync |
| HLI_RCDATA | rcData |
| struct RO_ALL_DATA | RO_ALL_Data |
| struct RO_RC_DATA | RO_RC_Data |
| unsigned int | sdkCycleStartTime = 0 |
| unsigned int | sdkLoops = 0 |
| counts ssdk loops | |
| unsigned int | ssdk_reset_state = 0 |
| HLI_SSDK_STATUS | ssdk_status |
| HLI_STATUS | statusData |
| HLI_SUBSCRIPTION | subscription |
| int64_t | time_correction = 0 |
| unsigned short | time_step = 2000 |
| int64_t | timeOffset = 0 |
| volatile int64_t | timestamp = 0 |
| current time. Gets incremented by timer0 and gets corrected by synchronizeTime(). | |
| HLI_TIMESYNC | timeSync |
| struct WO_CTRL_INPUT | WO_CTRL_Input |
| struct WO_DIRECT_INDIVIDUAL_MOTOR_CONTROL | WO_Direct_Individual_Motor_Control |
| struct WO_DIRECT_MOTOR_CONTROL | WO_Direct_Motor_Control |
| struct WO_SDK_STRUCT | WO_SDK |
| int checkTxPeriod | ( | uint16_t | period | ) | [inline] |
| void SDK_mainloop | ( | void | ) |
SDK_mainloop(void) is triggered @ 1kHz.
WO_(Write Only) data is written to the LL processor after execution of this function.
RO_(Read Only) data is updated before entering this function and can be read to obtain information for supervision or control
WO_ and RO_ structs are defined in sdk.h
The struct LL_1khz_attitude_data (defined in LL_HL_comm.h) can be used to read all sensor data, results of the data fusion and R/C inputs transmitted from the LL-processor. This struct is automatically updated at 1 kHz.
| void sendGpsData | ( | void | ) | [inline] |
| void sendImuData | ( | void | ) | [inline] |
| void sendMagData | ( | void | ) | [inline] |
| void sendRcData | ( | void | ) | [inline] |
| void sendStatus | ( | void | ) | [inline] |
| void synchronizeTime | ( | void | ) | [inline] |
| void watchdog | ( | void | ) | [inline] |
| void writeCommand | ( | short | pitch, |
| short | roll, | ||
| short | yaw, | ||
| short | thrust, | ||
| short | ctrl, | ||
| short | enable | ||
| ) | [inline] |
| short cmdLLValid = 0 |
| short extPositionValid = 0 |
| short motor_state = -1 |
| short motor_state_count = 0 |
| struct RO_ALL_DATA RO_ALL_Data |
| struct RO_RC_DATA RO_RC_Data |
| unsigned int sdkCycleStartTime = 0 |
| unsigned int ssdk_reset_state = 0 |
| int64_t time_correction = 0 |
| int64_t timeOffset = 0 |
| volatile int64_t timestamp = 0 |
current time. Gets incremented by timer0 and gets corrected by synchronizeTime().
| struct WO_CTRL_INPUT WO_CTRL_Input |
| struct WO_SDK_STRUCT WO_SDK |