Yann Sierro - Rémi Heredero

AdvEmbSoft/HESSO-Master/2024

BikeComputer

This is a project done in the course of AdvEmbSoft during the master's degree. It contains a program for spinning bikes.

Configuration

Libraries

Add disco libraries :

mbed add https://github.com/SergeAyer/DISCO_H747I.git

Add sensor libraries :

mbed add https://github.com/SergeAyer/advdembsof_library.git

Test sensor libraries :

mbed test -m DISCO_H747I -t GCC_ARM -n advdembsof_library-tests-sensors-hdc1000 --compile --run

Run static scheduling

On .mbedignore put at the end of the file

static_scheduling_with_event/*

On main.cpp include "static_scheduling/bike_system.hpp" and use :

static_scheduling::BikeSystem bikeSystem;
bikeSystem.start();

Run static scheduling with event queue

On .mbedignore put at the end of the file :

static_scheduling_with_event/*

On main.cpp include "static_scheduling/bike_system.hpp" and use :

static_scheduling::BikeSystem bikeSystem;
bikeSystem.startWithEventQueue();

Run static scheduling with event scheduling

On .mbedignore put at the end of the file

static_scheduling/*

On main.cpp include "static_scheduling_with_event/bike_system.hpp" and use :

static_scheduling_with_event::BikeSystem bikeSystem;
bikeSystem.start();

Some questions

If you print CPU statistics at the end of every major cycle (in the super-loop), what CPU usage do you observe? How can you explain the observed CPU uptime?

We observe a 100% usage because on each CPU cycle it compare if time is done.

If you run the program after the change from busy wait to sleep calls, what CPU usage do you observe? How can you explain the observed CPU uptime?

We can observe only a usage of 75% because the CPU is more on Idle with Thread sleep.

Description
No description provided
Readme Pixar 236 KiB
Languages
C++ 99.2%
CMake 0.8%