This repository stores the individual project done during the optional course of Model Based Software Design which provides a system-level view of the design of embedded software using a model-driven approach. Some concepts tackled during the lectures are: automatic software generation from behavioural/structural models, model-in-the-loop simulation, hardware-in-the-loop validation and integration of the generated code into an hardware platform will be addressed.
The SimulinkProject directory stores the first part of the assignment which is a simulink model able to simulate an ultrasonic distance sensor and its controller. The controller model is a Finite State Machine which is able to manage the sensor and showing the distance between the sensor and an object by means of LED signals.
The C Code directory stores the code generated by the embedded coder of Simulink.
The Google Tests are made in order to assess the right behaviour of the controller, the input vector is made by means of Simulink Test in order to obtain a high code coverage.
The Trampoline directory stores the c code and the RTOS configuration file .oil which are requested to deploy the simulation model on the Trampoline Real Time Operating System.
Finally the Arduino directory stores the model version modified in order to be deployed on the Arduino Uno board.
Further information about the project can be found by reading the report.