Paparazzi UAS  v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
protocol.h File Reference
#include <inttypes.h>
#include <stdbool.h>
#include "std.h"
+ Include dependency graph for protocol.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

union  dc_shot_union
 
union  mora_status_union
 
struct  mora_status_union::mora_status_struct
 
struct  mora_transport
 
struct  dc_shot_union.data
 

Macros

#define MORA_SHOOT   1
 
#define MORA_SHOOT_MSG_SIZE   (4*10)
 
#define MORA_BUFFER_EMPTY   2
 
#define MORA_PAYLOAD   3
 
#define MORA_PAYLOAD_MSG_SIZE   70
 
#define MORA_STATUS   4
 
#define MORA_STATUS_MSG_SIZE   (4*2)
 
#define STX   0x99
 
#define MoraSizeOf(_payload)   (_payload+5)
 
#define MoraPutUint8(_byte)
 
#define MoraHeader(msg_id, payload_len)
 
#define MoraTrailer()
 
#define MoraPut1ByteByAddr(_byte)
 

Functions

void parse_mora (struct mora_transport *t, uint8_t c)
 

Variables

uint8_t mora_ck_a
 
uint8_t mora_ck_b
 
struct mora_transport mora_protocol
 

Detailed Description

|STX|length|... payload=(length-4) bytes ...|Checksum A|Checksum B|

where checksum is computed over length and payload:

mora_ck_a = mora_ck_b = length
for each byte b in payload

Definition in file protocol.h.


Data Structure Documentation

◆ dc_shot_union

union dc_shot_union

Definition at line 53 of file protocol.h.

+ Collaboration diagram for dc_shot_union:
Data Fields
uint8_t bin[MORA_SHOOT_MSG_SIZE]
struct dc_shot_union data
int32_t i[10]

◆ mora_status_union

union mora_status_union

Definition at line 84 of file protocol.h.

+ Collaboration diagram for mora_status_union:
Data Fields
uint8_t bin[MORA_STATUS_MSG_SIZE]
struct mora_status_struct data

◆ mora_status_union::mora_status_struct

struct mora_status_union::mora_status_struct

Definition at line 85 of file protocol.h.

Data Fields
uint16_t cpu
uint16_t extra
uint16_t shots
uint16_t threads

◆ mora_transport

struct mora_transport

Definition at line 130 of file protocol.h.

Data Fields
uint8_t ck_a
uint8_t ck_b
uint8_t error
uint8_t msg_id
bool msg_received
uint8_t payload[256]
uint8_t payload_idx
uint8_t payload_len
uint8_t status

◆ dc_shot_union.data

struct dc_shot_union.data

Definition at line 54 of file protocol.h.

Data Fields
int32_t alt
int32_t course
int32_t groundalt
int32_t lat
int32_t lon
int32_t nr
int32_t phi
int32_t psi
int32_t theta
int32_t vground

Macro Definition Documentation

◆ MORA_BUFFER_EMPTY

#define MORA_BUFFER_EMPTY   2

Definition at line 70 of file protocol.h.

◆ MORA_PAYLOAD

#define MORA_PAYLOAD   3

Definition at line 74 of file protocol.h.

◆ MORA_PAYLOAD_MSG_SIZE

#define MORA_PAYLOAD_MSG_SIZE   70

Definition at line 75 of file protocol.h.

◆ MORA_SHOOT

#define MORA_SHOOT   1

Definition at line 47 of file protocol.h.

◆ MORA_SHOOT_MSG_SIZE

#define MORA_SHOOT_MSG_SIZE   (4*10)

Definition at line 48 of file protocol.h.

◆ MORA_STATUS

#define MORA_STATUS   4

Definition at line 80 of file protocol.h.

◆ MORA_STATUS_MSG_SIZE

#define MORA_STATUS_MSG_SIZE   (4*2)

Definition at line 81 of file protocol.h.

◆ MoraHeader

#define MoraHeader (   msg_id,
  payload_len 
)
Value:
{ \
CameraLinkTransmit(STX); \
uint8_t msg_len = MoraSizeOf( payload_len); \
CameraLinkTransmit(msg_len); \
mora_ck_a = msg_len; mora_ck_b = msg_len; \
MoraPutUint8(msg_id); \
}

Definition at line 109 of file protocol.h.

◆ MoraPut1ByteByAddr

#define MoraPut1ByteByAddr (   _byte)
Value:
{ \
uint8_t _x = *(_byte); \
MoraPutUint8( _x); \
}

Definition at line 122 of file protocol.h.

◆ MoraPutUint8

#define MoraPutUint8 (   _byte)
Value:
{ \
mora_ck_a += _byte; \
mora_ck_b += mora_ck_a; \
CameraLinkTransmit(_byte); \
}

Definition at line 103 of file protocol.h.

◆ MoraSizeOf

#define MoraSizeOf (   _payload)    (_payload+5)

Definition at line 101 of file protocol.h.

◆ MoraTrailer

#define MoraTrailer ( )
Value:
{ \
CameraLinkTransmit(mora_ck_a); \
CameraLinkTransmit(mora_ck_b); \
}

Definition at line 117 of file protocol.h.

◆ STX

#define STX   0x99

Definition at line 99 of file protocol.h.

Function Documentation

◆ parse_mora()

void parse_mora ( struct mora_transport t,
uint8_t  c 
)

Variable Documentation

◆ mora_ck_a

uint8_t mora_ck_a

Definition at line 5 of file protocol.c.

◆ mora_ck_b

uint8_t mora_ck_b

Definition at line 97 of file protocol.h.

◆ mora_protocol

struct mora_transport mora_protocol

Definition at line 18 of file protocol.c.

Referenced by digital_cam_uart_event(), and main().

mora_ck_a
uint8_t mora_ck_a
Definition: protocol.c:5
b
float b
Definition: wedgebug.c:202
mora_ck_b
uint8_t mora_ck_b
Definition: protocol.h:97
STX
#define STX
Definition: protocol.h:99
MoraSizeOf
#define MoraSizeOf(_payload)
Definition: protocol.h:101
mora_ck_b
uint8_t mora_ck_b
Definition: protocol.c:5
mora_ck_a
uint8_t mora_ck_a
Definition: protocol.c:5