A1210/Core/Inc/struct.h

113 lines
2.3 KiB
C

/*
* struct.h
*
* Created on: 23 ���. 2019 �.
* Author: toporov
*/
#ifndef STRUCT_H_
#define STRUCT_H_
#include "stm32f4xx_hal.h"
#include <stdbool.h>
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[8];
uint16_t sh[4];
uint32_t lg[2];
float fl32[2];
double fl64;
} sfloat64;
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;
//*********************************************************************************************************************************
//*********************************************************************************************************************************
//*********************************************************************************************************************************
typedef struct
{ //êîëëè÷êñòâî áàéò äîëæíî äåëèòñÿ íà 4 èíà÷å íå ïèøåò!
uint16_t OWN; // 0,1 4001 // Àäðåñ óñòðîéñòâà
uint16_t BAUD; // 2,3 4002 // ñêîðîñòü ïåðåäà÷è
uint16_t INFB; // 4,5 4003 //áèò ÷åòíîñòè
uint16_t IIN; // 6,7 5001 //òèï çàðÿäà ACP=
uint16_t IFV; // 8,9 5002 //ôèëüòð âåðõíèõ ÷àñòîò
uint16_t IFN; // 10,11 5003 //íèæíèõ
uint16_t IKU; // 12,13 5004 //Êîýô óñèëåíèÿ
uint16_t IK0; // 14,15 5005 // çíàêîìåñòî 0
uint16_t IK1; // 16,17 5006 // çíàêîìåñòî 1
uint16_t IK2; // 18,19 5007 // çíàêîìåñòî 2
uint16_t IK3; // 20,21 // çíàêîìåñòî 3
uint16_t IK4; // 22,23 // çíàêîìåñòî 4
uint16_t IK5; // 22,23 // çíàêîìåñòî 4
uint16_t IPZ; // 24,25 5008 // ïëàâàþùàÿ çåìëÿ
float KCOND; // 28,29,30,31 7501 //
float SENS; // 32,33,34,35 7502 //äóáëèðîâàíèå (êîýôèöèýíò ïðåîáðàçîâàíèÿ)
uint16_t UNIT; //Îòîáðàæàåìûå âåëè÷èíû íà ýêðàíå
} UserData_TypeDef; // ********LENGTH = 39 bytes***********
typedef struct {
uint16_t Ku0_1;
uint16_t Ku0_2;
uint16_t Ku0_5;
uint16_t Ku1;
uint16_t Ku2;
uint16_t Ku5;
uint16_t Ku10;
uint16_t Ku20;
uint16_t Ku50;
uint16_t Ku100;
uint16_t Ku200;
uint16_t Ku500;
uint16_t Ku1000;
} CorrectonKuStruct_TypeDef;
#endif /* STRUCT_H_ */