summaryrefslogtreecommitdiff
path: root/source/application/hal/platforms/bare-metal/bsp/bsp-packs/simple_platform/include/stubs_fvp.h
blob: a21f2d26e6b0e1be28fb468af4d4f4a1dd8a4d19 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
/*
 * 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 */