test
Dependencies: ad5422_arduino mbed LT1446 ADS1248-1 LM35-1 Flash FT813 PGA280_ADS1259
Diff: main.h
- Revision:
- 3:d4b106bf3a32
- Parent:
- 1:5d28312892aa
- Child:
- 4:d53895f65eb7
diff -r 04090a362742 -r d4b106bf3a32 main.h --- a/main.h Mon Jun 22 10:33:10 2020 +0000 +++ b/main.h Sat Aug 08 18:32:53 2020 +0000 @@ -1,4 +1,55 @@ +#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 (); -void printtemp(); \ No newline at end of file +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(); \ No newline at end of file