Giter VIP home page Giter VIP logo

progettoso's Introduction

Corso di laurea in Informatica anno accademico 2016/2017
Sistemi Operativi - Progetto 2: Countdown Led
Spallitta Giuseppe 178211
Martinelli Luca 179013

Il progetto è stato diviso in due parti per rendere possibile la compilazione su due piattaforme diverse (Ubuntu e Raspbian).
La cartella src è strutturata nel seguente modo:
- Files "common.c" e "common.h", i quali definisco le funzioni comuni sia su piattaforma Ubuntu che su Raspbian.
- La cartella "Ubuntu" che contiene il file main per eseguire la shell interattiva
- La cartella "Raspbian" contenente i file per gestire le funzioni extra richieste da Raspberry e display, nonchè il main per eseguire la shell interattiva.

Per quanto riguarda la parte Raspberry sono allegati i due datasheet delle componenti utilizzate e una foto di come è stato montato.
Abbiamo deciso di utilizzare lo shiftregister SN74HC595 perchè ci ha reso possibile pilotare un display a 7 segmenti con un singolo input, in modo tale da dividere decine e unità.
I Led vanno da 1 a 7 numerati in senso orario, nelle funzioni per gestire RPI il Led numero 8 (DOT) non viene utilizzato perchè non necessario ai fini del progetto.
I Colori disponibili per i led sono i seguenti: purple, white, red, green, yellow e blue.


L'albero dei processi è cosi composto:

[1] PROCESSO MAIN: gestisce la shell interattiva
 |
 |--- [2] PROCESSO ELAPSED: gestisce la parte grafica per l'apparizione del tempo rimanente in formato simil led digitale.
 |
 |--- [3] PROCESSO RPI (Solo su Raspbian): gestisce Raspberry e i display collegati.
 |
 |--- [4] PROCESSO COUNTER: gestisce il countdown e il suo stop.
 	   |
 	   |--- [5] PROCESSO TENS: gestisce i led delle decine e le loro attività.
 	   |     |
 	   |	 |--- [6 - 12] PROCESSI TENS_LED: gestiscono rispettivamente uno dei led delle decine, le informazioni su colori e status di accensione.
 	   |
	   |--- [13] PROCESSO UNITS: gestisce i led delle unità e le loro attività.
	         |
 	    	 |--- [14 - 20] PROCESSI UNITS_LED: gestiscono rispettivamente uno dei led delle unità, le informazioni su colori e status di accensione.
	   
Alcune implementazioni extra sono:
- La funzione elapsed appare graficamente con una struttura simil led, si adatta anche ai cambi di colore tramite opportune funzioni.
- Quando viene presa da input la stringa per la shell interattiva, essa non è sensitive agli spazi tra le parole (quindi "start 43", "     start     43" vengono letti correttamente).
- Possibilità di compilazione con Raspberry e funzionamento di due display a 7 segmenti.
- Su Raspberry possibilità di attivare opzionalmente i monitor a 7 segmenti con l'opzione "-d"


progettoso's People

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.