Open
Description
I'm using EEZ studio with EEZ workflow and LVGL 9 on a ESP32-P4 board with 7 inch screen (1024x600).
When ui_init() is called, function tick_screen_dashboard() (= tick_screen(0)) is blocking so I have this error :
_E (6477) task_wdt: Task watchdog got triggered. The following tasks/users did not reset the watchdog in time:
E (6477) task_wdt: - IDLE0 (CPU 0)
E (6477) task_wdt: Tasks currently running:
E (6477) task_wdt: CPU 0: main
E (6477) task_wdt: CPU 1: IDLE1
E (6477) task_wdt: Print CPU 0 (current core) backtrace_
If I remove workflow and variables on the screen (Page in EEZ studio) and call only eez_flow_tick() it works.
This is problematic method :
void tick_screen_dashboard() {
void *flowState = getFlowState(0, 1);
{
const char *new_val = evalTextProperty(flowState, 25, 3, "Failed to evaluate Text in Label widget");
const char *cur_val = lv_label_get_text(objects.trip_1_value);
if (strcmp(new_val, cur_val) != 0) {
tick_value_change_obj = objects.trip_1_value;
lv_label_set_text(objects.trip_1_value, new_val);
tick_value_change_obj = NULL;
}
}
{
const char *new_val = evalTextProperty(flowState, 28, 3, "Failed to evaluate Text in Label widget");
const char *cur_val = lv_label_get_text(objects.trip_2_value);
if (strcmp(new_val, cur_val) != 0) {
tick_value_change_obj = objects.trip_2_value;
lv_label_set_text(objects.trip_2_value, new_val);
tick_value_change_obj = NULL;
}
}
{
const char *new_val = evalTextProperty(flowState, 31, 3, "Failed to evaluate Text in Label widget");
const char *cur_val = lv_label_get_text(objects.odometer_value);
if (strcmp(new_val, cur_val) != 0) {
tick_value_change_obj = objects.odometer_value;
lv_label_set_text(objects.odometer_value, new_val);
tick_value_change_obj = NULL;
}
}
{
const char *new_val = evalTextProperty(flowState, 34, 3, "Failed to evaluate Text in Label widget");
const char *cur_val = lv_label_get_text(objects.weather_icon);
if (strcmp(new_val, cur_val) != 0) {
tick_value_change_obj = objects.weather_icon;
lv_label_set_text(objects.weather_icon, new_val);
tick_value_change_obj = NULL;
}
}
{
const char *new_val = evalTextProperty(flowState, 45, 3, "Failed to evaluate Text in Label widget");
const char *cur_val = lv_label_get_text(objects.atmo_alti_value);
if (strcmp(new_val, cur_val) != 0) {
tick_value_change_obj = objects.atmo_alti_value;
lv_label_set_text(objects.atmo_alti_value, new_val);
tick_value_change_obj = NULL;
}
}
{
const char *new_val = evalTextProperty(flowState, 49, 3, "Failed to evaluate Text in Label widget");
const char *cur_val = lv_label_get_text(objects.atmo_temp_value);
if (strcmp(new_val, cur_val) != 0) {
tick_value_change_obj = objects.atmo_temp_value;
lv_label_set_text(objects.atmo_temp_value, new_val);
tick_value_change_obj = NULL;
}
}
{
const char *new_val = evalTextProperty(flowState, 50, 3, "Failed to evaluate Text in Label widget");
const char *cur_val = lv_label_get_text(objects.atmo_temp_unit);
if (strcmp(new_val, cur_val) != 0) {
tick_value_change_obj = objects.atmo_temp_unit;
lv_label_set_text(objects.atmo_temp_unit, new_val);
tick_value_change_obj = NULL;
}
}
{
const char *new_val = evalTextProperty(flowState, 57, 3, "Failed to evaluate Text in Label widget");
const char *cur_val = lv_label_get_text(objects.tyre_pressure_unit);
if (strcmp(new_val, cur_val) != 0) {
tick_value_change_obj = objects.tyre_pressure_unit;
lv_label_set_text(objects.tyre_pressure_unit, new_val);
tick_value_change_obj = NULL;
}
}
{
const char *new_val = evalTextProperty(flowState, 66, 3, "Failed to evaluate Text in Label widget");
const char *cur_val = lv_label_get_text(objects.rpm_value);
if (strcmp(new_val, cur_val) != 0) {
tick_value_change_obj = objects.rpm_value;
lv_label_set_text(objects.rpm_value, new_val);
tick_value_change_obj = NULL;
}
}
{
const char *new_val = evalTextProperty(flowState, 67, 3, "Failed to evaluate Text in Label widget");
const char *cur_val = lv_label_get_text(objects.rpm_unit);
if (strcmp(new_val, cur_val) != 0) {
tick_value_change_obj = objects.rpm_unit;
lv_label_set_text(objects.rpm_unit, new_val);
tick_value_change_obj = NULL;
}
}
{
const char *new_val = evalTextProperty(flowState, 71, 3, "Failed to evaluate Text in Label widget");
const char *cur_val = lv_label_get_text(objects.speed_value);
if (strcmp(new_val, cur_val) != 0) {
tick_value_change_obj = objects.speed_value;
lv_label_set_text(objects.speed_value, new_val);
tick_value_change_obj = NULL;
}
}
{
const char *new_val = evalTextProperty(flowState, 72, 3, "Failed to evaluate Text in Label widget");
const char *cur_val = lv_label_get_text(objects.speed_unit);
if (strcmp(new_val, cur_val) != 0) {
tick_value_change_obj = objects.speed_unit;
lv_label_set_text(objects.speed_unit, new_val);
tick_value_change_obj = NULL;
}
}
{
const char *new_val = evalTextProperty(flowState, 75, 3, "Failed to evaluate Text in Label widget");
const char *cur_val = lv_label_get_text(objects.speed_limit_value);
if (strcmp(new_val, cur_val) != 0) {
tick_value_change_obj = objects.speed_limit_value;
lv_label_set_text(objects.speed_limit_value, new_val);
tick_value_change_obj = NULL;
}
}
{
int32_t new_val = evalIntegerProperty(flowState, 80, 3, "Failed to evaluate Value in Arc widget");
int32_t cur_val = lv_arc_get_value(objects.turbo_pressure_arc);
if (new_val != cur_val) {
tick_value_change_obj = objects.turbo_pressure_arc;
lv_arc_set_value(objects.turbo_pressure_arc, new_val);
tick_value_change_obj = NULL;
}
}
{
const char *new_val = evalTextProperty(flowState, 82, 3, "Failed to evaluate Text in Label widget");
const char *cur_val = lv_label_get_text(objects.turbo_pressure_unit);
if (strcmp(new_val, cur_val) != 0) {
tick_value_change_obj = objects.turbo_pressure_unit;
lv_label_set_text(objects.turbo_pressure_unit, new_val);
tick_value_change_obj = NULL;
}
}
{
int32_t new_val = evalIntegerProperty(flowState, 84, 3, "Failed to evaluate Value in Arc widget");
int32_t cur_val = lv_arc_get_value(objects.water_temperature_arc);
if (new_val != cur_val) {
tick_value_change_obj = objects.water_temperature_arc;
lv_arc_set_value(objects.water_temperature_arc, new_val);
tick_value_change_obj = NULL;
}
}
{
const char *new_val = evalTextProperty(flowState, 85, 3, "Failed to evaluate Text in Label widget");
const char *cur_val = lv_label_get_text(objects.water_temperature_value);
if (strcmp(new_val, cur_val) != 0) {
tick_value_change_obj = objects.water_temperature_value;
lv_label_set_text(objects.water_temperature_value, new_val);
tick_value_change_obj = NULL;
}
}
{
const char *new_val = evalTextProperty(flowState, 86, 3, "Failed to evaluate Text in Label widget");
const char *cur_val = lv_label_get_text(objects.water_temperature_unit);
if (strcmp(new_val, cur_val) != 0) {
tick_value_change_obj = objects.water_temperature_unit;
lv_label_set_text(objects.water_temperature_unit, new_val);
tick_value_change_obj = NULL;
}
}
{
int32_t new_val = evalIntegerProperty(flowState, 88, 3, "Failed to evaluate Range max in Arc widget");
int32_t cur_val = lv_arc_get_max_value(objects.fuel_level_arc);
if (new_val != cur_val) {
tick_value_change_obj = objects.fuel_level_arc;
int16_t min = lv_arc_get_min_value(objects.fuel_level_arc);
int16_t max = new_val;
if (min < max) {
lv_arc_set_range(objects.fuel_level_arc, min, max);
}
tick_value_change_obj = NULL;
}
}
{
int32_t new_val = evalIntegerProperty(flowState, 88, 4, "Failed to evaluate Value in Arc widget");
int32_t cur_val = lv_arc_get_value(objects.fuel_level_arc);
if (new_val != cur_val) {
tick_value_change_obj = objects.fuel_level_arc;
lv_arc_set_value(objects.fuel_level_arc, new_val);
tick_value_change_obj = NULL;
}
}
{
const char *new_val = evalTextProperty(flowState, 89, 3, "Failed to evaluate Text in Label widget");
const char *cur_val = lv_label_get_text(objects.fuel_level_value);
if (strcmp(new_val, cur_val) != 0) {
tick_value_change_obj = objects.fuel_level_value;
lv_label_set_text(objects.fuel_level_value, new_val);
tick_value_change_obj = NULL;
}
}
{
const char *new_val = evalTextProperty(flowState, 90, 3, "Failed to evaluate Text in Label widget");
const char *cur_val = lv_label_get_text(objects.fuel_level_unit);
if (strcmp(new_val, cur_val) != 0) {
tick_value_change_obj = objects.fuel_level_unit;
lv_label_set_text(objects.fuel_level_unit, new_val);
tick_value_change_obj = NULL;
}
}
{
int32_t new_val = evalIntegerProperty(flowState, 92, 3, "Failed to evaluate Value in Arc widget");
int32_t cur_val = lv_arc_get_value(objects.oil_pressure_arc);
if (new_val != cur_val) {
tick_value_change_obj = objects.oil_pressure_arc;
lv_arc_set_value(objects.oil_pressure_arc, new_val);
tick_value_change_obj = NULL;
}
}
{
const char *new_val = evalTextProperty(flowState, 94, 3, "Failed to evaluate Text in Label widget");
const char *cur_val = lv_label_get_text(objects.oil_pressure_unit);
if (strcmp(new_val, cur_val) != 0) {
tick_value_change_obj = objects.oil_pressure_unit;
lv_label_set_text(objects.oil_pressure_unit, new_val);
tick_value_change_obj = NULL;
}
}
{
int32_t new_val = evalIntegerProperty(flowState, 96, 3, "Failed to evaluate Value in Arc widget");
int32_t cur_val = lv_arc_get_value(objects.oil_temperature_arc);
if (new_val != cur_val) {
tick_value_change_obj = objects.oil_temperature_arc;
lv_arc_set_value(objects.oil_temperature_arc, new_val);
tick_value_change_obj = NULL;
}
}
{
const char *new_val = evalTextProperty(flowState, 97, 3, "Failed to evaluate Text in Label widget");
const char *cur_val = lv_label_get_text(objects.oil_temperature_value);
if (strcmp(new_val, cur_val) != 0) {
tick_value_change_obj = objects.oil_temperature_value;
lv_label_set_text(objects.oil_temperature_value, new_val);
tick_value_change_obj = NULL;
}
}
{
const char *new_val = evalTextProperty(flowState, 98, 3, "Failed to evaluate Text in Label widget");
const char *cur_val = lv_label_get_text(objects.oil_temperature_unit);
if (strcmp(new_val, cur_val) != 0) {
tick_value_change_obj = objects.oil_temperature_unit;
lv_label_set_text(objects.oil_temperature_unit, new_val);
tick_value_change_obj = NULL;
}
}
{
int32_t new_val = evalIntegerProperty(flowState, 100, 3, "Failed to evaluate Value in Arc widget");
int32_t cur_val = lv_arc_get_value(objects.esp_level_arc);
if (new_val != cur_val) {
tick_value_change_obj = objects.esp_level_arc;
lv_arc_set_value(objects.esp_level_arc, new_val);
tick_value_change_obj = NULL;
}
}
{
const char *new_val = evalTextProperty(flowState, 101, 3, "Failed to evaluate Text in Label widget");
const char *cur_val = lv_label_get_text(objects.esp_level_value);
if (strcmp(new_val, cur_val) != 0) {
tick_value_change_obj = objects.esp_level_value;
lv_label_set_text(objects.esp_level_value, new_val);
tick_value_change_obj = NULL;
}
}
{
const char *new_val = evalTextProperty(flowState, 104, 3, "Failed to evaluate Text in Label widget");
const char *cur_val = lv_label_get_text(objects.alarm_value);
if (strcmp(new_val, cur_val) != 0) {
tick_value_change_obj = objects.alarm_value;
lv_label_set_text(objects.alarm_value, new_val);
tick_value_change_obj = NULL;
}
}
}
Metadata
Metadata
Assignees
Labels
No labels