Coder Social home page Coder Social logo

ptt6's Introduction

PTT6 Proftaak

build status coverage report

Project to design and implement a plate changer device for a Philips medical device, while working using AGILE.

Sprint Trello board
Backlog Trello board

Building

There are different build configs for different purposes. Generally this should do the trick:

cd ./src
make all

This builds the host version, builds the target version and builds the unit tests (for the host system).

If you need to build a specific something, there are the following options from ./src:

  • lib-target
  • lib-host
  • lib-host-gcov
  • target
  • host
  • host-gcov
  • test
  • test-run
  • test-clean
  • copy
  • all
  • clean

It should be pretty clear what it stands for. Each system has its own library rules. The -gcov rules are to generate coverage results when running unit tests, though unit tests can also be built and run with the non-gcov rules.

The copy rule simply copies the (built!) binaries to the target. These are:

  • ./src/BusinessLayer/bl.out
  • ./src/API/CommunicationServer/communication.out

CI

Check .gitlab-ci.yml for what's happening when things go through the GitLab Runners. GitLab Runner requirements:

  • g++
  • arm-linux-gnueabihf-g++
  • libgtest-dev
  • gcovr
  • cpplint

CI Pipeline

Steps:

  • Build host: host-gcov and host-lib-gcov
    • Save host build artifacts
  • Build target
  • Build test and test-run
    • Depend on host build
    • Save test build and test-run artifacts
  • Run coverage check
    • Depend on host build
    • Depend on unit test build and run
  • Run linter

Some steps have been taken to make the build process faster, by taking advantage of GitLab's CI rules. Near the end phase this saved some 6-7 minutes build time.

Build and run results are not cached between subsequent pipeline triggers.

Running

Simply run the following in any order:

Target:

  • bl.out
  • communication.out

Host:

  • bl-host.out
  • communication-host.out

This starts the server-side.

On a Client machine, start the C# Client application to start communicating.

ptt6's People

Contributors

mrjaeqx avatar renswildenbeest avatar minhtrietdiep avatar luukvanrossum avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.