A142_Desktop/enums.h

158 lines
3.4 KiB
C

#ifndef ENUMS_H
#define ENUMS_H
#include <QObject>
//Привет. Меня зовут Дима и я пишу на КУТЭ 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