test

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

Committer:
nikmaos
Date:
Tue Sep 01 10:52:34 2020 +0000
Revision:
7:c364201bc3ed
Parent:
6:cfe7cb0bdb1a
1.09.2020;

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 5:21240fa1ee4c 13
nikmaos 6:cfe7cb0bdb1a 14 /*тип для хранение настроек ПИДа*/
nikmaos 5:21240fa1ee4c 15 #ifndef _PID_T //если ещё нету определения типа то создать
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 5:21240fa1ee4c 23 #endif
nikmaos 4:d53895f65eb7 24 //тип для "удобного" хранения настроек калибровки дисплея
nikmaos 3:d4b106bf3a32 25 typedef struct{
nikmaos 3:d4b106bf3a32 26 char calibration[25];
nikmaos 3:d4b106bf3a32 27 }Calibration_t;
nikmaos 4:d53895f65eb7 28
nikmaos 4:d53895f65eb7 29 //"переходник" между "голыми" и "осмысленными" данными
nikmaos 3:d4b106bf3a32 30 typedef union
nikmaos 3:d4b106bf3a32 31 {
nikmaos 3:d4b106bf3a32 32 struct{
nikmaos 6:cfe7cb0bdb1a 33 float temp_u;
nikmaos 6:cfe7cb0bdb1a 34 float rashod_u;
nikmaos 3:d4b106bf3a32 35 PID_t PID;//пид для нагрева колонки
nikmaos 3:d4b106bf3a32 36 PID_t PID_R; //ПИД для расхода
nikmaos 3:d4b106bf3a32 37 char calibration[25];
nikmaos 4:d53895f65eb7 38 struct {
nikmaos 4:d53895f65eb7 39 float k,b;
nikmaos 4:d53895f65eb7 40 }ADS1248Calibr;
nikmaos 3:d4b106bf3a32 41 };
nikmaos 3:d4b106bf3a32 42 //массив слов по 4 байта
nikmaos 6:cfe7cb0bdb1a 43 uint32_t w[2*sizeof(float)+2*(sizeof(PID_t)/sizeof(uint32_t))+sizeof(Calibration_t)/sizeof(uint32_t)+2*sizeof(float)];
nikmaos 3:d4b106bf3a32 44 }Mem_t;
nikmaos 4:d53895f65eb7 45 Mem_t Mem;//экземпляр "переходника"
nikmaos 3:d4b106bf3a32 46
nikmaos 3:d4b106bf3a32 47 typedef struct{
nikmaos 3:d4b106bf3a32 48 volatile float Error, dError, last_Error; //Ошибка и предыдущее значение для ПИД
nikmaos 3:d4b106bf3a32 49 volatile float Integral; //Интегральная составляющая ПИД-регулятора
nikmaos 3:d4b106bf3a32 50 }PID_prom_t; //промежуточные значения ПИД
nikmaos 3:d4b106bf3a32 51
nikmaos 3:d4b106bf3a32 52 typedef struct{
nikmaos 3:d4b106bf3a32 53 float kp,ki,kd,st;
nikmaos 3:d4b106bf3a32 54 }PID_defs_t; //тип для хранения настроек по умолчанию
nikmaos 3:d4b106bf3a32 55
vitlog 0:98fcc06c66bf 56 float inline NormADC(long data);
vitlog 1:5d28312892aa 57 void ComandCheck();
nikmaos 3:d4b106bf3a32 58 float PID (PID_t *pidx, PID_prom_t *prom);
nikmaos 3:d4b106bf3a32 59 void printtemp();
nikmaos 3:d4b106bf3a32 60 float BufToFloat(unsigned char *buf);
nikmaos 3:d4b106bf3a32 61 void setPIDdefault(PID_t *pidx,PID_defs_t *defs);
nikmaos 3:d4b106bf3a32 62 void pressed();