MCPcopy Create free account
hub / github.com/RT-Thread/rt-thread / load_lcd_config_from_xml

Function load_lcd_config_from_xml

bsp/allwinner/libraries/drivers/lcd_cfg.c:1191–1224  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1189#define LCD_CONFIG_FILE LCD_XML_CONFIG_FILE
1190#endif
1191const struct lcd_cfg_panel_info *load_lcd_config_from_xml(void)
1192{
1193 struct property_t *_config_item;
1194 static rt_uint8_t init_state = 0;
1195
1196 rt_enter_critical();
1197 if (init_state == 0)
1198 {
1199 init_state = 1;
1200 rt_exit_critical();
1201 }
1202 else
1203 {
1204 rt_exit_critical();
1205
1206 while (init_state != 2)
1207 {
1208 rt_thread_mdelay(10);
1209 }
1210 goto _RET;
1211 }
1212
1213 g_lcd0_config = g_lcd0_config_rgb;
1214 g_lcd0_config_len = sizeof(g_lcd0_config_rgb) / sizeof(struct property_t);
1215_RET:
1216
1217 init_state = 2;
1218 _config_item = _lcd_property_find("lcd_x", g_lcd0_config, g_lcd0_config_len);
1219 _panel_info.width = _config_item->v.value;
1220 _config_item = _lcd_property_find("lcd_y", g_lcd0_config, g_lcd0_config_len);
1221 _panel_info.height = _config_item->v.value;
1222
1223 return &_panel_info;
1224}

Callers 1

rt_lcd_initFunction · 0.85

Calls 4

rt_thread_mdelayFunction · 0.85
_lcd_property_findFunction · 0.85
rt_enter_criticalFunction · 0.50
rt_exit_criticalFunction · 0.50

Tested by

no test coverage detected