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)
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/>.
23 #include "drivers/display.h"
25 #include "io/serial.h"
27 #include "pg/displayport_profiles.h"
29 // MSP Display Port commands
31 MSP_DP_HEARTBEAT
= 0, // Release the display after clearing and updating
32 MSP_DP_RELEASE
= 1, // Release the display after clearing and updating
33 MSP_DP_CLEAR_SCREEN
= 2, // Clear the display
34 MSP_DP_WRITE_STRING
= 3, // Write a string at given coordinates
35 MSP_DP_DRAW_SCREEN
= 4, // Trigger a screen draw
36 MSP_DP_OPTIONS
= 5, // Not used by Betaflight. Reserved by Ardupilot and INAV
37 MSP_DP_SYS
= 6, // Display system element displayportSystemElement_e at given coordinates
39 } displayportMspCommand_e
;
41 // MSP displayport V2 attribute byte bit functions
42 #define DISPLAYPORT_MSP_ATTR_VERSION BIT(7) // Format indicator; must be zero for V2 (and V1)
43 #define DISPLAYPORT_MSP_ATTR_BLINK BIT(6) // Device local blink
44 #define DISPLAYPORT_MSP_ATTR_FONT (BIT(0) | BIT(1)) // Select bank of 256 characters as per displayPortSeverity_e
45 #define DISPLAYPORT_MSP_ATTR_MASK (DISPLAYPORT_MSP_ATTR_VERSION | DISPLAYPORT_MSP_ATTR_BLINK | DISPLAYPORT_MSP_ATTR_FONT)
47 struct displayPort_s
*displayPortMspInit(void);
48 void displayPortMspSetSerial(serialPortIdentifier_e serialPort
);