I confirm what Frederick wrote, with the original example on the serial nothing comes.
With the example I modified:
void loop()
{ char S[12];
/**
* Draw an Arduino logo
*/
// Let's discover which version we are running
int version = FPGA.version();
Serial.print("Vidor bitstream version: ");
Serial.println(version, HEX);
// Let's also ask which IPs are included in this bitstream
FPGA.printConfig();
sprintf(S, "[%08d] Start screen draw...", millis());
Serial.println(S);
// Fill the screen with a white background
vdgfx.fillRect(0,0,640,480,vdgfx.White(),1);
sprintf(S, "[%08d] ...filled...", millis());
Serial.println(S);
/**
* The library allows drawing some basic elements to the view, like circles, rectangles, lines
*/
vdgfx.fillCircle(225,225,100 ,vdgfx.lightBlue(),1);
sprintf(S, "[%08d] ...Circle1...", millis());
Serial.println(S);
vdgfx.fillCircle(415,225,100 ,vdgfx.lightBlue(),1);
sprintf(S, "[%08d] ...Circle2...", millis());
Serial.println(S);
vdgfx.fillCircle(225,225,90 ,vdgfx.White(),1);
sprintf(S, "[%08d] ...circle3...", millis());
Serial.println(S);
vdgfx.fillCircle(415,225,90 ,vdgfx.White(),1);
sprintf(S, "[%08d] ...Circle4...", millis());
Serial.println(S);
vdgfx.fillRect(175,220,100,10 ,vdgfx.lightBlue(),1);
sprintf(S, "[%08d] ...Rect1...", millis());
Serial.println(S);
vdgfx.fillRect(365,220,100,10 ,vdgfx.lightBlue(),1);
sprintf(S, "[%08d] ...Rect2...", millis());
Serial.println(S);
vdgfx.fillRect(410,175,10,100 ,vdgfx.lightBlue(),1);
sprintf(S, "[%08d] ...Rect3...", millis());
Serial.println(S);
/**
* To draw a text we can use the classic functions like write() and print()
* Text size, color and position can be changed using the .text subclass
*/
vdgfx.text.setCursor(150,375);
vdgfx.text.setAlpha(1);
vdgfx.text.setSize(3);
vdgfx.text.setColor(vdgfx.lightBlue());
vdgfx.println("TEST");
sprintf(S, "[%08d] ---printed TEST...", millis());
Serial.println(S);
vdgfx.text.setCursor(480,145);
vdgfx.text.setSize(1);
vdgfx.println("TM");
sprintf(S, "[%08d] ...printed TM...", millis());
Serial.println(S);
sprintf(S, "[%08d] ...STOP!", millis());
Serial.println(S);
while (1) {
}
}
The following log arrives on the serial:
Vidor bitstream version: FFFFFFFF
number of devices 0
[00017103] Start screen draw...
[00022105] ...filled...
[00027106] ...Circle1...
[00032107] ...Circle2...
[00037108] ...circle3...
[00042109] ...Circle4...
[00047110] ...Rect1...
[00052111] ...Rect2...
[00057112] ...Rect3...
[00077116] ---printed TEST...
[00087118] ...printed TM...
[00087118] ...STOP!
It does not read the bitstream version, it does not read the devices present and every call to the library ends by timeout (5000ms).
It seems like there is not a mailbox attached to the virtual JTAG.