117 lines
2.7 KiB
C
117 lines
2.7 KiB
C
|
|
/*!
|
|||
|
|
* \created : 2016/10/10
|
|||
|
|
* \author : M.Yang
|
|||
|
|
* \purpose : <EFBFBD>ṩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>ı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* \remarks : <EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>λ<EFBFBD>Ķ<EFBFBD><EFBFBD>嶼<EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD>λΪ0<EFBFBD><EFBFBD>С<EFBFBD>ڱ<EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڱ<EFBFBD><EFBFBD><EFBFBD>λʱΪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺô<EFBFBD><EFBFBD>ǣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD>֤<EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD>λΪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>չ<EFBFBD><EFBFBD>
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
#ifndef Unit_h__
|
|||
|
|
#define Unit_h__
|
|||
|
|
|
|||
|
|
#ifdef __cplusplus
|
|||
|
|
namespace unit {
|
|||
|
|
extern "C"{
|
|||
|
|
#endif
|
|||
|
|
#ifdef __cplusplus
|
|||
|
|
typedef enum _EScale : char {
|
|||
|
|
#else
|
|||
|
|
typedef enum _EScale {
|
|||
|
|
#endif // DEBUG
|
|||
|
|
SCALE_p = -4,
|
|||
|
|
SCALE_n,
|
|||
|
|
SCALE_u,
|
|||
|
|
SCALE_m,
|
|||
|
|
SCALE_STD = 0,
|
|||
|
|
SCALE_K,
|
|||
|
|
SCALE_M,
|
|||
|
|
SCALE_G,
|
|||
|
|
SCALE_T,
|
|||
|
|
}EScale;
|
|||
|
|
|
|||
|
|
#ifdef __cplusplus
|
|||
|
|
typedef enum _EType : char{
|
|||
|
|
#else
|
|||
|
|
typedef enum _EType {
|
|||
|
|
#endif // __cplusplus
|
|||
|
|
TYPE_INVALID = -1,
|
|||
|
|
TYPE_FREQ,
|
|||
|
|
TYPE_TIME,
|
|||
|
|
TYPE_AREA, //<2F><><EFBFBD><EFBFBD>(Vs)
|
|||
|
|
TYPE_SAMPLERATE,//<2F><><EFBFBD><EFBFBD><EFBFBD>ʣ<EFBFBD>Sa/s<><73>
|
|||
|
|
TYPE_POINT, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Sa<53><61>
|
|||
|
|
TYPE_VPP, //<2F><><EFBFBD><EFBFBD>ֵ
|
|||
|
|
TYPE_VOLTAGE,//<2F><>ѹ
|
|||
|
|
TYPE_CURRENT,//<2F><><EFBFBD><EFBFBD>
|
|||
|
|
TYPE_DB, //DB
|
|||
|
|
TYPE_VV, //
|
|||
|
|
TYPE_PERCENT,//<2F>ٷֱ<D9B7>
|
|||
|
|
TYPE_DEGREE, //<2F><><EFBFBD><EFBFBD>
|
|||
|
|
TYPE_WATT, //<2F><><EFBFBD>أ<EFBFBD><D8A3><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
TYPE_UNKNOWN,// δ֪<CEB4><D6AA>λ
|
|||
|
|
}EType;
|
|||
|
|
|
|||
|
|
typedef struct _CodeName {
|
|||
|
|
char Code;
|
|||
|
|
char Name[5];
|
|||
|
|
}CodeName;
|
|||
|
|
|
|||
|
|
static const CodeName ScaleTabel[] = {
|
|||
|
|
{ SCALE_p, "p" },
|
|||
|
|
{ SCALE_n, "n" },
|
|||
|
|
{ SCALE_u, "u" },
|
|||
|
|
{ SCALE_m, "m" },
|
|||
|
|
{ SCALE_STD,"" },
|
|||
|
|
{ SCALE_K, "K" },
|
|||
|
|
{ SCALE_M, "M" },
|
|||
|
|
{ SCALE_G, "G" },
|
|||
|
|
{ SCALE_T, "T" }
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
static const CodeName TypeTabel[] = {
|
|||
|
|
{ TYPE_FREQ, "Hz" },
|
|||
|
|
{ TYPE_TIME, "s" },
|
|||
|
|
{ TYPE_AREA, "Vs" },
|
|||
|
|
{ TYPE_SAMPLERATE, "Sa/s" },
|
|||
|
|
{ TYPE_POINT, "Sa" },
|
|||
|
|
{ TYPE_VPP, "Vpp" },
|
|||
|
|
{ TYPE_VOLTAGE, "V" },
|
|||
|
|
{ TYPE_CURRENT, "A" },
|
|||
|
|
{ TYPE_DB, "dB" },
|
|||
|
|
{ TYPE_VV, "VV" },
|
|||
|
|
{ TYPE_PERCENT, "%" },
|
|||
|
|
{ TYPE_DEGREE, "<EFBFBD><EFBFBD>" },
|
|||
|
|
{ TYPE_WATT, "W" },
|
|||
|
|
{ TYPE_UNKNOWN, "U" },
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
const char* _UCIAPI uci_UnitFindTypeName(char _code);
|
|||
|
|
|
|||
|
|
const char* _UCIAPI uci_UnitFindScaleName(char _code);
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>ֵת<D6B5><D7AA><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>ĵ<EFBFBD>λ<EFBFBD><CEBB>
|
|||
|
|
//@param _cur_value : <20><>ǰ<EFBFBD><C7B0>ֵ
|
|||
|
|
//@param _cur_unit : <20><>ǰ<EFBFBD><C7B0>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
|
|||
|
|
//@param _des_unit : Ҫת<D2AA><D7AA><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
|
|||
|
|
//@param _scale : <20><><EFBFBD>ƣ<EFBFBD>һ<EFBFBD><D2BB>Ϊ1000<30><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD>ʵĽ<CAB5><C4BD><EFBFBD><EFBFBD><EFBFBD>1000
|
|||
|
|
//@return : <20><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2.3KHz ת<><D7AA>ΪHz<48><7A><EFBFBD><EFBFBD>2300Hz
|
|||
|
|
//@remarks : ע<>ⵥλ<E2B5A5><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>EScale<6C><65><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
double _UCIAPI uci_UnitConvertTo(double _cur_value, int _cur_unit, int _des_unit, double _scale);
|
|||
|
|
|
|||
|
|
typedef struct _UVale {
|
|||
|
|
double Value;
|
|||
|
|
long long Unit;
|
|||
|
|
}UVale;
|
|||
|
|
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>ֵ<EFBFBD>Զ<EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵĵ<CAB5>λ<EFBFBD><CEBB><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD>ʹ<EFBFBD><CAB9>ֵС<D6B5>ڽ<EFBFBD><DABD>ơ<EFBFBD><C6A1><EFBFBD><EFBFBD><EFBFBD>2300Hz<48><7A>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2.3KHzs
|
|||
|
|
//@param _value : <20><>ǰ<EFBFBD><C7B0>ֵ
|
|||
|
|
//@param _unit : <20><>ǰ<EFBFBD><C7B0>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
|
|||
|
|
//@param _scale : <20><><EFBFBD>ƣ<EFBFBD>һ<EFBFBD><D2BB>Ϊ1000<30><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD>ʵĽ<CAB5><C4BD><EFBFBD><EFBFBD><EFBFBD>1000
|
|||
|
|
//@remarks : ע<>ⵥλ<E2B5A5><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>EScale<6C><65><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
UVale _UCIAPI uci_UnitRefresh(double _value, char _unit, double _scale);
|
|||
|
|
|
|||
|
|
#ifdef __cplusplus
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
#endif // Unit_h__
|