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,
|
|||
|
|
};
|