![]()  | 
  
    rims-arduino-library
    v3.1.1
    
   Recirculation infusion mash system library for Arduino 
   | 
 
Library to manage LCD and keypad for Rims library. More...
#include <UIRims.h>
Public Member Functions | |
| UIRims (LiquidCrystal *lcd, byte pinKeysAnalog, byte pinLight=LED_BUILTIN, char pinSpeaker=-1) | |
| Constructor.  More... | |
| void | showSerialWarning () | 
| Show warning about Arduino IDE Serial Monitor.  | |
| void | showPumpWarning (float flow=0.0) | 
| Show the pump switching warning.  More... | |
| void | showHeaterWarning (bool state=false) | 
| Show the heater switching warning.  More... | |
| void | showTempScreen () | 
| Show temperature (set point and process value) screen on _lcd.  | |
| void | showTimeFlowScreen () | 
| Show remaining time and flow screen on _lcd.  | |
| void | switchScreen () | 
| Toggle between SCREENTEMP and SCREENTIMEFLOW on _lcd.  | |
| void | showIdentScreen () | 
| Show system identification screen on _lcd.  | |
| void | showPIDTuningScreen (float Kp, float Ki, float Kd, float tauFilter) | 
| Show PID coefficients screen on _lcd.  | |
| void | showMemAccessScreen () | 
| Show the memory access mode screen.  | |
| void | setTempSP (float tempCelcius) | 
| Set a new set point temperature.  More... | |
| void | setTempPV (float tempCelcius, bool buzz=true) | 
| Set a new process value temperature.  More... | |
| void | setCV (float controlValue) | 
| Set ident CV on identScreen.  More... | |
| void | setTime (unsigned int timeSec) | 
| Set a new remaining time.  More... | |
| void | setFlow (float flow, bool buzz=true) | 
| Set a new flow value.  More... | |
| void | setFlowBounds (float lowBound, float upBound) | 
| Set bounds for accepted flow rate.  More... | |
| void | setHeaterVoltState (bool state, bool buzz=true) | 
| Set voltage detection on heater under the heater warning.  More... | |
| byte | readKeysADC (bool waitNone=true) | 
| Read keys without software debouce.  More... | |
| void | timerRunningChar (bool state) | 
| Show blinking char next to remaining time.  More... | |
| void | ring (bool state=true) | 
| Ring with given speaker setted with the Constructor.  More... | |
| void | lcdLight (bool state=true) | 
| Turn on/off the LCD backlighting.  More... | |
| float | askSetPoint (float defaultVal) | 
| Ask set point temperature with the UI.  More... | |
| unsigned int | askTime (unsigned int defaultVal) | 
| Ask timer time on the UI.  More... | |
| byte | askMashWater (int mashWaterValues[], byte defaultVal) | 
| Ask mash water quantity (4 choices max).  More... | |
Protected Member Functions | |
| byte | _waitForKeyChange () | 
| Read keys with software debounce.  More... | |
| void | _waitTime (unsigned long timeInMilliSec) | 
| Pause the Arduino for the given timeInMilliSec.  More... | |
| void | _printStrLCD (String mess, byte col, byte row) | 
| Show mess at column col and row row on _lcd.  More... | |
| void | _printFloatLCD (float val, int width, int prec, byte col, byte row) | 
| Show a floating number at column col and row row on _lcd.  More... | |
| void | _setCursorPosition (byte col, byte row) | 
| Set _lcd cursor at given column col and given row row.  More... | |
| float | _celciusToFahrenheit (float celcius) | 
| Convert celcius temp to fahrenheit temp.  More... | |
| void | _moveCursorLR (byte begin, byte end, byte dotPosition, byte row, bool left) | 
| Move the cursor left or right on _lcd.  More... | |
| 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 point mark.  More... | |
| float | _askValue (byte begin, byte end, byte dotPosition, byte row, float defaultVal, float lowerBound, float upperBound, bool timeFormat) | 
| Ask a value on _lcd.  More... | |
Library to manage LCD and keypad for Rims library.
Made for : DFRobot LCD Keypad Shield For Arduino http://tinyurl.com/zqk5wmg
If anything else is used, lcd must be 16 cols 2 rows and keypad must be associated to a analog ADC pin with a volage divider for each keys. Needed keys : UP, DOWN, LEFT, RIGHT, SELECT/OK
| UIRims::UIRims | ( | LiquidCrystal * | lcd, | 
| byte | pinKeysAnalog, | ||
| byte | pinLight = LED_BUILTIN,  | 
        ||
| char | pinSpeaker = -1  | 
        ||
| ) | 
Constructor.
| lcd | : LiquidCrystal* (16x2 characters) that will be used during identification. | 
| pinKeysAnalog | : byte. Analog input pin for keypad reading | 
| pinLight | : byte. Pin used for lcd backlight control | 
| pinSpeaker | : byte. Pin used for outputing alarm to buzzer | 
      
  | 
  protected | 
Ask a value on _lcd.
| begin | : byte. cursor bounds (columns) for the value. | 
| end | : byte. cursor bounds (columns) for the value. | 
| dotPosition | : byte. point mark position | 
| row | : byte. row on _lcd | 
| defaultVal | : float. starting value | 
| lowerBound | : float. value's limits | 
| upperBound | : float. value's limits | 
| timeFormat | : boolean. treats the value (in sec) as a time with minutes and secondes. | 
      
  | 
  protected | 
Convert celcius temp to fahrenheit temp.
| celcius | : float. | 
      
  | 
  protected | 
Increse or decrease a floating point value on _lcd-> dotPosition give the position (column) of the point mark.
| value | : float. | 
| dotPosition | : byte. position (column) of the point mark | 
| increase | : boolean. If true, increment else, decrement. | 
| lowerBound | : float. decreasing limit of the value | 
| upperBound | : float. increasing limit of the value | 
| timeFormat | : boolean. treats the value (in sec) as a time with minutes and secondes. | 
      
  | 
  protected | 
Move the cursor left or right on _lcd.
| begin | : byte. indicate the position (column) of the beginning of the cursor bounds. | 
| end | : byte. indicate the position (column) of the ending of the cursor bounds. | 
| dotPosition | : byte. position (column) of the dot to skip it. | 
| row | : byte. row indicate the row of the cursor on _lcd | 
| left | : boolean. If true, left movement else, right. | 
      
  | 
  protected | 
Show a floating number at column col and row row on _lcd.
| val | : float. | 
| width | : int. minumum width | 
| prec | : int. digit after point | 
| col | : byte. starting column on _lcd | 
| row | : byte. starting row on _lcd | 
      
  | 
  protected | 
Show mess at column col and row row on _lcd.
| mess | : String. Message to print | 
| col | : byte. starting column on _lcd | 
| row | : byte. starting row on _lcd | 
      
  | 
  protected | 
Set _lcd cursor at given column col and given row row.
| col | : byte. starting column on _lcd | 
| row | : byte. starting row on _lcd | 
      
  | 
  protected | 
      
  | 
  protected | 
| byte UIRims::askMashWater | ( | int | mashWaterValues[], | 
| byte | defaultVal | ||
| ) | 
Ask mash water quantity (4 choices max).
| mashWaterValues | : int[4]. Array that contain different choices for mash water quantity. If less than 4 is needed, the rest should be setted to -1. All values should be between 0 L and 99 L. | 
| defaultVal | : byte. Cursor starting position index. | 
| float UIRims::askSetPoint | ( | float | defaultVal | ) | 
Ask set point temperature with the UI.
| defaultVal | : float. | 
| unsigned int UIRims::askTime | ( | unsigned int | defaultVal | ) | 
Ask timer time on the UI.
| defaultVal | : unsigned int. in sec | 
| void UIRims::lcdLight | ( | bool | state = true | ) | 
Turn on/off the LCD backlighting.
| state | : boolean. If true, light on, else, light off. | 
| byte UIRims::readKeysADC | ( | bool | waitNone = true | ) | 
| void UIRims::ring | ( | bool | state = true | ) | 
Ring with given speaker setted with the Constructor.
| state | : boolean. If true, start buzz, if false stop buzz. | 
| void UIRims::setCV | ( | float | controlValue | ) | 
Set ident CV on identScreen.
| controlValue | : float. current CV between 0 to 100 % | 
| void UIRims::setFlow | ( | float | flow, | 
| bool | buzz = true  | 
        ||
| ) | 
Set a new flow value.
Set a new flow value. If timeFlowScreen is shown, it will be updated on the lcd _lcd else it will be memorized for when it will be shown.
| flow | : float. If flow is NAN , flow measurement is not used in the UI.  | 
| buzz | : boolean. Emit an alarm on speaker if flow is incorrect. | 
| void UIRims::setFlowBounds | ( | float | lowBound, | 
| float | upBound | ||
| ) | 
Set bounds for accepted flow rate.
| lowBound | : float. Lower bound of flow rate [L/min] | 
| upBound | : float. Upper bound of flow rate [L/min] | 
| void UIRims::setHeaterVoltState | ( | bool | state, | 
| bool | buzz = true  | 
        ||
| ) | 
Set voltage detection on heater under the heater warning.
| state | : boolean. If true, show on, else, off. | 
| buzz | : boolean. If true, speaker alarm is trigerred if no voltage. If false, state is shown on LCD. | 
| void UIRims::setTempPV | ( | float | tempCelcius, | 
| bool | buzz = true  | 
        ||
| ) | 
Set a new process value temperature.
Set a new process value temperature. If tempScreen is shown, it will be updated on the lcd _lcd else it will be memorized for when it will be shown.
| tempCelcius | : float. If tempCelcius is NAN , temperature probe is considered unconnected.  | 
| buzz | : boolean. Emit an alarm on speaker if temperture probe is disconnected. | 
| void UIRims::setTempSP | ( | float | tempCelcius | ) | 
Set a new set point temperature.
Set a new set point temperature. If tempScreen is shown, it will be updated on the lcd _lcd else it will be memorized for when it will be shown.
| tempCelcius | : float. | 
| void UIRims::setTime | ( | unsigned int | timeSec | ) | 
Set a new remaining time.
Set a new remaining time. If timeFlowScreen is shown, it will be updated on the lcd _lcd else it will be memorized for when it will be shown.
| timeSec | : unsigned int. remaining time in sec | 
| void UIRims::showHeaterWarning | ( | bool | state = false | ) | 
Show the heater switching warning.
| state | : boolean. shown state value. | 
| void UIRims::showPumpWarning | ( | float | flow = 0.0 | ) | 
Show the pump switching warning.
| flow | : float. shown flow value. | 
| void UIRims::timerRunningChar | ( | bool | state | ) | 
Show blinking char next to remaining time.
| state | : boolean. If true, char is shown. | 
 1.8.13