test

Dependencies:   ad5422_arduino mbed LT1446 ADS1248-1 LM35-1 Flash FT813 PGA280_ADS1259

main.h

Committer:
nikmaos
Date:
2020-08-08
Revision:
3:d4b106bf3a32
Parent:
1:5d28312892aa
Child:
4:d53895f65eb7

File content as of revision 3:d4b106bf3a32:

#include "PerifConfig.h"
#include "PGA280.h"
#include "ADS1259.h"
#include "PGA280ADS1259.h"
#include "ad5422_arduino.h"
#include "lm35.h"
#include "LT1446.h"
#include "ads1248.h"
#include "flashwrapper.h"
#include <cmath>
#include "FT_Platform.h"
#include "display.h"
/*тип для хранение настроек ПИДа*/
  

typedef struct{
    float kP,kI,kD,sampleTime;
    uint32_t chkd;
    uint8_t
    enabled:1,
    :7;
    }PID_t;
//тип для "удобного" хранения настроек калибровки
typedef struct{
    char  calibration[25];
    }Calibration_t;
//"переходник" между голыми и осмысленными данными
typedef union
{
    struct{
    PID_t PID;//пид для нагрева колонки
    PID_t PID_R; //ПИД для расхода
    char calibration[25];
    };
    //массив слов по 4 байта
    uint32_t w[2*(sizeof(PID_t)/sizeof(uint32_t))+sizeof(Calibration_t)/sizeof(uint32_t)];
}Mem_t;
Mem_t Mem;

typedef struct{
volatile float Error, dError, last_Error;    //Ошибка и предыдущее значение для ПИД
volatile float Integral;    //Интегральная составляющая ПИД-регулятора    
    }PID_prom_t;  //промежуточные значения ПИД

typedef struct{
        float kp,ki,kd,st;
    }PID_defs_t; //тип для хранения настроек по умолчанию

float inline NormADC(long data);
void ComandCheck();
float PID (PID_t *pidx, PID_prom_t *prom);
void printtemp();
float BufToFloat(unsigned char *buf);
void setPIDdefault(PID_t *pidx,PID_defs_t *defs);
void pressed();