9ceb218f80
Co-authored-by: Cursor <cursoragent@cursor.com>
214 lines
7.7 KiB
C
214 lines
7.7 KiB
C
#ifndef PROTOCOL_H
|
||
#define PROTOCOL_H
|
||
|
||
#ifdef __cplusplus
|
||
extern "C"
|
||
{
|
||
#endif
|
||
|
||
#include "protocol_data_def.h"
|
||
|
||
#define EVS_LINKKIT_OPEN 0
|
||
#define EVS_LINKKIT_CONNECT 1
|
||
#define EVS_LINKKIT_POLL 2
|
||
|
||
#define EVS_LINKKIT_OPEN_FAULT -1 // 设备linkkit打开失败
|
||
#define EVS_LINKKIT_OPEN_WAIT -2 // 设备linkkit打开重试等待
|
||
#define EVS_LINKKIT_CONNECT_FAULT -3 // 设备linkkit连接失败
|
||
#define EVS_LINKKIT_CONNECT_WAIT -4 // 设备linkkit连接重试等待
|
||
|
||
#define EVS_IS_NOT_READY -1 // 设备未准备就绪
|
||
#define EVS_GET_REG_CODE_FAULT -2 // 获取设备注册码失败
|
||
#define EVS_SET_CERT_FAULT -3 // 设置设备证书失败
|
||
|
||
/*****************************智能枪读卡器相关********************/
|
||
#define EVS_OPT_READER_SUCCESS 0 // 读卡器操作成功
|
||
#define EVS_SET_READER_BAUD_FAIL -1 // 设置读卡器波特率失败
|
||
#define EVS_CHECK_READER_FAIL -2 // 获取读卡器版本失败
|
||
#define EVS_CTRL_BEEMER_FAIL -3 // 设置蜂鸣器失败
|
||
#define EVS_OPEN_RF_FAIL -4 // 打开射频失败
|
||
#define EVS_CLOSE_RF_FAIL -5 // 关闭射频失败
|
||
|
||
#define EVS_HANDLE_AUTHING 0 // 正在鉴权
|
||
#define EVS_HANDLE_AUTH_SUCCESS 1 // 鉴权成功
|
||
#define EVS_HANDLE_CARD_FAILED -1 // 读卡失败
|
||
#define EVS_HANDLE_TERMINAL_TIMEOUT -2 // 获取终端机编号服务超时
|
||
#define EVS_HANDLE_GET_MAC1 -3 // 读取卡内MAC1失败
|
||
#define EVS_HANDLE_AUTHCODE_TIMEOUT -4 // 获取加密机鉴权码服务超时
|
||
#define EVS_HANDLE_CHECK_MAC2 -5 // 验证MAC2失败
|
||
#define EVS_HANDLE_AUTH_RESULT_TIMEOUT -6 // 获取鉴权结果服务超时
|
||
#define EVS_HANDLE_GUN_NUM_WRONG -7 // 枪编号错误
|
||
#define EVS_HANDLE_GUN_PULL_OUT -8 // 鉴权中拔枪
|
||
|
||
#define EVS_CARD_ERROR_READER_COMM 10 // 读卡器通信异常
|
||
#define EVS_CARD_ERROR_OPEN_RF 11 // 开射频失败
|
||
#define EVS_CARD_ERROR_FOUND_CARD 12 // 寻卡失败
|
||
#define EVS_CARD_ERROR_GET_USER_ID 13 // 获取用户ID失败
|
||
#define EVS_CARD_ERROR_GET_PSY_ID 14 // 获取物理卡号失败
|
||
#define EVS_CARD_ERROR_CHECK_PIN 15 // 验密失败
|
||
#define EVS_CARD_ERROR_GET_KEY_VER 16 // 获取秘钥版本失败
|
||
#define EVS_CARD_ERROR_GET_MAC1 17 // 获取MAC1失败
|
||
#define EVS_CARD_ERROR_CHECK_MAC2 18 // 获取MAC1失败
|
||
#define EVS_CARD_ERROR_CLOSE_RF 19 // 关射频失败
|
||
#define EVS_CARD_ERROR_TERMINAL_FAULT 20 // 获取终端机编号数据异常
|
||
#define EVS_CARD_ERROR_TERMINAL_TIMEOUT 21 // 获取终端机编号超时
|
||
#define EVS_CARD_ERROR_CHECK_MAC1_FAILED 22 // 平台验证MAC1失败
|
||
#define EVS_CARD_ERROR_CHECK_MAC1_TIMEOUT 23 // 平台验证MAC1超时
|
||
#define EVS_CARD_ERROR_AUTH_TIMEOUT 24 // 接收启动鉴权结果超时
|
||
#define EVS_CARD_ERROR_AUTH_FAILED 25 // 鉴权结果不允许启动
|
||
#define EVS_CARD_ERROR_GUN_PULL_OUT 26 // 鉴权过程中用户拔枪
|
||
|
||
extern char new_firmware_version[IOTX_FIRMWARE_VER_LEN];
|
||
/*************************************************************/
|
||
|
||
/**
|
||
*函数名称: int evs_card_ctrl_init(int fd)
|
||
*函数功能: 当智能卡初始化成功后可操作智能充电枪读取车辆枪座智能卡信息
|
||
*
|
||
*
|
||
*输入参数: fd
|
||
*读卡器通讯句柄
|
||
*返回值:
|
||
*
|
||
*
|
||
*EVS_OPT_READER_SUCCESS 0 //读卡器操作成功
|
||
*EVS_SET_READER_BAUD_FAIL -1 //设置读卡器波特率失败
|
||
*EVS_CHECK_READER_FAIL -2 //获取读卡器版本失败
|
||
*EVS_CTRL_BEEMER_FAIL -3 //设置蜂鸣器失败
|
||
*EVS_OPEN_RF_FAIL -4 //打开射频失败
|
||
*EVS_CLOSE_RF_FAIL -5 //关闭射频失败
|
||
**/
|
||
int evs_card_ctrl_init(int fd);
|
||
|
||
/**
|
||
*函数名称: int evs_card_handle(int fd, evs_smart_gun_auth_param *param)
|
||
*函数功能: 初始化智能卡充电枪
|
||
*
|
||
*
|
||
*输入参数: fd
|
||
*读卡器通讯句柄
|
||
*返回值:
|
||
*
|
||
*
|
||
*EVS_OPT_READER_SUCCESS 0 //读卡器操作成功
|
||
*EVS_SET_READER_BAUD_FAIL -1 //设置读卡器波特率失败
|
||
*EVS_CHECK_READER_FAIL -2 //获取读卡器版本失败
|
||
*EVS_CTRL_BEEMER_FAIL -3 //设置蜂鸣器失败
|
||
*EVS_OPEN_RF_FAIL -4 //打开射频失败
|
||
*EVS_CLOSE_RF_FAIL -5 //关闭射频失败
|
||
**/
|
||
int evs_card_handle(int fd, evs_smart_gun_auth_param *param);
|
||
/**
|
||
*函数名称: int evs_linkkit_file_upload(int fd, evs_smart_gun_auth_param *param)
|
||
*函数功能: upload file to IOT
|
||
*
|
||
*
|
||
*输入参数: filePath
|
||
*file path
|
||
*返回值:
|
||
*
|
||
*
|
||
*EVS_UPLOAD_SUCCESS 0 //upload file success
|
||
*EVS_UPLOAD_FAIL -1 //upload file failed
|
||
**/
|
||
int evs_linkkit_file_upload(char *filePath);
|
||
|
||
/*
|
||
函数名称: int evs_linkkit_new(const int evs_access,const int is_device_uid)
|
||
函数功能: 当设备就绪后(可以读取到设备的设备证书信息和设备注册码),创建SDK套件
|
||
输入参数: evs_access
|
||
ACCESS_IS_CUSTOM 3:自定义
|
||
ACCESS_IS_TEST 2: 接入测试平台
|
||
ACCESS_IS_DEBUG 1: 接入调试平台
|
||
ACCESS_IS_FORMAL 0: 接入正式平台
|
||
is_device_uid
|
||
0:使用注册码获取证书
|
||
1:使用设备唯一编码获取证书
|
||
返回值:
|
||
0 设备执行成功
|
||
EVS_IS_NOT_READY 设备未准备就绪
|
||
EVS_GET_REG_CODE_FAULT 获取设备注册码失败
|
||
EVS_SET_CERT_FAULT 设置设备证书失败
|
||
*/
|
||
int evs_linkkit_new(const int evs_access, const int is_device_uid);
|
||
|
||
/*
|
||
函数名称: int evs_linkkit_time_sync(void)
|
||
函数功能: 当设备与iot平台连接成功后,进行校时
|
||
输入参数: 无
|
||
|
||
返回值:
|
||
0 校时请求发送成功
|
||
1 校时 请求发送失败
|
||
*/
|
||
int evs_linkkit_time_sync(void);
|
||
/*
|
||
函数名称: int evs_linkkit_fota(unsigned char *buffer, int buffer_length)
|
||
函数功能: 当iot平台连下发固件升级时,进行ota固件包下载
|
||
输入参数:
|
||
1 buffer固件缓存区
|
||
2 buffer_length 缓存区大小
|
||
返回值:
|
||
0 ota固件下载成功
|
||
1 ota固件下载失败
|
||
*/
|
||
int evs_linkkit_fota(unsigned char *buffer, int buffer_length);
|
||
|
||
int evs_linkkit_free(void);
|
||
/*
|
||
函数名称: void evs_set_firmware_version(const char *verion)
|
||
函数功能: 固件信息设置函数
|
||
输入参数: verion固件版本信息
|
||
返回值:无
|
||
*/
|
||
void evs_set_firmware_version(const char *verion);
|
||
|
||
/*
|
||
函数名称: int evs_mainloop()
|
||
函数功能: SDK功能运行函数
|
||
输入参数: 无
|
||
返回值:
|
||
EVS_LINKKIT_OPEN_FAULT 设备linkkit打开失败
|
||
EVS_LINKKIT_OPEN_WAIT 设备linkkit打开重试等待
|
||
EVS_LINKKIT_CONNECT_FAULT 设备linkkit连接失败
|
||
EVS_LINKKIT_CONNECT_WAIT 设备linkkit连接重试等待
|
||
*/
|
||
int evs_mainloop(void);
|
||
|
||
// int evs_send_event();
|
||
// int evs_post_property();
|
||
/**
|
||
* @brief Send pile event data to SDK.
|
||
*---
|
||
* @param [in] event_type: @n the event you want to send.
|
||
* @param [in] param: @n the event data will be written.
|
||
* @return failed -1 success 0.
|
||
* @see None.
|
||
* @note None.
|
||
*/
|
||
void evs_send_event(evs_cmd_event_enum event_type, void *param);
|
||
|
||
/**
|
||
*
|
||
* 函数 evs_send_property() SDK内部实现的事件发送接口, 供使用者调用。
|
||
* ---
|
||
* Interface of evs_send_property() implemented by SDK, provide for user of SDK.
|
||
*
|
||
*
|
||
*/
|
||
/**
|
||
* @brief Send pile porperty data to SDK.
|
||
*---
|
||
* @param [in] event_type: @n the property you want to send.
|
||
* @param [in] param: @n the property data will be written.
|
||
* @return failed -1 success 0.
|
||
* @see None.
|
||
* @note None.
|
||
*/
|
||
void evs_send_property(evs_cmd_property_enum property_type, void *param);
|
||
|
||
#ifdef __cplusplus
|
||
}
|
||
#endif
|
||
#endif /* interface.h */
|