添加部分常用API。 添加 newlife rpc 通讯。
JiuHuan 编写于 2024-08-16 10:56:23
microCLib
#pragma once

#include "Type.h"
#include "Gpio.h"
// #include "SysTime.h"

// 只使用10HZ 差分值。 
// 其他两种数据不要。
// 也就是说,只使用 25 脉冲的类型。

typedef struct
{
	PinName SCK;
	PinName DOUT;

	// push数据用的下标。
	ushort PushIdx;
	// 经验值,别动
	uint SrcData[12];

	// 上次读取的值。用于消抖。
	// 每次读取的时候都会对比一下。
	uint LastValue;

	// 上次读取时间
	Time_t LastStamp;

	// 错误计数。
	byte ErrCnt;
}TM7711_t;

/// <summary>初始化</summary>
/// <param name="thiss"></param>
/// <returns></returns>
bool TM7711Init(TM7711_t* thiss);

/// <summary>丢数据到滤波器内</summary>
/// <param name="thiss"></param>
/// <param name="data"></param>
void TM7711PushData(TM7711_t* thiss, uint data);

/// <summary>获取数据,滤波器之后的数据</summary>
/// <param name="thiss">对象自己</param>
/// <returns></returns>
uint TM7711GetDstData(TM7711_t* thiss);

/// <summary>25bit 读数据。设置10HZ差分。无噪声位17bit</summary>
/// <param name="thiss"></param>
/// <returns></returns>
uint TM7711GetData25(TM7711_t* thiss);

/// <summary>26bit 读数据。设置40HZ温度</summary>
/// <param name="thiss"></param>
/// <returns></returns>
uint TM7711GetData26(TM7711_t* thiss);

/// <summary>27bit 读数据。设置40HZ差分</summary>
/// <param name="thiss"></param>
/// <returns></returns>
uint TM7711GetData27(TM7711_t* thiss);