61 lines
1.8 KiB
C
61 lines
1.8 KiB
C
|
/***************************************************************************
|
||
|
*
|
||
|
* Copyright 2015-2019 BES.
|
||
|
* All rights reserved. All unpublished rights reserved.
|
||
|
*
|
||
|
* No part of this work may be used or reproduced in any form or by any
|
||
|
* means, or stored in a database or retrieval system, without prior written
|
||
|
* permission of BES.
|
||
|
*
|
||
|
* Use of this work is governed by a license granted by BES.
|
||
|
* This work contains confidential and proprietary information of
|
||
|
* BES. which is protected by copyright, trade secret,
|
||
|
* trademark and other intellectual property rights.
|
||
|
*
|
||
|
****************************************************************************/
|
||
|
#ifndef __APP_SPP_OTA_H__
|
||
|
#define __APP_SPP_OTA_H__
|
||
|
|
||
|
#include "spp_api.h"
|
||
|
#include "sdp_api.h"
|
||
|
#include "ota_control.h"
|
||
|
|
||
|
#if defined(__3M_PACK__)
|
||
|
#define L2CAP_MTU 980
|
||
|
#else
|
||
|
#define L2CAP_MTU 672
|
||
|
#endif
|
||
|
|
||
|
#define OTA_SPP_MAX_PACKET_SIZE L2CAP_MTU
|
||
|
#define OTA_SPP_MAX_PACKET_NUM 5
|
||
|
|
||
|
#define OTA_SPP_RECV_BUFFER_SIZE L2CAP_MTU
|
||
|
|
||
|
#define OTA_SPP_TX_BUF_SIZE (OTA_SPP_MAX_PACKET_SIZE*OTA_SPP_MAX_PACKET_NUM)
|
||
|
|
||
|
#define APP_OTA_DATA_CMD_TIME_OUT_IN_MS 5000
|
||
|
|
||
|
typedef struct {
|
||
|
uint8_t otaSppTxBuf[OTA_SPP_TX_BUF_SIZE];
|
||
|
uint8_t otaSppRxBuf[OTA_SPP_RECV_BUFFER_SIZE];
|
||
|
btif_sdp_record_t *ota_sdp_record;
|
||
|
spp_service *otaSppService;
|
||
|
spp_device *ota_spp_dev;
|
||
|
bool permissionToApply;
|
||
|
} OtaContext;
|
||
|
|
||
|
typedef void(*app_spp_ota_tx_done_t)(void);
|
||
|
void app_spp_ota_register_tx_done(app_spp_ota_tx_done_t callback);
|
||
|
void app_spp_ota_init(void);
|
||
|
void app_ota_send_cmd_via_spp(uint8_t* ptrData, uint16_t length);
|
||
|
void app_ota_send_data_via_spp(uint8_t* ptrData, uint32_t length);
|
||
|
|
||
|
uint16_t app_spp_ota_tx_buf_size(void);
|
||
|
void app_spp_ota_init_tx_buf(uint8_t* ptr);
|
||
|
uint8_t* app_spp_ota_fill_data_into_tx_buf(uint8_t* ptrData, uint32_t dataLen);
|
||
|
void ota_disconnect(void);
|
||
|
|
||
|
|
||
|
#endif
|
||
|
|