A27快排版本和A270Y版本更新提交
This commit is contained in:
3
.vscode/settings.json
vendored
3
.vscode/settings.json
vendored
@ -13,6 +13,7 @@
|
|||||||
"moto_config.h": "c",
|
"moto_config.h": "c",
|
||||||
"awtk.h": "c",
|
"awtk.h": "c",
|
||||||
"video_callbacks.h": "c",
|
"video_callbacks.h": "c",
|
||||||
"freertos.h": "c"
|
"freertos.h": "c",
|
||||||
|
"mmu.h": "c"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -393,6 +393,7 @@ static void protocol_uart_rx_thread(void *param)
|
|||||||
Send_ota_state(1);
|
Send_ota_state(1);
|
||||||
}else{
|
}else{
|
||||||
printf("enter ota sj.\n");
|
printf("enter ota sj.\n");
|
||||||
|
bt_upgrade_flag = 1;
|
||||||
Set_sys_power_on_self_test(150);
|
Set_sys_power_on_self_test(150);
|
||||||
Set_sys_upgrade_Flag(1);//进入ota界面
|
Set_sys_upgrade_Flag(1);//进入ota界面
|
||||||
Send_ota_state(0);
|
Send_ota_state(0);
|
||||||
|
@ -3,288 +3,259 @@
|
|||||||
|
|
||||||
#include "ECTypes.h"
|
#include "ECTypes.h"
|
||||||
|
|
||||||
#define ECSDK_VERSION "1.0.10"
|
#define ECSDK_VERSION "1.0.13.1"
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
/**
|
||||||
|
* @brief 互联连接状态回调函数
|
||||||
|
* @param status 互联连接状态
|
||||||
|
* @param type 互联连接类型
|
||||||
|
* @note 此函数是非常重要的回调函数。它会返回整个互联的状态。
|
||||||
|
* 有部分互联功能接口,比如:EC_startMirror()/EC_enableDownloadPhoneAppHud()/EC_enableDownloadPhoneAppHud() 等,
|
||||||
|
* 都需要 status为 EC_CONNECT_STATUS_CONNECT_SUCCEED 时,调用才能生效。
|
||||||
|
* 因为这些接口都是在互联成功之后(ECTiny与手机app建立了通讯),才能发指令给手机app,对应功能才能开启。
|
||||||
|
*/
|
||||||
void (*onECConnectStatus)(ECConnectedStatus status, ECConnectedType type);
|
void (*onECConnectStatus)(ECConnectedStatus status, ECConnectedType type);
|
||||||
|
|
||||||
void (*onMirrorStatus)(ECMirrorStatus status);
|
|
||||||
/**
|
/**
|
||||||
* @brief Called when EasyConnected status changed.
|
* @brief 投屏状态
|
||||||
*
|
* @param status 互联投屏状态
|
||||||
* @param status The changed EasyConnected message.
|
*/
|
||||||
|
void (*onMirrorStatus)(ECMirrorStatus status);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief 互联状态变更通知
|
||||||
|
* @param status 变更的状态
|
||||||
*/
|
*/
|
||||||
void (*onECStatusMessage)(ECStatusMessage status);
|
void (*onECStatusMessage)(ECStatusMessage status);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Called when the phone app sends down HUD information.
|
* @brief 手机下发HUD信息时回调
|
||||||
*
|
* @param data HUD信息
|
||||||
* @param data HUD information.
|
|
||||||
*/
|
*/
|
||||||
void (*onPhoneAppHUD)(const ECNavigationHudInfo *data);
|
void (*onPhoneAppHUD)(const ECNavigationHudInfo *data);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Called when the phone app sends down HUD Road Junction Picture.
|
* @brief 手机下发道路引导图时回调
|
||||||
* @param data
|
* @param data
|
||||||
*/
|
*/
|
||||||
void (*onPhoneAppHUDRoadJunctionPicture)(const ECHudRoadJunctionPictureInfo* data);
|
void (*onPhoneAppHUDRoadJunctionPicture)(const ECHudRoadJunctionPictureInfo* data);
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* @brief Called when phone app tell the music info.
|
* @brief 手机音乐信息变化时回调
|
||||||
*
|
* @param data
|
||||||
* @param data The information of music.
|
*/
|
||||||
*/
|
|
||||||
void (*onPhoneAppMusicInfo)(const ECAppMusicInfo *data);
|
void (*onPhoneAppMusicInfo)(const ECAppMusicInfo *data);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Called when the phone app sends down some information.
|
* @brief 手机下发app信息时回调
|
||||||
*
|
* @param data app信息
|
||||||
* @param data Buffer of app information.
|
* @param length app信息长度
|
||||||
*
|
* @note data 是json字符串, 包括手机类型、系统版本、ip地址等。
|
||||||
* @param length Buffer length.
|
* ECTiny 与 手机app建立通讯后会回调此函数
|
||||||
*
|
|
||||||
* @note data is json string, the fields includes os, osVersion and ip.
|
|
||||||
* Called when ECSDK::openTransport succeed.
|
|
||||||
*/
|
*/
|
||||||
void (*onPhoneAppInfo)(const void *data, uint32_t length);
|
void (*onPhoneAppInfo)(const void *data, uint32_t length);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Called when ECSDK wants car to do call operations(dial or hang up) via Bluetooth.
|
* @brief 需要拨打或者挂断蓝牙电话时回调
|
||||||
*
|
* @param type 操作类型
|
||||||
* @param type Operation type.
|
* @param name 电话拨打的姓名
|
||||||
*
|
* @param number 电话号码
|
||||||
* @param name The person's name of corresponding number.
|
* @note 受限于Android/iOS系统的权限,在车机上点击互联投屏的过来的拨打电话,ECTiny无法完成电话的拨打和接听操作,因此需要依赖于车机系统的蓝牙模块完成。
|
||||||
*
|
* 车机的投屏界面上点击拨打蓝牙电话时,此回调函数会把拨打的用户姓名和电话号码传到车机上,由车机蓝牙模块完成电话的拨打
|
||||||
* @param number Phone numbers.
|
* 1.需要车机端作为蓝牙免提设备(Hand-Free-Device)。
|
||||||
*
|
* 2.亿连的蓝牙电话功能,需要在车机和手机的HFP保持连接后,才可以正常启用。
|
||||||
* @note Phone app is not able to dial or hang up automatically due to the latest system access limitation,
|
|
||||||
* however, car is able to do it via Bluetooth. Therefore, ECSDK moves the call operations
|
|
||||||
* to car, which can dial or hang up when this method is called.
|
|
||||||
*/
|
*/
|
||||||
void (*onCallAction)(ECCallType type, const char *name, const char *number);
|
void (*onCallAction)(ECCallType type, const char *name, const char *number);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Called when bulk data is received.
|
* @brief 接收手机端发送的数据块
|
||||||
*
|
|
||||||
* @param data Buffer of bulk data.
|
* @param data Buffer of bulk data.
|
||||||
*
|
|
||||||
* @param length Buffer length.
|
* @param length Buffer length.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
void (*onBulkDataReceived)(const void *data, uint32_t length);
|
void (*onBulkDataReceived)(const void *data, uint32_t length);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief onRealMirrorSizeChanged
|
* @brief 投屏状态变更
|
||||||
* @param realWidth
|
* @param ECVideoInfo 视屏参数
|
||||||
* @param realHeight
|
* @note 投屏的实际宽高、横竖屏切换时回调此函数
|
||||||
*
|
|
||||||
* \note The actual size of the projection screen does not equal the size of the video stream in some cases.
|
|
||||||
* The surrounding area is filled with black. This message calls back the actual size of the projection screen
|
|
||||||
*/
|
*/
|
||||||
void (*onMirrorInfoChanged)(const ECVideoInfo *info);
|
void (*onMirrorInfoChanged)(const ECVideoInfo *info);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Called when the license authorization failed. After this interface was called,
|
* @brief 鉴权失败时回调此函数。ECTiny功能全部不可用
|
||||||
* all connections would be forced closed.
|
* @param errCode 主要用于亿连后台进行排查的错误码,无需关心具体值。
|
||||||
*
|
* @param errMsg 错误信息。
|
||||||
* @param errCode Error code.
|
* @note 此回调函数需要处理,当出现激活失败时给与提示。
|
||||||
*
|
* 该回调一般出现在互联建立过程中,出现时ECTiny会在内部进行释放动作。
|
||||||
* @param errMsg Error message.
|
* ECTiny使用者需要保证合法的激活校验流程,之后重新初始化ECSDK方可使用。
|
||||||
*/
|
*/
|
||||||
void (*onLicenseAuthFail)(int32_t errCode, const char *errMsg);
|
void (*onLicenseAuthFail)(int32_t errCode, const char *errMsg);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Called when the license authorization succeed.
|
* @brief 鉴权成时回调此函数
|
||||||
*
|
* @param code 正常错误码,无需关心具体值。
|
||||||
* @param code success code. The code can gain specific meaning by ECAuthSuccessCode.
|
* @param msg 正常激活log信息。
|
||||||
*
|
* @note 该接口回调一般出现在互联建立过程中,在首次进行激活(手机IME号备案激活)时,回调会包含剩余数量等信息,SDK使用者可根据具体的使用场景进行相关展示。
|
||||||
* @param msg success information.
|
|
||||||
*
|
|
||||||
* @param msg the description information.
|
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
void (*onLicenseAuthSuccess)(int32_t code, const char *msg);
|
void (*onLicenseAuthSuccess)(int32_t code, const char *msg);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Called when registered command was triggered by VR.
|
* @brief 当注册的控车指令被vr激活时回调
|
||||||
*
|
* @param carCmd 触发的控车指令
|
||||||
* @param carCmd The triggered command.
|
* @see EC_registerCarCmds()
|
||||||
*
|
|
||||||
* @note Voice control can be implemented with this method by VR.
|
|
||||||
*
|
|
||||||
* @see ECSDK::registerCarCmds
|
|
||||||
*/
|
*/
|
||||||
void (*onCarCmdNotified)(const ECCarCmd *carCmd);
|
void (*onCarCmdNotified)(const ECCarCmd *carCmd);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Called when phone app request the HU to start input.
|
* @brief 监听手机端文字输入
|
||||||
*
|
* @param info 当前需要输入的文字信息,包括输入类型(文字、数字、电话号码等),最大输入长度,默认的文字,最大行数,以及Enter键默认的显示效果及动作。
|
||||||
* @param info relevant parameters about the input.
|
* @note 监听手机端输入法的开始输入状态,并传递此次输入文字的相关信息。
|
||||||
*/
|
*/
|
||||||
void (*onInputStart)(const ECInputInfo *info);
|
void (*onInputStart)(const ECInputInfo *info);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Called when phone app request the HU to cancel input.
|
* @note 监听手机端输入法的结束或者取消的状态,此时车机端键盘也需要取消。
|
||||||
*/
|
*/
|
||||||
void (*onInputCancel)();
|
void (*onInputCancel)();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Called when phone app tell the selection of input.
|
* @brief 监听手机端输入光标位置、选择状态信息
|
||||||
|
* @param start 光标开始的位置
|
||||||
|
* @param stop 光标结束的位置
|
||||||
|
* @note 监听手机端输入文字的选择状态,光标状态,车机端并做状态展示。仅对安卓手机有效,苹果手机互联无此回调。
|
||||||
*/
|
*/
|
||||||
void (*onInputSelection)(int32_t start, int32_t stop);
|
void (*onInputSelection)(int32_t start, int32_t stop);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Called when phone app tell the text of input.
|
* @brief 同步当前手机端的文字信息到车机
|
||||||
|
* @param text 当前手机端输入的文字信息。
|
||||||
|
* @note 如在手机端也对输入框内的文字进行输入,需要同步至车机端,保持车机端和手机端的状态同步。
|
||||||
*/
|
*/
|
||||||
void (*onInputText)(const char *text);
|
void (*onInputText)(const char *text);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Called when phone app send the text of VR or TTS.
|
* @brief 对识别内容进行展示
|
||||||
|
* @param info 手机端语音引擎识别后的文字内容信息。
|
||||||
*/
|
*/
|
||||||
void (*onVRTextReceived)(const ECVRTextInfo *info);
|
void (*onVRTextReceived)(const ECVRTextInfo *info);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Called when phone app tell the page list.
|
* @brief 获取快捷方式列表信息
|
||||||
*
|
* @param pages 返回快捷方式的数组,参考 ECTypes.h 的 ECPageInfo 定义,主要包含图标的编号、名称、icon的唯一标识信息;
|
||||||
* @param pages Array of the struct ECPageInfo.
|
* @param length pages数组长度;
|
||||||
*
|
* @note ECPageInfo::page 字段标识了每一个快捷方式的唯一标识,通过该标识,可以实现两个主要的功能:
|
||||||
* @param length The length of the array.
|
* 1. 通过page编号,可以通过调用 ECSDK::queryPageIcon 获取快捷方式的图标资源。
|
||||||
|
* 2. 通过page编号,可以通过调用 ECSDK::openAppPage 实现快捷打开对应指定手机APP页面
|
||||||
*/
|
*/
|
||||||
void (*onPageListReceived)(const ECPageInfo *pages, int32_t length);
|
void (*onPageListReceived)(const ECPageInfo *pages, int32_t length);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Called when phone app tell the icons.
|
* @brief 手机app回调图标信息
|
||||||
*
|
* @param icons 返回快捷方式图标资源的数组,参考 ECTypes.h 的 ECIconInfo 定义,主要包含icon的编号、icon的格式、icon图像数据、icon的数据长度;
|
||||||
* @param icons Array of the struct ECIconInfo.
|
* @param length icons的数组长度。
|
||||||
*
|
|
||||||
* @param length The length of the array.
|
|
||||||
*/
|
*/
|
||||||
void (*onPageIconReceived)(const ECIconInfo *icons, int32_t length);
|
void (*onPageIconReceived)(const ECIconInfo *icons, int32_t length);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Called when phone app tell weather.
|
* @brief 回调天气信息
|
||||||
*
|
* @param data 天气信息字符串
|
||||||
* @param data Buffer of weather information.
|
* @param length 字符串长度
|
||||||
*
|
* @note data 是一个固定格式的json字符串
|
||||||
* @param length Buffer length.
|
|
||||||
*
|
|
||||||
* @note data pointed to a json string buffer.
|
|
||||||
*/
|
*/
|
||||||
void (*onWeatherReceived)(const char *data, int32_t length);
|
void (*onWeatherReceived)(const char *data, int32_t length);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Called when phone app tell vr tips.
|
* @brief 请求VR提醒文字
|
||||||
*
|
* @param data VR文字
|
||||||
* @param data Buffer of tips information.
|
* @param length data长度
|
||||||
*
|
* @note data是一个json字符串
|
||||||
* @param length Buffer length.
|
* 在使用车机端本地语音助手时,一般需要有一些常驻提示类的使用帮助,这些文字主要通过手机端传输至车机端,由车机端系统完成展示。
|
||||||
*
|
|
||||||
* @note data pointed to a json string buffer.
|
|
||||||
*/
|
*/
|
||||||
void (*onVRTipsReceived)(const char *data, int32_t length);
|
void (*onVRTipsReceived)(const char *data, int32_t length);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Called when the app requests networking
|
* @brief 手机app发送到车机的请求组网
|
||||||
*
|
* @param clientInfo 手机app的相关信息
|
||||||
* @param clientInfo Mobile phone related information
|
* @note 此回调用于BLE组网
|
||||||
*
|
|
||||||
* @note
|
|
||||||
*/
|
*/
|
||||||
void (*onRequestBuildNet)(const ECBTClientInfo *clientInfo);
|
void (*onRequestBuildNet)(const ECBTClientInfo *clientInfo);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Called when canceling networking
|
* @brief 手机app取消组网时回调
|
||||||
*
|
* @note 此回调用于BLE组网
|
||||||
* @note
|
|
||||||
*/
|
*/
|
||||||
void (*onRequestBuildNetCancel)();
|
void (*onRequestBuildNetCancel)();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Called when networking is completed
|
* @brief 手机app组网完成时回调
|
||||||
*
|
* @note 此回调用于BLE组网
|
||||||
* @note
|
|
||||||
*/
|
*/
|
||||||
void (*onPhoneBuildNetFinish)();
|
void (*onPhoneBuildNetFinish)(const char* ip);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Called when app sends AP information
|
* @brief 手机app通知车机,手机创建的ap信息
|
||||||
*
|
* @param netDeviceInfo AP信息
|
||||||
* @param netDeviceInfo AP information
|
* @note 此回调用于BLE组网
|
||||||
*
|
|
||||||
* @note
|
|
||||||
*/
|
*/
|
||||||
void (*onPhoneAPInfo)(const ECBTNetInfo* netDeviceInfo);
|
void (*onPhoneAPInfo)(const ECBTNetInfo* netDeviceInfo);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Called when mobile phone has a notification message.
|
* @brief 收到手机消息通知时回调
|
||||||
* @param notification
|
* @param notification 消息通知
|
||||||
|
* @note 允许下发手机消息通知功能开启后,当收到短信、微信等消息时,此函数会回调消息到车机
|
||||||
|
* @see EC_requestPhoneNotification()
|
||||||
*/
|
*/
|
||||||
void (*onPhoneNotification)(const ECPhoneNotification* notification);
|
void (*onPhoneNotification)(const ECPhoneNotification* notification);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Called when the phone app sends down HUD lane guidance Picture.
|
* @brief HUD道路引导图
|
||||||
* @param notification
|
* @param notification 引导图信息
|
||||||
|
* @note 下发HUD导航功能开启后,导航时,有道路引导图时,此函数会回调
|
||||||
|
* @see EC_enableDownloadPhoneAppHud()
|
||||||
*/
|
*/
|
||||||
void (*onPhoneAppHUDLaneGuidancePicture)(const ECHudLaneGuidancePictureInfo * data);
|
void (*onPhoneAppHUDLaneGuidancePicture)(const ECHudLaneGuidancePictureInfo * data);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Called when checkOTAUpdate was called, it will tell the result of checkOTAUpdate.
|
* @brief 检测更新函数 EC_checkOTAUpdate()调用后, 此回调函数返回结果
|
||||||
*
|
* @param downloadableSoftwares 可下载的软件包数组
|
||||||
* @param downloadableSoftwares It pointer to a array of ECOTAUpdateSoftware, which is downloadable software.
|
* @param downloadableLength 可下载的软件包数组大小, 如果 downloadableLength < 0 标识出现错误, 错误码参考:ECOTAUpdateErrorCode.
|
||||||
*
|
* @param downloadedSoftwares 已下载的软件包数组
|
||||||
* @param downloadableLength The length of the downloadable array, if downloadableLength < 0, means check occur error, downloadableLength is error value of ECOTAUpdateErrorCode.
|
* @param downloadedLength 已下载的软件包数组大小
|
||||||
*
|
|
||||||
* @param downloadedSoftwares It pointer to a array of ECOTAUpdateSoftware, which is downloaded software.
|
|
||||||
*
|
|
||||||
* @param downloadedLength The length of the downloaded array.
|
|
||||||
*/
|
*/
|
||||||
void (*onOTAUpdateCheckResult)(const ECOTAUpdateSoftware* downloadableSoftwares, const int32_t downloadableLength, const ECOTAUpdateSoftware* downloadedSoftwares, const uint32_t downloadedLength);
|
void (*onOTAUpdateCheckResult)(const ECOTAUpdateSoftware* downloadableSoftwares, const int32_t downloadableLength, const ECOTAUpdateSoftware* downloadedSoftwares, const uint32_t downloadedLength);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Called when remote downloadable software has been downloaded to phone.
|
* @brief 有软件包请求下载手机时回调
|
||||||
*
|
* @param downloadableSoftwares 可下载的软件包数组
|
||||||
* @param downloadableSoftwares It pointer to a array of ECOTAUpdateSoftware, which has been in phone, can be downloaded from phone to HU.
|
* @param downloadableLength 可下载软件包数组大小
|
||||||
*
|
* @note 软件包已存在手机,请求下载到车机
|
||||||
* @param downloadableLength The length of the downloadable array.
|
|
||||||
*/
|
*/
|
||||||
void (*onOTAUpdateRequestDownload)(const ECOTAUpdateSoftware* downloadableSoftwares, const uint32_t downloadableLength);
|
void (*onOTAUpdateRequestDownload)(const ECOTAUpdateSoftware* downloadableSoftwares, const uint32_t downloadableLength);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Called when startOTAUpdate is called, it will notify the progress of downloading.
|
* @brief EC_startOTAUpdate()调用之后, 此回调函数会回调下载进度
|
||||||
*
|
* @param downloadingSoftwareId 下载的软件ID
|
||||||
* @param downloadingSoftwareId The id of the downloading software.
|
* @param progress 下载的进度
|
||||||
*
|
* @param softwareLeftTime 剩余下载时间
|
||||||
* @param progress The progress of the downloading software,which is a percentage.
|
* @param otaLeftTime OTA剩余时间
|
||||||
*
|
|
||||||
* @param softwareLeftTime The left time of the downloading software.
|
|
||||||
*
|
|
||||||
* @param otaLeftTime The left time of all the specified software by startOTAUpdate.
|
|
||||||
*/
|
*/
|
||||||
void (*onOTAUpdateProgress)(const char* downloadingSoftwareId, float progress, uint32_t softwareLeftTime, uint32_t otaLeftTime);
|
void (*onOTAUpdateProgress)(const char* downloadingSoftwareId, float progress, uint32_t softwareLeftTime, uint32_t otaLeftTime);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Called when startOTAUpdate is called, it will notify software is downloaded.
|
* @brief EC_startOTAUpdate()调用之后, 下载完成时回调此函数
|
||||||
*
|
* @param downloadedSoftwareId 下载的软件ID
|
||||||
* @param downloadedSoftwareId The id of the downloaded software.
|
* @param md5Path md5文件路径
|
||||||
*
|
* @param packagePath 升级包路径
|
||||||
* @param md5Path The md5 file path.
|
* @param iconPath 图标路径
|
||||||
*
|
* @param leftSoftwareNum 剩余下载数量
|
||||||
* @param packagePath The software path.
|
|
||||||
*
|
|
||||||
* @param iconPath The icon path.
|
|
||||||
*
|
|
||||||
* @param leftSoftwareNum The amount of software remaining to be downloaded.
|
|
||||||
*/
|
*/
|
||||||
void (*onOTAUpdateCompleted)(const char* downloadedSoftwareId, const char* md5Path, const char* packagePath, const char* iconPath, uint32_t leftSoftwareNum);
|
void (*onOTAUpdateCompleted)(const char* downloadedSoftwareId, const char* md5Path, const char* packagePath, const char* iconPath, uint32_t leftSoftwareNum);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Called when checkOTAUpdate or startOTAUpdate failed.
|
* @brief EC_checkOTAUpdate() 或者 EC_startOTAUpdate() 调用过程出错回调此函数
|
||||||
*
|
* @param errCode 错误码, 参考:ECOTAUpdateErrorCode.
|
||||||
* @param errCode error code, see ECOTAUpdateErrorCode.
|
* @param softwarId 软件id
|
||||||
*
|
|
||||||
* @param softwarId the id of software.
|
|
||||||
*/
|
*/
|
||||||
void (*onOTAUpdateError)(int32_t errCode, const char* softwareId);
|
void (*onOTAUpdateError)(int32_t errCode, const char* softwareId);
|
||||||
|
|
||||||
@ -815,7 +786,7 @@ const char* EC_generateQRCodeUrl(ECQRInfo* info);
|
|||||||
* @param enable 0:禁止; 1:允许
|
* @param enable 0:禁止; 1:允许
|
||||||
* @return EC_OK 为成功,其余值为失败。
|
* @return EC_OK 为成功,其余值为失败。
|
||||||
*/
|
*/
|
||||||
int32_t EC_requestPhoneNotification(int32_t enable);
|
int32_t EC_requestPhoneNotification(uint32_t enable);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 检测OTA升级
|
* @brief 检测OTA升级
|
||||||
|
@ -194,6 +194,18 @@ enum ECProjectFlavor
|
|||||||
};
|
};
|
||||||
typedef enum ECProjectFlavor ECProjectFlavor;
|
typedef enum ECProjectFlavor ECProjectFlavor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @enum ECAuthCheckMode
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
enum ECAuthCheckMode {
|
||||||
|
EC_AUTH_CHECK_DEFAULT = 0, ///< default check auth on phone
|
||||||
|
EC_AUTH_CHECK_ON_CAR_NETWORK = 1, ///< check auth on car network
|
||||||
|
EC_AUTH_CHECK_SCAN_CODE_TO_ACTIVATE_FOR_SUDING = 2, ///< scan the code to activate the certificate for suding
|
||||||
|
EC_AUTH_CHECK_SCAN_CODE_TO_ACTIVATE = 4, ///< scan the code to activate the certificate
|
||||||
|
};
|
||||||
|
typedef enum ECAuthCheckMode ECAuthCheckMode;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @struct ECAuthentication
|
* @struct ECAuthentication
|
||||||
*
|
*
|
||||||
@ -205,7 +217,7 @@ struct ECAuthentication
|
|||||||
char pwd[1024]; ///< the specific password for authentication powered by Carbit.
|
char pwd[1024]; ///< the specific password for authentication powered by Carbit.
|
||||||
char versionName[1024]; ///< the version name of EasyConn.
|
char versionName[1024]; ///< the version name of EasyConn.
|
||||||
uint32_t versionCode; ///< the version code of EasyConn.
|
uint32_t versionCode; ///< the version code of EasyConn.
|
||||||
uint32_t autoAuthViaCar; ///< specify whether make automatic authentication via car's network.
|
uint32_t authCheckMode; ///< the value of auth check model refer to ECAuthCheckMode.
|
||||||
ECProjectFlavor flavor; ///< specify the HU Project market for sale,SDK will carry a flavor by default.see enum ECProjectFlavor in ECTypes.h
|
ECProjectFlavor flavor; ///< specify the HU Project market for sale,SDK will carry a flavor by default.see enum ECProjectFlavor in ECTypes.h
|
||||||
char reserve[256]; ///< reserve
|
char reserve[256]; ///< reserve
|
||||||
};
|
};
|
||||||
@ -373,11 +385,22 @@ struct ECOptions
|
|||||||
ECMirrorMode mirrorMode; ///< tell the app of connected phone which mirror mode would be used.
|
ECMirrorMode mirrorMode; ///< tell the app of connected phone which mirror mode would be used.
|
||||||
uint32_t bluetoothPolicy; ///< the policy of A2DP message phone sent to the car.
|
uint32_t bluetoothPolicy; ///< the policy of A2DP message phone sent to the car.
|
||||||
uint32_t disableShowCallInfo; ///< true:Don't show call info
|
uint32_t disableShowCallInfo; ///< true:Don't show call info
|
||||||
|
uint32_t disablePageInRVMap; ///< Block display of some page
|
||||||
uint32_t socketTimeoutPeriod; ///< socket timeout period in seconds
|
uint32_t socketTimeoutPeriod; ///< socket timeout period in seconds
|
||||||
char reserve[256]; ///< reserve
|
char reserve[256]; ///< reserve
|
||||||
};
|
};
|
||||||
typedef struct ECOptions ECOptions;
|
typedef struct ECOptions ECOptions;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @enum ECDisablePageInRVMap
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
enum ECDisablePageInRVMap {
|
||||||
|
EC_DISABLE_PAGEINRVMAP_CALLPHONE = 0x0001, ///< Block call display
|
||||||
|
EC_DISABLE_PAGEINRVMAP_MUSIC = 0x0002, ///< Block music display
|
||||||
|
EC_DISABLE_PAGEINRVMAP_MESSAGE = 0x0004, ///< Block message display
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @enum ECTransportType
|
* @enum ECTransportType
|
||||||
*
|
*
|
||||||
|
Binary file not shown.
@ -13,8 +13,6 @@
|
|||||||
#include "carlink_common.h"
|
#include "carlink_common.h"
|
||||||
#include "carlink_video.h"
|
#include "carlink_video.h"
|
||||||
|
|
||||||
//不支持ble组网
|
|
||||||
|
|
||||||
#if CARLINK_EC
|
#if CARLINK_EC
|
||||||
#include "ECTiny.h"
|
#include "ECTiny.h"
|
||||||
#include "ECTypes.h"
|
#include "ECTypes.h"
|
||||||
@ -36,6 +34,9 @@ static ECQRInfo qr_info;
|
|||||||
extern int wps_connect_done;
|
extern int wps_connect_done;
|
||||||
static bool g_ec_disable = false;
|
static bool g_ec_disable = false;
|
||||||
|
|
||||||
|
struct ICalinkEventCallbacks gCarlinkECEventCB;
|
||||||
|
|
||||||
|
|
||||||
#if ENABLE_EC_DASHCAM
|
#if ENABLE_EC_DASHCAM
|
||||||
int start_http_camera();
|
int start_http_camera();
|
||||||
void stop_http_camera();
|
void stop_http_camera();
|
||||||
@ -191,7 +192,7 @@ void onRequestBuildNetCancel()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void onPhoneBuildNetFinish()
|
void onPhoneBuildNetFinish(char const *str)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -544,10 +545,10 @@ void testThread()
|
|||||||
{
|
{
|
||||||
int ret = carlink_common_init();
|
int ret = carlink_common_init();
|
||||||
ret = carlink_bt_wifi_init();
|
ret = carlink_bt_wifi_init();
|
||||||
struct ICalinkEventCallbacks carlinkEventCB = {0};
|
|
||||||
carlinkEventCB.onEvent = onEventEC;
|
gCarlinkECEventCB.onEvent = onEventEC;
|
||||||
carlinkEventCB.rfcomm_data_read = ec_ble_data_read;
|
gCarlinkECEventCB.rfcomm_data_read = ec_ble_data_read;
|
||||||
carlink_register_event_callbacks(&carlinkEventCB);
|
carlink_register_event_callbacks(&gCarlinkECEventCB);
|
||||||
initECTiny(NULL);
|
initECTiny(NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -343,3 +343,5 @@ int ark_network_init()
|
|||||||
|
|
||||||
return (int)ret;
|
return (int)ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -582,15 +582,12 @@ eDHCPCallbackAnswer_t xApplicationDHCPHook( eDHCPCallbackPhase_t eDHCPPhase,
|
|||||||
|
|
||||||
static BaseType_t carlink_wifi_init()
|
static BaseType_t carlink_wifi_init()
|
||||||
{
|
{
|
||||||
static int wifi_sdio_status = MMCSD_HOST_UNPLUGED;
|
int status;
|
||||||
|
|
||||||
if (wifi_sdio_status == MMCSD_HOST_PLUGED)
|
|
||||||
return 0;
|
|
||||||
WIFI_Context_init();
|
WIFI_Context_init();
|
||||||
WIFI_RegisterEvent(eWiFiEventMax, carlink_wifi_event_handler);
|
WIFI_RegisterEvent(eWiFiEventMax, carlink_wifi_event_handler);
|
||||||
for (;;) {
|
for (;;) {
|
||||||
wifi_sdio_status = mmcsd_wait_sdio_ready((int32_t)portMAX_DELAY);
|
status = mmcsd_wait_sdio_ready((int32_t)portMAX_DELAY);
|
||||||
if (wifi_sdio_status == MMCSD_HOST_PLUGED) {
|
if (status == MMCSD_HOST_PLUGED) {
|
||||||
printf("detect sdio device\r\n");
|
printf("detect sdio device\r\n");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -616,14 +613,8 @@ static void bt_set_support_carplay_android_auto()//auto + cp
|
|||||||
console_send_atcmd(cmd_str, strlen(cmd_str));
|
console_send_atcmd(cmd_str, strlen(cmd_str));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void taskInitCarlinkWlanThread(void* param)
|
|
||||||
{
|
|
||||||
carlink_start_wlan();
|
|
||||||
vTaskDelete(NULL);
|
|
||||||
}
|
|
||||||
int carlink_bt_wifi_init()
|
int carlink_bt_wifi_init()
|
||||||
{
|
{
|
||||||
int retry_count = 0;
|
|
||||||
pthread_mutex_lock(&btwifiLocker);
|
pthread_mutex_lock(&btwifiLocker);
|
||||||
if (g_bt_wifi_init_flag) {
|
if (g_bt_wifi_init_flag) {
|
||||||
pthread_mutex_unlock(&btwifiLocker);
|
pthread_mutex_unlock(&btwifiLocker);
|
||||||
@ -636,24 +627,14 @@ int carlink_bt_wifi_init()
|
|||||||
//bt_set_support_carplay();
|
//bt_set_support_carplay();
|
||||||
bt_set_support_carplay_android_auto();
|
bt_set_support_carplay_android_auto();
|
||||||
carlink_bt_open_nolock();
|
carlink_bt_open_nolock();
|
||||||
lwip_tcpip_init_done_flag = 0;
|
carlink_start_wlan();
|
||||||
xTaskCreate(taskInitCarlinkWlanThread, "initThread", 2048 * 4, NULL, 1, NULL);
|
g_bt_wifi_init_flag = 1;
|
||||||
|
|
||||||
while(lwip_tcpip_init_done_flag == 0) {
|
|
||||||
if (retry_count++ > 50)
|
|
||||||
break;
|
|
||||||
vTaskDelay(pdMS_TO_TICKS(300));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (lwip_tcpip_init_done_flag) {
|
|
||||||
g_bt_wifi_init_flag = 1;
|
|
||||||
printf("bt wlan init ok\r\n");
|
|
||||||
} else {
|
|
||||||
g_bt_wifi_init_flag = 0;
|
|
||||||
printf("bt wlan init failed\r\n");
|
|
||||||
}
|
|
||||||
pthread_mutex_unlock(&btwifiLocker);
|
pthread_mutex_unlock(&btwifiLocker);
|
||||||
printf("bt wlan init is ok\r\n");
|
printf("bt wlan init is ok\r\n");
|
||||||
|
|
||||||
|
// app_wifi_update_demo();
|
||||||
|
wifi_update_init();
|
||||||
|
printf("app wlan update init ok\r\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -103,7 +103,7 @@ void carlink_register_event_callbacks(const struct ICalinkEventCallbacks *pcb)
|
|||||||
|
|
||||||
int carlink_common_init()
|
int carlink_common_init()
|
||||||
{
|
{
|
||||||
//FF_Disk_t *sfdisk = NULL;
|
FF_Disk_t *sfdisk = NULL;
|
||||||
BaseType_t ret = -1;
|
BaseType_t ret = -1;
|
||||||
|
|
||||||
pthread_mutex_lock(&carlink_com_locker);
|
pthread_mutex_lock(&carlink_com_locker);
|
||||||
@ -120,14 +120,14 @@ int carlink_common_init()
|
|||||||
}
|
}
|
||||||
|
|
||||||
pthread_key_system_init();
|
pthread_key_system_init();
|
||||||
#if 0
|
|
||||||
sfdisk = FF_SFDiskInit("/sf");
|
sfdisk = FF_SFDiskInit("/sf");
|
||||||
if (!sfdisk) {
|
if (!sfdisk) {
|
||||||
printf("FF_SFDiskInit fail.\r\n");
|
printf("FF_SFDiskInit fail.\r\n");
|
||||||
//return;
|
//return;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
ret = xTaskCreate(carlink_event_proc, "cl_ev_proc", 2048, NULL, configMAX_PRIORITIES - 1, NULL);
|
ret = xTaskCreate(carlink_event_proc, "cl_ev_proc", 2048, NULL, configMAX_PRIORITIES / 5, NULL);
|
||||||
g_comm_init_flag = 1;
|
g_comm_init_flag = 1;
|
||||||
|
|
||||||
exit:
|
exit:
|
||||||
|
@ -31,11 +31,6 @@ void set_carlink_display_info(int x, int y, int w, int h);//set carlink show are
|
|||||||
void set_carlink_display_state(int on); // on: 1.display carlink; 0. display native ui
|
void set_carlink_display_state(int on); // on: 1.display carlink; 0. display native ui
|
||||||
void set_carlink_active_video_info(int x, int y);//for android auto
|
void set_carlink_active_video_info(int x, int y);//for android auto
|
||||||
|
|
||||||
|
|
||||||
void* h264_video_player_init();
|
|
||||||
void h264_video_player_uninit(void* h264_Handle);
|
|
||||||
int h264_video_player_proc(void* h264_Handle, const char *h264_buf, int h264_buf_len);
|
|
||||||
|
|
||||||
#define WRITE_BE32(ptr, val) \
|
#define WRITE_BE32(ptr, val) \
|
||||||
do { \
|
do { \
|
||||||
uint8_t* __ptr = (uint8_t*)(ptr); \
|
uint8_t* __ptr = (uint8_t*)(ptr); \
|
||||||
|
@ -131,19 +131,6 @@ typedef struct __carplay_cfg_info
|
|||||||
|
|
||||||
}carplay_cfg_info;
|
}carplay_cfg_info;
|
||||||
|
|
||||||
typedef struct _carlink_flash_io
|
|
||||||
{
|
|
||||||
uint32_t (*get_data_arae_size)(void* ctx);
|
|
||||||
uint32_t (*get_flash_block_erase_size)(void* ctx);
|
|
||||||
int32_t (*op_flash)(void* flash_handle, void* ctx, int open);
|
|
||||||
int32_t (*read_data)(void* flash_handle, void *data, uint32_t length, uint32_t offset, void* ctx);
|
|
||||||
int32_t (*write_data)(void* flash_handle, void *data, uint32_t length, uint32_t offset, void* ctx);
|
|
||||||
void* ctx;
|
|
||||||
void* flash_handle;
|
|
||||||
} carlink_flash_io;
|
|
||||||
void register_carlink_flash_io_interface(carlink_flash_io *handle);
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
typedef struct __auto_cfg_info
|
typedef struct __auto_cfg_info
|
||||||
{
|
{
|
||||||
short width;//pixel
|
short width;//pixel
|
||||||
@ -155,10 +142,10 @@ typedef struct __auto_cfg_info
|
|||||||
bool disable_carplay_audio;
|
bool disable_carplay_audio;
|
||||||
|
|
||||||
} auto_cfg_info;
|
} auto_cfg_info;
|
||||||
#endif
|
|
||||||
|
|
||||||
extern carplay_cfg_info *g_link_info;
|
extern carplay_cfg_info *g_link_info;
|
||||||
//extern auto_cfg_info *g_auto_link_info;
|
extern auto_cfg_info *g_auto_link_info;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
@ -827,8 +827,8 @@ void awtk_thread(void *data)
|
|||||||
carlink_ey_init();
|
carlink_ey_init();
|
||||||
#endif
|
#endif
|
||||||
#if CARLINK_EC
|
#if CARLINK_EC
|
||||||
set_carlink_display_info(0, 0, LCD_WIDTH, LCD_HEIGHT);
|
set_carlink_display_info(0, 0, LCD_WIDTH, LCD_HEIGHT-100);
|
||||||
set_carlink_video_info(LCD_WIDTH, LCD_HEIGHT, 30);
|
set_carlink_video_info(LCD_WIDTH, LCD_HEIGHT-100, 30);
|
||||||
carlink_ec_init(0, NULL);
|
carlink_ec_init(0, NULL);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -68,10 +68,10 @@ void check_key(void)
|
|||||||
gs_keyDat[i].flag_Reset=1;
|
gs_keyDat[i].flag_Reset=1;
|
||||||
gs_keyDat[i].keyCnt=0;
|
gs_keyDat[i].keyCnt=0;
|
||||||
// printf("LV_KEY_OPTION key long key\r\n");
|
// printf("LV_KEY_OPTION key long key\r\n");
|
||||||
if(Get_sys_wifi_state()){
|
// if(Get_sys_wifi_state()){
|
||||||
printf("key carplay -----------------maps.\r\n");
|
// printf("key carplay -----------------maps.\r\n");
|
||||||
request_UI("maps:");
|
// request_UI("maps:");
|
||||||
}else
|
// }else
|
||||||
Key_Distinction(KEY_LONG_ON,LV_KEY_OPTION);
|
Key_Distinction(KEY_LONG_ON,LV_KEY_OPTION);
|
||||||
}
|
}
|
||||||
if(i==1 && gs_keyDat[0].flag_Pressed==KEY_OFF)
|
if(i==1 && gs_keyDat[0].flag_Pressed==KEY_OFF)
|
||||||
@ -79,11 +79,11 @@ void check_key(void)
|
|||||||
gs_keyDat[i].flag_Reset=1;
|
gs_keyDat[i].flag_Reset=1;
|
||||||
gs_keyDat[i].keyCnt=0;
|
gs_keyDat[i].keyCnt=0;
|
||||||
// printf("LV_KEY_SELECT key long key\r\n");
|
// printf("LV_KEY_SELECT key long key\r\n");
|
||||||
if(Get_sys_wifi_state()){
|
// if(Get_sys_wifi_state()){
|
||||||
printf("key carplay -----------------enter.\r\n");
|
// printf("key carplay -----------------enter.\r\n");
|
||||||
// KnobUpdate(1,0,0,0,0,0);
|
// // KnobUpdate(1,0,0,0,0,0);
|
||||||
sendKnobInfo(1, 0, 0, 0, 0, 0);
|
// sendKnobInfo(1, 0, 0, 0, 0, 0);
|
||||||
}else
|
// }else
|
||||||
Key_Distinction(KEY_LONG_ON,LV_KEY_SELECT);
|
Key_Distinction(KEY_LONG_ON,LV_KEY_SELECT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -109,11 +109,11 @@ void check_key(void)
|
|||||||
// // android_auto_send_knob_event(19,1);
|
// // android_auto_send_knob_event(19,1);
|
||||||
// // android_auto_send_knob_event(19,0);
|
// // android_auto_send_knob_event(19,0);
|
||||||
// }else
|
// }else
|
||||||
if(Get_sys_wifi_state()){
|
// if(Get_sys_wifi_state()){
|
||||||
printf("key carplay -----------------previos.\r\n");
|
// printf("key carplay -----------------previos.\r\n");
|
||||||
// KnobUpdate(0,0,0,0,0,1);
|
// // KnobUpdate(0,0,0,0,0,1);
|
||||||
sendKnobInfo(0, 0, 0, 0, 0, 1);
|
// sendKnobInfo(0, 0, 0, 0, 0, 1);
|
||||||
}else
|
// }else
|
||||||
Key_Distinction(KEY_SHORT_ON,LV_KEY_OPTION);
|
Key_Distinction(KEY_SHORT_ON,LV_KEY_OPTION);
|
||||||
}
|
}
|
||||||
else if(i==1 && gs_keyDat[0].flag_Pressed==KEY_OFF)
|
else if(i==1 && gs_keyDat[0].flag_Pressed==KEY_OFF)
|
||||||
@ -132,11 +132,11 @@ void check_key(void)
|
|||||||
// // android_auto_send_knob_event(20,1);
|
// // android_auto_send_knob_event(20,1);
|
||||||
// // android_auto_send_knob_event(20,0);
|
// // android_auto_send_knob_event(20,0);
|
||||||
// }else
|
// }else
|
||||||
if(Get_sys_wifi_state()){
|
// if(Get_sys_wifi_state()){
|
||||||
printf("key carplay -----------------next.\r\n");
|
// printf("key carplay -----------------next.\r\n");
|
||||||
// KnobUpdate(0,0,0,0,0,-1);
|
// // KnobUpdate(0,0,0,0,0,-1);
|
||||||
sendKnobInfo(0, 0, 0, 0, 0, -1);
|
// sendKnobInfo(0, 0, 0, 0, 0, -1);
|
||||||
}else
|
// }else
|
||||||
Key_Distinction(KEY_SHORT_ON,LV_KEY_SELECT);
|
Key_Distinction(KEY_SHORT_ON,LV_KEY_SELECT);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Binary file not shown.
@ -258,3 +258,7 @@
|
|||||||
<language name="zh_CN">升级准备中...</language>
|
<language name="zh_CN">升级准备中...</language>
|
||||||
<language name="en_US">Upgrade preparation in progress ...</language>
|
<language name="en_US">Upgrade preparation in progress ...</language>
|
||||||
</string>
|
</string>
|
||||||
|
<string name="亿连">
|
||||||
|
<language name="zh_CN">亿连</language>
|
||||||
|
<language name="en_US">EC</language>
|
||||||
|
</string>
|
Binary file not shown.
Binary file not shown.
@ -4,7 +4,7 @@
|
|||||||
<view name="Tab" x="250" y="10" w="300" h="50" style:normal:bg_color="#00000000" style:normal:border_width="0" style:normal:round_radius="10" children_layout="default(r=1,c=0,a=center)" visible="true">
|
<view name="Tab" x="250" y="10" w="300" h="50" style:normal:bg_color="#00000000" style:normal:border_width="0" style:normal:round_radius="10" children_layout="default(r=1,c=0,a=center)" visible="true">
|
||||||
<tab_button name="cp_tab" style="select_btn" floating="false" w="99" visible="true" enable="true" value="true" text="IOS"/>
|
<tab_button name="cp_tab" style="select_btn" floating="false" w="99" visible="true" enable="true" value="true" text="IOS"/>
|
||||||
<tab_button name="aa_tab" style="select_btn" enable="true" visible="true" floating="false" w="99" text="Android"/>
|
<tab_button name="aa_tab" style="select_btn" enable="true" visible="true" floating="false" w="99" text="Android"/>
|
||||||
<tab_button name="ec_tab" style="select_btn" w="99" visible="true" text="亿连"/>
|
<tab_button name="ec_tab" style="select_btn" w="99" visible="true" tr_text="亿连"/>
|
||||||
</view>
|
</view>
|
||||||
<view name="carplay_view" x="68" y="52" w="722" h="328" children_layout="default(r=0,c=1,s=5)" visible="false">
|
<view name="carplay_view" x="68" y="52" w="722" h="328" children_layout="default(r=0,c=1,s=5)" visible="false">
|
||||||
<label name="label" h="70" style:normal:text_align_h="left" style:normal:font_size="30" style:normal:text_color="#FFFFFF" style:normal:font_name="default" word_wrap="true" line_wrap="true" tr_text="1.解锁您的智能手机,找到并进入“设置”菜单,确保蓝牙功能已开启。"/>
|
<label name="label" h="70" style:normal:text_align_h="left" style:normal:font_size="30" style:normal:text_color="#FFFFFF" style:normal:font_name="default" word_wrap="true" line_wrap="true" tr_text="1.解锁您的智能手机,找到并进入“设置”菜单,确保蓝牙功能已开启。"/>
|
||||||
|
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -136,7 +136,7 @@
|
|||||||
#elif (MOTO_WARE_HOSE == MOTO_ICMX_GB518_A270Y)
|
#elif (MOTO_WARE_HOSE == MOTO_ICMX_GB518_A270Y)
|
||||||
|
|
||||||
#define SOFT_WARE_HOST 0
|
#define SOFT_WARE_HOST 0
|
||||||
#define SOFT_WARE_ORDER 1
|
#define SOFT_WARE_ORDER 2
|
||||||
|
|
||||||
#define TP_VERSION DOMESTIC_VERSION_1
|
#define TP_VERSION DOMESTIC_VERSION_1
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@ -758,30 +758,15 @@ static void can_rxdemo_thread(void *param)
|
|||||||
tlv_data_value[j] = rxmsg[i].Data[j];
|
tlv_data_value[j] = rxmsg[i].Data[j];
|
||||||
}
|
}
|
||||||
switch(rxmsg[i].StdId){
|
switch(rxmsg[i].StdId){
|
||||||
// #ifdef UI_VIEW_QUICKLY_ARRANGE
|
|
||||||
// case 0x100:
|
|
||||||
// if(abs_speed_flag != 10)
|
|
||||||
// abs_speed_flag = 10;
|
|
||||||
// ASB_speed_event_handing(tlv_data_value);
|
|
||||||
// break;
|
|
||||||
// #endif
|
|
||||||
|
|
||||||
// 快排仪表
|
// 快排仪表
|
||||||
case 0x141: //谟绅ABS
|
case 0x141: //谟绅ABS
|
||||||
if(abs_speed_flag != 10)
|
if(abs_speed_flag != 10)
|
||||||
abs_speed_flag = 10;
|
abs_speed_flag = 10;
|
||||||
ASB_141_speed_event_handing(tlv_data_value);
|
ASB_141_speed_event_handing(tlv_data_value);
|
||||||
break;
|
break;
|
||||||
// case 0x100: //赛福ABS
|
|
||||||
// if(abs_speed_flag != 10)
|
|
||||||
// abs_speed_flag = 10;
|
|
||||||
// ASB_speed_event_handing(tlv_data_value);
|
|
||||||
// break;
|
|
||||||
case 0x101:
|
case 0x101:
|
||||||
if(speed_flag != 10)
|
if(speed_flag != 10)
|
||||||
speed_flag = 10;
|
speed_flag = 10;
|
||||||
// if(abs_speed_flag != 10)
|
|
||||||
// abs_speed_flag = 10;
|
|
||||||
speed_event_handing(tlv_data_value);
|
speed_event_handing(tlv_data_value);
|
||||||
break;
|
break;
|
||||||
case 0x400:
|
case 0x400:
|
||||||
|
@ -106,7 +106,7 @@ static void protocol_uart_tx_thread(void *param)
|
|||||||
//确认仪表完成自检 + 确认仪表收到里程信息 + 确认数据无误(小计总计大小问题)
|
//确认仪表完成自检 + 确认仪表收到里程信息 + 确认数据无误(小计总计大小问题)
|
||||||
|
|
||||||
//确认蓝牙不处于升级 + 确认630不处于升级 + 确认串口收到通讯信息
|
//确认蓝牙不处于升级 + 确认630不处于升级 + 确认串口收到通讯信息
|
||||||
if(Get_sys_bt_upgrade() == 0 && Get_sys_upgrade_Flag() == 0){//蓝牙升级 不发送数据 630升级 不发送数据
|
if(Get_sys_bt_upgrade() == 0 && Get_sys_upgrade_Flag() == 0 && Get_sys_power_on_self_test()==100){//蓝牙升级 不发送数据 630升级 不发送数据
|
||||||
#ifndef DATA_CAN
|
#ifndef DATA_CAN
|
||||||
SendDataToBT(heartbeat_data);
|
SendDataToBT(heartbeat_data);
|
||||||
iUartWrite(uap, heartbeat_data, 6, pdMS_TO_TICKS(20));
|
iUartWrite(uap, heartbeat_data, 6, pdMS_TO_TICKS(20));
|
||||||
@ -384,6 +384,7 @@ static void protocol_uart_rx_thread(void *param)
|
|||||||
Send_ota_state(1);
|
Send_ota_state(1);
|
||||||
}else{
|
}else{
|
||||||
printf("enter ota sj.\n");
|
printf("enter ota sj.\n");
|
||||||
|
bt_upgrade_flag = 1;
|
||||||
Set_sys_power_on_self_test(150);
|
Set_sys_power_on_self_test(150);
|
||||||
Set_sys_upgrade_Flag(1);//进入ota界面
|
Set_sys_upgrade_Flag(1);//进入ota界面
|
||||||
Send_ota_state(0);
|
Send_ota_state(0);
|
||||||
|
@ -23,34 +23,6 @@ void tcsswitch_event_handing(int *buf){
|
|||||||
if(tcs_data<=1)
|
if(tcs_data<=1)
|
||||||
tcs_switch = tcs_data;
|
tcs_switch = tcs_data;
|
||||||
}
|
}
|
||||||
//101
|
|
||||||
/*
|
|
||||||
void speed_event_handing(int *buf){
|
|
||||||
uint16_t eng_temp = 0;
|
|
||||||
uint16_t data = 0;
|
|
||||||
uint8_t state_data = 0;
|
|
||||||
double buf_value = 0;
|
|
||||||
*(buf++);
|
|
||||||
*(buf++);
|
|
||||||
*(buf++);
|
|
||||||
*(buf++);
|
|
||||||
|
|
||||||
data = *(buf++) &0xFF;
|
|
||||||
data = (*(buf++)&0xFF) | data<<8;
|
|
||||||
|
|
||||||
buf_value = data;
|
|
||||||
if(buf_value>5280)
|
|
||||||
buf_value = 255;
|
|
||||||
else if(buf_value>2730)
|
|
||||||
buf_value = ((buf_value*0.1)-273);
|
|
||||||
else
|
|
||||||
buf_value = 0;
|
|
||||||
eng_temp = (int)buf_value;
|
|
||||||
Set_sys_can_temp(eng_temp);
|
|
||||||
state_data = *(buf++);
|
|
||||||
Set_sys_can_state(state_data);
|
|
||||||
|
|
||||||
}*/
|
|
||||||
|
|
||||||
//0xA5
|
//0xA5
|
||||||
void abs_dtc_event_handing(int *buf){
|
void abs_dtc_event_handing(int *buf){
|
||||||
@ -73,57 +45,3 @@ void ecu_dtc_event_handing2(int *buf){
|
|||||||
dtc[0] = *(buf++)&0xFF;
|
dtc[0] = *(buf++)&0xFF;
|
||||||
Set_can_abs_dtc(dtc);
|
Set_can_abs_dtc(dtc);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t dtc_flag = 0;
|
|
||||||
void A59_dtc_event_handing(int *buf){
|
|
||||||
uint32_t sum,sum1,sum2;
|
|
||||||
sum = 0;
|
|
||||||
sum1 = *(buf++)&0xFF;
|
|
||||||
*(buf++)&0xFF;
|
|
||||||
sum2 = *(buf++)&0xFF;
|
|
||||||
////低位再前
|
|
||||||
//sum = sum1 | sum2<<8;
|
|
||||||
//高位再前
|
|
||||||
sum = sum1<<8 | sum2;
|
|
||||||
// if (sum !=0)
|
|
||||||
Set_sys_now_defect_code(sum);
|
|
||||||
|
|
||||||
dtc_flag = *(buf++)&0xFF;
|
|
||||||
|
|
||||||
sum = 0;
|
|
||||||
sum1 = *(buf++)&0xFF;
|
|
||||||
*(buf++)&0xFF;
|
|
||||||
sum2 = *(buf++)&0xFF;
|
|
||||||
sum = sum1<<8 | sum2;
|
|
||||||
// if (sum !=0)
|
|
||||||
Set_sys_his_defect_code(sum);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//101
|
|
||||||
void A59_speed_event_handing(int *buf){
|
|
||||||
uint16_t eng_temp = 0;
|
|
||||||
uint16_t data = 0;
|
|
||||||
uint8_t state_data = 0;
|
|
||||||
double buf_value = 0;
|
|
||||||
*(buf++);
|
|
||||||
*(buf++);
|
|
||||||
*(buf++);
|
|
||||||
*(buf++);
|
|
||||||
|
|
||||||
data = *(buf++) &0xFF;
|
|
||||||
data = (*(buf++)&0xFF) | data<<8;
|
|
||||||
|
|
||||||
buf_value = data;
|
|
||||||
if(buf_value>5280)
|
|
||||||
buf_value = 255;
|
|
||||||
else if(buf_value>2730)
|
|
||||||
buf_value = ((buf_value*0.1)-273);
|
|
||||||
else
|
|
||||||
buf_value = 0;
|
|
||||||
eng_temp = (int)buf_value;
|
|
||||||
Set_sys_can_temp(eng_temp);
|
|
||||||
state_data = *(buf++);
|
|
||||||
Set_sys_can_state(state_data);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
Binary file not shown.
@ -1,4 +1,20 @@
|
|||||||
<window name="prompt" style="ui_bg_color_bk">
|
<window name="prompt" style="ui_bg_color_bk">
|
||||||
<progress_bar name="plan_bar" x="c" y="m" w="200" h="20" show_text="true" style:normal:font_name="A27_SYHT_CT" style:normal:text_color="#000000" value="0"/>
|
<progress_bar name="plan_bar" x="c" y="m" w="200" h="20" show_text="true" style:normal:font_name="A27_SYHT_CT" style:normal:text_color="#000000" value="0"/>
|
||||||
<label name="point_text" x="c" y="190" w="160" h="30" style:normal:text_color="#FFFFFF" style:normal:font_name="A27_SYHT_CT" text="升级准备中..."/>
|
<label name="point_text" x="c" y="190" w="160" h="30" style:normal:text_color="#FFFFFF" style:normal:font_name="A27_SYHT_CT" text="升级准备中..."/>
|
||||||
|
<view name="wifi_view" x="300" y="270" w="490" h="210">
|
||||||
|
<label name="label1" x="0" y="0" w="490" h="30" style="wifi_label" tr_text="热点:">
|
||||||
|
<label name="AP" x="100" y="0" w="355" h="30" style="wifi_label"/>
|
||||||
|
</label>
|
||||||
|
<label name="label2" x="0" y="40" w="100%" h="30" style="wifi_label" tr_text="密码:">
|
||||||
|
<label name="PWD" x="100" y="0" w="355" h="30" style="wifi_label"/>
|
||||||
|
</label>
|
||||||
|
<label name="label3" x="0" y="80" w="100%" h="30" style="wifi_label" tr_text="状态:">
|
||||||
|
<label name="state" x="80" y="0" w="355" h="30" style="wifi_label" text="未连接"/>
|
||||||
|
</label>
|
||||||
|
<label name="label" x="0" y="110" w="490" h="100" style="wifi_label" line_wrap="true" word_wrap="true" tr_text="当前设备支持wifi升级,可扫码进行连接/搜索输入密码案进行连接"/>
|
||||||
|
</view>
|
||||||
|
<view name="countdown_view" x="0" y="0" w="480" h="107">
|
||||||
|
<label name="countdown" x="10" y="10" w="70" h="79" style="wifi_label" style:normal:font_size="60" text="60"/>
|
||||||
|
<label name="label4" x="80" y="10" w="382" h="89" style="wifi_label" line_wrap="true" word_wrap="true" tr_text="wifi未连接自动退出倒计时"/>
|
||||||
|
</view>
|
||||||
</window>
|
</window>
|
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
@ -49,7 +49,7 @@
|
|||||||
|
|
||||||
#elif (MOTO_WARE_HOSE == MOTO_ICMX_GB518_A270S_KP)
|
#elif (MOTO_WARE_HOSE == MOTO_ICMX_GB518_A270S_KP)
|
||||||
#define SOFT_WARE_HOST 0
|
#define SOFT_WARE_HOST 0
|
||||||
#define SOFT_WARE_ORDER 3
|
#define SOFT_WARE_ORDER 4
|
||||||
#define HARD_WARE "MXC-A27-S-KP V4.5"
|
#define HARD_WARE "MXC-A27-S-KP V4.5"
|
||||||
#define KEY_EXCHANGE 1
|
#define KEY_EXCHANGE 1
|
||||||
#define UI_VIEW_QUICKLY_ARRANGE 1//快排功能宏
|
#define UI_VIEW_QUICKLY_ARRANGE 1//快排功能宏
|
||||||
|
@ -389,213 +389,6 @@ void ASB_141_speed_event_handing(uint8_t *buf){
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// void ASB_speed_event_handing(uint8_t *buf){
|
|
||||||
// // cnt=0;
|
|
||||||
// // printf("=%d.\r\n",cnt);
|
|
||||||
// uint8_t data = 0;
|
|
||||||
// uint8_t speed_data = 0;
|
|
||||||
// uint8_t speed_flag = 0;
|
|
||||||
// uint16_t speed = 0;
|
|
||||||
|
|
||||||
// speed = *(buf++);
|
|
||||||
// data = *(buf++);
|
|
||||||
// speed_data = getBit5Value(data,3);
|
|
||||||
// speed_flag = getBitValue(data,2);
|
|
||||||
// // printf("frontflag=%d.\r\n",speed_flag);
|
|
||||||
// //前轮速度有效
|
|
||||||
// if(!speed_flag){
|
|
||||||
// speed = speed_data | speed<<5;
|
|
||||||
// can_speed = speed;//偏移系数
|
|
||||||
// mile_total +=can_speed;
|
|
||||||
|
|
||||||
// (buf++);
|
|
||||||
// (buf++);
|
|
||||||
// (buf++);
|
|
||||||
// (buf++);
|
|
||||||
|
|
||||||
|
|
||||||
// }else{
|
|
||||||
// speed = getBit2Value(data,0);
|
|
||||||
// data = *(buf++);
|
|
||||||
// speed = data | speed<<8;
|
|
||||||
|
|
||||||
// data = *(buf++);
|
|
||||||
// speed_data = getBit3Value(data,5);
|
|
||||||
// speed_flag = getBitValue(data,4);
|
|
||||||
// if(!speed_flag){
|
|
||||||
// speed = speed_data | speed<<3;
|
|
||||||
// can_speed = speed;//偏移系数
|
|
||||||
// mile_total +=can_speed;
|
|
||||||
// }
|
|
||||||
// (buf++);
|
|
||||||
// (buf++);
|
|
||||||
// }
|
|
||||||
// data = *(buf++);
|
|
||||||
// livecounter = getBit4Value(data,0);
|
|
||||||
// avg_can_speed = (uint32_t)((recan_speed+can_speed)/2);
|
|
||||||
// if(recan_speed){
|
|
||||||
// if(livecounter!=relivecounter){
|
|
||||||
// if(livecounter>relivecounter){//最小为1
|
|
||||||
// diff_livecounter = (livecounter-relivecounter-1);
|
|
||||||
// while(diff_livecounter){
|
|
||||||
// diff_livecounter--;
|
|
||||||
// mile_total +=avg_can_speed;
|
|
||||||
// }
|
|
||||||
// }else{
|
|
||||||
// diff_livecounter = relivecounter-livecounter;
|
|
||||||
// if(diff_livecounter!=15){//若为15则正常 F->0过度
|
|
||||||
// mile_total +=((avg_can_speed)*(15-diff_livecounter));
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }else{
|
|
||||||
// mile_total +=(avg_can_speed*14);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// }
|
|
||||||
// relivecounter = livecounter;
|
|
||||||
// recan_speed = can_speed;//保存本次帧的值
|
|
||||||
|
|
||||||
// }
|
|
||||||
|
|
||||||
// void ASB_speed_event_handing(uint8_t *buf){
|
|
||||||
// #ifdef UI_VIEW_QUICKLY_ARRANGE
|
|
||||||
// uint8_t data = 0;
|
|
||||||
// uint8_t speed_data = 0;
|
|
||||||
// uint8_t speed_flag = 0;
|
|
||||||
// uint16_t speed = 0;
|
|
||||||
// uint32_t trip = 0;
|
|
||||||
// uint32_t total = 0;
|
|
||||||
// uint16_t display_speed = 0;
|
|
||||||
|
|
||||||
// speed = *(buf++)&0xFF;
|
|
||||||
// data = *(buf++)&0xFF;
|
|
||||||
// speed_data = getBit5Value(data,3);
|
|
||||||
// speed_flag = getBitValue(data,2);
|
|
||||||
// // printf("frontflag=%d.\r\n",speed_flag);
|
|
||||||
// //前轮速度有效
|
|
||||||
// // if(!speed_flag){
|
|
||||||
// if(0){
|
|
||||||
// // printf("front>speed_data=%05X,speed=%08X,",speed_data,speed);
|
|
||||||
// speed = speed_data | speed<<5;
|
|
||||||
// // printf("rearspeed=%X.\r\n",speed);
|
|
||||||
// speed = (int)(speed * 0.05625);//偏移系数
|
|
||||||
|
|
||||||
// display_speed = speed;//UI显示上浮8%
|
|
||||||
// // printf("display_speed=%X>%d,",speed,speed);
|
|
||||||
// speed = (int)(speed * 0.92);
|
|
||||||
// // printf("mile_speed=%X>%d.\r\n",speed,speed);
|
|
||||||
|
|
||||||
// total_mile += calculateTotalDistance(speed);
|
|
||||||
// if(display_speed>=255)
|
|
||||||
// display_speed = 255;
|
|
||||||
// Set_sys_velocity(display_speed);
|
|
||||||
// trip = flash_trip_mile + total_mile;
|
|
||||||
// total = flash_total_mile + total_mile;
|
|
||||||
|
|
||||||
// if((int)(total_mile)>=1 && (((int)total_mile)%1000 ==0) && total != total_flag){
|
|
||||||
// save_total_mile = 1;
|
|
||||||
// total_flag = total;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// Set_sys_trip_mileage(trip);
|
|
||||||
// Set_sys_total_mileage(total);
|
|
||||||
// }else{
|
|
||||||
// speed = getBit2Value(data,0);
|
|
||||||
// // printf("rear>speed=%X,",speed);
|
|
||||||
// data = *(buf++)&0xFF;
|
|
||||||
// // printf("data=%08X,",data);
|
|
||||||
// speed = data | speed<<8;
|
|
||||||
// // printf("data2=%X,",speed);
|
|
||||||
|
|
||||||
// data = *(buf++)&0xFF;
|
|
||||||
// speed_data = getBit3Value(data,5);
|
|
||||||
// // printf("data3=%X.\r\n",speed_data);
|
|
||||||
// speed_flag = getBitValue(data,4);
|
|
||||||
// // printf("rearflag=%d.\r\n",speed_flag);
|
|
||||||
// // if(!speed_flag){
|
|
||||||
// if(1){
|
|
||||||
// speed = speed_data | speed<<3;
|
|
||||||
// // printf("rearspeed=%X.\r\n",speed);
|
|
||||||
|
|
||||||
// speed = (int)(speed * 0.05625);//偏移系数
|
|
||||||
|
|
||||||
// display_speed = speed * 1.08;//UI显示上浮8%
|
|
||||||
// // printf("display_speed=%X>%d,",speed,speed);
|
|
||||||
// speed = (int)(speed);
|
|
||||||
// // printf("mile_speed=%X>%d.\r\n",speed,speed);
|
|
||||||
|
|
||||||
// total_mile += calculateTotalDistance(speed);
|
|
||||||
// if(display_speed>=255)
|
|
||||||
// display_speed = 255;
|
|
||||||
// Set_sys_velocity(display_speed);
|
|
||||||
// trip = flash_trip_mile + total_mile;
|
|
||||||
// total = flash_total_mile + total_mile;
|
|
||||||
|
|
||||||
// if((int)(total_mile)>=1 && (((int)total_mile)%1000 ==0) && total != total_flag){
|
|
||||||
// save_total_mile = 1;
|
|
||||||
// total_flag = total;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// Set_sys_trip_mileage(trip);
|
|
||||||
// Set_sys_total_mileage(total);
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
// }
|
|
||||||
|
|
||||||
// #endif
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
// //用于备份
|
|
||||||
// void ASB_141_speed_event_handing(uint8_t *buf){
|
|
||||||
// #ifdef UI_VIEW_QUICKLY_ARRANGE
|
|
||||||
// uint8_t data = 0;
|
|
||||||
// uint8_t speed_data = 0;
|
|
||||||
// uint8_t speed_flag = 0;
|
|
||||||
// uint16_t speed = 0;
|
|
||||||
// uint32_t trip = 0;
|
|
||||||
// uint32_t total = 0;
|
|
||||||
// uint16_t display_speed = 0;
|
|
||||||
|
|
||||||
// *(buf++)&0xFF;
|
|
||||||
// *(buf++)&0xFF;
|
|
||||||
// *(buf++)&0xFF;
|
|
||||||
// *(buf++)&0xFF;
|
|
||||||
|
|
||||||
// speed = *(buf++)&0xFF;
|
|
||||||
// data = *(buf++)&0xFF;
|
|
||||||
// speed_data = getBit5Value(data,3);
|
|
||||||
// speed = speed_data | speed<<5;
|
|
||||||
|
|
||||||
// speed = (int)(speed * 0.05625);//偏移系数
|
|
||||||
|
|
||||||
// display_speed = speed;//UI显示上浮8%
|
|
||||||
// // printf("display_speed=%X>%d,",speed,speed);
|
|
||||||
// speed = (int)(speed * 0.92);
|
|
||||||
// // printf("mile_speed=%X>%d.\r\n",speed,speed);
|
|
||||||
|
|
||||||
// total_mile += calculateTotalDistance(speed);
|
|
||||||
// if(display_speed>=255)
|
|
||||||
// display_speed = 255;
|
|
||||||
// Set_sys_velocity(display_speed);
|
|
||||||
// trip = flash_trip_mile + total_mile;
|
|
||||||
// total = flash_total_mile + total_mile;
|
|
||||||
|
|
||||||
// if((int)(total_mile)>=1 && (((int)total_mile)%1000 ==0) && total != total_flag){
|
|
||||||
// save_total_mile = 1;
|
|
||||||
// total_flag = total;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// Set_sys_trip_mileage(trip);
|
|
||||||
// Set_sys_total_mileage(total);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// #endif
|
|
||||||
// }
|
|
||||||
|
|
||||||
extern uint8_t speed_flag;
|
extern uint8_t speed_flag;
|
||||||
|
|
||||||
#define KILOMETER 3600000000 //一万公里
|
#define KILOMETER 3600000000 //一万公里
|
||||||
@ -644,13 +437,13 @@ void speed_event_handing(uint8_t *buf){
|
|||||||
veer_velocity = *(buf++);
|
veer_velocity = *(buf++);
|
||||||
veer_velocity = *(buf++) | veer_velocity<<8;
|
veer_velocity = *(buf++) | veer_velocity<<8;
|
||||||
|
|
||||||
#if (MOTO_WARE_HOSE != MOTO_ICMX_GB518_A270M_KP && MOTO_WARE_HOSE != MOTO_ICMX_GB518_A270S_KP)
|
// #if (MOTO_WARE_HOSE != MOTO_ICMX_GB518_A270M_KP && MOTO_WARE_HOSE != MOTO_ICMX_GB518_A270S_KP)
|
||||||
// can_speed = *(buf++);
|
// can_speed = *(buf++);
|
||||||
// mile_total +=can_speed;
|
// mile_total +=can_speed;
|
||||||
display_can_speed = *(buf++);
|
display_can_speed = *(buf++);
|
||||||
#else
|
// #else
|
||||||
*(buf++);
|
// *(buf++);
|
||||||
#endif
|
// #endif
|
||||||
|
|
||||||
*(buf++);
|
*(buf++);
|
||||||
eng_temp = *(buf++);
|
eng_temp = *(buf++);
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@ -19,7 +19,7 @@
|
|||||||
<LeaveTargetRunning>_ 0</LeaveTargetRunning>
|
<LeaveTargetRunning>_ 0</LeaveTargetRunning>
|
||||||
</JLinkDriver>
|
</JLinkDriver>
|
||||||
<DebugChecksum>
|
<DebugChecksum>
|
||||||
<Checksum>3953223197</Checksum>
|
<Checksum>4277336360</Checksum>
|
||||||
</DebugChecksum>
|
</DebugChecksum>
|
||||||
<Exceptions>
|
<Exceptions>
|
||||||
<StopOnUncaught>_ 0</StopOnUncaught>
|
<StopOnUncaught>_ 0</StopOnUncaught>
|
||||||
@ -73,7 +73,8 @@
|
|||||||
<Bp20>_ 0 "EMUL_CODE" "{$PROJ_DIR$\..\FreeRTOS-Plus\FreeRTOS-Plus-TCP\FreeRTOS_Sockets.c}.373.5" 0 0 1 "" 0 "" 0</Bp20>
|
<Bp20>_ 0 "EMUL_CODE" "{$PROJ_DIR$\..\FreeRTOS-Plus\FreeRTOS-Plus-TCP\FreeRTOS_Sockets.c}.373.5" 0 0 1 "" 0 "" 0</Bp20>
|
||||||
<Bp21>_ 0 "EMUL_CODE" "{$PROJ_DIR$\..\FreeRTOS-Plus\FreeRTOS-Plus-TCP\FreeRTOS_Sockets.c}.323.9" 0 0 1 "" 0 "" 0</Bp21>
|
<Bp21>_ 0 "EMUL_CODE" "{$PROJ_DIR$\..\FreeRTOS-Plus\FreeRTOS-Plus-TCP\FreeRTOS_Sockets.c}.323.9" 0 0 1 "" 0 "" 0</Bp21>
|
||||||
<Bp22>_ 0 "EMUL_CODE" "{$PROJ_DIR$\..\lib\lwip\src\api\sockets.c}.1988.5" 0 0 1 "" 0 "" 0</Bp22>
|
<Bp22>_ 0 "EMUL_CODE" "{$PROJ_DIR$\..\lib\lwip\src\api\sockets.c}.1988.5" 0 0 1 "" 0 "" 0</Bp22>
|
||||||
<Count>23</Count>
|
<Bp23>_ 1 "EMUL_CODE" "{$PROJ_DIR$\..\app\moto\protocol\ota_protocol.c}.114.3" 0 0 1 "" 0 "" 0</Bp23>
|
||||||
|
<Count>24</Count>
|
||||||
</Breakpoints2>
|
</Breakpoints2>
|
||||||
<Aliases>
|
<Aliases>
|
||||||
<A0>_ "D:\work\amt630h-v100\amt630hV100-sdk-beta\amt630hv100-freertos\lib\awtk\awtk\src\base\bitmap.c" ""</A0>
|
<A0>_ "D:\work\amt630h-v100\amt630hV100-sdk-beta\amt630hv100-freertos\lib\awtk\awtk\src\base\bitmap.c" ""</A0>
|
||||||
|
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user