From 683b1595260e638d1d3c6cc0d6543a72f6d6f925 Mon Sep 17 00:00:00 2001
From: yy1717 <fctom1215@outlook.com>
Date: 星期二, 12 一月 2021 14:36:42 +0800
Subject: [PATCH] 扣分码标准化
---
lib/src/main/cpp/rtk_platform/platform.cpp | 606 +++++++++++++++++++++++++++++-------------------------
1 files changed, 326 insertions(+), 280 deletions(-)
diff --git a/lib/src/main/cpp/rtk_platform/platform.cpp b/lib/src/main/cpp/rtk_platform/platform.cpp
index c42bdf7..1f28070 100644
--- a/lib/src/main/cpp/rtk_platform/platform.cpp
+++ b/lib/src/main/cpp/rtk_platform/platform.cpp
@@ -77,6 +77,8 @@
struct event_queue_t *next;
} *eventQueue;
+static bool mAyDevice = false;
+
struct platformSocket exceptSocket, currSocket;
static sem_t sem_status_changed;
@@ -113,6 +115,7 @@
static void LoginPlatformTimeout(union sigval sig);
static void TriggerHeartbeat(union sigval sig);
static void RequestRtkNoResp(union sigval sig);
+
static void AddEvnet(uint32_t event, const uint8_t *data, int length)
{
@@ -181,9 +184,11 @@
free(p1);
}
-void InitPlatform(const uint8_t *phone, const char *domain_name, int port)
+void InitPlatform(bool ayDevice, const uint8_t *phone, const char *domain_name, int port)
{
DEBUG("InitPlatform");
+
+ mAyDevice = ayDevice;
memset(&gbf, 0, sizeof(gbf));
memset(&rbf, 0, sizeof(rbf));
@@ -264,7 +269,7 @@
if (domain_name == NULL || strlen(domain_name) == 0 || port == 0)
return;
- DEBUG("ConnectPlatform %s: %d", domain_name, port);
+ DEBUG("杩炴帴RTK骞冲彴 %s: %d", domain_name, port);
// TODO
struct platformSocketInfo *ptr = (struct platformSocketInfo *)malloc(sizeof(struct platformSocketInfo));
@@ -299,334 +304,371 @@
static void PlatformChangeEntry(uint32_t events, const uint8_t *data, int length)
{
- if (events & PLATFORM_CONNECT_EVT) {
- DEBUG("骞冲彴杩炴帴鎴愬姛 %s:%d", currSocket.domain_name, currSocket.port);
- MA_RtkPlatformConnect(1, currSocket.domain_name, currSocket.port);
+ switch (events) {
+ case PLATFORM_CONNECT_EVT: {
+ DEBUG("骞冲彴杩炴帴鎴愬姛 %s:%d", currSocket.domain_name, currSocket.port);
+ MA_RtkPlatformConnect(1, currSocket.domain_name, currSocket.port);
- platformStatus.connected = 1;
- if (!platformStatus.registed || platformStatus.platformKeyLength == 0) {
- RegisterPlatform();
- } else if (!platformStatus.login) {
- LoginPlatform();
+ platformStatus.connected = 1;
+ if (!platformStatus.registed || platformStatus.platformKeyLength == 0) {
+ RegisterPlatform();
+ } else if (!platformStatus.login) {
+ LoginPlatform();
+ }
+
+ MA_SendBlueStatus("name", "00:1B:35:16:20:4A", 3);
+ break;
}
- }
- if (events & PLATFORM_DISCONNECT_EVT) {
- DEBUG("骞冲彴鏂紑 %s:%d", currSocket.domain_name, currSocket.port);
- MA_RtkPlatformConnect(0, currSocket.domain_name, currSocket.port);
+ case PLATFORM_DISCONNECT_EVT: {
+ DEBUG("骞冲彴鏂紑 %s:%d", currSocket.domain_name, currSocket.port);
+ MA_RtkPlatformConnect(0, currSocket.domain_name, currSocket.port);
- AppTimer_delete(ConnectPlatformLater);
- AppTimer_add(ConnectPlatformLater, D_SEC(2));
+ AppTimer_delete(ConnectPlatformLater);
+ AppTimer_add(ConnectPlatformLater, D_SEC(2));
- platformStatus.login = 0;
- platformStatus.connected = 0;
+ platformStatus.login = 0;
+ platformStatus.connected = 0;
- AppTimer_delete(TriggerHeartbeat);
- AppTimer_delete(RegisterPlatformTimeout);
- AppTimer_delete(LoginPlatformTimeout);
+ AppTimer_delete(TriggerHeartbeat);
+ AppTimer_delete(RegisterPlatformTimeout);
+ AppTimer_delete(LoginPlatformTimeout);
// PlayTTS("鍩哄噯婧愭柇寮�", NULL);
- }
- if (events & PLATFORM_REGISTER_EVT) {
- DEBUG("PLATFORM_REGISTER_EVT");
-
- platformStatus.login = 0;
- if (data[0] == 0) {
- platformStatus.registed = 1;
- platformStatus.platformKeyLength = length - 1;
- memcpy(platformStatus.platformKey, data+1, length-1);
- LoginPlatform();
- } else {
- platformStatus.registed = 0;
+ break;
}
- MA_RtkPlatformRegister(data[0], data + 1, length - 1);
- }
- if (events & PLATFORM_LOGIN_EVT) {
- DEBUG("PLATFORM_LOGIN_EVT");
+ case PLATFORM_REGISTER_EVT: {
+ DEBUG("骞冲彴娉ㄥ唽缁撴灉锛�%d", data[0]);
- if (data[0] == 0) {
- platformStatus.login = 1;
- requestPlatformSendRtk = true;
- AppTimer_delete(TriggerHeartbeat);
- AppTimer_add(TriggerHeartbeat, D_SEC(30));
+ platformStatus.login = 0;
+ if (data[0] == 0) {
+ platformStatus.registed = 1;
+ platformStatus.platformKeyLength = length - 1;
+ memcpy(platformStatus.platformKey, data + 1, length - 1);
+ LoginPlatform();
+ } else {
+ platformStatus.registed = 0;
+ }
+ MA_RtkPlatformRegister(data[0], data + 1, length - 1);
+ break;
+ }
+ case PLATFORM_LOGIN_EVT: {
+ DEBUG("骞冲彴鐧诲綍缁撴灉锛�%d", data[0]);
+
+ if (data[0] == 0) {
+ platformStatus.login = 1;
+ requestPlatformSendRtk = true;
+ AppTimer_delete(TriggerHeartbeat);
+ AppTimer_add(TriggerHeartbeat, D_SEC(30));
// PlayTTS("鍩哄噯婧愬缓绔�", NULL);
- } else {
- platformStatus.login = 0;
+ } else {
+ platformStatus.login = 0;
+ }
+ MA_RtkPlatformLogin(data[0]);
+ break;
}
- MA_RtkPlatformLogin(data[0]);
- }
- if (events & GPS_UPDATE_EVT) {
- DEBUG("GPS_UPDATE_EVT length %d", length);
- const gpsStatus_t *gps = (gpsStatus_t *)data;
+ case GPS_UPDATE_EVT: {
+ const gpsStatus_t *gps = (gpsStatus_t *) data;
- gbf.qf = gps->gps_status;
- gbf.latitude = gps->latitude;
- gbf.longitude = gps->longitude;
- gbf.altitude = gps->altitude;
- gbf.speed = gps->speed;
- gbf.sat_num = gps->satNum;
- gbf.trackTure = gps->trackTure;
- sprintf(gbf.utc, "%04d%02d%02d%02d%02d%02d.%02d", 2000 + gps->YY, gps->MM, gps->DD, gps->hh, gps->mm, gps->ss, gps->mss);
- if (!strcmp(rbf.utc, gbf.utc)) {
- rbf.sat_num = gbf.sat_num;
- rbf.latitude = gbf.latitude;
- rbf.longitude = gbf.longitude;
- rbf.altitude = gbf.altitude;
- rbf.speed = gbf.speed;
- rbf.trackTure = gbf.trackTure;
- MA_SendRtkBrief(&rbf);
- }
+ gbf.qf = gps->gps_status;
+ gbf.latitude = gps->latitude;
+ gbf.longitude = gps->longitude;
+ gbf.altitude = gps->altitude;
+ gbf.speed = gps->speed;
+ gbf.sat_num = gps->satNum;
+ gbf.trackTure = gps->trackTure;
+ sprintf(gbf.utc, "%04d%02d%02d%02d%02d%02d.%02d", 2000 + gps->YY, gps->MM, gps->DD,
+ gps->hh, gps->mm, gps->ss, gps->mss);
+ if (!strcmp(rbf.utc, gbf.utc)) {
+ rbf.sat_num = gbf.sat_num;
+ rbf.latitude = gbf.latitude;
+ rbf.longitude = gbf.longitude;
+ rbf.altitude = gbf.altitude;
+ rbf.speed = gbf.speed;
+ rbf.trackTure = gbf.trackTure;
+ MA_SendRtkBrief(&rbf);
+ }
// MA_SendGpsBrief(&brief);
- RequestRtkDownload(gps, 1);
-
- DEBUG("GPS_UPDATE_EVT ================");
- }
- if (events & RTK_UPDATE_EVT) {
- DEBUG("RTK_UPDATE_EVT length %d", length);
-
-// uint32_t ost = AppTimer_GetTickCount();
-
- const rtk_info *rtk = (rtk_info *)data;
-
- rbf.qf = rtk->qf;
- rbf.coord_x = rtk->y;
- rbf.coord_y = rtk->x;
- rbf.heading = rtk->heading;
- rbf.pitch = rtk->pitch;
- rbf.roll = rtk->roll;
- rbf.coord_x_dir = 'N';
- rbf.coord_y_dir = 'E';
- sprintf(rbf.utc, "%04d%02d%02d%02d%02d%02d.%02d", 2000 + rtk->YY, rtk->MM, rtk->DD, rtk->hh, rtk->mm, rtk->ss, rtk->dss);
- if (!strcmp(rbf.utc, gbf.utc)) {
- rbf.sat_num = gbf.sat_num;
- rbf.latitude = gbf.latitude;
- rbf.longitude = gbf.longitude;
- rbf.altitude = gbf.altitude;
- rbf.speed = gbf.speed;
- rbf.trackTure = gbf.trackTure;
- MA_SendRtkBrief(&rbf);
+ RequestRtkDownload(gps, 1);
+ break;
}
+ case RTK_UPDATE_EVT: {
+ uint32_t ost = AppTimer_GetTickCount();
+ uint32_t ost1 = ost;
- UpdateRTKInfo(rtk);
+ const rtk_info *rtk = (rtk_info *) data;
-// DEBUG("driver_test 璇勫垽鑰楁椂 %ld", AppTimer_GetTickCount() - ost);
+ rbf.qf = rtk->qf;
+ rbf.coord_x = rtk->y;
+ rbf.coord_y = rtk->x;
+ rbf.heading = rtk->heading;
+ rbf.pitch = rtk->pitch;
+ rbf.roll = rtk->roll;
+ rbf.coord_x_dir = 'N';
+ rbf.coord_y_dir = 'E';
+ sprintf(rbf.utc, "%04d%02d%02d%02d%02d%02d.%02d", 2000 + rtk->YY, rtk->MM, rtk->DD,
+ rtk->hh, rtk->mm, rtk->ss, rtk->dss);
+ if (!strcmp(rbf.utc, gbf.utc)) {
+ rbf.sat_num = gbf.sat_num;
+ rbf.latitude = gbf.latitude;
+ rbf.longitude = gbf.longitude;
+ rbf.altitude = gbf.altitude;
+ rbf.speed = gbf.speed;
+ rbf.trackTure = gbf.trackTure;
+ MA_SendRtkBrief(&rbf);
+ }
- DEBUG("RTK_UPDATE_EVT =================");
- }
- if (events & MCU_UPDATE_EVT) {
- DEBUG("MCU_UPDATE_EVT length %d", length);
- // 0-31 version
- // 32-33 selftest
- // 34-35 gpio
- // 36-37 speed
- // 38-39 engine
- // 40-55 sn
- struct mcuBrief brief;
+ ost1 = AppTimer_GetTickCount() - ost1;
- memset(&brief, 0, sizeof(brief));
+ UpdateRTKInfo(rtk);
- int x = 0;
- while(data[x] != 0 && x < 32) x++;
+ ost = AppTimer_GetTickCount() - ost;
- ConvertHex2String(brief.version, data, x);
- brief.selftest = BUILD_UINT16(data[33], data[32]);
+ if (ost > 100)
+ DEBUG("driver_test 璇勫垽鑰楁椂 %ld %ld", ost1, ost);
+ break;
+ }
+ case RTK_STATUS_EVT: {
+ DEBUG("妯″潡淇℃伅 %02X %02X %02X %02X %02X %02X", data[0], data[1], data[2], data[3], data[4], data[5]);
+ if (length == 33)
+ MA_SendRtkStatus((char *)data, data[32]);
+ break;
+ }
+ case MCU_UPDATE_EVT: {
+ // 0-31 version
+ // 32-33 selftest
+ // 34-35 gpio
+ // 36-37 speed
+ // 38-39 engine
+ // 40-55 sn
+ struct mcuBrief brief;
+
+ memset(&brief, 0, sizeof(brief));
+
+ int x = 0;
+ while (data[x] != 0 && x < 32) x++;
+
+ ConvertHex2String(brief.version, data, x);
+ brief.selftest = BUILD_UINT16(data[33], data[32]);
// brief.gpio = BUILD_UINT16(data[35], data[34]);
// brief.speed = BUILD_UINT16(data[37], data[36]);
// brief.engine = BUILD_UINT16(data[39], data[38]);
// memcpy(brief.sn, data+40, 16);
- memcpy(brief.sn, data+34, 16);
+ memcpy(brief.sn, data + 34, 16);
- MA_SendMcuBrief(&brief);
+ MA_SendMcuBrief(&brief);
- if (defaultMcuRom.more > 0) {
- char str[64] = {0};
+ if (defaultMcuRom.more > 0) {
+ char str[64] = {0};
- memcpy(str, data, 32);
+ memcpy(str, data, 32);
- vector<string> ver = split(str, "_");
+ vector<string> ver = split(str, "_");
- if (strlen(defaultMcuRom.verCode) > 0 && ver.size() >= 4 && strcmp(defaultMcuRom.verCode, ver[3].c_str()) != 0 && defaultMcuRom.rom != NULL) {
- UploadDfuFile(defaultMcuRom.rom, defaultMcuRom.length);
- delete []defaultMcuRom.rom;
- defaultMcuRom.rom = NULL;
+ if (strlen(defaultMcuRom.verCode) > 0 && ver.size() >= 4 &&
+ strcmp(defaultMcuRom.verCode, ver[3].c_str()) != 0 &&
+ defaultMcuRom.rom != NULL) {
+ UploadDfuFile(defaultMcuRom.rom, defaultMcuRom.length);
+ delete[]defaultMcuRom.rom;
+ defaultMcuRom.rom = NULL;
+ }
+ defaultMcuRom.more = 0;
}
- defaultMcuRom.more = 0;
- }
// UpdateSensor(brief.gpio, brief.speed, brief.engine);
- }
- if (events & CAN_UPDATE_EVT) {
- struct canBrief brief;
+ break;
+ }
+ case CAN_UPDATE_EVT: {
+ struct canBrief brief;
- brief.gpio = BUILD_UINT16(data[1], data[0]);
- brief.rpm = BUILD_UINT16(data[3], data[2]);
- brief.speed = (double) BUILD_UINT16(data[5], data[4]) / 10.0;
- brief.voltage = (double) BUILD_UINT16(data[7], data[6]) / 10.0;
+ brief.gpio = BUILD_UINT16(data[1], data[0]);
+ brief.rpm = BUILD_UINT16(data[3], data[2]);
+ brief.speed = (double) BUILD_UINT16(data[5], data[4]) / 10.0;
+ brief.voltage = (double) BUILD_UINT16(data[7], data[6]) / 10.0;
- MA_SendCanStatus(&brief);
- }
- if (events & CAR_SENSOR_UPDATE_EVT) {
- struct carSensorBrief brief;
- int x = 20;
+ MA_SendCanStatus(&brief);
+ break;
+ }
+ case CAR_SENSOR_UPDATE_EVT: {
+ struct carSensorBrief brief;
+ int x = 20;
- brief.odo = BUILD_UINT32(data[3], data[2], data[1], data[0]);
- brief.trip = BUILD_UINT32(data[7], data[6], data[5], data[4]);
- brief.tripTime = BUILD_UINT32(data[11], data[10], data[9], data[8]);
- brief.cellVolt = ((double) BUILD_UINT16(data[13], data[12])) / 10.0;
- brief.speed = ((double) BUILD_UINT16(data[15], data[14])) / 10.0;
- brief.engine = BUILD_UINT16(data[17], data[16]);
- brief.sas = (short)BUILD_UINT16(data[19], data[18]);
- brief.key = data[x++];
- brief.gear = data[x++];
- brief.aps = data[x++];
- brief.door = data[x++];
- brief.seatBelt = data[x++];
- brief.clutch = data[x++];
- brief.horn = data[x++];
- brief.wiper = data[x++];
- brief.handBreak = data[x++];
- brief.mainBreak = data[x++];
- brief.leftTurnLamp = data[x++];
- brief.rightTurnLamp = data[x++];
- brief.clearanceLamp = data[x++];
- brief.dippedBeamLamp = data[x++];
- brief.mainBeamLamp = data[x++];
- brief.fogLamp = data[x++];
- brief.assBreak = data[x++];
- brief.surround1 = data[x++];
- brief.surround2 = data[x++];
- brief.surround3 = data[x++];
- brief.surround4 = data[x++];
+ brief.odo = BUILD_UINT32(data[3], data[2], data[1], data[0]);
+ brief.trip = BUILD_UINT32(data[7], data[6], data[5], data[4]);
+ brief.tripTime = BUILD_UINT32(data[11], data[10], data[9], data[8]);
+ brief.cellVolt = ((double) BUILD_UINT16(data[13], data[12])) / 10.0;
+ brief.speed = ((double) BUILD_UINT16(data[15], data[14])) / 10.0;
+ brief.engine = BUILD_UINT16(data[17], data[16]);
+ brief.sas = (short) BUILD_UINT16(data[19], data[18]);
+ brief.key = data[x++];
+ brief.gear = data[x++];
+ brief.aps = data[x++];
+ brief.door = data[x++];
+ brief.seatBelt = data[x++];
+ brief.clutch = data[x++];
+ brief.horn = data[x++];
+ brief.wiper = data[x++];
+ brief.handBreak = data[x++];
+ brief.mainBreak = data[x++];
+ brief.leftTurnLamp = data[x++];
+ brief.rightTurnLamp = data[x++];
+ brief.clearanceLamp = data[x++];
+ brief.dippedBeamLamp = data[x++];
+ brief.mainBeamLamp = data[x++];
+ brief.fogLamp = data[x++];
+ brief.assBreak = data[x++];
+ brief.surround1 = data[x++];
+ brief.surround2 = data[x++];
+ brief.surround3 = data[x++];
+ brief.surround4 = data[x++];
- MA_SendCarSensorBrief(&brief);
+ MA_SendCarSensorBrief(&brief);
- car_sensor_t sensor;
- x = 20;
+ car_sensor_t sensor;
+ x = 20;
- sensor.odo = BUILD_UINT32(data[3], data[2], data[1], data[0]);
- sensor.trip = BUILD_UINT32(data[7], data[6], data[5], data[4]);
- sensor.tripTime = BUILD_UINT32(data[11], data[10], data[9], data[8]);
- sensor.cellVolt = (double)(BUILD_UINT16(data[13], data[12])) / 10.0;
- sensor.speed = BUILD_UINT16(data[15], data[14]);
- sensor.engine = BUILD_UINT16(data[17], data[16]);
- sensor.sas = (short)BUILD_UINT16(data[19], data[18]);
- sensor.key = data[x++];
- sensor.gear = data[x++];
- sensor.aps = data[x++];
- sensor.door = data[x++];
- sensor.seatBelt = data[x++];
- sensor.clutch = data[x++];
- sensor.horn = data[x++];
- sensor.wiper = data[x++];
- sensor.handBreak = data[x++];
- sensor.mainBreak = data[x++];
- sensor.leftTurnLamp = data[x++];
- sensor.rightTurnLamp = data[x++];
- sensor.clearanceLamp = data[x++];
- sensor.dippedBeamLamp = data[x++];
- sensor.mainBeamLamp = data[x++];
- sensor.fogLamp = data[x++];
- sensor.assBreak = data[x++];
- sensor.surround1 = data[x++];
- sensor.surround2 = data[x++];
- sensor.surround3 = data[x++];
- sensor.surround4 = data[x++];
+ sensor.odo = BUILD_UINT32(data[3], data[2], data[1], data[0]);
+ sensor.trip = BUILD_UINT32(data[7], data[6], data[5], data[4]);
+ sensor.tripTime = BUILD_UINT32(data[11], data[10], data[9], data[8]);
+ sensor.cellVolt = (double) (BUILD_UINT16(data[13], data[12])) / 10.0;
+ sensor.speed = BUILD_UINT16(data[15], data[14]);
+ sensor.engine = BUILD_UINT16(data[17], data[16]);
+ sensor.sas = (short) BUILD_UINT16(data[19], data[18]);
+ sensor.key = data[x++];
+ sensor.gear = data[x++];
+ sensor.aps = data[x++];
+ sensor.door = data[x++];
+ sensor.seatBelt = data[x++];
+ sensor.clutch = data[x++];
+ sensor.horn = data[x++];
+ sensor.wiper = data[x++];
+ sensor.handBreak = data[x++];
+ sensor.mainBreak = data[x++];
+ sensor.leftTurnLamp = data[x++];
+ sensor.rightTurnLamp = data[x++];
+ sensor.clearanceLamp = data[x++];
+ sensor.dippedBeamLamp = data[x++];
+ sensor.mainBeamLamp = data[x++];
+ sensor.fogLamp = data[x++];
+ sensor.assBreak = data[x++];
+ sensor.surround1 = data[x++];
+ sensor.surround2 = data[x++];
+ sensor.surround3 = data[x++];
+ sensor.surround4 = data[x++];
- if (sensor.clutch == 1)
- sensor.gear = 0;
+ if (sensor.clutch == 1)
+ sensor.gear = 0;
- UpdateSensor(&sensor);
- }
- if (events & CARD_UPDATE_EVT) {
- DEBUG("CARD_UPDATE_EVT length %d", length);
+ UpdateSensor(&sensor);
+ break;
+ }
+ case CARD_UPDATE_EVT: {
+ DEBUG("CARD_UPDATE_EVT length %d", length);
- int ret = -1;
+ int ret = -1;
- for (int i = 0; i < length; ++i) {
- if (data[i] != 0) {
- ret = 0;
- break;
+ for (int i = 0; i < length; ++i) {
+ if (data[i] != 0) {
+ ret = 0;
+ break;
+ }
}
+
+ struct cardBrief brief;
+
+ brief.result = ret;
+
+ ConvertHex2String(brief.card, data, length);
+
+ MA_SendCardBrief(&brief);
+ break;
}
-
- struct cardBrief brief;
-
- brief.result = ret;
-
- ConvertHex2String(brief.card, data, length);
-
- MA_SendCardBrief(&brief);
- }
- if (events & PLAY_TTS_DONE_EVT) {
- tts_back_t *cb = (tts_back_t *) data;
- if (cb->callback != NULL) {
- cb->callback(cb->seq);
- }
- }
- if (events & MASTER_COMM_EVT) {
- union {
- int a;
- uint8_t b[sizeof(int)];
- } c;
-
- c.b[0] = data[0];
- c.b[1] = data[1];
- c.b[2] = data[2];
- c.b[3] = data[3];
-
- if (length == 4)
- MA_MainProcMsgEntry(c.a, NULL);
- else {
- MA_MainProcMsgEntry(c.a, (char *) data + 4);
- }
- }
- if (events & BLUETOOTH_STATUS_EVT) {
- DEBUG("BLUETOOTH_STATUS_EVT");
- uint8_t sta;
-
- if (length == 128) {
- MA_SendBlueStatus((char *)data, (char *)data+64, 3);
- sta = 3;
- } else if (length == 64) {
- MA_SendBlueStatus(NULL, (char *)data, 3);
- sta = 3;
- } else {
- MA_SendBlueStatus(NULL, NULL, data[0]);
- sta = data[0];
- }
-
- if (sta == 3) {
- // Connected
- btConnected = true;
- ParseMcuInit();
- ConfigRTKModuleLater();
-
- PlayTTS("钃濈墮杩炴帴", NULL);
- } else if (sta == 2) {
- // Disconnect
- btConnected = false;
- PlayTTS("钃濈墮鏂紑", NULL);
- } else if (sta == 1) {
- // Open
- btEnable = true;
-
- if (strlen(btAddr) > 0) {
- ConnectToBluetooth(btAddr, NULL);
+ case PLAY_TTS_DONE_EVT: {
+ tts_back_t *cb = (tts_back_t *) data;
+ if (cb->callback != NULL) {
+ cb->callback(cb->seq);
}
+ break;
+ }
+ case MASTER_COMM_EVT: {
+ union {
+ int a;
+ uint8_t b[sizeof(int)];
+ } c;
+
+ c.b[0] = data[0];
+ c.b[1] = data[1];
+ c.b[2] = data[2];
+ c.b[3] = data[3];
+
+ if (length == 4)
+ MA_MainProcMsgEntry(c.a, NULL);
+ else {
+ MA_MainProcMsgEntry(c.a, (char *) data + 4);
+ }
+ break;
+ }
+ case BLUETOOTH_STATUS_EVT: {
+ DEBUG("BLUETOOTH_STATUS_EVT");
+
+ if (!mAyDevice) {
+ uint8_t sta;
+
+ if (length == 128) {
+ MA_SendBlueStatus((char *) data, (char *) data + 64, 3);
+ sta = 3;
+ } else if (length == 64) {
+ MA_SendBlueStatus(NULL, (char *) data, 3);
+ sta = 3;
+ } else {
+ MA_SendBlueStatus(NULL, NULL, data[0]);
+ sta = data[0];
+ }
+
+ if (sta == 3) {
+ // Connected
+ btConnected = true;
+ ParseMcuInit();
+ ConfigRTKModuleLater();
+
+ PlayTTS("钃濈墮杩炴帴", NULL);
+ } else if (sta == 2) {
+ // Disconnect
+ if (btConnected) {
+ btConnected = false;
+ PlayTTS("钃濈墮鏂紑", NULL);
+ }
+ } else if (sta == 1) {
+ // Open
+ btEnable = true;
+
+ if (strlen(btAddr) > 0) {
+ ConnectToBluetooth(btAddr, NULL);
+ }
// ConnectToBluetooth("00:1B:35:16:20:4A", NULL);
// ConnectToBluetooth("00:1B:35:16:20:4A", "3800");``
// ConnectToBluetooth("00:1D:43:9A:E0:79", "1900");
// ConnectToBluetooth("DESKTOP-IE9V7U8", "0000");
- PlayTTS("钃濈墮鍚姩", NULL);
- } else {
- // Close
- btEnable = false;
- btConnected = false;
- PlayTTS("钃濈墮鍏抽棴", NULL);
+ PlayTTS("钃濈墮鍚姩", NULL);
+ } else {
+ // Close
+ btEnable = false;
+ btConnected = false;
+ PlayTTS("钃濈墮鍏抽棴", NULL);
+ }
+ }
+ break;
}
- }
- if (events & BLUETOOTH_DATA_EVT) {
- ParseMcu(data, length);
+ case BLUETOOTH_DATA_EVT: {
+ ParseMcu(data, length);
+ break;
+ }
+ case SENSOR_CHANGE_EVT: {
+ SensorXChanged(BUILD_UINT16(data[1], data[0]), BUILD_UINT32(data[5], data[4], data[3], data[2]));
+ break;
+ }
+ default:
+ break;
}
}
@@ -706,13 +748,14 @@
static void RegisterPlatformTimeout(union sigval sig)
{
- DEBUG("RegisterPlatformTimeout");
+ DEBUG("RTK骞冲彴娉ㄥ唽瓒呮椂");
AppTimer_delete(RegisterPlatformTimeout);
RegisterPlatform();
}
static void RegisterPlatform(void)
{
+ DEBUG("RTK骞冲彴娉ㄥ唽...");
AppTimer_delete(RegisterPlatformTimeout);
AppTimer_add(RegisterPlatformTimeout, D_SEC(15));
SendDeviceRegister(deviceInfo.province, deviceInfo.city, deviceInfo.device_model,
@@ -730,12 +773,14 @@
static void LoginPlatformTimeout(union sigval sig)
{
+ DEBUG("RTK骞冲彴鐧诲綍瓒呮椂");
AppTimer_delete(LoginPlatformTimeout);
LoginPlatform();
}
static void LoginPlatform(void)
{
+ DEBUG("RTK骞冲彴鐧诲綍...");
uint32_t tim = time(NULL);
uint8_t data[12];
uint8_t *ciphertext;
@@ -748,6 +793,7 @@
AppTimer_delete(LoginPlatformTimeout);
AppTimer_add(LoginPlatformTimeout, D_SEC(15));
+
DESEncrypt(platformStatus.platformKey, platformStatus.platformKeyLength, data, 4, &ciphertext);
if (ciphertext != NULL) {
--
Gitblit v1.8.0