Files

copied

Scanning the repository...

Last update 6 years 9 months by Emanuele Giacomini
Filesinformaticarescuerescue_firmware
..
rescue_bumper.cpp
rescue_bumper.h
rescue_colorsensor.cpp
rescue_colorsensor.h
rescue_firmware.ino
rescue_globals.cpp
rescue_globals.h
rescue_joints.cpp
rescue_joints.h
rescue_linefollower.cpp
rescue_linefollower.h
rescue_pins.h
todo.txt
rescue_linefollower.h
/** rescue_linefollower.h **/ #pragma once #include <Arduino.h> #include "rescue_globals.h" typedef struct { int pin;// pin analogico associato al sensore int misura;// valore misurato dalla lettura analogica sul sensore int misura_minima;// valore necessario x calcolo soglia int misura_massima;// valore necessario x calcolo soglia int soglia; // stato puo assumere i seguenti valori: // 0 : misura < soglia // 1 : misura > soglia // 2 : modalita calibrazione int stato; }LineDetector; /** * inizializza la struttura d impostando pin e indice ed azzerando tutti * gli altri campi. **/ void LineDetector_init(LineDetector* d); /** * imposta manualmente la soglia di d **/ void LineDetector_setSoglia(LineDetector* d, int soglia); /** * lancia la modalita automamtica di calibrazione del sensore * mentre attiva bisogna esporre il sensore alle tonalita del * campo **/ void LineDetector_setCalibrazione(LineDetector* d); /** * termina la modalita di calibrazione e calcola la soglia **/ void LineDetector_stopCalibrazione(LineDetector* d); /** * aggiorna il valore misurato del sensore **/ void LineDetector_update(LineDetector* d); /** * esegue la computazione dei dati misurati, calibrando o aggiornado * lo stato di uscita del sensore **/ void LineDetector_handle(LineDetector* d); /** * restituisce lo stato di d **/ int LineDetector_getStato(LineDetector* d); typedef struct { LineDetector* detectors; int detector_valore[NUM_DETECTORS]; int offset_linea; int stato; }LineSensor; /** * inizializza la struct l lanciando l'init dei * NUM_DETECTORS LineDetector(s) e azzerando * offset_linea e stato **/ void LineSensor_init(LineSensor* l); /** * attiva la modalita di calibrazione **/ void LineSensor_setCalibrazione(LineSensor* l); /** * disattiva la modalita di calibrazione **/ void LineSensor_stopCalibrazione(LineSensor* l); /** * aggiorna le misure dei NUM_DETECTORS LineDetector(s) **/ void LineSensor_update(LineSensor* l); /** * elabora offset_linea e aggiorna lo stato di conseguenza * per fare cio, bisogna prima lancaire la funzione handle * per i NUM_DETECTORS LineDetector(s) **/ void LineSensor_handle(LineSensor* l);
Report a bug