Skip to content

ItJustWorksTM/smce-gd

Repository files navigation

SMCE-gd GitHub all releases CI license

The official frontend for libSMCE.
Created to emulate cars supporting the smartcar_shield platform, write real arduino code and run on it your desktop!

About

SMCE-gd is an educational platform that allows its users to write real arduino code, leveraging libSMCE to compile and run arduino code to instantly get results without involving real arduino hardware.

Here is a simple arduino hello world program:

void setup() {
    Serial.begin(9600);
    Serial.println("Hello world");
}

void loop() {
    Serial.println("Loop!");
    delay(100);
}

In this world UART is always attached, thus the above will output:

You get access to multiple sensors and other attachments through a simple graphical interface, most sensors even display handy information such as what pins they are attached to, and what their actual measurement is:

drawing

You get simulated vehicle physics, along with a debug overlay and a keyboard controllable debug vehicle; it is almost true to life.

Resources

SMCE compiles arduino code with a real C++ compiler, so be sure to checkout the following resources on installation and setup for the best experience:

Development

Dependencies

* To install libSMCE head to it's releases page and extract/install one of the artifacts, then set the env var SMCE_ROOT pointed to the root of the extracted directory.

Building

mkdir build
cmake -B build
cmake --build build --target godot-smce

Packaging is done using CPack.
note: we bundle the shared lib of SMCE on export

Running

  • godot --path project/
  • Or open up the project folder in the Godot editor and start from there.

Credits

Copyright ItJustWorks™, Apache 2.0 licensed

Software courtesy of RuthgerD
CI & Packaging by AeroStun
Logo by @Reves.sur.papier
Car model by Ancelin Bouchet