Merge pull request #11299 from daleckystepan/vtx-start-bit
[betaflight.git] / src / main / telemetry / msp_shared.h
blob8ee5d27b63cb023bc0778ff8b2fa23305124c94f
1 /*
2 * This file is part of Cleanflight and Betaflight.
4 * Cleanflight and Betaflight are free software. You can redistribute
5 * this software and/or modify this software under the terms of the
6 * GNU General Public License as published by the Free Software
7 * Foundation, either version 3 of the License, or (at your option)
8 * any later version.
10 * Cleanflight and Betaflight are distributed in the hope that they
11 * will be useful, but WITHOUT ANY WARRANTY; without even the implied
12 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13 * See the GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this software.
18 * If not, see <http://www.gnu.org/licenses/>.
21 #pragma once
23 #define MSP_TLM_INBUF_SIZE MSP_PORT_INBUF_SIZE
24 #define MSP_TLM_OUTBUF_SIZE MSP_PORT_OUTBUF_SIZE_MIN
26 // type of function to send MSP response chunk over telemetry.
27 typedef void (*mspResponseFnPtr)(uint8_t *payload, const uint8_t payloadSize);
29 void initSharedMsp(void);
31 // receives telemetry payload with msp and handles it.
32 bool handleMspFrame(uint8_t *const payload, uint8_t const payloadLength, uint8_t *const skipsBeforeResponse);
34 // sends MSP reply from previously handled msp-request over telemetry
35 bool sendMspReply(const uint8_t payloadSize_max, mspResponseFnPtr responseFn);