Good morning at all ,
I' have a question , GigaDisplay it's supported by M4 Core?
because I dividing my application on 2 skecth M4 Sketch used for GIGA Dispaly and M7 used for the other.
when M4 booting , the code stopping when the Initialized Display. why?
#include "Arduino.h"
#include <RPC.h>
#include "Arduino_H7_Video.h"
#include "lvgl.h"
#include "Arduino_GigaDisplayTouch.h"
//#include <SPI.h>
//#include <DigitalOut.h>
//Arduino Giga R1 Access Point UDP
//librerie Gestione USB
Arduino_H7_Video Display(800, 480, GigaDisplayShield);
Arduino_GigaDisplayTouch TouchDetector;
.....
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
RPC.begin(); // boot M4
RPC.println("M4 Avviato");
//Display.begin();
//TouchDetector.begin();
//setupDisplay();
//InizializzaVariabili();
}
void setupDisplay(){
RPC.println("SetupDisplayIN");
//Display & Grid Setup
lv_obj_t* screen = lv_obj_create(lv_scr_act());
lv_obj_set_size(screen, Display.width(), Display.height());
//Dimensoni Pulsanti
//int X_Pulsanti = 320;
//int Y_Pulsanti = 170;
static lv_coord_t col_dsc[] = {246 , 246,246, LV_GRID_TEMPLATE_LAST };
static lv_coord_t row_dsc[] = { 215, 215, 215, 215,215,215, LV_GRID_TEMPLATE_LAST };
lv_obj_t* grid = lv_obj_create(lv_scr_act());
lv_obj_set_grid_dsc_array(grid, col_dsc, row_dsc);
lv_obj_set_size(grid, Display.width(), Display.height());
//top left
lv_obj_t* obj;
obj = lv_obj_create(grid);
lv_obj_set_grid_cell(obj, LV_GRID_ALIGN_STRETCH, 0, 1, //column
LV_GRID_ALIGN_STRETCH, 0, 1); //row
lv_obj_t * label; //label
lv_obj_t * btn1 = lv_btn_create(obj);
lv_obj_set_size(btn1, X_Pulsanti,Y_Pulsanti);
lv_obj_center(btn1);
lv_obj_add_event_cb(btn1, btn1_event_cb, LV_EVENT_CLICKED, NULL);
label = lv_label_create(btn1);
lv_label_set_text(label, "Configurazione Pista");
lv_obj_center(label);
//bottom left
obj = lv_obj_create(grid);
lv_obj_set_grid_cell(obj, LV_GRID_ALIGN_STRETCH, 0, 1, //column
LV_GRID_ALIGN_STRETCH, 1, 1); //row
lv_obj_t * btn2 = lv_btn_create(obj);
lv_obj_set_size(btn2, X_Pulsanti,Y_Pulsanti);
lv_obj_center(btn2);
lv_obj_add_event_cb(btn2, btn2_event_cb, LV_EVENT_CLICKED, NULL);
label = lv_label_create(btn2);
lv_label_set_text(label, "Sel DX/SX");
lv_obj_center(label);
//top right
obj = lv_obj_create(grid);
lv_obj_set_grid_cell(obj, LV_GRID_ALIGN_STRETCH, 1, 1, //column
LV_GRID_ALIGN_STRETCH, 0, 1); //row
lv_obj_t * btn3 = lv_btn_create(obj);
lv_obj_set_size(btn3, X_Pulsanti,Y_Pulsanti);
lv_obj_center(btn3);
lv_obj_add_event_cb(btn3, btn3_event_cb, LV_EVENT_CLICKED, NULL);
label = lv_label_create(btn3);
lv_label_set_text(label, "Dispositivi Connessi");
lv_obj_center(label);
//bottom right
obj = lv_obj_create(grid);
lv_obj_set_grid_cell(obj, LV_GRID_ALIGN_STRETCH, 1, 1, //column
LV_GRID_ALIGN_STRETCH, 1, 1); //row
lv_obj_t * btn4 = lv_btn_create(obj);
lv_obj_set_size(btn4, X_Pulsanti,Y_Pulsanti);
lv_obj_center(btn4);
lv_obj_add_event_cb(btn4, btn4_event_cb, LV_EVENT_CLICKED, NULL);
label = lv_label_create(btn4);
lv_label_set_text(label, "Misura");
lv_obj_center(label);
//Pulsante usb
obj = lv_obj_create(grid);
lv_obj_set_grid_cell(obj, LV_GRID_ALIGN_STRETCH, 2,1, //column
LV_GRID_ALIGN_STRETCH, 0, 1); //row
lv_obj_t * btn5 = lv_btn_create(obj);
lv_obj_set_size(btn5, X_Pulsanti,Y_Pulsanti);
lv_obj_center(btn5);
lv_obj_add_event_cb(btn5, btn5_event_cb, LV_EVENT_CLICKED, NULL);
label = lv_label_create(btn5);
lv_label_set_text(label, "USB");
lv_obj_center(label);
//Pulsante Vuoto
obj = lv_obj_create(grid);
lv_obj_set_grid_cell(obj, LV_GRID_ALIGN_STRETCH, 2,1, //column
LV_GRID_ALIGN_STRETCH, 1, 1); //row
lv_obj_t * btn6 = lv_btn_create(obj);
lv_obj_set_size(btn6, X_Pulsanti,Y_Pulsanti);
lv_obj_center(btn6);
lv_obj_add_event_cb(btn6, btn6_event_cb, LV_EVENT_CLICKED, NULL);
label = lv_label_create(btn6);
lv_label_set_text(label, "Vuoto");
lv_obj_center(label);
paginaAttiva = paginaHome;
RPC.println("SetupDisplayOUT");
}