Mario Simaremare
/
g3_waterplay
Salinity and temperature sensors are implemented in classes.
Tank.h
- Committer:
- mariosimaremare
- Date:
- 2016-06-28
- Revision:
- 15:e112bab9aa2f
- Parent:
- 13:142a142a7ac5
File content as of revision 15:e112bab9aa2f:
/* * G3: WATERPLAY */ #ifndef TANK_H #define TANK_H #include "DRV8825.h" #include "Flasher.h" #include "Ping.h" #include "Printer.h" #include "mbed.h" class Tank { public: Tank( Printer &printer, DRV8825 &salinitySyringe, DRV8825 &waterSyringe, Ping &pinger, Flasher &alarm ); static const int DIRECTION_PULL = 1; static const int DIRECTION_PUSH = 0; static const int TYPE_SALT = 1; static const int TYPE_PURE = 0; static const int POSITION_MAX = 35; static const int POSITION_MIN = 0; static const int MAX_SPEED = 8000; static const int MICROSTEPS_PER_STEP = 32; static const int MOVEMENT = 4600; static const int STEP_EXTRA = 3000; static const float ADDED_SALT = 15.0; static const float ADDED_WATER = 15.0; static const int PROXIMITY_CHECK_POINT = 100; void add(int type, int mililiters, int direction); void react(double salinity); bool is_proximity_ok(); char* getStrStatus(); void initialize(); private: Printer &_printer; DRV8825 &_salinitySyringe; DRV8825 &_waterSyringe; Ping &_pinger; Flasher &_alarm; int _status; char* _strStatus; int _previous_direction_salt; int _previous_direction_pure; int _position_salt; int _position_pure; float _added_liquid; }; #endif