52 lines
1.2 KiB
C++
52 lines
1.2 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();
|
|
void InitializeIot();
|
|
void ProcessImuData(const qmi8658a_data_t* data);
|
|
|
|
// 静态回调函数
|
|
static void ImuTimerCallback(void* arg);
|
|
}; |