test

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

Committer:
nikmaos
Date:
Thu Aug 13 14:37:39 2020 +0000
Revision:
5:21240fa1ee4c
Parent:
4:d53895f65eb7
Child:
6:cfe7cb0bdb1a
13.08

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