80 lines
1.9 KiB
C
80 lines
1.9 KiB
C
/*
|
||
* SPDX-FileCopyrightText: 2021 Espressif Systems (Shanghai) CO LTD
|
||
*
|
||
* SPDX-License-Identifier: Unlicense OR CC0-1.0
|
||
*/
|
||
|
||
|
||
#include <stdio.h>
|
||
#include <stdlib.h>
|
||
#include <string.h>
|
||
// UART通信相关头文件
|
||
#include "driver/uart.h"
|
||
#include "uart_ens1.h" // ENS1 UART通信模块
|
||
|
||
// SPI相关代码已注释,改用UART通信
|
||
/*
|
||
#include "driver/spi_master.h"
|
||
*/
|
||
|
||
/*
|
||
* DEFINES
|
||
****************************************************************************************
|
||
*/
|
||
//#define SUPPORT_HEARTBEAT
|
||
//#define SPP_DEBUG_MODE
|
||
|
||
#define spp_sprintf(s,...) sprintf((char*)(s), ##__VA_ARGS__)
|
||
#define SPP_DATA_MAX_LEN (512)
|
||
#define SPP_CMD_MAX_LEN (20)
|
||
#define SPP_STATUS_MAX_LEN (20)
|
||
#define SPP_DATA_BUFF_MAX_LEN (2*1024)
|
||
|
||
// UART相关定义和函数声明已移至 uart_ens1.h
|
||
|
||
// SPI相关代码已注释,改用UART通信
|
||
/*
|
||
// SPI相关定义 (ENS1芯片)
|
||
#define SPI_HOST SPI2_HOST
|
||
#define PIN_MOSI 13 // MOSI引脚 (GPIO13)
|
||
#define PIN_SCK 14 // SCK引脚 (GPIO14)
|
||
#define PIN_CS 15 // CS片选引脚(GPIO15)
|
||
|
||
// SPI函数声明
|
||
esp_err_t init_spi(void);
|
||
esp_err_t init_spi_device(void);
|
||
esp_err_t spi_send_data(uint8_t *data, size_t len);
|
||
esp_err_t check_ens1_connection(void);
|
||
esp_err_t send_ens1_ping(void);
|
||
|
||
// 全局SPI设备句柄和连接状态
|
||
extern spi_device_handle_t spi_handle;
|
||
extern volatile bool ens1_connected;
|
||
*/
|
||
///Attributes State Machine
|
||
enum{
|
||
SPP_IDX_SVC,
|
||
|
||
SPP_IDX_SPP_DATA_RECV_CHAR,
|
||
SPP_IDX_SPP_DATA_RECV_VAL,
|
||
|
||
SPP_IDX_SPP_DATA_NOTIFY_CHAR,
|
||
SPP_IDX_SPP_DATA_NTY_VAL,
|
||
SPP_IDX_SPP_DATA_NTF_CFG,
|
||
|
||
SPP_IDX_SPP_COMMAND_CHAR,
|
||
SPP_IDX_SPP_COMMAND_VAL,
|
||
|
||
SPP_IDX_SPP_STATUS_CHAR,
|
||
SPP_IDX_SPP_STATUS_VAL,
|
||
SPP_IDX_SPP_STATUS_CFG,
|
||
|
||
#ifdef SUPPORT_HEARTBEAT
|
||
SPP_IDX_SPP_HEARTBEAT_CHAR,
|
||
SPP_IDX_SPP_HEARTBEAT_VAL,
|
||
SPP_IDX_SPP_HEARTBEAT_CFG,
|
||
#endif
|
||
|
||
SPP_IDX_NB,
|
||
};
|