Heater for threaded program

Dependents:   LEX_Threaded_Programming

Heater.h

Committer:
omatthews
Date:
2019-07-17
Revision:
1:4435d407d827
Parent:
0:4e33cc8171f4
Child:
2:7f15386fcc90

File content as of revision 1:4435d407d827:

/*------------------------------------------------------------------------------
Library header file for heater operations
Date: 16/07/2018


------------------------------------------------------------------------------*/

#ifndef Heater_H
#define Heater_H
#include "mbed.h"
#include "ADS8568_ADC.h"

#define MEAS_DELAY          50     // measurement delay after turning on FET (us)
#define N_ROLL_AVG          10     // rolling average for R values
#define ALL_CH              15     //value of convst bus to read all chanels simultaneosly

class Heater
{
    public:
        /** Constructor
                 * @param MOSI SPI pin
                 * @param MISO SPI pin
                 * @param SCLK SPI pin
                 * @param nCS SPI pin
                 * @param ADC reset pin
                 * @param Conv chA pin
                 * @param Conv chB pin
                 * @param Conv chC pin
                 * @param Conv chD pin
                 */
        Heater(int i_port, int v_port, DigitalOut drive, float R_set = 1);
        
        //Public member functions

        void read_R();
        void hold(int hold_time);

        
        void Set_R_set(float R);

        float Get_R();
        
        void turn_on();
        void turn_off();

        
    
    protected:
        

        float curr;
        float v;
        float R;
        float R_set;
        
        int i_port;
        int v_port;
        DigitalOut drive;
      
};
    
#endif