Skip to content

enchanteddev/DeceRT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DeceRT

DeceRT is a framework for building decentralised real-time systems. It incorporates a static task scheduler, that ensures that a sensor is only used by one On-board Computer (OBC) at a time. The tasks can also have dependencies on other tasks.

Usage

Ensure you have the rust toolchain installed.

Clone this repository and run cargo r -r to run the DeceRT CLI.

You can also run cargo b -r to build the DeceRT CLI, and use the executable in the target/release folder directly.

Scheduler Algorithm

Our scheduling algorithm is explained in this diagram:

Decert Scheduler This is the screenshot of the rtos.dia file.

Docs

  1. Quickstart Guide
  2. Syntax of .conf and format of sensors.json
  3. CLI Usage

CLI Usage

create-project

  • Creates a new directory with the name and adds sensor.json
decert create-project <name>

add-obc

  • Creates a new folder called obc<id>.
  • Creates a new folder called obc<id>/entry
  • Creates a new folder called `obc/lib
  • Creates a new file obc<id>/ports.hpp
  • Adds tasks.conf inside of obc<id>
decert add-obc <id>

update-tasks

  • Parse sensor.json
  • Parse tasks.conf
decert update-tasks

compile

  • runs update-tasks for each obc
  • for each obc, add required header files to the obc folder
  • runs the scheduler
  • creates the port .cpp which consist of implementation for the ports and the sensors mentioned in sensors.json
  • compiles all the files to create obc.o
decert compile

Note: The decert command can be replaced with cargo r -r to run the Decert CLI, when using directly from the repo.

Example: cargo r -r create-project <name>

About

Framework to build Decentralised Real-Time Blazingly Fast Operating Systems in C++

Topics

Resources

Stars

Watchers

Forks

Contributors