457 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			457 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /****************************************************************************
 | |
| **
 | |
| ** Copyright (C) 2020 MikroElektronika d.o.o.
 | |
| ** Contact: https://www.mikroe.com/contact
 | |
| **
 | |
| ** This file is part of the mikroSDK package
 | |
| **
 | |
| ** Commercial License Usage
 | |
| **
 | |
| ** Licensees holding valid commercial NECTO compilers AI licenses may use this
 | |
| ** file in accordance with the commercial license agreement provided with the
 | |
| ** Software or, alternatively, in accordance with the terms contained in
 | |
| ** a written agreement between you and The mikroElektronika Company.
 | |
| ** For licensing terms and conditions see
 | |
| ** https://www.mikroe.com/legal/software-license-agreement.
 | |
| ** For further information use the contact form at
 | |
| ** https://www.mikroe.com/contact.
 | |
| **
 | |
| **
 | |
| ** GNU Lesser General Public License Usage
 | |
| **
 | |
| ** Alternatively, this file may be used for
 | |
| ** non-commercial projects under the terms of the GNU Lesser
 | |
| ** General Public License version 3 as published by the Free Software
 | |
| ** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html.
 | |
| **
 | |
| ** The above copyright notice and this permission notice shall be
 | |
| ** included in all copies or substantial portions of the Software.
 | |
| **
 | |
| ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 | |
| ** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
 | |
| ** TO THE WARRANTIES FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 | |
| ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
 | |
| ** DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
 | |
| ** OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
 | |
| ** OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 | |
| **
 | |
| ****************************************************************************/
 | |
| /*!
 | |
|  * @file  ssd1963_cmd.h
 | |
|  * @brief SSD1963 Display Controller Commands.
 | |
|  */
 | |
| 
 | |
| /*!
 | |
|  * @addtogroup middlewaregroup Middleware
 | |
|  * @{
 | |
|  */
 | |
| 
 | |
| /*!
 | |
|  * @addtogroup ssd1963 SSD1963 Display Controller Driver
 | |
|  * @{
 | |
|  */
 | |
| 
 | |
| /*!
 | |
|  * @addtogroup ssd1963_commands SSD1963 Display Controller Commands
 | |
|  * @brief SSD1963 Display Controller Command List
 | |
|  * @{
 | |
|  */
 | |
| 
 | |
| #ifndef SSD1963_CMD_H
 | |
| #define SSD1963_CMD_H
 | |
| 
 | |
| /**
 | |
|  * @brief No operation.
 | |
|  */
 | |
| #define SSD1963_CMD_NOP 0X00
 | |
| 
 | |
| /**
 | |
|  * @brief Software Reset.
 | |
|  */
 | |
| #define SSD1963_CMD_SOFT_RESET 0x01
 | |
| 
 | |
| /**
 | |
|  * @brief Get the current power mode.
 | |
|  */
 | |
| #define SSD1963_CMD_GET_POWER_MODE 0x0A
 | |
| 
 | |
| /**
 | |
|  * @brief Get the frame buffer to the display panel read order.
 | |
|  */
 | |
| #define SSD1963_CMD_GET_ADDRESS_MODE 0x0B
 | |
| 
 | |
| // #define SSD1963_CMD_RESERVED 0X0C
 | |
| 
 | |
| /**
 | |
|  * @brief The SSD1963 returns the Display Image Mode.
 | |
|  */
 | |
| #define SSD1963_CMD_GET_DISPLAY_MODE 0x0D
 | |
| 
 | |
| /**
 | |
|  * @brief Get the Tear Effect status.
 | |
|  */
 | |
| #define SSD1963_CMD_GET_TEAR_EFFECT_status 0x0E
 | |
| 
 | |
| //#define SSD1963_CMD_RESERVED 0X0F
 | |
| 
 | |
| /**
 | |
|  * @brief Turn off the panel. This command will pull high the GPIO0. If GPIO0 is configured as normal GPIO or LCD miscellaneous signal with command set_gpio_conf, this command will be ignored.
 | |
|  */
 | |
| #define SSD1963_CMD_ENTER_SLEEP_MODE 0x10
 | |
| 
 | |
| /**
 | |
|  * @brief Turn on the panel. This command will pull low the GPIO0. If GPIO0 is configured as normal GPIO or LCD miscellaneous signal with command set_gpio_conf, this command will be ignored.
 | |
|  */
 | |
| #define SSD1963_CMD_EXIT_SLEEP_MODE 0x11
 | |
| 
 | |
| /**
 | |
|  * @brief Part of the display area is used for image display.
 | |
|  */
 | |
| #define SSD1963_CMD_ENTER_PARTIAL_MODE 0x12
 | |
| 
 | |
| /**
 | |
|  * @brief The whole display area is used for image display.
 | |
|  */
 | |
| #define SSD1963_CMD_ENTER_NORMAL_MODE 0x13
 | |
| 
 | |
| /**
 | |
|  * @brief Displayed image colors are not inverted.
 | |
|  */
 | |
| #define SSD1963_CMD_EXIT_INVERT_MODE 0x20
 | |
| 
 | |
| /**
 | |
|  * @brief Displayed image colors are inverted.
 | |
|  */
 | |
| #define SSD1963_CMD_ENTER_INVERT_MODE 0x21
 | |
| 
 | |
| /**
 | |
|  * @brief Selects the gamma curve used by the display panel.
 | |
|  */
 | |
| #define SSD1963_CMD_SET_GAMMA_CURVE 0x26
 | |
| 
 | |
| /**
 | |
|  * @brief Blanks the display panel.
 | |
|  */
 | |
| #define SSD1963_CMD_SET_DISPLAY_OFF 0x28
 | |
| 
 | |
| /**
 | |
|  * @brief Show the image on the display panel.
 | |
|  */
 | |
| #define SSD1963_CMD_SET_DISPLAY_ON 0x29
 | |
| 
 | |
| /**
 | |
|  * @brief Set the column address.
 | |
|  */
 | |
| #define SSD1963_CMD_SET_COLUMN_ADDRESS 0x2A
 | |
| 
 | |
| /**
 | |
|  * @brief Set the page address.
 | |
|  */
 | |
| #define SSD1963_CMD_SET_PAGE_ADDRESS 0x2B
 | |
| 
 | |
| /**
 | |
|  * @brief Transfer image information from the host processor interface to the SSD1963 starting at the location provided by set_column_address and set_page_address.
 | |
|  */
 | |
| #define SSD1963_CMD_WRITE_MEMORY_START 0x2C
 | |
| 
 | |
| /**
 | |
|  * @brief Transfer image data from the SSD1963 to the host processor interface starting at the location provided by set_column_address and set_page_address.
 | |
|  */
 | |
| #define SSD1963_CMD_READ_MEMORY_START 0x2E
 | |
| 
 | |
| /**
 | |
|  * @brief Defines the partial display area on the display panel.
 | |
|  */
 | |
| #define SSD1963_CMD_SET_PARTIAL_AREA 0x30
 | |
| 
 | |
| /**
 | |
|  * @brief Defines the vertical scrolling and fixed area on display area.
 | |
|  */
 | |
| #define SSD1963_CMD_SET_SCROLL_AREA 0x33
 | |
| 
 | |
| /**
 | |
|  * @brief Synchronization information is not sent from the SSD1963 to the host processor.
 | |
|  */
 | |
| #define SSD1963_CMD_SET_TEAR_OFF 0x34
 | |
| 
 | |
| /**
 | |
|  * @brief Synchronization information is sent from the SSD1963 to the host processor at the start of VFP.
 | |
|  */
 | |
| #define SSD1963_CMD_SET_TEAR_ON 0x35
 | |
| 
 | |
| /**
 | |
|  * @brief Set the read order from frame buffer to the display panel.
 | |
|  */
 | |
| #define SSD1963_CMD_SET_ADDRESS_MODE 0x36
 | |
| 
 | |
| /**
 | |
|  * @brief Defines the vertical scrolling starting point.
 | |
|  */
 | |
| #define SSD1963_CMD_SET_SCROLL_START 0x37
 | |
| 
 | |
| /**
 | |
|  * @brief Full color depth is used for the display panel.
 | |
|  */
 | |
| #define SSD1963_CMD_EXIT_IDLE_MODE 0x38
 | |
| 
 | |
| /**
 | |
|  * @brief Reduce color depth is used on the display panel.
 | |
|  */
 | |
| #define SSD1963_CMD_ENTER_IDLE_MODE 0x39
 | |
| 
 | |
| // #define SSD1963_CMD_RESERVED 0X3A
 | |
| 
 | |
| /**
 | |
|  * @brief Transfer image information from the host processor interface to the SSD1963 from the last written location.
 | |
|  */
 | |
| #define SSD1963_CMD_WRITE_MEMORY_CONTINUE 0x3C
 | |
| 
 | |
| /**
 | |
|  * @brief Read image data from the SSD1963 continuing after the last read_memory_continue or read_memory_start.
 | |
|  */
 | |
| #define SSD1963_CMD_READ_MEMORY_CONTINUE 0x3E
 | |
| 
 | |
| /**
 | |
|  * @brief Synchronization information is sent from the SSD1963 to the host processor when the display panel refresh reaches the provided scan line.
 | |
|  */
 | |
| #define SSD1963_CMD_SET_TEAR_SCANLINE 0x44
 | |
| 
 | |
| /**
 | |
|  * @brief Get the current scan line.
 | |
|  */
 | |
| #define SSD1963_CMD_GET_SCANLINE 0x45
 | |
| 
 | |
| /**
 | |
|  * @brief Read the DDB from the provided location.
 | |
|  */
 | |
| #define SSD1963_CMD_READ_DDB 0xA1
 | |
| 
 | |
| // #define SSD1963_CMD_RESERVED 0xA8
 | |
| 
 | |
| /**
 | |
|  * @brief Set the LCD panel mode and resolution.
 | |
|  */
 | |
| #define SSD1963_CMD_SET_LCD_MODE 0xB0
 | |
| 
 | |
| /**
 | |
|  * @brief Get the current LCD panel mode, pad strength and resolution.
 | |
|  */
 | |
| #define SSD1963_CMD_GET_LCD_MODE 0xB1
 | |
| 
 | |
| /**
 | |
|  * @brief Set front porch
 | |
|  */
 | |
| #define SSD1963_CMD_SET_HORI_PERIOD 0xB4
 | |
| 
 | |
| /**
 | |
|  * @brief Get current front porch settings.
 | |
|  */
 | |
| #define SSD1963_CMD_GET_HORI_PERIOD 0xB5
 | |
| 
 | |
| /**
 | |
|  * @brief Set the vertical blanking interval between last scan line and next LFRAME pulse.
 | |
|  */
 | |
| #define SSD1963_CMD_SET_VERT_PERIOD 0xB6
 | |
| 
 | |
| /**
 | |
|  * @brief Get the vertical blanking interval between last scan line and next LFRAME pulse.
 | |
|  */
 | |
| #define SSD1963_CMD_GET_VERT_PERIOD 0xB7
 | |
| 
 | |
| /**
 | |
|  * @brief Set the GPIO configuration. If the GPIO is not used for LCD, set the direction. Otherwise, they are toggled with LCD signals.
 | |
|  */
 | |
| #define SSD1963_CMD_SET_GPIO_CONF 0xB8
 | |
| 
 | |
| /**
 | |
|  * @brief Get the current GPIO configuration.
 | |
|  */
 | |
| #define SSD1963_CMD_GET_GPIO_CONF 0xB9
 | |
| 
 | |
| /**
 | |
|  * @brief Set GPIO value for GPIO configured as output.
 | |
|  */
 | |
| #define SSD1963_CMD_SET_GPIO_VALUE 0xBA
 | |
| 
 | |
| /**
 | |
|  * @brief Read current GPIO status. If the individual GPIO was configured as input, the value is the status of the corresponding pin. Otherwise, it is the programmed value.
 | |
|  */
 | |
| #define SSD1963_CMD_GET_GPIO_STATUS 0xBB
 | |
| 
 | |
| /**
 | |
|  * @brief Set the image post processor.
 | |
|  */
 | |
| #define SSD1963_CMD_SET_POST_PROC 0xBC
 | |
| 
 | |
| /**
 | |
|  * @brief Get the image post processor.
 | |
|  */
 | |
| #define SSD1963_CMD_GET_POST_PROC 0xBD
 | |
| 
 | |
| /**
 | |
|  * @brief Set the image post processor.
 | |
|  */
 | |
| #define SSD1963_CMD_SET_PWM_CONF 0xBE
 | |
| 
 | |
|  /**
 | |
|  * @brief Get the image post processor.
 | |
|  */
 | |
| #define SSD1963_CMD_GET_PWM_CONF 0xBF
 | |
| 
 | |
| /**
 | |
|  * @brief Set the rise, fall, period and toggling properties of LCD signal generator 0.
 | |
|  */
 | |
| #define SSD1963_CMD_SET_LCD_GEN0 0xC0
 | |
| 
 | |
| /**
 | |
|  * @brief Get the current settings of LCD signal generator 0.
 | |
|  */
 | |
| #define SSD1963_CMD_GET_LCD_GEN0 0xC1
 | |
| 
 | |
| /**
 | |
|  * @brief Set the rise, fall, period and toggling properties of LCD signal generator 1.
 | |
|  */
 | |
| #define SSD1963_CMD_SET_LCD_GEN1 0xC2
 | |
| 
 | |
| /**
 | |
|  * @brief Get the current settings of LCD signal generator 1.
 | |
|  */
 | |
| #define SSD1963_CMD_GET_LCD_GEN1 0xC3
 | |
| 
 | |
| /**
 | |
|  * @brief Set the rise, fall, period and toggling properties of LCD signal generator 2.
 | |
|  */
 | |
| #define SSD1963_CMD_SET_LCD_GEN2 0xC4
 | |
| 
 | |
| /**
 | |
|  * @brief Get the current settings of LCD signal generator 2.
 | |
|  */
 | |
| #define SSD1963_CMD_GET_LCD_GEN2 0xC5
 | |
| 
 | |
| /**
 | |
|  * @brief Set the rise, fall, period and toggling properties of LCD signal generator 3.
 | |
|  */
 | |
| #define SSD1963_CMD_SET_LCD_GEN3 0xC6
 | |
| 
 | |
| /**
 | |
|  * @brief Get the current settings of LCD signal generator 3.
 | |
|  */
 | |
| #define SSD1963_CMD_GET_LCD_GEN3 0xC7
 | |
| 
 | |
| /**
 | |
|  * @brief Set the GPIO0 with respect to the LCD signal generators using ROP operation. No effect if the GPIO0 is configured as general GPIO.
 | |
|  */
 | |
| #define SSD1963_CMD_SET_GPIO0_ROP 0xC8
 | |
| 
 | |
| /**
 | |
|  * @brief Get the GPIO0 properties with respect to the LCD signal generators.
 | |
|  */
 | |
| #define SSD1963_CMD_GET_GPIO0_ROP 0xC9
 | |
| 
 | |
| /**
 | |
|  * @brief Set the GPIO1 with respect to the LCD signal generators using ROP operation. No effect if the GPIO1 is configured as general GPIO.
 | |
|  */
 | |
| #define SSD1963_CMD_SET_GPIO1_ROP 0xCA
 | |
| 
 | |
| /**
 | |
|  * @brief Get the GPIO1 properties with respect to the LCD signal generators.
 | |
|  */
 | |
| #define SSD1963_CMD_GET_GPIO1_ROP 0xCB
 | |
| 
 | |
| /**
 | |
|  * @brief Set the GPIO2 with respect to the LCD signal generators using ROP operation. No effect if the GPIO2 is configured as general GPIO.
 | |
|  */
 | |
| #define SSD1963_CMD_SET_GPIO2_ROP 0xCC
 | |
| 
 | |
| /**
 | |
|  * @brief Get the GPIO2 properties with respect to the LCD signal generators.
 | |
|  */
 | |
| #define SSD1963_CMD_GET_GPIO2_ROP 0xCD
 | |
| 
 | |
| /**
 | |
|  * @brief Set the GPIO3 with respect to the LCD signal generators using ROP operation. No effect if the GPIO3 is configured as general GPIO.
 | |
|  */
 | |
| #define SSD1963_CMD_SET_GPIO3_ROP 0xCE
 | |
| 
 | |
| /**
 | |
|  * @brief Get the GPIO3 properties with respect to the LCD signal generators.
 | |
|  */
 | |
| #define SSD1963_CMD_GET_GPIO3_ROP 0xCF
 | |
| 
 | |
| /**
 | |
|  * @brief Set the dynamic back light configuration.
 | |
|  */
 | |
| #define SSD1963_CMD_SET_DBC_CONF 0xD0
 | |
| 
 | |
| /**
 | |
|  * @brief Get the current dynamic back light configuration.
 | |
|  */
 | |
| #define SSD1963_CMD_GET_DBC_CONF 0xD
 | |
| 
 | |
| /**
 | |
|  * @brief Set the threshold for each level of power saving.
 | |
|  */
 | |
| #define SSD1963_CMD_SET_DBC_TH 0xD4
 | |
| 
 | |
| /**
 | |
|  * @brief Get the threshold for each level of power saving.
 | |
|  */
 | |
| #define SSD1963_CMD_GET_DBC_TH 0xD5
 | |
| 
 | |
| /**
 | |
|  * @brief Start the PLL. Before the start, the system was operated with the crystal oscillator or clock input.
 | |
|  */
 | |
| #define SSD1963_CMD_SET_PLL 0xE0
 | |
| 
 | |
| /**
 | |
|  * @brief Set the PLL.
 | |
|  */
 | |
| #define SSD1963_CMD_SET_PLL_MN 0xE2
 | |
| 
 | |
| /**
 | |
|  * @brief Get the PLL settings.
 | |
|  */
 | |
| #define SSD1963_CMD_GET_PLL_MN 0xE3
 | |
| 
 | |
| /**
 | |
|  * @brief Get the current PLL status.
 | |
|  */
 | |
| #define SSD1963_CMD_GET_PLL_STATUS 0xE4
 | |
| 
 | |
| /**
 | |
|  * @brief Set deep sleep mode.
 | |
|  */
 | |
| #define SSD1963_CMD_SET_DEEP_SLEEP 0xE5
 | |
| 
 | |
| /**
 | |
|  * @brief Set the LSHIFT (pixel clock) frequency.
 | |
|  */
 | |
| #define SSD1963_CMD_SET_LSHIFT_FREQ 0xE6
 | |
| 
 | |
| /**
 | |
|  * @brief Get current LSHIFT (pixel clock) frequency setting.
 | |
|  */
 | |
| #define SSD1963_CMD_GET_LSHIFT_FREQ 0xE7
 | |
| 
 | |
| // #define SSD1963_CMD_RESERVED 0xE8
 | |
| // #define SSD1963_CMD_RESERVED 0xE9
 | |
| 
 | |
| /**
 | |
|  * @brief Set the pixel data format of the parallel host processor interface.
 | |
|  */
 | |
| #define SSD1963_CMD_SET_PIXEL_DATA_INTERFACE 0xF0
 | |
| 
 | |
| /**
 | |
|  * @brief Get the current pixel data format settings.
 | |
|  */
 | |
| #define SSD1963_CMD_GET_PIXEL_DATA_INTERFACE 0xF1
 | |
| 
 | |
| // #define SSD1963_CMD_RESERVED 0xFF
 | |
| 
 | |
| /*! @} */ // ssd1963
 | |
| /*! @} */ // ssd1963
 | |
| /*! @} */ // mwgroup
 | |
| 
 | |
| #endif // SSD1963_CMD_H
 | |
| // ------------------------------------------------------------------------- END
 |