Files

214 lines
7.7 KiB
C
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#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 */