Paparazzi UAS
v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
Toggle main menu visibility
Main Page
Related Pages
Topics
Data Structures
Data Structures
Data Structure Index
Data Fields
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerator
Files
File List
Globals
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
m
n
p
r
s
t
u
v
w
Enumerations
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
v
w
z
Enumerator
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Modules
Pages
Loading...
Searching...
No Matches
slcan.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2025 Fabien-B <fabien-b@github.com>
3
*
4
* This file is part of paparazzi
5
*
6
* paparazzi is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation; either version 2, or (at your option)
9
* any later version.
10
*
11
* paparazzi is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with paparazzi; see the file COPYING. If not, see
18
* <http://www.gnu.org/licenses/>.
19
*/
20
27
#pragma once
28
29
#include <inttypes.h>
30
#include <stdbool.h>
31
#include "
mcu_periph/can.h
"
32
#include "
core/threads.h
"
33
34
#define SLCAN_CMD_BUF_LEN (2*64+15)
35
36
typedef
struct
37
{
38
struct
link_device
*
dev
;
39
uint8_t
cmd_buf
[
SLCAN_CMD_BUF_LEN
];
// large enough for a 64 bytes frame
40
uint8_t
cmd_buf_idx
;
41
uint8_t
tx_buf[
SLCAN_CMD_BUF_LEN
];
// large enough for a 64 bytes frame
42
bool
timestamp
;
43
44
struct
pprzaddr_can
can_if;
45
struct
pprzcan_frame
rx_frame;
// frame received from CAN, to be sent through SLCAN
46
47
pprz_mutex_t
mtx
;
48
bool
send_rx
;
49
}
slcan_t
;
36
typedef
struct
{
…
};
50
51
52
void
slcan_init
(
void
);
53
void
slcan_event
(
void
);
can.h
pprzaddr_can
Definition
can.h:81
pprzcan_frame
Definition
can.h:72
foo
uint16_t foo
Definition
main_demo5.c:58
slcan_t::send_rx
bool send_rx
Definition
slcan.h:48
slcan_t::cmd_buf_idx
uint8_t cmd_buf_idx
Definition
slcan.h:40
slcan_t::dev
struct link_device * dev
Definition
slcan.h:38
SLCAN_CMD_BUF_LEN
#define SLCAN_CMD_BUF_LEN
Definition
slcan.h:34
slcan_t::timestamp
bool timestamp
Definition
slcan.h:42
slcan_event
void slcan_event(void)
Definition
slcan.c:63
slcan_init
void slcan_init(void)
Definition
slcan.c:53
slcan_t::mtx
pprz_mutex_t mtx
Definition
slcan.h:47
slcan_t
Definition
slcan.h:37
pprzMutex
Definition
threads_arch.h:22
threads.h
cmd_buf
char cmd_buf[64]
Definition
usb_serial_stm32_example1.c:36
uint8_t
unsigned char uint8_t
Typedef defining 8 bit unsigned char type.
Definition
vl53l1_types.h:98
sw
airborne
modules
core
slcan.h
Generated on Fri Apr 4 2025 14:56:50 for Paparazzi UAS by
1.9.8