/* * Copyright (c) 2021 Arm Limited. All rights reserved. * SPDX-License-Identifier: Apache-2.0 * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef BSP_PACK_FASTMODEL_H #define BSP_PACK_FASTMODEL_H #include "cmsis.h" /* device specific header file */ #include "peripheral_memmap.h" /* peripheral memory map definitions */ /****************************************************************************/ /* Definitions and stub functions for modules currently */ /* unavailable on the model */ /****************************************************************************/ #define GLCD_WIDTH 320 #define GLCD_HEIGHT 240 #define Black 0x0000 /* 0, 0, 0 */ #define White 0xFFFF /* 255, 255, 255 */ /*********************** Clock related functions *****************************/ uint32_t GetCoreClock(void); /************************ GLCD related functions ****************************/ /** * @brief Initialize the Himax LCD with HX8347-D LCD Controller * @return none */ void GLCD_Initialize(void); /** * @brief Display graphical bitmap image at position x horizontally and y * vertically. This function is optimized for 16 bits per pixel * format, it has to be adapted for any other format. * @param[in] x horizontal position. * @param[in] y vertical position. * @param[in] w width of bitmap. * @param[in] h height of bitmap. * @param[in] bitmap address at which the bitmap data resides. * @return none */ void GLCD_Bitmap(unsigned int x, unsigned int y, unsigned int w, unsigned int h, unsigned short *bitmap); /** * @brief Displays an 8 bit image, conversion to the LCD's * 16 bit codec is done on the fly. * @param[in] data pointer to the full sized image data. * @param[in] width image width. * @param[in] height image height. * @param[in] channels number of channels in the image. * @param[in] pos_x start x position for the LCD. * @param[in] pos_y start y position for the LCD. * @param[in] downsample_factor factor by which the image * is downsampled by. * @return none */ void GLCD_Image(void *data, const uint32_t width, const uint32_t height, const uint32_t channels, const uint32_t pos_x, const uint32_t pos_y, const uint32_t downsample_factor); /** * @brief Clear display * @param[in] color display clearing color * @return none */ void GLCD_Clear(unsigned short color); /** * @brief Set foreground color * @param[in] color foreground color * @return none */ void GLCD_SetTextColor(unsigned short color); /** * @brief Display character on given line * @param[in] ln line number * @param[in] col column number * @param[in] fi font index (0 = 9x15) * @param[in] c ASCII character * @return none */ void GLCD_DisplayChar(unsigned int ln, unsigned int col, unsigned char fi, unsigned char c); /** * @brief Display string on given line * @param[in] ln line number * @param[in] col column number * @param[in] fi font index (0 = 9x15) * @param[in] s pointer to string * @return none */ void GLCD_DisplayString(unsigned int ln, unsigned int col, unsigned char fi, char *s); /** * @brief Draw box filled with color * @param[in] x horizontal position * @param[in] y: vertical position * @param[in] w: window width in pixels * @param[in] h: window height in pixels * @param[in] color box color * @return none */ void GLCD_Box(unsigned int x, unsigned int y, unsigned int w, unsigned int h, unsigned short color); #endif /* BSP_PACK_FASTMODEL_H */