LTE... sur le bord de foutre le bordel ;)
This commit is contained in:
@@ -180,6 +180,14 @@ int AnalyzeNewATString(char* Str, int StrLen, int CurCmd)
|
|||||||
}
|
}
|
||||||
case LTE_MODULE_TX_DATA_CMD:
|
case LTE_MODULE_TX_DATA_CMD:
|
||||||
{
|
{
|
||||||
|
if(strncmp(mInputString,"OK",2) == 0) //The command was executed
|
||||||
|
{
|
||||||
|
LTECmdResponseReceived(CurCmd,LTE_MODULE_RESULT_OK);
|
||||||
|
}
|
||||||
|
else if(strncmp(mInputString,"ERROR",5) == 0) //The command was not executed
|
||||||
|
{
|
||||||
|
LTECmdResponseReceived(CurCmd,LTE_MODULE_RESULT_ERROR);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
#include "Syslog.h"
|
#include "Syslog.h"
|
||||||
#include "WiFiCtrl.h"
|
#include "WiFiCtrl.h"
|
||||||
#include "ATCmdInterpreter.h"
|
#include "ATCmdInterpreter.h"
|
||||||
|
#include "ProtocolDefs.h"
|
||||||
|
|
||||||
static BYTE mActivateNetworkCmd[] = "AT+CNACT=0,1\r";
|
static BYTE mActivateNetworkCmd[] = "AT+CNACT=0,1\r";
|
||||||
static BYTE mDisconnectNetworkCmd[] = "AT+CNACT=0,0\r";
|
static BYTE mDisconnectNetworkCmd[] = "AT+CNACT=0,0\r";
|
||||||
@@ -13,6 +14,8 @@ static BYTE mConnectToMasterCmd[] = "AT+CAOPEN=0,0,\"TCP\",\"grosgin.myftp.org\"
|
|||||||
static BYTE mDisconnectFromMasterCmd[] = "AT+CACLOSE=0\r";
|
static BYTE mDisconnectFromMasterCmd[] = "AT+CACLOSE=0\r";
|
||||||
static BYTE mReceiveDataCmd[] = "AT+CARECV=0,100\r";
|
static BYTE mReceiveDataCmd[] = "AT+CARECV=0,100\r";
|
||||||
|
|
||||||
|
char mMasterTxBuffer[MAX_MESSAGE_SIZE];
|
||||||
|
int mMasterTxSize;
|
||||||
|
|
||||||
int mLTEModuleSMState;
|
int mLTEModuleSMState;
|
||||||
int mLTEModuleOperationSMState;
|
int mLTEModuleOperationSMState;
|
||||||
@@ -178,7 +181,11 @@ void LTEModuleNewData(unsigned char Data)
|
|||||||
|
|
||||||
if(Data != '\r')
|
if(Data != '\r')
|
||||||
{
|
{
|
||||||
if(mNbCmdCharsReceived < LTE_MODULE_MAX_CMD_LENGTH)
|
if(mLTEModuleOperationSMState == LTE_MODULE_OPERATION_SENDING_DATA_STATE && Data == '>')
|
||||||
|
{
|
||||||
|
LTESendMasterBufferToModule();
|
||||||
|
}
|
||||||
|
else if(mNbCmdCharsReceived < LTE_MODULE_MAX_CMD_LENGTH)
|
||||||
{
|
{
|
||||||
mATCmd[mNbCmdCharsReceived] = Data;
|
mATCmd[mNbCmdCharsReceived] = Data;
|
||||||
mNbCmdCharsReceived++;
|
mNbCmdCharsReceived++;
|
||||||
@@ -273,10 +280,11 @@ void SendDataToLteModule(char *Data, int Size)
|
|||||||
{
|
{
|
||||||
if(mPICSerialDebugEnabled)
|
if(mPICSerialDebugEnabled)
|
||||||
{
|
{
|
||||||
|
char *ptr = Data;
|
||||||
int i;
|
int i;
|
||||||
for(i = 0; i < Size; i++)
|
for(i = 0; i < Size; i++)
|
||||||
{
|
{
|
||||||
SyslogNewByte(*Data++);
|
SyslogNewByte(*ptr++);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UartTransmitData(LTE_IF_UART_PORT,Data,Size);
|
UartTransmitData(LTE_IF_UART_PORT,Data,Size);
|
||||||
@@ -384,6 +392,15 @@ void LTECmdResponseReceived(int Cmd, int Result)
|
|||||||
}
|
}
|
||||||
case LTE_MODULE_TX_DATA_CMD:
|
case LTE_MODULE_TX_DATA_CMD:
|
||||||
{
|
{
|
||||||
|
if(Result == LTE_MODULE_RESULT_OK)
|
||||||
|
{
|
||||||
|
LTEModuleOperationSM(LTE_MODULE_OP_MASTER_DATA_SENT_EVENT);
|
||||||
|
}
|
||||||
|
else if(Result == LTE_MODULE_RESULT_ERROR)
|
||||||
|
{
|
||||||
|
//TODO: Manage a TX error...
|
||||||
|
LTEModuleOperationSM(LTE_MODULE_OP_MASTER_DATA_SENT_EVENT);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -393,12 +410,12 @@ void LTEModuleAPNConnectionStatus(int Status)
|
|||||||
if(Status == LTE_MODULE_APN_CONNECTED)
|
if(Status == LTE_MODULE_APN_CONNECTED)
|
||||||
{
|
{
|
||||||
mAPNConnected = true;
|
mAPNConnected = true;
|
||||||
SyslogNewString("APN connected\n");
|
// SyslogNewString("APN connected\n");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
mAPNConnected = false;
|
mAPNConnected = false;
|
||||||
SyslogNewString("APN disconnected\n");
|
// SyslogNewString("APN disconnected\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
void LTEModuleMasterConnectionStatus(int Status)
|
void LTEModuleMasterConnectionStatus(int Status)
|
||||||
@@ -406,18 +423,18 @@ void LTEModuleMasterConnectionStatus(int Status)
|
|||||||
if(Status == LTE_MODULE_MASTER_CONNECTED)
|
if(Status == LTE_MODULE_MASTER_CONNECTED)
|
||||||
{
|
{
|
||||||
mMasterConnected = true;
|
mMasterConnected = true;
|
||||||
SyslogNewString("Master connected\n");
|
// SyslogNewString("Master connected\n");
|
||||||
}
|
}
|
||||||
else if(Status == LTE_MODULE_MASTER_SOCKET_ERROR)
|
else if(Status == LTE_MODULE_MASTER_SOCKET_ERROR)
|
||||||
{
|
{
|
||||||
mMasterConnected = false;
|
mMasterConnected = false;
|
||||||
mMasterSocketError = true;
|
mMasterSocketError = true;
|
||||||
SyslogNewString("Master socket error\n");
|
// SyslogNewString("Master socket error\n");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
mMasterConnected = false;
|
mMasterConnected = false;
|
||||||
SyslogNewString("Master disconnected\n");
|
// SyslogNewString("Master disconnected\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -494,6 +511,7 @@ void LTEModuleOperationSM(int OperationEvent)
|
|||||||
{
|
{
|
||||||
mCurrentCmd = LTE_MODULE_NO_CMD;
|
mCurrentCmd = LTE_MODULE_NO_CMD;
|
||||||
mLTEModuleOperationSMState = LTE_MODULE_OPERATION_STANDBY_STATE;
|
mLTEModuleOperationSMState = LTE_MODULE_OPERATION_STANDBY_STATE;
|
||||||
|
TimerStart(LTE_MODULE_TIMER,LTE_MODULE_CONNECTION_CHECK_TIMEOUT);
|
||||||
}
|
}
|
||||||
if(OperationEvent == LTE_MODULE_OP_SERVER_DISCONNECTED_EVENT)
|
if(OperationEvent == LTE_MODULE_OP_SERVER_DISCONNECTED_EVENT)
|
||||||
{
|
{
|
||||||
@@ -501,6 +519,7 @@ void LTEModuleOperationSM(int OperationEvent)
|
|||||||
|
|
||||||
mCurrentCmd = LTE_MODULE_NO_CMD;
|
mCurrentCmd = LTE_MODULE_NO_CMD;
|
||||||
mLTEModuleOperationSMState = LTE_MODULE_OPERATION_STANDBY_STATE;
|
mLTEModuleOperationSMState = LTE_MODULE_OPERATION_STANDBY_STATE;
|
||||||
|
TimerStart(LTE_MODULE_TIMER,LTE_MODULE_CONNECTION_CHECK_TIMEOUT);
|
||||||
}
|
}
|
||||||
if(OperationEvent == LTE_MODULE_OP_SERVER_CONN_FAILED_EVENT)
|
if(OperationEvent == LTE_MODULE_OP_SERVER_CONN_FAILED_EVENT)
|
||||||
{
|
{
|
||||||
@@ -535,8 +554,10 @@ void LTEModuleOperationSM(int OperationEvent)
|
|||||||
{
|
{
|
||||||
if(mMasterConnected == true) //All is good for now...
|
if(mMasterConnected == true) //All is good for now...
|
||||||
{
|
{
|
||||||
|
char tmp[] = "Ca marche\n\r";
|
||||||
mNbMasterReconnectCount = 0;
|
mNbMasterReconnectCount = 0;
|
||||||
TimerStart(LTE_MODULE_TIMER,LTE_MODULE_CONNECTION_CHECK_TIMEOUT);
|
TimerStart(LTE_MODULE_TIMER,LTE_MODULE_CONNECTION_CHECK_TIMEOUT);
|
||||||
|
LTESendDataToMaster(tmp,strlen(tmp));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -547,7 +568,7 @@ void LTEModuleOperationSM(int OperationEvent)
|
|||||||
mLTEModuleOperationSMSubState = LTE_MODULE_OPERATION_RECONNECT_MASTER_SUBSTATE;
|
mLTEModuleOperationSMSubState = LTE_MODULE_OPERATION_RECONNECT_MASTER_SUBSTATE;
|
||||||
mLTEModuleOperationSMState = LTE_MODULE_OPERATION_WAIT_DISCONNECT_SERVER_STATE;
|
mLTEModuleOperationSMState = LTE_MODULE_OPERATION_WAIT_DISCONNECT_SERVER_STATE;
|
||||||
LTESendCommandToModule(LTE_MODULE_DISCONNECT_FROM_MASTER_CMD); //Always disconnect before reconnecting...
|
LTESendCommandToModule(LTE_MODULE_DISCONNECT_FROM_MASTER_CMD); //Always disconnect before reconnecting...
|
||||||
SyslogNewString("Master reconnection attempt\n");
|
// SyslogNewString("Master reconnection attempt\n");
|
||||||
}
|
}
|
||||||
else //We tried 10 times, check the APN
|
else //We tried 10 times, check the APN
|
||||||
{
|
{
|
||||||
@@ -555,7 +576,7 @@ void LTEModuleOperationSM(int OperationEvent)
|
|||||||
mLTEModuleOperationSMSubState = LTE_MODULE_OPERATION_CHECK_APN_SUBSTATE;
|
mLTEModuleOperationSMSubState = LTE_MODULE_OPERATION_CHECK_APN_SUBSTATE;
|
||||||
LTESendCommandToModule(LTE_MODULE_CHECK_APN_CONNECTION_CMD);
|
LTESendCommandToModule(LTE_MODULE_CHECK_APN_CONNECTION_CMD);
|
||||||
mNbMasterReconnectCount = 0;
|
mNbMasterReconnectCount = 0;
|
||||||
SyslogNewString("Master reconnection attempt count reached.. checking APN\n");
|
// SyslogNewString("Master reconnection attempt count reached.. checking APN\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -600,11 +621,19 @@ void LTEModuleOperationSM(int OperationEvent)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(OperationEvent == LTE_MODULE_OP_MASTER_DATA_READY_EVENT)
|
else if(OperationEvent == LTE_MODULE_OP_MASTER_DATA_READY_EVENT)
|
||||||
{
|
{
|
||||||
LTESendCommandToModule(LTE_MODULE_RX_DATA_CMD);
|
LTESendCommandToModule(LTE_MODULE_RX_DATA_CMD);
|
||||||
mLTEModuleOperationSMState = LTE_MODULE_OPERATION_WAIT_FOR_DATA_STATE;
|
mLTEModuleOperationSMState = LTE_MODULE_OPERATION_WAIT_FOR_DATA_STATE;
|
||||||
}
|
}
|
||||||
|
else if(OperationEvent == LTE_MODULE_OP_MASTER_SEND_DATA_REQUEST_EVENT)
|
||||||
|
{
|
||||||
|
if(mMasterConnected == true)
|
||||||
|
{
|
||||||
|
LTESendCommandToModule(LTE_MODULE_TX_DATA_CMD);
|
||||||
|
mLTEModuleOperationSMState = LTE_MODULE_OPERATION_SENDING_DATA_STATE;
|
||||||
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case LTE_MODULE_OPERATION_WAIT_FOR_DATA_STATE:
|
case LTE_MODULE_OPERATION_WAIT_FOR_DATA_STATE:
|
||||||
@@ -621,6 +650,19 @@ void LTEModuleOperationSM(int OperationEvent)
|
|||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case LTE_MODULE_OPERATION_SENDING_DATA_STATE:
|
||||||
|
{
|
||||||
|
if(OperationEvent == LTE_MODULE_OP_TICK_EVENT)
|
||||||
|
{
|
||||||
|
//TODO: manage timeouts
|
||||||
|
}
|
||||||
|
if(OperationEvent == LTE_MODULE_OP_MASTER_DATA_SENT_EVENT)
|
||||||
|
{
|
||||||
|
mCurrentCmd = LTE_MODULE_NO_CMD;
|
||||||
|
mLTEModuleOperationSMState = LTE_MODULE_OPERATION_STANDBY_STATE;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -672,6 +714,10 @@ int LTESendCommandToModule(int Cmd)
|
|||||||
}
|
}
|
||||||
case LTE_MODULE_TX_DATA_CMD:
|
case LTE_MODULE_TX_DATA_CMD:
|
||||||
{
|
{
|
||||||
|
char Cmd[25];
|
||||||
|
sprintf(Cmd,"AT+CASEND=0,%d\r",mMasterTxSize);
|
||||||
|
mCurrentCmd = LTE_MODULE_TX_DATA_CMD;
|
||||||
|
SendDataToLteModule(Cmd,strlen(Cmd));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case LTE_MODULE_CHECK_APN_CONNECTION_CMD:
|
case LTE_MODULE_CHECK_APN_CONNECTION_CMD:
|
||||||
@@ -704,4 +750,29 @@ void LTEModuleMasterCtrlCommStatus(bool Offline)
|
|||||||
}
|
}
|
||||||
// else
|
// else
|
||||||
// mMasterConnected = true;
|
// mMasterConnected = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
//This is the function to call from outside to send data to the server
|
||||||
|
int LTESendDataToMaster(char *Buffer, int Size)
|
||||||
|
{
|
||||||
|
if(Size > MAX_MESSAGE_SIZE)
|
||||||
|
{
|
||||||
|
return RET_ERROR;
|
||||||
|
}
|
||||||
|
if(mMasterConnected == false)
|
||||||
|
{
|
||||||
|
return RET_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
memcpy(mMasterTxBuffer,Buffer,Size);
|
||||||
|
mMasterTxSize = Size;
|
||||||
|
LTEModuleOperationSM(LTE_MODULE_OP_MASTER_SEND_DATA_REQUEST_EVENT);
|
||||||
|
return RET_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
//The module is ready... send the payload so it can transmit it to the master
|
||||||
|
int LTESendMasterBufferToModule()
|
||||||
|
{
|
||||||
|
SendDataToLteModule(mMasterTxBuffer,mMasterTxSize);
|
||||||
|
return RET_OK;
|
||||||
}
|
}
|
||||||
@@ -88,6 +88,7 @@ enum eLTEModuleOperationStates
|
|||||||
LTE_MODULE_OPERATION_WAIT_DISCONNECT_SERVER_STATE,
|
LTE_MODULE_OPERATION_WAIT_DISCONNECT_SERVER_STATE,
|
||||||
LTE_MODULE_OPERATION_STANDBY_STATE,
|
LTE_MODULE_OPERATION_STANDBY_STATE,
|
||||||
LTE_MODULE_OPERATION_WAIT_FOR_DATA_STATE,
|
LTE_MODULE_OPERATION_WAIT_FOR_DATA_STATE,
|
||||||
|
LTE_MODULE_OPERATION_SENDING_DATA_STATE,
|
||||||
|
|
||||||
LTE_MODULE_OPERATION_MAX_STATE
|
LTE_MODULE_OPERATION_MAX_STATE
|
||||||
};
|
};
|
||||||
@@ -115,6 +116,8 @@ enum eLTEModuleOperationSMEvents
|
|||||||
LTE_MODULE_OP_CMD_RESP_RECEIVED_EVENT,
|
LTE_MODULE_OP_CMD_RESP_RECEIVED_EVENT,
|
||||||
LTE_MODULE_OP_MASTER_DATA_READY_EVENT,
|
LTE_MODULE_OP_MASTER_DATA_READY_EVENT,
|
||||||
LTE_MODULE_OP_MASTER_DATA_RECEIVED_EVENT,
|
LTE_MODULE_OP_MASTER_DATA_RECEIVED_EVENT,
|
||||||
|
LTE_MODULE_OP_MASTER_SEND_DATA_REQUEST_EVENT,
|
||||||
|
LTE_MODULE_OP_MASTER_DATA_SENT_EVENT,
|
||||||
|
|
||||||
LTE_MODULE_OP_MAX_EVENT
|
LTE_MODULE_OP_MAX_EVENT
|
||||||
};
|
};
|
||||||
@@ -133,6 +136,8 @@ int LTEEnableSerialDebug(bool EnModule, bool EnPic);
|
|||||||
int LTESendCommandToModule(int Command);
|
int LTESendCommandToModule(int Command);
|
||||||
void SendDataToLteModule(char *Data, int Size);
|
void SendDataToLteModule(char *Data, int Size);
|
||||||
int LTEModuleReset();
|
int LTEModuleReset();
|
||||||
|
int LTESendDataToMaster(char *Buffer, int Size);
|
||||||
|
int LTESendMasterBufferToModule();
|
||||||
|
|
||||||
void LTECmdResponseReceived(int Cmd, int Result);
|
void LTECmdResponseReceived(int Cmd, int Result);
|
||||||
void LTEModuleAPNConnectionStatus(int Status);
|
void LTEModuleAPNConnectionStatus(int Status);
|
||||||
|
|||||||
Binary file not shown.
+1265
-1259
File diff suppressed because it is too large
Load Diff
BIN
Binary file not shown.
+6848
-6812
File diff suppressed because it is too large
Load Diff
+1245
-1236
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
#Mon Dec 30 11:27:34 EST 2024
|
#Mon Dec 30 11:51:17 EST 2024
|
||||||
ChaletDuinoV2_795F512H_.languagetoolchain.dir=C\:\\Program Files\\Microchip\\xc32\\v1.33\\bin
|
ChaletDuinoV2_795F512H_.languagetoolchain.dir=C\:\\Program Files\\Microchip\\xc32\\v1.33\\bin
|
||||||
default.languagetoolchain.dir=C\:\\Program Files\\Microchip\\xc32\\v1.33\\bin
|
default.languagetoolchain.dir=C\:\\Program Files\\Microchip\\xc32\\v1.33\\bin
|
||||||
proj.dir=D\:\\Main\\PicDev\\Projets\\ChaletLora\\ChaletLora.X
|
proj.dir=D\:\\Main\\PicDev\\Projets\\ChaletLora\\ChaletLora.X
|
||||||
|
|||||||
@@ -1,27 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project-private xmlns="http://www.netbeans.org/ns/project-private/1">
|
<project-private xmlns="http://www.netbeans.org/ns/project-private/1">
|
||||||
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="9">
|
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="9">
|
||||||
<file>
|
|
||||||
<url>Source/hd44780.c</url>
|
|
||||||
<bookmark id="7">
|
|
||||||
<name/>
|
|
||||||
<line>340</line>
|
|
||||||
<key/>
|
|
||||||
</bookmark>
|
|
||||||
</file>
|
|
||||||
<file>
|
|
||||||
<url>Source/SIM7080GInterface.c</url>
|
|
||||||
<bookmark id="8">
|
|
||||||
<name/>
|
|
||||||
<line>424</line>
|
|
||||||
<key/>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark id="9">
|
|
||||||
<name/>
|
|
||||||
<line>525</line>
|
|
||||||
<key/>
|
|
||||||
</bookmark>
|
|
||||||
</file>
|
|
||||||
<file>
|
<file>
|
||||||
<url>Source/BootloaderInterface.c</url>
|
<url>Source/BootloaderInterface.c</url>
|
||||||
<bookmark id="5">
|
<bookmark id="5">
|
||||||
@@ -35,15 +14,32 @@
|
|||||||
<key/>
|
<key/>
|
||||||
</bookmark>
|
</bookmark>
|
||||||
</file>
|
</file>
|
||||||
|
<file>
|
||||||
|
<url>Source/hd44780.c</url>
|
||||||
|
<bookmark id="7">
|
||||||
|
<name/>
|
||||||
|
<line>340</line>
|
||||||
|
<key/>
|
||||||
|
</bookmark>
|
||||||
|
</file>
|
||||||
|
<file>
|
||||||
|
<url>Source/SIM7080GInterface.c</url>
|
||||||
|
<bookmark id="8">
|
||||||
|
<name/>
|
||||||
|
<line>426</line>
|
||||||
|
<key/>
|
||||||
|
</bookmark>
|
||||||
|
<bookmark id="9">
|
||||||
|
<name/>
|
||||||
|
<line>527</line>
|
||||||
|
<key/>
|
||||||
|
</bookmark>
|
||||||
|
</file>
|
||||||
</editor-bookmarks>
|
</editor-bookmarks>
|
||||||
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
|
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
|
||||||
<group>
|
<group>
|
||||||
<file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/SIM7080GInterface.c</file>
|
<file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/SIM7080GInterface.c</file>
|
||||||
<file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/ATCmdInterpreter.c</file>
|
|
||||||
<file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/SIM7080GInterface.h</file>
|
<file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/SIM7080GInterface.h</file>
|
||||||
<file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/winc3400_142/driver/source/nmspi.c</file>
|
|
||||||
<file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/LoraNetworkInterface.c</file>
|
|
||||||
<file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/ATCmdInterpreter.h</file>
|
|
||||||
</group>
|
</group>
|
||||||
</open-files>
|
</open-files>
|
||||||
</project-private>
|
</project-private>
|
||||||
|
|||||||
Reference in New Issue
Block a user