Skip to content

Commit

Permalink
Updated documentation example codes.
Browse files Browse the repository at this point in the history
  • Loading branch information
nthnn committed Mar 8, 2024
1 parent 81ff2c5 commit 17bd682
Show file tree
Hide file tree
Showing 96 changed files with 2,378 additions and 2,380 deletions.
60 changes: 44 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,33 +123,59 @@ qrepo run dump <filename>
This example demonstrates the usage of Rishka virtual machine on an ESP32-WROVER microcontroller. It initializes serial communication and SD card, waits for user input via serial port, loads the specified file into the Rishka VM, executes it, and then waits for the next input.

```cpp
#include <fabgl.h>
#include <rishka.h>
#include <SD.h>
#include <SPI.h>

#define TFT_SCK 18 // TFT SPI clock pin
#define TFT_MOSI 23 // TFT SPI MOSI pin
#define TFT_DC 2 // TFT data/command pin
#define TFT_RESET 4 // TFT reset pin
#define TFT_SPIBUS VSPI_HOST // TFT SPI bus

#define SD_CS 15 // SD card chip select pin
#define SD_SCK 14 // SD card SPI clock pin
#define SD_MOSI 13 // SD card SPI MOSI pin
#define SD_MISO 12 // SD card SPI MISO pin

// TFT display controller and Terminal instance
fabgl::ILI9341Controller DisplayController;
fabgl::Terminal Terminal;

// Rishka virtual machine instance
rishka_virtual_machine vm;
// SPI instance for SD card
SPIClass sdSpi(HSPI);

void setup() {
// Begin serial communication at 115200 baud rate
Serial.begin(115200);
// Wait until serial connection is established
while(!Serial);

// Initialize SD card on pin 5
if(!SD.begin(5)) {
// If SD card initialization fails,
// print error message and halt execution
Serial.println("Failed to initialize SD card.");
while(true);
// Initialize TFT display
DisplayController.begin(TFT_SCK, TFT_MOSI, TFT_DC, TFT_RESET, 5, TFT_SPIBUS);
DisplayController.setResolution("\"TFT_320x240\" 320 240");

// Initialize terminal
Terminal.begin(&DisplayController);
Terminal.loadFont(&fabgl::FONT_8x14);
Terminal.enableCursor(true);

// Initialize SD card
sdSpi.begin(SD_SCK, SD_MISO, SD_MOSI, SD_CS);
if(!SD.begin(SD_CS, sdSpi, 80000000)) {
Terminal.println("Card \e[94mMount\e[97m Failed");
return;
}

if(!psramInit()) {
// If PSRAM initialization fails,
// print error message and halt execution
Serial.println("Cannot initialize PSRAM.");
Serial.println("\e[94mCannot\e[97m initialize PSRAM.");
while(true);
}

// Print prompt
Serial.print("> ");
Terminal.print("\e[32m#~\e[97m ");
}

void loop() {
Expand All @@ -160,16 +186,18 @@ void loop() {
// Read input from serial port
String input = Serial.readString();
// Echo input back to serial port
Serial.print(input);
Terminal.print("\e[93m");
Terminal.print(input);
Terminal.print("\r\e[97m");

// Initialize Rishka virtual machine
rishka_vm_initialize(&vm, &Serial);
rishka_vm_initialize(&vm, &Terminal);

// Attempt to load specified file into Rishka virtual machine
if(!rishka_vm_loadfile(&vm, input.c_str())) {
// If loading file fails, print error message and return
Serial.print("Failed to load specified file: " + input);
Serial.print("> ");
Terminal.print("Failed to \e[94mload\e[97m specified file: " + input);
Terminal.print("\r\e[32m#~\e[97m ");
return;
}

Expand All @@ -179,7 +207,7 @@ void loop() {
rishka_vm_reset(&vm);

// Print prompt for next input
Serial.print("> ");
Terminal.print("\e[32m#~\e[97m ");
}
```
Expand Down
11 changes: 4 additions & 7 deletions docs/annotated.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,16 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.10.0"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Rishka: Class List</title>
<link rel="icon" href="rishka-logo.ico" type="image/x-icon" />
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
Expand All @@ -39,7 +36,7 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.10.0 -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
Expand All @@ -51,7 +48,7 @@
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(function() { init_search(); });
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
Expand All @@ -69,7 +66,7 @@
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('annotated.html',''); initResizable(); });
$(document).ready(function(){initNavTree('annotated.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
Expand Down
11 changes: 4 additions & 7 deletions docs/classes.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,16 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.10.0"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Rishka: Class Index</title>
<link rel="icon" href="rishka-logo.ico" type="image/x-icon" />
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
Expand All @@ -39,7 +36,7 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.10.0 -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
Expand All @@ -51,7 +48,7 @@
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(function() { init_search(); });
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
Expand All @@ -69,7 +66,7 @@
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classes.html',''); initResizable(); });
$(document).ready(function(){initNavTree('classes.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
Expand Down
Loading

0 comments on commit 17bd682

Please sign in to comment.