52 lines
1.4 KiB
C++
52 lines
1.4 KiB
C++
#pragma once
|
||
|
||
#include "wifi_board.h"
|
||
#include "boards/common/qmi8658a.h"
|
||
|
||
namespace iot {
|
||
class ImuSensorThing;
|
||
}
|
||
|
||
class PowerSaveTimer;
|
||
|
||
class MovecallMojiESP32S3 : public WifiBoard {
|
||
public:
|
||
MovecallMojiESP32S3();
|
||
~MovecallMojiESP32S3();
|
||
|
||
// IMU传感器相关方法
|
||
bool IsImuInitialized() const;
|
||
bool GetImuData(qmi8658a_data_t* data);
|
||
void OnMotionDetected();
|
||
|
||
// 触摸相关方法
|
||
void LockTouchTask(int touch_pad_num);
|
||
void UnlockTouchTask();
|
||
void ResetAllTouchStates();
|
||
|
||
// 生产测试模式
|
||
void EnterProductionTestMode();
|
||
|
||
private:
|
||
// 私有成员变量和方法的声明
|
||
PowerSaveTimer* power_save_timer_;
|
||
static MovecallMojiESP32S3* instance_;
|
||
|
||
// IMU传感器相关
|
||
QMI8658A* imu_sensor_;
|
||
esp_timer_handle_t imu_timer_handle_;
|
||
qmi8658a_data_t latest_imu_data_;
|
||
bool imu_initialized_;
|
||
iot::ImuSensorThing* imu_thing_;
|
||
|
||
// 其他私有成员...
|
||
// (完整的私有成员列表在.cc文件中)
|
||
|
||
// 私有方法声明
|
||
void InitializeImuSensor();// 初始化IMU传感器(QMI8658A 陀螺仪)
|
||
void InitializeIot();// 初始化IoT设备(包括IMU传感器)
|
||
void ProcessImuData(const qmi8658a_data_t* data);// 处理IMU数据的方法
|
||
|
||
// 静态回调函数
|
||
static void ImuTimerCallback(void* arg);// IMU传感器定时器回调函数
|
||
}; |