24 #define SCREENTIMEFLOW 1 28 #define SCREENPIDCOEF 3 43 #define NCTHERMFREQ 2000 45 #define ALARMLENGTH 50 49 #define KEYDEBOUNCETIME 15 52 #include "LiquidCrystal.h" 73 UIRims(LiquidCrystal* lcd, byte pinKeysAnalog,
74 byte pinLight = LED_BUILTIN,
char pinSpeaker = -1);
89 void setTempPV(
float tempCelcius,
bool buzz =
true);
90 void setCV(
float controlValue);
91 void setTime(
unsigned int timeSec);
92 void setFlow(
float flow,
bool buzz =
true);
101 void ring(
bool state =
true);
106 unsigned int askTime(
unsigned int defaultVal);
107 byte
askMashWater(
int mashWaterValues[],byte defaultVal);
112 void _waitTime(
unsigned long timeInMilliSec);
115 void _printFloatLCD(
float val,
int width,
int prec, byte col, byte row);
120 float _incDecValue(
float value,byte dotPosition,
bool increase,
121 float lowerBound,
float upperBound,
bool timeFormat);
122 float _askValue(byte begin, byte end, byte dotPosition, byte row,
123 float defaultVal,
float lowerBound,
float upperBound,
void showHeaterWarning(bool state=false)
Show the heater switching warning.
Definition: UIRims.cpp:671
void _printStrLCD(String mess, byte col, byte row)
Show mess at column col and row row on _lcd.
Definition: UIRims.cpp:248
void showMemAccessScreen()
Show the memory access mode screen.
Definition: UIRims.cpp:683
void setTime(unsigned int timeSec)
Set a new remaining time.
Definition: UIRims.cpp:376
void _setCursorPosition(byte col, byte row)
Set _lcd cursor at given column col and given row row.
Definition: UIRims.cpp:284
void showIdentScreen()
Show system identification screen on _lcd.
Definition: UIRims.cpp:101
void _moveCursorLR(byte begin, byte end, byte dotPosition, byte row, bool left)
Move the cursor left or right on _lcd.
Definition: UIRims.cpp:486
void _waitTime(unsigned long timeInMilliSec)
Pause the Arduino for the given timeInMilliSec.
Definition: UIRims.cpp:236
byte readKeysADC(bool waitNone=true)
Read keys without software debouce.
Definition: UIRims.cpp:136
void switchScreen()
Toggle between SCREENTEMP and SCREENTIMEFLOW on _lcd.
Definition: UIRims.cpp:92
byte _waitForKeyChange()
Read keys with software debounce.
Definition: UIRims.cpp:163
unsigned int askTime(unsigned int defaultVal)
Ask timer time on the UI.
Definition: UIRims.cpp:583
void timerRunningChar(bool state)
Show blinking char next to remaining time.
Definition: UIRims.cpp:191
void showTimeFlowScreen()
Show remaining time and flow screen on _lcd.
Definition: UIRims.cpp:77
void lcdLight(bool state=true)
Turn on/off the LCD backlighting.
Definition: UIRims.cpp:225
void showPumpWarning(float flow=0.0)
Show the pump switching warning.
Definition: UIRims.cpp:658
void showTempScreen()
Show temperature (set point and process value) screen on _lcd.
Definition: UIRims.cpp:63
float _incDecValue(float value, byte dotPosition, bool increase, float lowerBound, float upperBound, bool timeFormat)
Increse or decrease a floating point value on _lcd-> dotPosition give the position (column) of the po...
Definition: UIRims.cpp:440
float askSetPoint(float defaultVal)
Ask set point temperature with the UI.
Definition: UIRims.cpp:569
void showPIDTuningScreen(float Kp, float Ki, float Kd, float tauFilter)
Show PID coefficients screen on _lcd.
Definition: UIRims.cpp:116
void setTempPV(float tempCelcius, bool buzz=true)
Set a new process value temperature.
Definition: UIRims.cpp:333
void _printFloatLCD(float val, int width, int prec, byte col, byte row)
Show a floating number at column col and row row on _lcd.
Definition: UIRims.cpp:264
UIRims(LiquidCrystal *lcd, byte pinKeysAnalog, byte pinLight=LED_BUILTIN, char pinSpeaker=-1)
Constructor.
Definition: UIRims.cpp:12
void setCV(float controlValue)
Set ident CV on identScreen.
Definition: UIRims.cpp:358
void setHeaterVoltState(bool state, bool buzz=true)
Set voltage detection on heater under the heater warning.
Definition: UIRims.cpp:696
void setFlowBounds(float lowBound, float upBound)
Set bounds for accepted flow rate.
Definition: UIRims.cpp:423
float _askValue(byte begin, byte end, byte dotPosition, byte row, float defaultVal, float lowerBound, float upperBound, bool timeFormat)
Ask a value on _lcd.
Definition: UIRims.cpp:519
void setTempSP(float tempCelcius)
Set a new set point temperature.
Definition: UIRims.cpp:310
byte askMashWater(int mashWaterValues[], byte defaultVal)
Ask mash water quantity (4 choices max).
Definition: UIRims.cpp:603
Library to manage LCD and keypad for Rims library.
Definition: UIRims.h:68
void setFlow(float flow, bool buzz=true)
Set a new flow value.
Definition: UIRims.cpp:399
void showSerialWarning()
Show warning about Arduino IDE Serial Monitor.
Definition: UIRims.cpp:645
float _celciusToFahrenheit(float celcius)
Convert celcius temp to fahrenheit temp.
Definition: UIRims.cpp:296
void ring(bool state=true)
Ring with given speaker setted with the Constructor.
Definition: UIRims.cpp:213