{"id":14995,"date":"2023-07-15T14:34:37","date_gmt":"2023-07-15T09:04:37","guid":{"rendered":"https:\/\/fastbitlab.com\/?p=14995"},"modified":"2023-10-20T16:45:49","modified_gmt":"2023-10-20T11:15:49","slug":"testing-exercise-001-in-landscape-mode","status":"publish","type":"post","link":"https:\/\/fastbitlab.com\/blog\/testing-exercise-001-in-landscape-mode\/","title":{"rendered":"STM32-LTDC, LCD-TFT, LVGL(MCU3) Lecture 42| Testing exercise 001 in landscape mode"},"content":{"rendered":"<div class=\"boldgrid-section color4-background-color color-4-text-contrast bg-background-color\">\n<div class=\"container\">\n<div class=\"row\">\n<div class=\"col-lg-1 col-md-12 col-sm-12 col-xs-12\"><\/div>\n<div class=\"col-lg-10 col-md-12 col-xs-12 col-sm-12\">\n<p class=\"\">&nbsp;<\/p>\n<h1 class=\"\" style=\"text-align: center; font-size: 35px; line-height: 50px; font-family: 'Roboto Slab'; font-weight: 400;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"color: #000080;\"><b>Testing exercise 001 in landscape mode<\/b><\/span><\/h1>\n<div class=\"row bg-editor-hr-wrap\">\n<div class=\"col-lg-12 col-md-12 col-xs-12 col-sm-12\">\n<div>\n<div class=\"bg-hr bg-hr-16 color2-color\" style=\"border-style: solid; border-width: 0px 0px 2px; box-shadow: #cecece 0px 0px 0px 0px inset;\"><\/div>\n<p>&nbsp;<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p class=\"\" style=\"font-family: 'Open Sans'; font-weight: 400; font-size: 20px; line-height: 30px;\" data-font-family=\"Open Sans\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"text-decoration: underline; color: #ff6600;\"><b>Display VIBGYOR color bars in Landscape mode:<\/b><\/span><\/p>\n<p class=\"\" style=\"font-size: 17px; line-height: 30px; font-family: 'Roboto Slab'; font-weight: 400;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">In the landscape mode, we are displaying these seven color bars( as shown in Figure 1).<\/span><\/p>\n<figure id=\"attachment_14998\" aria-describedby=\"caption-attachment-14998\" style=\"width: 697px\" class=\"wp-caption aligncenter\"><img fetchpriority=\"high\" decoding=\"async\" class=\"wp-image-14998\" src=\"https:\/\/fastbitlab.com\/wp-content\/uploads\/2023\/07\/Figure-1-1.png\" alt=\"VIBGYOR color bars in landscape mode\" width=\"697\" height=\"290\" srcset=\"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/07\/Figure-1-1.png 1879w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/07\/Figure-1-1-300x125.png 300w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/07\/Figure-1-1-1024x426.png 1024w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/07\/Figure-1-1-768x319.png 768w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/07\/Figure-1-1-600x249.png 600w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/07\/Figure-1-1-1536x638.png 1536w\" sizes=\"(max-width: 697px) 100vw, 697px\" \/><figcaption id=\"caption-attachment-14998\" class=\"wp-caption-text\"><span style=\"color: #000000;\">Figure 1. VIBGYOR bars<\/span><\/figcaption><\/figure>\n<p class=\"\">&nbsp;<\/p>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">Look at below code snippet, which shows the function bsp_lcd_fill_rect. You can utilize this function by providing the following parameters: the starting horizontal position and width of the rectangle in pixels, as well as the starting vertical position and height of the rectangle.<\/span><\/p>\n<p class=\"\" style=\"font-size: 17px; line-height: 30px; font-family: 'Roboto Slab'; font-weight: 400;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">For instance, in this scenario, the display has a width of 320 and a height of 240. Hence, the columns are numbered from 0 to 319, where 319 represents the last column, and the first column is denoted by 0. Similarly, there are 240 rows, numbered from 0 (first row) to 239 (last row).<\/span><\/p>\n<pre class=\"color-5-text-contrast color5-background-color\" style=\"font-size: 12px; box-shadow: #cecece 0px 0px 0px 0px;\"><span style=\"color: #008000;\">\/*<\/span>\r\n<span style=\"color: #008000;\">* Disc: Creates a rectangle and fills color<\/span>\r\n<span style=\"color: #008000;\">* rgb888: Color value in RGB888 format<\/span>\r\n<span style=\"color: #008000;\">* x_start : Horizontal start position of the rectangle ( 0 &lt;= x_start &lt; BSP_FB_WIDTH)<\/span>\r\n<span style=\"color: #008000;\">* x_width : Width of the rectangle in number of pixels ( 1 &lt;= x_width &lt;= BSP_FB_WIDTH )<\/span>\r\n<span style=\"color: #008000;\">* y_start : Vertical start position of the rectangle ( 0 &lt;= y_start &lt; BSP_FB_HEIGHT)<\/span>\r\n<span style=\"color: #008000;\">* y_height : Height of the rectangle in number of pixels ( 1 &lt;= y_height &lt;= BSP_FB_HEIGHT )<\/span>\r\n<span style=\"color: #008000;\">*\/<\/span>\r\n<span style=\"color: #993366;\">void<\/span> bsp_lcd_fill_rect(<span style=\"color: #008000;\">uint32_t<\/span> rgb888, <span style=\"color: #008000;\">uint32_t<\/span> x_start, <span style=\"color: #008000;\">uint32_t<\/span> x_width,<span style=\"color: #008000;\">uint32_t<\/span> y_start,<span style=\"color: #008000;\">uint32_t<\/span> y_height)\r\n{\r\n&nbsp; &nbsp;<span style=\"color: #993366;\"> void<\/span> *fb_ptr;\r\n\r\n&nbsp; &nbsp;if((x_start+x_width) &gt; BSP_FB_WIDTH) return;\r\n&nbsp; &nbsp;if((y_start+y_height) &gt; BSP_FB_HEIGHT) return;\r\n\r\n&nbsp;<span style=\"color: #993366;\"> &nbsp;while<\/span>(y_height--){\r\n#if(BSP_LCD_PIXEL_FMT == BSP_LCD_PIXEL_FMT_RGB565)\r\n&nbsp; &nbsp; &nbsp; &nbsp;<span style=\"color: #993366;\"> &nbsp;#define<\/span> BYTES_PER_PIXEL 2\r\n&nbsp; &nbsp; &nbsp; &nbsp;<span style=\"color: #008000;\"> &nbsp;uint32_t<\/span> fb_offset = (BSP_FB_WIDTH * BYTES_PER_PIXEL * y_start) + (x_start * BYTES_PER_PIXEL);\r\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fb_ptr = (<span style=\"color: #008000;\">uint16_t<\/span>*)&amp;bsp_fb[fb_offset];\r\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_to_fb_rgb565(fb_ptr,x_width,Convert_RGB888_to_RGB565(rgb888));\r\n<span style=\"color: #993366;\">#endif<\/span>\r\ny_start++;\r\n}\r\n}<\/pre>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">To use this <strong><span style=\"color: #993366;\">bsp_lcd_fill_rect<\/span><\/strong> function, you have to first send the color in the form of RGB888 and the horizontal start position.<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><\/p>\n<p class=\"\">&nbsp;<\/p>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">Let&#8217;s begin with VIOLET; the color should be sent in the RGB888 format. The horizontal start position is 0, and the desired width is the full-screen width of 320 pixels. The vertical start position is also 0, and the vertical height is 34. This will create a rectangle with a violet color.<\/span><\/p>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">Next is the Indigo color. Here, we first send the color in the RGB888 format. The horizontal start position is 0, the width is 320 pixels, the vertical start position begins at 34, and the vertical height is also 34. By following this pattern, you can create the remaining rectangles as shown below.<\/span><\/p>\n<pre class=\"color-5-text-contrast color5-background-color\" style=\"font-size: 12px; box-shadow: #cecece 0px 0px 0px 0px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\"><span style=\"color: #ff99cc;\">void <\/span>SystemClock_Setup(void);\r\n<span style=\"color: #ff99cc;\">void<\/span> LTDC_Pin_Init(void);\r\n<span style=\"color: #ff99cc;\">void<\/span> LTDC_Init(void);\r\n<span style=\"color: #ff99cc;\">void<\/span> LTDC_Layer_Init(LTDC_Layer_TypeDef *pLayer);\r\n<span style=\"color: #ff99cc;\">int<\/span> main(<span style=\"color: #ff99cc;\">void<\/span>)\r\n{\r\n     SystemClock_Setup();\r\n     BSP_LCD_Init();\r\n     BSP_LCD_Set_Orientation(PORTRAIT);\r\n     LTDC_Pin_Init();\r\n     LTDC_Init();\r\n     LTDC_Layer_Init(LTDC_Layer1);\r\n     bsp_lcd_set_fb_background_color(BLACK);\r\n<span style=\"color: #ffff00;\"><strong>     bsp_lcd_fill_rect(VIOLET, 0, 320, 34*0, 34);<\/strong><\/span>\r\n<span style=\"color: #ffff00;\"><strong>     bsp_lcd_fill_rect(INDIGO, 0, 320, 34*1, 34);<\/strong><\/span>\r\n<span style=\"color: #ffff00;\"><strong>     bsp_lcd_fill_rect(BLUE, 0, 320, 34*2, 34);<\/strong><\/span>\r\n<span style=\"color: #ffff00;\"><strong>     bsp_lcd_fill_rect(GREEN, 0, 320, 34*3, 34);<\/strong><\/span>\r\n<span style=\"color: #ffff00;\"><strong>     bsp_lcd_fill_rect(YELLOW, 0, 320, 34*4, 34);<\/strong><\/span>\r\n<span style=\"color: #ffff00;\"><strong>     bsp_lcd_fill_rect(ORANGE, 0, 320, 34*5, 34);<\/strong><\/span>\r\n<span style=\"color: #ffff00;\"><strong>     bsp_lcd_fill_rect(RED, 0, 320, 34*6, 34);\r\n<span style=\"color: #008000;\">\/*loop forever*\/<\/span>\r\n<span style=\"color: #ff99cc;\">for(;;);<\/span>\r\n<span style=\"color: #ffffff;\">}<\/span><\/strong><\/span><\/pre>\n<p class=\"\">&nbsp;<\/p>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">Now, let&#8217;s set the fb_background_color as shown below.<\/span><\/p>\n<pre class=\"color-5-text-contrast color5-background-color\" style=\"font-size: 12px; box-shadow: #cecece 0px 0px 0px 0px;\"><strong><span style=\"color: #ff99cc;\">#define<\/span> VIOLET&nbsp; RGB888(148,0,211)<\/strong>\r\n<strong><span style=\"color: #ff99cc;\">#define<\/span> INDIGO&nbsp; RGB888(75,0,130)<\/strong>\r\n<strong><span style=\"color: #ff99cc;\">#define<\/span> BLUE&nbsp; &nbsp; RGB888(0,0,255)<\/strong>\r\n<strong><span style=\"color: #ff99cc;\">#define<\/span> GREEN&nbsp; &nbsp;RGB888(0,255,0)<\/strong>\r\n<strong><span style=\"color: #ff99cc;\">#define <\/span>YELLOW  RGB888(255,255,0)<\/strong>\r\n<strong><span style=\"color: #ff99cc;\">#define<\/span> ORANGE  RGB888(255,127,0)<\/strong>\r\n<strong><span style=\"color: #ff99cc;\">#define<\/span> RED&nbsp; &nbsp; &nbsp;RGB888(255,0,0)<\/strong>\r\n<strong><span style=\"color: #ff99cc;\">#define <\/span>WHITE&nbsp; &nbsp;RGB888(255,255,255)<\/strong>\r\n<strong><span style=\"color: #ff99cc;\">#define<\/span> BLACK&nbsp; &nbsp;RGB888(0,0,0)<\/strong>\r\n\r\n<span style=\"color: #ff99cc;\">void<\/span> SystemClock_Setup(<span style=\"color: #ff99cc;\">void<\/span>);\r\n<span style=\"color: #ff99cc;\">void <\/span>LTDC_Pin_Init(<span style=\"color: #ff99cc;\">void<\/span>);\r\n<span style=\"color: #ff99cc;\">void <\/span>LTDC_Init(<span style=\"color: #ff99cc;\">void<\/span>);\r\nvoid LTDC_Layer_Init(<span style=\"color: #008000;\">LTDC_Layer_TypeDef<\/span> *pLayer);\r\nint main(void)\r\n{\r\n&nbsp; &nbsp; &nbsp; &nbsp;SystemClock_Setup();\r\n&nbsp; &nbsp; &nbsp; &nbsp;BSP_LCD_Init();\r\n&nbsp; &nbsp; &nbsp; &nbsp;BSP_LCD_Set_Orientation(PORTRAIT);\r\n&nbsp; &nbsp; &nbsp; &nbsp;LTDC_Pin_Init();\r\n&nbsp; &nbsp; &nbsp; &nbsp;LTDC_Init();\r\n&nbsp; &nbsp; &nbsp; &nbsp;LTDC_Layer_Init(LTDC_Layer1);\r\n  &nbsp; &nbsp; <span style=\"color: #ffff00;\"> <strong>bsp_lcd_set_fb_background_color(BLACK);<\/strong><\/span>\r\n\r\n\/*loop forever*\/\r\n\r\nfor(;;);\r\n\r\n}<\/pre>\n<p class=\"\">&nbsp;<\/p>\n<p class=\"\">&nbsp;<\/p>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">Next, navigate to bsp_lcd.h and set the orientation to landscape mode. Then, set the layer width and height.<\/span><\/p>\n<pre class=\"color-5-text-contrast color5-background-color\" style=\"font-size: 12px; box-shadow: #cecece 0px 0px 0px 0px;\"><strong><span style=\"color: #008000;\">\/*Select orientation*\/<\/span><\/strong>\r\n<span style=\"color: #ff99cc;\">#define<\/span> PORTRAIT 0\r\n<span style=\"color: #ff99cc;\">#define<\/span> LANDSCAPE 1\r\n<strong><span style=\"color: #ff99cc;\">#define<\/span> BSP_LCD_ORIENTATION <span style=\"color: #ffff99;\">LANDSCAPE<\/span><\/strong>\r\n\r\n<span style=\"color: #ff99cc;\">#if<\/span>(BSP_LCD_ORIENTATION == PORTRAIT)\r\n<span style=\"color: #ff99cc;\">   #define<\/span> BSP_LCD_ACTIVE_WIDTH    BSP_LCD_WIDTH\r\n<span style=\"color: #ff99cc;\">   #define<\/span> BSP_LCD_ACTIVE_HEIGHT   BSP_LCD_HEIGHT\r\n<span style=\"color: #ff99cc;\">#elif<\/span>(BSP_LCD_ORIENTATION == LANDSCAPE)\r\n<span style=\"color: #ff99cc;\">   #define<\/span> BSP_LCD_ACTIVE_WIDTH    BSP_LCD_HEIGHT\r\n<span style=\"color: #ff99cc;\">   #define<\/span> BSP_LCD_ACTIVE_HEIGHT   BSP_LCD_WIDTH\r\n<span style=\"color: #ff99cc;\">#endif<\/span>\r\n\r\n<strong><span style=\"color: #008000;\">\r\n\/*Set layer width and height *\/<\/span>\r\n<span style=\"color: #ff99cc;\">#define<\/span> BSP_LTDC_LAYER_WIDTH      BSP_LCD_ACTIVE_WIDTH<\/strong>\r\n<strong><span style=\"color: #ff99cc;\">#define <\/span>BSP_LTDC_LAYER_HEIGHT     BSP_LCD_ACTIVE_HEIGHT<\/strong>\r\n<strong><span style=\"color: #ff99cc;\">#define<\/span> BSP_LTDC_LAYER_H_START     0<\/strong>\r\n<strong><span style=\"color: #ff99cc;\">#define<\/span> BSP_LTDC_LAYER_H_STOP     BSP_LCD_ACTIVE_WIDTH<\/strong>\r\n<strong><span style=\"color: #ff99cc;\">#define<\/span> BSP_LTDC_LAYER_V_START     0<\/strong>\r\n<strong><span style=\"color: #ff99cc;\">#define<\/span> BSP_LTDC_LAYER_V_STOP     BSP_LCD_ACTIVE_HEIGHT<\/strong><\/pre>\n<p class=\"\">&nbsp;<\/p>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">Afterwards, execute the program and observe the output in Figure 2. You will notice seven color bars being displayed.<\/span><\/p>\n<figure id=\"attachment_15004\" aria-describedby=\"caption-attachment-15004\" style=\"width: 647px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" class=\"wp-image-15004\" src=\"https:\/\/fastbitlab.com\/wp-content\/uploads\/2023\/07\/Figure-6-1.png\" alt=\"VIBGYOR color bars in landscape mode\" width=\"647\" height=\"223\" srcset=\"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/07\/Figure-6-1.png 1663w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/07\/Figure-6-1-300x103.png 300w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/07\/Figure-6-1-1024x353.png 1024w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/07\/Figure-6-1-768x265.png 768w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/07\/Figure-6-1-600x207.png 600w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/07\/Figure-6-1-1536x529.png 1536w\" sizes=\"(max-width: 647px) 100vw, 647px\" \/><figcaption id=\"caption-attachment-15004\" class=\"wp-caption-text\"><span style=\"color: #000000;\">Figure 2. Output<\/span><\/figcaption><\/figure>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"color: #000000;\"><span style=\"font-weight: 400;\">In the following article, let&#8217;s see how to display these things in portrait mode.<\/span><span style=\"font-weight: 400;\">&nbsp;<\/span><\/span><\/p>\n<p class=\"\">&nbsp;<\/p>\n<p class=\"\" style=\"font-size: 18px; line-height: 30px; font-family: 'Roboto Slab'; font-weight: 400;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><strong><span style=\"color: #993366;\">Get the Mastering Microcontroller: STM32-LTDC, LCD-TFT, LVGL(MCU3) Full Course on <span style=\"color: #0000ff;\"><a style=\"color: #0000ff;\" href=\"https:\/\/www.udemy.com\/course\/mastering-microcontroller-stm32-ltdc-lcd-tft-lvgl\/\" target=\"_blank\" rel=\"noopener\">Here<\/a><\/span><\/span><\/strong><\/p>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 20px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"color: #000080;\"><strong>FastBit Embedded Brain Academy Courses<\/strong><\/span><\/p>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"color: #0000ff;\"><a style=\"color: #0000ff;\" href=\"https:\/\/fastbitlab.com\/course1\">https:\/\/fastbitlab.com\/course1<\/a><\/span><\/p>\n<p class=\"\">&nbsp;<\/p>\n<\/div>\n<div class=\"col-lg-1 col-md-12 col-sm-12 col-xs-12\">\n<p>&nbsp;<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; Testing exercise 001 in landscape mode &nbsp; Display VIBGYOR color bars in Landscape mode: In the landscape mode, we are displaying these seven color bars( as shown in Figure 1). &nbsp; Look at below code snippet, which shows the function bsp_lcd_fill_rect. You can utilize this function by providing the following parameters: the starting horizontal [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":14998,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ocean_post_layout":"","ocean_both_sidebars_style":"","ocean_both_sidebars_content_width":0,"ocean_both_sidebars_sidebars_width":0,"ocean_sidebar":"0","ocean_second_sidebar":"0","ocean_disable_margins":"enable","ocean_add_body_class":"","ocean_shortcode_before_top_bar":"","ocean_shortcode_after_top_bar":"","ocean_shortcode_before_header":"","ocean_shortcode_after_header":"","ocean_has_shortcode":"","ocean_shortcode_after_title":"","ocean_shortcode_before_footer_widgets":"","ocean_shortcode_after_footer_widgets":"","ocean_shortcode_before_footer_bottom":"","ocean_shortcode_after_footer_bottom":"","ocean_display_top_bar":"default","ocean_display_header":"default","ocean_header_style":"","ocean_center_header_left_menu":"0","ocean_custom_header_template":"0","ocean_custom_logo":0,"ocean_custom_retina_logo":0,"ocean_custom_logo_max_width":0,"ocean_custom_logo_tablet_max_width":0,"ocean_custom_logo_mobile_max_width":0,"ocean_custom_logo_max_height":0,"ocean_custom_logo_tablet_max_height":0,"ocean_custom_logo_mobile_max_height":0,"ocean_header_custom_menu":"0","ocean_menu_typo_font_family":"0","ocean_menu_typo_font_subset":"","ocean_menu_typo_font_size":0,"ocean_menu_typo_font_size_tablet":0,"ocean_menu_typo_font_size_mobile":0,"ocean_menu_typo_font_size_unit":"px","ocean_menu_typo_font_weight":"","ocean_menu_typo_font_weight_tablet":"","ocean_menu_typo_font_weight_mobile":"","ocean_menu_typo_transform":"","ocean_menu_typo_transform_tablet":"","ocean_menu_typo_transform_mobile":"","ocean_menu_typo_line_height":0,"ocean_menu_typo_line_height_tablet":0,"ocean_menu_typo_line_height_mobile":0,"ocean_menu_typo_line_height_unit":"","ocean_menu_typo_spacing":0,"ocean_menu_typo_spacing_tablet":0,"ocean_menu_typo_spacing_mobile":0,"ocean_menu_typo_spacing_unit":"","ocean_menu_link_color":"","ocean_menu_link_color_hover":"","ocean_menu_link_color_active":"","ocean_menu_link_background":"","ocean_menu_link_hover_background":"","ocean_menu_link_active_background":"","ocean_menu_social_links_bg":"","ocean_menu_social_hover_links_bg":"","ocean_menu_social_links_color":"","ocean_menu_social_hover_links_color":"","ocean_disable_title":"default","ocean_disable_heading":"default","ocean_post_title":"","ocean_post_subheading":"","ocean_post_title_style":"","ocean_post_title_background_color":"","ocean_post_title_background":0,"ocean_post_title_bg_image_position":"","ocean_post_title_bg_image_attachment":"","ocean_post_title_bg_image_repeat":"","ocean_post_title_bg_image_size":"","ocean_post_title_height":0,"ocean_post_title_bg_overlay":0.5,"ocean_post_title_bg_overlay_color":"","ocean_disable_breadcrumbs":"default","ocean_breadcrumbs_color":"","ocean_breadcrumbs_separator_color":"","ocean_breadcrumbs_links_color":"","ocean_breadcrumbs_links_hover_color":"","ocean_display_footer_widgets":"default","ocean_display_footer_bottom":"default","ocean_custom_footer_template":"0","ocean_post_oembed":"","ocean_post_self_hosted_media":"","ocean_post_video_embed":"","ocean_link_format":"","ocean_link_format_target":"self","ocean_quote_format":"","ocean_quote_format_link":"post","ocean_gallery_link_images":"off","ocean_gallery_id":[],"footnotes":""},"categories":[8],"tags":[],"class_list":["post-14995","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","entry","has-media"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Display VIBGYOR Color Bars in Landscape Mode with LVGL<\/title>\n<meta name=\"description\" content=\"Learn how to create VIBGYOR color bars in landscape mode using LVGL. Follow a step-by-step guide to set up the display, define colors, use\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fastbitlab.com\/blog\/testing-exercise-001-in-landscape-mode\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Display VIBGYOR Color Bars in Landscape Mode with LVGL\" \/>\n<meta property=\"og:description\" content=\"Learn how to create VIBGYOR color bars in landscape mode using LVGL. Follow a step-by-step guide to set up the display, define colors, use\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fastbitlab.com\/blog\/testing-exercise-001-in-landscape-mode\/\" \/>\n<meta property=\"og:site_name\" content=\"FastBit EBA\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/fastbiteba\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-15T09:04:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-10-20T11:15:49+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/07\/Figure-1-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1879\" \/>\n\t<meta property=\"og:image:height\" content=\"781\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"FastBitLab\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@fastbiteba\" \/>\n<meta name=\"twitter:site\" content=\"@fastbiteba\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"FastBitLab\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/testing-exercise-001-in-landscape-mode\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/testing-exercise-001-in-landscape-mode\\\/\"},\"author\":{\"name\":\"FastBitLab\",\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/#\\\/schema\\\/person\\\/e32b38e733a0d76ffa7e6bc998652e5d\"},\"headline\":\"STM32-LTDC, LCD-TFT, LVGL(MCU3) Lecture 42| Testing exercise 001 in landscape mode\",\"datePublished\":\"2023-07-15T09:04:37+00:00\",\"dateModified\":\"2023-10-20T11:15:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/testing-exercise-001-in-landscape-mode\\\/\"},\"wordCount\":369,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/testing-exercise-001-in-landscape-mode\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/Figure-1-1.png\",\"articleSection\":[\"Blog\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/testing-exercise-001-in-landscape-mode\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/testing-exercise-001-in-landscape-mode\\\/\",\"url\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/testing-exercise-001-in-landscape-mode\\\/\",\"name\":\"Display VIBGYOR Color Bars in Landscape Mode with LVGL\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/testing-exercise-001-in-landscape-mode\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/testing-exercise-001-in-landscape-mode\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/Figure-1-1.png\",\"datePublished\":\"2023-07-15T09:04:37+00:00\",\"dateModified\":\"2023-10-20T11:15:49+00:00\",\"description\":\"Learn how to create VIBGYOR color bars in landscape mode using LVGL. Follow a step-by-step guide to set up the display, define colors, use\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/testing-exercise-001-in-landscape-mode\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/testing-exercise-001-in-landscape-mode\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/testing-exercise-001-in-landscape-mode\\\/#primaryimage\",\"url\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/Figure-1-1.png\",\"contentUrl\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/Figure-1-1.png\",\"width\":1879,\"height\":781,\"caption\":\"Figure 1. VIBGYOR bars\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/testing-exercise-001-in-landscape-mode\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"STM32-LTDC, LCD-TFT, LVGL(MCU3) Lecture 42| Testing exercise 001 in landscape mode\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/\",\"name\":\"FastBit EBA\",\"description\":\"Your Online Academy of Embedded Systems\",\"publisher\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/#organization\",\"name\":\"FastBit EBA\",\"url\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/logo-EzNrEnyr.png\",\"contentUrl\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/logo-EzNrEnyr.png\",\"width\":640,\"height\":640,\"caption\":\"FastBit EBA\"},\"image\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/fastbiteba\\\/\",\"https:\\\/\\\/x.com\\\/fastbiteba\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/fastbit-embedded-brain-academy-b3167b124\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCa1REBV9hyrzGp2mjJCagBg\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/#\\\/schema\\\/person\\\/e32b38e733a0d76ffa7e6bc998652e5d\",\"name\":\"FastBitLab\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9230d0f9bdef28b63a01e7ca274ee7b2e8ed9abe932ee564af8809caaf52a0c8?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9230d0f9bdef28b63a01e7ca274ee7b2e8ed9abe932ee564af8809caaf52a0c8?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9230d0f9bdef28b63a01e7ca274ee7b2e8ed9abe932ee564af8809caaf52a0c8?s=96&d=mm&r=g\",\"caption\":\"FastBitLab\"},\"description\":\"The FastBit Embedded Brain Academy uses the power of internet to bring the online courses related to the field of embedded system programming, Real time operating system, Embedded Linux systems, etc at your finger tip with very low cost. Backed with strong experience of industry, we have produced lots of courses with the customer enrolment over 3000+ across 100+ countries.\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Display VIBGYOR Color Bars in Landscape Mode with LVGL","description":"Learn how to create VIBGYOR color bars in landscape mode using LVGL. Follow a step-by-step guide to set up the display, define colors, use","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fastbitlab.com\/blog\/testing-exercise-001-in-landscape-mode\/","og_locale":"en_US","og_type":"article","og_title":"Display VIBGYOR Color Bars in Landscape Mode with LVGL","og_description":"Learn how to create VIBGYOR color bars in landscape mode using LVGL. Follow a step-by-step guide to set up the display, define colors, use","og_url":"https:\/\/fastbitlab.com\/blog\/testing-exercise-001-in-landscape-mode\/","og_site_name":"FastBit EBA","article_publisher":"https:\/\/www.facebook.com\/fastbiteba\/","article_published_time":"2023-07-15T09:04:37+00:00","article_modified_time":"2023-10-20T11:15:49+00:00","og_image":[{"width":1879,"height":781,"url":"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/07\/Figure-1-1.png","type":"image\/png"}],"author":"FastBitLab","twitter_card":"summary_large_image","twitter_creator":"@fastbiteba","twitter_site":"@fastbiteba","twitter_misc":{"Written by":"FastBitLab","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fastbitlab.com\/blog\/testing-exercise-001-in-landscape-mode\/#article","isPartOf":{"@id":"https:\/\/fastbitlab.com\/blog\/testing-exercise-001-in-landscape-mode\/"},"author":{"name":"FastBitLab","@id":"https:\/\/fastbitlab.com\/blog\/#\/schema\/person\/e32b38e733a0d76ffa7e6bc998652e5d"},"headline":"STM32-LTDC, LCD-TFT, LVGL(MCU3) Lecture 42| Testing exercise 001 in landscape mode","datePublished":"2023-07-15T09:04:37+00:00","dateModified":"2023-10-20T11:15:49+00:00","mainEntityOfPage":{"@id":"https:\/\/fastbitlab.com\/blog\/testing-exercise-001-in-landscape-mode\/"},"wordCount":369,"commentCount":0,"publisher":{"@id":"https:\/\/fastbitlab.com\/blog\/#organization"},"image":{"@id":"https:\/\/fastbitlab.com\/blog\/testing-exercise-001-in-landscape-mode\/#primaryimage"},"thumbnailUrl":"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/07\/Figure-1-1.png","articleSection":["Blog"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fastbitlab.com\/blog\/testing-exercise-001-in-landscape-mode\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fastbitlab.com\/blog\/testing-exercise-001-in-landscape-mode\/","url":"https:\/\/fastbitlab.com\/blog\/testing-exercise-001-in-landscape-mode\/","name":"Display VIBGYOR Color Bars in Landscape Mode with LVGL","isPartOf":{"@id":"https:\/\/fastbitlab.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/fastbitlab.com\/blog\/testing-exercise-001-in-landscape-mode\/#primaryimage"},"image":{"@id":"https:\/\/fastbitlab.com\/blog\/testing-exercise-001-in-landscape-mode\/#primaryimage"},"thumbnailUrl":"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/07\/Figure-1-1.png","datePublished":"2023-07-15T09:04:37+00:00","dateModified":"2023-10-20T11:15:49+00:00","description":"Learn how to create VIBGYOR color bars in landscape mode using LVGL. Follow a step-by-step guide to set up the display, define colors, use","breadcrumb":{"@id":"https:\/\/fastbitlab.com\/blog\/testing-exercise-001-in-landscape-mode\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fastbitlab.com\/blog\/testing-exercise-001-in-landscape-mode\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fastbitlab.com\/blog\/testing-exercise-001-in-landscape-mode\/#primaryimage","url":"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/07\/Figure-1-1.png","contentUrl":"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/07\/Figure-1-1.png","width":1879,"height":781,"caption":"Figure 1. VIBGYOR bars"},{"@type":"BreadcrumbList","@id":"https:\/\/fastbitlab.com\/blog\/testing-exercise-001-in-landscape-mode\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fastbitlab.com\/blog\/"},{"@type":"ListItem","position":2,"name":"STM32-LTDC, LCD-TFT, LVGL(MCU3) Lecture 42| Testing exercise 001 in landscape mode"}]},{"@type":"WebSite","@id":"https:\/\/fastbitlab.com\/blog\/#website","url":"https:\/\/fastbitlab.com\/blog\/","name":"FastBit EBA","description":"Your Online Academy of Embedded Systems","publisher":{"@id":"https:\/\/fastbitlab.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fastbitlab.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/fastbitlab.com\/blog\/#organization","name":"FastBit EBA","url":"https:\/\/fastbitlab.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fastbitlab.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2026\/04\/logo-EzNrEnyr.png","contentUrl":"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2026\/04\/logo-EzNrEnyr.png","width":640,"height":640,"caption":"FastBit EBA"},"image":{"@id":"https:\/\/fastbitlab.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/fastbiteba\/","https:\/\/x.com\/fastbiteba","https:\/\/www.linkedin.com\/in\/fastbit-embedded-brain-academy-b3167b124\/","https:\/\/www.youtube.com\/channel\/UCa1REBV9hyrzGp2mjJCagBg"]},{"@type":"Person","@id":"https:\/\/fastbitlab.com\/blog\/#\/schema\/person\/e32b38e733a0d76ffa7e6bc998652e5d","name":"FastBitLab","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/9230d0f9bdef28b63a01e7ca274ee7b2e8ed9abe932ee564af8809caaf52a0c8?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/9230d0f9bdef28b63a01e7ca274ee7b2e8ed9abe932ee564af8809caaf52a0c8?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9230d0f9bdef28b63a01e7ca274ee7b2e8ed9abe932ee564af8809caaf52a0c8?s=96&d=mm&r=g","caption":"FastBitLab"},"description":"The FastBit Embedded Brain Academy uses the power of internet to bring the online courses related to the field of embedded system programming, Real time operating system, Embedded Linux systems, etc at your finger tip with very low cost. Backed with strong experience of industry, we have produced lots of courses with the customer enrolment over 3000+ across 100+ countries."}]}},"_links":{"self":[{"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/posts\/14995","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/comments?post=14995"}],"version-history":[{"count":5,"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/posts\/14995\/revisions"}],"predecessor-version":[{"id":16172,"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/posts\/14995\/revisions\/16172"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/media\/14998"}],"wp:attachment":[{"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/media?parent=14995"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/categories?post=14995"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/tags?post=14995"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}