#ifndef ENUMS_H #define ENUMS_H #include //Привет. Меня зовут Дима и я пишу на КУТЭ 2 месяц. //Вообщем я придерживаюсь такой концепции //set=state(состояние прибора)+sens(чувствительность) // между компонентами передаем SET, в разных сигналах для чувствительности и для состояния typedef enum { CHARGE = 0, ICP} typeIIN; typedef enum { Ku0_1 = 0, Ku0_2, Ku0_5, Ku1, Ku2, Ku5, Ku10, Ku20, Ku50, Ku100, Ku200, Ku500, Ku1000 } typeIKU; // 13 штук typedef enum { Hp0_2 = 0, Hp0_3, Hp1, Hp2, Hp10 } typeIFV; typedef enum { Lp200 = 0, Lp500, Lp1000, Lp5000, Lp10000, Lp20000, Lp50000, Lp100000 } typeIFN; typedef enum { Ch1 = 0, Ch2, Ch3, Ch4, Ch5, Ch6, Ch7, Ch8, Ch9, Ch10, Ch11, Ch12, Ch13, Ch14, Ch15, Ch16 } typeCHANNEL; typedef enum { Accel = 0, Velocity, Pascal, k_Pascal, M_Pascal, Nython, k_Nuthon, pQ_mV } typeVALUE; typedef enum { Out_0_0001 = 0, Out_0_0002 = 1, Out_0_0005 = 2, Out_0_0010 = 3, Out_0_0020 = 4, Out_0_0050 = 5, Out_0_0100 = 6, Out_0_0200 = 7, Out_0_0500 = 8, Out_0_1000 = 9, Out_0_2000 = 10, Out_0_5000 = 11, Out_1_0000 = 12, Out_2_0000 = 13, Out_5_0000 = 14, Out_10_000 = 15, Out_20_000 = 16, Out_50_000 = 17, Out_100_00 = 18, Out_200_00 = 19, Out_500_00 = 20, Out_1000_0 = 21, Out_2000_0 = 22, Out_5000_0 = 23, Out_10000 = 24 } typeOUTPUT; typedef enum{SENS=0, STATE, IIN, IFV, IFN,IKU,VAL} typeREQ; typedef struct { typeCHANNEL channel; typeIKU IKU; typeIIN IIN; typeIFV IFV; typeIFN IFN; float SENS; typeVALUE VALUE; typeOUTPUT OUTPUT; } Set; typedef struct { quint16 OWN; // 0,1 4001 quint16 BAUD; // 2,3 4002 quint16 INFB; // 4,5 4003 //БАЙТ КОНТРОЛЯ ЧЕТНОСТИ quint16 IIN; // 6,7 5001 quint16 IFV; // 8,9 5002 //ФИЛЬТР ВЫСОКИХ quint16 IFN; // 10,11 5003 // ФИЛЬТР НИЗКИХ quint16 IKU; // 12,13 5004 //КОЭФИЦИЕНТ УСИЛЕНИЯ quint16 IKE; // 14,15 5005 quint16 IKD; // 16,17 5006 quint16 IKS; // 18,19 5007 quint16 IPZ; // 20,21 5008 1- плавуящая то есть разорванная - по схеме наоборот quint16 OPZ; // 22,23 5009 ПЛАВУЮЩАЯ ЗЕМЛЯ quint16 VAL; // 24,25 5010 -- пикокулоны метры в секнду..... quint16 TEMP; // 26,27 NONE float KCOND; // 24,25,26,27 7501 float SENS; // 28,29,30,31 7502 float ACCEL; // 32,33,34,35 7503 } UserData_TypeDef; // ********LENGTH = 28 bytes*********** typedef enum { CHARGE_1 = 0, KU_2, KU_5, KU_10, KU_x10, CHARGE_10, CHARGE_0_1, ICP_1, ICP_10, KU_200, KU_500, KU_1000 } IC_CORR; typedef union { uint8_t ch[4]; uint16_t sh[2]; uint32_t lg; float fl; } sfloat; typedef union{ uint8_t ch[4]; float fl; } usfloat; typedef union { uint8_t ch[4]; uint32_t lg; } ulong_t; typedef union { uint8_t ch[4]; int32_t lg; } long_t; typedef union{ uint8_t ch[2]; uint16_t sh; } usshort; typedef union { uint8_t ch[2]; int16_t sh; } sshort_t; #endif // ENUMS_H