mirror of
https://github.com/Dominocs/Project_Cymple.git
synced 2025-11-04 14:49:40 +08:00
update
This commit is contained in:
parent
2cae153413
commit
629af5d0dc
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
|||||||
c4fff1c05db4174745ad45bc9c522f506c91eed9
|
b5e5a8929eba441379b5f1a349324ee6e743c64d
|
||||||
@ -467,7 +467,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"defines": [
|
"defines": [
|
||||||
"PLATFORMIO=60113",
|
"PLATFORMIO=60115",
|
||||||
"ARDUINO_ESP32_DEV",
|
"ARDUINO_ESP32_DEV",
|
||||||
"BOARD_HAS_PSRAM",
|
"BOARD_HAS_PSRAM",
|
||||||
"HAVE_CONFIG_H",
|
"HAVE_CONFIG_H",
|
||||||
|
|||||||
@ -11,7 +11,7 @@ IPAddress peerAddr;
|
|||||||
bool bHeartbeatTimeout = true;
|
bool bHeartbeatTimeout = true;
|
||||||
unsigned long heartBeatTimer = 0;
|
unsigned long heartBeatTimer = 0;
|
||||||
uint8_t ucFlag2;
|
uint8_t ucFlag2;
|
||||||
|
#define AP_NAME "Cymple_Face"
|
||||||
static void onPacketCallBack(AsyncUDPPacket packet){
|
static void onPacketCallBack(AsyncUDPPacket packet){
|
||||||
if(!packet.available()){
|
if(!packet.available()){
|
||||||
return;
|
return;
|
||||||
@ -46,6 +46,20 @@ static void onPacketCallBack(AsyncUDPPacket packet){
|
|||||||
Serial.printf("Switch fresh rate: flag2:%d\n", ucFlag2);
|
Serial.printf("Switch fresh rate: flag2:%d\n", ucFlag2);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case MSG_CONFIG_WIFI_E:{
|
||||||
|
if(msgLen != sizeof(MSG_WLAN_WIFI_CONFIG_S)){
|
||||||
|
Serial.printf("Sizeof MSG_WLAN_WIFI_CONFIG_S dismatch: rcv: %u, local %u", msgLen, sizeof(MSG_WLAN_WIFI_CONFIG_S));
|
||||||
|
}else{
|
||||||
|
MSG_WLAN_WIFI_CONFIG_S *tmp = (MSG_WLAN_WIFI_CONFIG_S *)pstMsgHdr;
|
||||||
|
tmp->SSID[SSID_LENGTH - 1] = '\0';
|
||||||
|
tmp->password[WIFI_PASSWORD_LENGTH - 1] = '\0';
|
||||||
|
WiFi.mode(WIFI_STA);
|
||||||
|
WiFi.persistent(false);
|
||||||
|
pwlanMsgObj->tryConCount = 0;
|
||||||
|
pwlanMsgObj->connect(tmp->SSID, tmp->password);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
default:
|
default:
|
||||||
Serial.printf("Invalid msg type%u, msg len:%d\n", pstMsgHdr->uiType, msgLen);
|
Serial.printf("Invalid msg type%u, msg len:%d\n", pstMsgHdr->uiType, msgLen);
|
||||||
break;
|
break;
|
||||||
@ -94,11 +108,19 @@ void wlanMsgClass::connect(const char *SSID, const char *password){
|
|||||||
networkApi::connect(acSSID, acPassword);
|
networkApi::connect(acSSID, acPassword);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void wlanMsgClass::connect(){
|
void wlanMsgClass::connect(){
|
||||||
Serial.printf("Connecting to %s\n", acSSID);
|
Serial.printf("Connecting to %s\n", acSSID);
|
||||||
networkApi::connect(acSSID, acPassword);
|
networkApi::connect(acSSID, acPassword);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wlanMsgClass::APMode(){
|
||||||
|
WiFi.mode(WIFI_AP);
|
||||||
|
WiFi.persistent(false);
|
||||||
|
WiFi.softAP(AP_NAME);
|
||||||
|
}
|
||||||
|
|
||||||
void wlanMsgClass::send(uint8_t *data, size_t len, IPAddress ip, uint16_t port){
|
void wlanMsgClass::send(uint8_t *data, size_t len, IPAddress ip, uint16_t port){
|
||||||
if(len > CONFIG_TCP_MSS){
|
if(len > CONFIG_TCP_MSS){
|
||||||
Serial.printf("wlanMsgClass::send: data too large:%u\n", len);
|
Serial.printf("wlanMsgClass::send: data too large:%u\n", len);
|
||||||
@ -112,6 +134,14 @@ void wlanMsgClass::send(uint8_t *data, size_t len){
|
|||||||
}
|
}
|
||||||
|
|
||||||
int wlanMsgClass::runFrame(unsigned long currentT){
|
int wlanMsgClass::runFrame(unsigned long currentT){
|
||||||
|
if(tryConCount > 2){
|
||||||
|
if(3 == tryConCount){
|
||||||
|
Serial.println("Wating to config WIFI");
|
||||||
|
APMode();
|
||||||
|
tryConCount++;
|
||||||
|
}
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
long long deltaT = (long long)currentT - heartBeatTimer;
|
long long deltaT = (long long)currentT - heartBeatTimer;
|
||||||
deltaT = abs(deltaT);
|
deltaT = abs(deltaT);
|
||||||
if((!bHeartbeatTimeout) && (deltaT > WLAN_HEARTBEAT_TIMEOUT)){
|
if((!bHeartbeatTimeout) && (deltaT > WLAN_HEARTBEAT_TIMEOUT)){
|
||||||
@ -120,6 +150,7 @@ int wlanMsgClass::runFrame(unsigned long currentT){
|
|||||||
if(bHeartbeatTimeout){
|
if(bHeartbeatTimeout){
|
||||||
if(!WiFi.isConnected()){
|
if(!WiFi.isConnected()){
|
||||||
Serial.println("Wlan disconnected");
|
Serial.println("Wlan disconnected");
|
||||||
|
tryConCount++;
|
||||||
connect();
|
connect();
|
||||||
delay(3000);
|
delay(3000);
|
||||||
return 1;
|
return 1;
|
||||||
|
|||||||
@ -7,6 +7,8 @@ enum{
|
|||||||
MSG_IMAGE_E,
|
MSG_IMAGE_E,
|
||||||
MSG_POSITION_CFG_E,
|
MSG_POSITION_CFG_E,
|
||||||
MSG_REFRESH_RATE_CFT_E,
|
MSG_REFRESH_RATE_CFT_E,
|
||||||
|
MSG_CONFIG_WIFI_E,
|
||||||
|
MSG_MAX_E,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* 标定参数结构体,发送给tracker */
|
/* 标定参数结构体,发送给tracker */
|
||||||
@ -27,20 +29,29 @@ typedef struct{
|
|||||||
uint8_t ucPosition;
|
uint8_t ucPosition;
|
||||||
}MSG_WLAN_POSIOTN_CONFIG_S;
|
}MSG_WLAN_POSIOTN_CONFIG_S;
|
||||||
|
|
||||||
|
typedef struct{
|
||||||
|
TLV_S tlv;
|
||||||
|
char SSID[SSID_LENGTH];
|
||||||
|
char password[WIFI_PASSWORD_LENGTH];
|
||||||
|
}MSG_WLAN_WIFI_CONFIG_S;
|
||||||
|
|
||||||
class wlanMsgClass{
|
class wlanMsgClass{
|
||||||
private:
|
private:
|
||||||
char acSSID[SSID_LENGTH];
|
char acSSID[SSID_LENGTH];
|
||||||
char acPassword[WIFI_PASSWORD_LENGTH];
|
char acPassword[WIFI_PASSWORD_LENGTH];
|
||||||
uint32_t uiTxBufferSize = 0;
|
uint32_t uiTxBufferSize = 0;
|
||||||
AsyncUDP udpClient;
|
AsyncUDP udpClient;
|
||||||
|
bool isConnected = false;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
uint8_t tryConCount = 0;
|
||||||
wlanMsgClass();
|
wlanMsgClass();
|
||||||
void connect(const char *SSID, const char *password);
|
void connect(const char *SSID, const char *password);
|
||||||
void connect();
|
void connect();
|
||||||
void send(uint8_t *data, size_t len, IPAddress ip, uint16_t port);
|
void send(uint8_t *data, size_t len, IPAddress ip, uint16_t port);
|
||||||
void send(uint8_t *data, size_t len);
|
void send(uint8_t *data, size_t len);
|
||||||
int runFrame(unsigned long currentT);
|
int runFrame(unsigned long currentT);
|
||||||
|
void APMode();
|
||||||
};
|
};
|
||||||
|
|
||||||
extern wlanMsgClass *pwlanMsgObj;
|
extern wlanMsgClass *pwlanMsgObj;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user