rims-arduino-library  v3.1.1
Recirculation infusion mash system library for Arduino
Classes | Macros | Functions | Variables
Rims.h File Reference

Rims class declaration, related macro and global variables. More...

#include "Arduino.h"
#include "utility/UIRims.h"
#include "utility/PID_v1mod.h"
#include "utility/w25qflash.h"

Go to the source code of this file.

Classes

class  Rims
 Recirculation infusion mash system (RIMS) library for Arduino. More...
 

Macros

#define WITH_W25QFLASH
 uncomment/comment to include/exclude flash memory
 
#define SAMPLETIME   1000
 Sample time for PID. Same rate is used for LCD refresh and data log [mSec].
 
#define SSRWINDOWSIZE   5000
 Solid state relay window size for PWM [mSec].
 
#define DEFAULTSP   68
 Default set point on UIRims [celcius].
 
#define DEFAULTTIME   5400
 Default timer time on UIRims [sec].
 
#define PROBE_RTD   0
 Temperature probe type : resistance temperature detector (RTD)
 
#define PROBE_THERM   1
 Temperature probe type : thermistor (NTC or PTC)
 
#define PROBE_CUSTOM   2
 Temperature probe type : custom.
 
#define DEFAULTPROBETYPE   PROBE_RTD
 
#define DEFAULTPROBE0   -247.1087
 
#define DEFAULTPROBE1   2.23511
 
#define DEFAULTPROBE2   0.001659
 
#define DEFAULTPROBE3   0.0
 
#define DEFAULTRES1   124.5
 
#define RTDAMPGAIN   5.0
 RTD instrument amplifier gain [V/deltaV].
 
#define RTDAMPREF   2.5
 RTD instrument amplifier reference [V].
 
#define TEMPSUPPLY   5.0
 Temperature probe (voltage divider or bridge) supply voltage [V].
 
#define ADCFILTERTAU   30.0
 Temperature ADC pre-filtering time constant for UI and before PID [sec].
 
#define MAXTEMPVAR   1.0
 Max temperature variation from set point before stopping timer count down [celcius].
 
#define SCREENSWITCHTIME   10000
 Time before tempScreen/timeFlowScreen is automatically shown [mSec].
 
#define NOTIMELIMIT   4E9
 If the timer configured time is bigger or equal this value, there is no time limit (used in RimsTuner) [mSec].
 
#define DEFAULTFLOWLOWBOUND   3.0
 Default lower bound for accepted flow rate [L/min].
 
#define DEFAULTFLOWUPBOUND   5.0
 Default Upper bound for accepted flow rate [L/min].
 
#define ADDRSESSIONTABLE   0x000000
 Flash mem address for table of starting addr. of brew sessions.
 
#define ADDRDATACOUNT   0x001000
 Flash mem address for counting data in current brew session.
 
#define ADDRBREWDATA   0x002000
 Flash mem starting address for all brew datas.
 
#define BYTESPERDATA   20
 Total bytes used per data point (at each second)
 
#define MEMSIZEBYTES   1048576
 Memory size in bytes (Winbond W25Q80BV : 1 MByte)
 

Functions

void isrFlow ()
 ISR for flow sensor. More...
 

Variables

volatile unsigned long g_flowLastTime
 Last time interrupt was called [µSec].
 
volatile unsigned long g_flowCurTime
 Current time interrupt is called [µSec].
 

Detailed Description

Rims class declaration, related macro and global variables.

Function Documentation

◆ isrFlow()

void isrFlow ( )

ISR for flow sensor.

Interrupt service routine is used as a software capture mode. Time values are store in g_flowLastTime and g_flowCurTime.