/**
* @file ALGO_MilkContent_ATY.h
*
* @param Project ALGO_Algorithm_ATY_LIB
*
* @author ATY
*
* @copyright
* - Copyright 2017 - 2023 MZ-ATY
* - This code follows:
* - MZ-ATY Various Contents Joint Statement -
*
* https://mengze.top/MZ-ATY_VCJS
* - CC 4.0 BY-NC-SA -
*
* https://creativecommons.org/licenses/by-nc-sa/4.0/
* - Your use will be deemed to have accepted the terms of this statement.
*
* @brief Familiar functions of MilkContent algorithm
*
* @version
* - 1_01_221217 > ATY
* -# Preliminary version, first Release
********************************************************************************
*/
#ifndef __ALGO_MilkContent_ATY_H
#define __ALGO_MilkContent_ATY_H
#include "INCLUDE_ATY.h"
#include "ALGO_Density_ATY.h"
/******************************* For user *************************************/
// #define __DEBUG_ALGO_MilkContent_ATY
/******************************************************************************/
#define PURE_WATER 1
#define COW_MILK 2
#define SHEEP_MILK 3
#define UHT_MILK 4
#define HUMAN_MILK 5
#define CREAM 6
#define WHEY 7
// #define GOAT_MILK 8
// #define BUFFALO_MILK 9
// #define RECOVERED_MILK 10
// #define PASTEURIZED_MILK 11
// #define OTHER_MILK 12
#define MILK_KIND_MAX 7
typedef struct _MilkContent_S
{
float conFat;
float conSnf;
float conDensity; // md
float conProtein; // dbz
float conLactose; // rt
float conSalts;
float conWater;
float conFreeze;
float conTemperature;
float conSC;
float conPH;
}MilkContent_S;
typedef struct _MilkCoefficient_S
{
float coeProtein;
float coeLactose;
float coeSalts;
float coeFreezeMul;
float coeFreezePlus;
float coeFreezePoint;
// float coeSC;
// float coePH;
}MilkCoefficient_S;
extern uint8_t detectContent_Milk;
extern float dampAtRefT;
extern float speedAtRefT;
extern MilkContent_S milcDefault;
void MilkDensityFatFromUS(float usSpeed, float usDamp, float refT, float offset);
void MilkContentFromDensity(void);
#define RefFat 5
#endif /* __ALGO_MilkContent_ATY_H */
/******************************** End Of File *********************************/