test

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

Committer:
nikmaos
Date:
Tue Aug 11 19:13:43 2020 +0000
Revision:
4:d53895f65eb7
Parent:
3:d4b106bf3a32
Child:
5:21240fa1ee4c
1108

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nikmaos 3:d4b106bf3a32 1 #include "PerifConfig.h"
nikmaos 3:d4b106bf3a32 2 #include "PGA280.h"
nikmaos 3:d4b106bf3a32 3 #include "ADS1259.h"
nikmaos 3:d4b106bf3a32 4 #include "PGA280ADS1259.h"
nikmaos 3:d4b106bf3a32 5 #include "ad5422_arduino.h"
nikmaos 3:d4b106bf3a32 6 #include "lm35.h"
nikmaos 3:d4b106bf3a32 7 #include "LT1446.h"
nikmaos 3:d4b106bf3a32 8 #include "ads1248.h"
nikmaos 3:d4b106bf3a32 9 #include "flashwrapper.h"
nikmaos 3:d4b106bf3a32 10 #include <cmath>
nikmaos 3:d4b106bf3a32 11 #include "FT_Platform.h"
nikmaos 3:d4b106bf3a32 12 #include "display.h"
nikmaos 3:d4b106bf3a32 13 /*тип для хранение настроек ПИДа*/
nikmaos 3:d4b106bf3a32 14
nikmaos 3:d4b106bf3a32 15
nikmaos 3:d4b106bf3a32 16 typedef struct{
nikmaos 3:d4b106bf3a32 17 float kP,kI,kD,sampleTime;
nikmaos 3:d4b106bf3a32 18 uint32_t chkd;
nikmaos 3:d4b106bf3a32 19 uint8_t
nikmaos 3:d4b106bf3a32 20 enabled:1,
nikmaos 3:d4b106bf3a32 21 :7;
nikmaos 3:d4b106bf3a32 22 }PID_t;
nikmaos 4:d53895f65eb7 23 //тип для "удобного" хранения настроек калибровки дисплея
nikmaos 3:d4b106bf3a32 24 typedef struct{
nikmaos 3:d4b106bf3a32 25 char calibration[25];
nikmaos 3:d4b106bf3a32 26 }Calibration_t;
nikmaos 4:d53895f65eb7 27
nikmaos 4:d53895f65eb7 28 //"переходник" между "голыми" и "осмысленными" данными
nikmaos 3:d4b106bf3a32 29 typedef union
nikmaos 3:d4b106bf3a32 30 {
nikmaos 3:d4b106bf3a32 31 struct{
nikmaos 3:d4b106bf3a32 32 PID_t PID;//пид для нагрева колонки
nikmaos 3:d4b106bf3a32 33 PID_t PID_R; //ПИД для расхода
nikmaos 3:d4b106bf3a32 34 char calibration[25];
nikmaos 4:d53895f65eb7 35 struct {
nikmaos 4:d53895f65eb7 36 float k,b;
nikmaos 4:d53895f65eb7 37 }ADS1248Calibr;
nikmaos 3:d4b106bf3a32 38 };
nikmaos 3:d4b106bf3a32 39 //массив слов по 4 байта
nikmaos 4:d53895f65eb7 40 uint32_t w[2*(sizeof(PID_t)/sizeof(uint32_t))+sizeof(Calibration_t)/sizeof(uint32_t)+2*sizeof(float)];
nikmaos 3:d4b106bf3a32 41 }Mem_t;
nikmaos 4:d53895f65eb7 42 Mem_t Mem;//экземпляр "переходника"
nikmaos 3:d4b106bf3a32 43
nikmaos 3:d4b106bf3a32 44 typedef struct{
nikmaos 3:d4b106bf3a32 45 volatile float Error, dError, last_Error; //Ошибка и предыдущее значение для ПИД
nikmaos 3:d4b106bf3a32 46 volatile float Integral; //Интегральная составляющая ПИД-регулятора
nikmaos 3:d4b106bf3a32 47 }PID_prom_t; //промежуточные значения ПИД
nikmaos 3:d4b106bf3a32 48
nikmaos 3:d4b106bf3a32 49 typedef struct{
nikmaos 3:d4b106bf3a32 50 float kp,ki,kd,st;
nikmaos 3:d4b106bf3a32 51 }PID_defs_t; //тип для хранения настроек по умолчанию
nikmaos 3:d4b106bf3a32 52
vitlog 0:98fcc06c66bf 53 float inline NormADC(long data);
vitlog 1:5d28312892aa 54 void ComandCheck();
nikmaos 3:d4b106bf3a32 55 float PID (PID_t *pidx, PID_prom_t *prom);
nikmaos 3:d4b106bf3a32 56 void printtemp();
nikmaos 3:d4b106bf3a32 57 float BufToFloat(unsigned char *buf);
nikmaos 3:d4b106bf3a32 58 void setPIDdefault(PID_t *pidx,PID_defs_t *defs);
nikmaos 3:d4b106bf3a32 59 void pressed();