/**
 * @file
 * These are the Display Control commands.
 */
/**
 * @file
 * @defgroup baltech_api Baltech API
 * @{
 */
#ifndef __BRP_BALTECH_API_CMDS_DISP_H__
#define __BRP_BALTECH_API_CMDS_DISP_H__
#include "../typedefs.h"
/**
 * Page was neither found in configuration nor in flash
 */
#define BRP_Disp_DispPageNotFound BRP_ERR_STATUS(0x4100, 0x01)
/**
 * Unexpected end of page
 */
#define BRP_Disp_DispUnexpectedEop BRP_ERR_STATUS(0x4100, 0x02)
/**
 * Too much defines, too much frames or too much strings used by this page
 */
#define BRP_Disp_DispOutOfMem BRP_ERR_STATUS(0x4100, 0x03)
/**
 * The specified frame is not defined
 */
#define BRP_Disp_DispFrameNotFound BRP_ERR_STATUS(0x4100, 0x04)
/**
 * The render command is not known
 */
#define BRP_Disp_DispUnknownCommand BRP_ERR_STATUS(0x4100, 0x05)
/**
 * String is too long
 */
#define BRP_Disp_DispStringTooLong BRP_ERR_STATUS(0x4100, 0x06)
/**
 * invalid font
 */
#define BRP_Disp_DispInvalidFont BRP_ERR_STATUS(0x4100, 0x07)
/**
 * Enable/Disable Display.
 * 
 * @param[in] protocol used to execute the command
 * @param[in] Enable 
 */
brp_errcode brp_Disp_Enable(brp_protocol protocol, bool Enable);
/**
 * Set contrast of display
 * 
 * @param[in] protocol used to execute the command
 * @param[in] Contrast 
 */
brp_errcode brp_Disp_SetContrast(brp_protocol protocol, unsigned Contrast);
/**
 * Enable/Disable display backlight
 * 
 * @param[in] protocol used to execute the command
 * @param[in] EnableLight 
 */
brp_errcode brp_Disp_EnableBacklight(brp_protocol protocol, bool EnableLight);
/**
 * Clear Page description.
 * 
 * @param[in] protocol used to execute the command
 * @param[in] DelPermanentDefines If TRUE, all defines will be deleted. Otherwise the permanent defines (>=0x80) will be kept.
 */
brp_errcode brp_Disp_Clear(brp_protocol protocol, bool DelPermanentDefines);
/**
 * Load page description.
 * 
 * @param[in] protocol used to execute the command
 * @param[in] PageDesc 
 * @param[in] PageDesc_len 
 */
brp_errcode brp_Disp_Load(brp_protocol protocol, brp_buf PageDesc, size_t PageDesc_len);
/**
 * Extend page description
 * 
 * @param[in] protocol used to execute the command
 * @param[in] PageDesc 
 * @param[in] PageDesc_len 
 */
brp_errcode brp_Disp_Extend(brp_protocol protocol, brp_buf PageDesc, size_t PageDesc_len);
#endif
/**
 * @}
 */