Protection to ensure only one or the other is initialised in regards to blackbox...
[betaflight.git] / src / main / blackbox / blackbox.h
blob33ceb5852d67164b555e8623c9826c6af942b9ad
1 /*
2 * This file is part of Cleanflight.
4 * Cleanflight is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 3 of the License, or
7 * (at your option) any later version.
9 * Cleanflight is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with Cleanflight. If not, see <http://www.gnu.org/licenses/>.
18 #pragma once
20 #include "blackbox/blackbox_fielddefs.h"
22 #include "common/time.h"
24 typedef enum {
25 BLACKBOX_SERIAL = 0,
26 BLACKBOX_SPIFLASH,
27 BLACKBOX_SDCARD
28 } blackBoxDevice_e;
30 typedef struct blackboxConfig_s {
31 uint8_t rate_num;
32 uint8_t rate_denom;
33 uint8_t device;
34 uint8_t on_motor_test;
35 } blackboxConfig_t;
37 void blackboxLogEvent(FlightLogEvent event, flightLogEventData_t *data);
39 void initBlackbox(void);
40 void handleBlackbox(timeUs_t currentTimeUs);
41 void validateBlackboxConfig();
42 void startBlackbox(void);
43 void finishBlackbox(void);
45 bool blackboxMayEditConfig(void);