mirror of
https://github.com/nonlinear-labs-dev/C15.git
synced 2026-06-25 20:17:24 +02:00
No description
https://nonlinear-labs.de/
- C 80.3%
- C++ 14.8%
- Java 3.1%
- CMake 0.4%
- TypeScript 0.3%
- Other 0.6%
|
|
||
|---|---|---|
| .github | ||
| build-environment | ||
| cmake | ||
| configuration | ||
| doc | ||
| hooks | ||
| os | ||
| package | ||
| update | ||
| .clang-format | ||
| .gitattributes | ||
| .gitignore | ||
| .gitmodules | ||
| AGENTS.md | ||
| CMakeLists.txt | ||
| CMakePresets.json | ||
| COPYING.md | ||
| dos2unix_all.bat | ||
| README.md | ||
| reformat-all.sh | ||
nl Firmware
prepare environment
- install bindfs, podman, jq, ccache
- edit /etc/fuse.conf: uncomment (or add) user_allow_other
Prepare build directory
git clone git@github.com:nonlinear-labs-dev/C15.git C15git submodule update --init --recursivecd C15cmake --preset dev-debug- the
dev-debugpreset already contains default binary and install directories- if desired, provide a custom binary directory (
-B), e.g. outside the repository folder by adding-B ../build - if desired, provide a custom install directory (
CMAKE_INSTALL_PREFIX), e.g. outside the repository folder by adding-DCMAKE_INSTALL_PREFIX=../nl-rootfs
- if desired, provide a custom binary directory (
- for building yocto-based updates it is recommended to provide a cache folder by adding
-DYOCTO_SHARED_CACHE_DIR="<desired_yocto_cache_dir>" - if desired, choose another cmake preset, e.g.
dev-release
- the
Build binaries for local development PC
cmake --build --preset dev-debug --target install
Build Update for C15
cmake --build --preset dev-debug --target update-c15
Build Tests with coverage
- install
lcov - configure cmake with
-DENABLE_COVERAGE=On - build
<target>-coverageand inspect results inbuild-dir/package/<target>/<target>-coverage
For developing the meteor package
- start either c16-playground or c15-playground
- make meteor-dev-environment-base
- wait until settled
- open with your ide: ...build-folder/package/meteor/ide
- open in browser: http://localhost:3000/index.html?page=[c16 | c16Debug |nonmaps | nonmapsPresetSearch]
- if needed for developing NonMaps: see For developing NonMaps
Debugging a remote meteor UI
- start ssh-tunnel to target
ssh -L 9222:localhost:9222 sscl@raspi-ip - open chrome on the developer-pc and navigate to
chrome://inspect/#devices - navigate to
Devicesand selectinspectfor the c16 URL below theRemote Target #LOCALHOSTheading (this might take a few seconds to show up)
For developing NonMaps
- Once: configure using
cmake --preset dev-nonmaps --fresh - After every commit:
- run
cmake --build --preset dev-nonmaps - start the c15-playground
- Enable gwt compile as documented here. In short:
- navigate to package/nonmaps/
- run
mvn gwt:devmode(once install maven if not done yet)
- Then, open
localhost:8080in the browser
Useful: Save the following bookmarks to your browser:
- "nonmaps: enable dev mode":
javascript:%7B window.__gwt_bookmarklet_params %3D %7B'server_url'%3A'http%3A%2F%2Flocalhost%3A9876%2F'%7D%3B var s %3D document.createElement('script')%3B s.src %3D 'http%3A%2F%2Flocalhost%3A9876%2Fdev_mode_on.js'%3B void(document.getElementsByTagName('head')%5B0%5D.appendChild(s))%3B%7D - "nonmaps: compile":
javascript:%7B window.__gwt_bookmarklet_params %3D %7Bserver_url%3A'http%3A%2F%2Flocalhost%3A9876%2F'%2Cmodule_name%3A'nonmaps'%7D%3B var s %3D document.createElement('script')%3B s.src %3D 'http%3A%2F%2Flocalhost%3A9876%2Fdev_mode_on.js'%3B void(document.getElementsByTagName('head')%5B0%5D.appendChild(s))%3B%7D
Show the developer options, if needed:
- in the Web UI, enable Setup > GUI Settings > Show Developer Options
- scroll to the north where the "Developer Options" box should be shown now