Design Tools And Laboratory Engineering (2026)#
Get And Initialize Project (SRCDIR)#
In your home directory (pwd to find out where yo are, cd ~ if
that is not your home), clone the project from upstream.
$ git clone https://github.com/jfasch/DTLE-2026.git
This has created a directory,
$ ls -l
...
drwxr-xr-x. 1 student student 236 Oct 1 15:17 DTLE-2026
...
cd into that directory,
$ cd DTLE-2026/
Initialize the project’s submodules (we use googletest for
testing),
$ git submodule update --init --recursive
Build Project (BUILDDIR)#
Create a dedicated build directory, best as a subdirectory of your home directory, and change into it.
$ mkdir ~/DTLE-2026-build
$ cd ~/DTLE-2026-build
Run cmake to generate a build tree from the information that it
finds in the source directory’s CMakeLists.txt.
$ cmake ~/DTLE-2026
Run make to actually build the project.
$ make
Test Project (BUILDDIR)#
In the build directory, run the firmware. When all is well, the run looks like this:
$ ./firmware/DTLE-2026-firmware
--*------
-----*---
--------*
--*------
-----*---
--------*
--*------
...
If the output looks different (it will), then run the tests and see if they pass (they won’t). A test run that passes look like this:
$ ./tests/DTLE-2026-tests
[==========] Running 3 tests from 3 test suites.
[----------] Global test environment set-up.
[----------] 1 test from led_tests
[ RUN ] led_tests.basic
[ OK ] led_tests.basic (0 ms)
[----------] 1 test from led_tests (0 ms total)
[----------] 1 test from sensor_tests
[ RUN ] sensor_tests.basic
[ OK ] sensor_tests.basic (0 ms)
[----------] 1 test from sensor_tests (0 ms total)
[----------] 1 test from controller_tests
[ RUN ] controller_tests.basic
[ OK ] controller_tests.basic (0 ms)
[----------] 1 test from controller_tests (0 ms total)
[----------] Global test environment tear-down
[==========] 3 tests from 3 test suites ran. (0 ms total)
[ PASSED ] 3 tests.
Fix Project (SRCDIR, BUILDDIR)#
Look at the test output, and identify the failure. Fix the bug [1] until the tests run, and the firmware has the desired output.
Submit Fix (SRCDIR)#
We now create a compressed archive, submission.tar.gz, of the
source directory only, and submit that to moodle.
From the parent directory of SRCDIR (your home directory if you
followed the instructions),
$ cd ~ # ensure that you are at home
$ tar --exclude .git -zcf submission.tar.gz DTLE-2026
Submit the file to the submission folder in Moodle.
Footnotes