test

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

Committer:
nikmaos
Date:
Sat Aug 08 18:32:53 2020 +0000
Revision:
3:d4b106bf3a32
Parent:
1:5d28312892aa
Child:
4:d53895f65eb7
808

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