Compare commits
5
Commits
773adac6f4
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
24d8155ca2 | ||
|
|
bbfc4e10e2 | ||
|
|
13655e40f4 | ||
|
|
647f38c4ca | ||
|
|
06ab16b771 |
@@ -10,10 +10,12 @@ bool mCAStateReceived;
|
|||||||
char mMasterData[100];
|
char mMasterData[100];
|
||||||
int mMasterDataSize;
|
int mMasterDataSize;
|
||||||
char mInputString[100];
|
char mInputString[100];
|
||||||
|
bool mIsDataPending;
|
||||||
|
|
||||||
void InitATCmdInterpreter()
|
void InitATCmdInterpreter()
|
||||||
{
|
{
|
||||||
mCAStateReceived = false;
|
mCAStateReceived = false;
|
||||||
|
mIsDataPending = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
int AnalyzeNewATString(char* Str, int StrLen, int CurCmd)
|
int AnalyzeNewATString(char* Str, int StrLen, int CurCmd)
|
||||||
@@ -77,7 +79,7 @@ int AnalyzeNewATString(char* Str, int StrLen, int CurCmd)
|
|||||||
if(strncmp("+CAOPEN:",mInputString,strlen("+CAOPEN:")) == 0)
|
if(strncmp("+CAOPEN:",mInputString,strlen("+CAOPEN:")) == 0)
|
||||||
{
|
{
|
||||||
int result = atoi(&mInputString[11]);
|
int result = atoi(&mInputString[11]);
|
||||||
if(StrLen == 12 && mInputString[11] == '0') //The connection on port 0 is established
|
if(StrLen >= 12 && mInputString[11] == '0') //The connection on port 0 is established
|
||||||
{
|
{
|
||||||
LTEModuleMasterConnectionStatus(LTE_MODULE_MASTER_CONNECTED);
|
LTEModuleMasterConnectionStatus(LTE_MODULE_MASTER_CONNECTED);
|
||||||
}
|
}
|
||||||
@@ -147,6 +149,7 @@ int AnalyzeNewATString(char* Str, int StrLen, int CurCmd)
|
|||||||
{
|
{
|
||||||
if(strncmp("+CARECV:",mInputString,strlen("+CARECV:")) == 0) //+CARECV: 4,test
|
if(strncmp("+CARECV:",mInputString,strlen("+CARECV:")) == 0) //+CARECV: 4,test
|
||||||
{
|
{
|
||||||
|
// printf("ATCmdInterpreter : Received +CARECV, storing data in buffer, waiting for OK\n\r");
|
||||||
memset(mMasterData,0,100);
|
memset(mMasterData,0,100);
|
||||||
mMasterDataSize = 0;
|
mMasterDataSize = 0;
|
||||||
char *token;
|
char *token;
|
||||||
@@ -168,9 +171,9 @@ int AnalyzeNewATString(char* Str, int StrLen, int CurCmd)
|
|||||||
}
|
}
|
||||||
if(strncmp(mInputString,"OK",2) == 0) //The command was executed
|
if(strncmp(mInputString,"OK",2) == 0) //The command was executed
|
||||||
{
|
{
|
||||||
|
// printf("ATCmdInterpreter : Received OK, calling LTEModuleDataReceived\n\r");
|
||||||
LTEModuleDataReceived(mMasterData,mMasterDataSize);
|
LTEModuleDataReceived(mMasterData,mMasterDataSize);
|
||||||
// LTECmdResponseReceived(CurCmd,LTE_MODULE_RESULT_OK);
|
// LTECmdResponseReceived(CurCmd,LTE_MODULE_RESULT_OK);
|
||||||
}
|
}
|
||||||
else if(strncmp(mInputString,"ERROR",5) == 0) //The command was not executed
|
else if(strncmp(mInputString,"ERROR",5) == 0) //The command was not executed
|
||||||
{
|
{
|
||||||
@@ -183,10 +186,25 @@ int AnalyzeNewATString(char* Str, int StrLen, int CurCmd)
|
|||||||
if(strncmp(mInputString,"OK",2) == 0) //The command was executed
|
if(strncmp(mInputString,"OK",2) == 0) //The command was executed
|
||||||
{
|
{
|
||||||
LTECmdResponseReceived(CurCmd,LTE_MODULE_RESULT_OK);
|
LTECmdResponseReceived(CurCmd,LTE_MODULE_RESULT_OK);
|
||||||
|
if(mIsDataPending == true)
|
||||||
|
{
|
||||||
|
mIsDataPending = false;
|
||||||
|
LTEModuleNewDataReady();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if(strncmp(mInputString,"ERROR",5) == 0) //The command was not executed
|
else if(strncmp(mInputString,"ERROR",5) == 0) //The command was not executed
|
||||||
{
|
{
|
||||||
LTECmdResponseReceived(CurCmd,LTE_MODULE_RESULT_ERROR);
|
LTECmdResponseReceived(CurCmd,LTE_MODULE_RESULT_ERROR);
|
||||||
|
if(mIsDataPending == true)
|
||||||
|
{
|
||||||
|
mIsDataPending = false;
|
||||||
|
LTEModuleNewDataReady();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(strncmp("+CADATAIND:",mInputString,strlen("+CADATAIND:")) == 0)
|
||||||
|
{
|
||||||
|
// We sometimes receive data while sending...
|
||||||
|
mIsDataPending = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -197,6 +215,7 @@ int AnalyzeNewATString(char* Str, int StrLen, int CurCmd)
|
|||||||
{
|
{
|
||||||
if(strncmp("+CADATAIND:",mInputString,strlen("+CADATAIND:")) == 0)
|
if(strncmp("+CADATAIND:",mInputString,strlen("+CADATAIND:")) == 0)
|
||||||
{
|
{
|
||||||
|
// printf("ATCmdInterpreter : Received +CADATAIND, calling NewDataReady\n\r");
|
||||||
LTEModuleNewDataReady();
|
LTEModuleNewDataReady();
|
||||||
}
|
}
|
||||||
if(strncmp("+APP PDP:",mInputString,strlen("+APP PDP:")) == 0)
|
if(strncmp("+APP PDP:",mInputString,strlen("+APP PDP:")) == 0)
|
||||||
@@ -214,6 +233,12 @@ int AnalyzeNewATString(char* Str, int StrLen, int CurCmd)
|
|||||||
LTEModuleMasterConnectionStatus(LTE_MODULE_MASTER_DISCONNECTED);
|
LTEModuleMasterConnectionStatus(LTE_MODULE_MASTER_DISCONNECTED);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(strncmp("+CAURC:",mInputString,strlen("+CAURC:")) == 0)
|
||||||
|
{
|
||||||
|
// printf("ATCmdInterpreter : Received +CADATAIND, calling NewDataReady\n\r");
|
||||||
|
//LTEModuleReset();
|
||||||
|
LTEModuleMasterConnectionStatus(LTE_MODULE_MASTER_DISCONNECTED);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
#include "ChaletPowerRelay.h"
|
#include "ChaletPowerRelay.h"
|
||||||
#include "BoardCfg.h"
|
#include "BoardCfg.h"
|
||||||
#include "timer.h"
|
#include "timer.h"
|
||||||
|
#include "BatteryMonitor.h"
|
||||||
|
|
||||||
#define PIN_ACTIVE 1
|
#define PIN_ACTIVE 1
|
||||||
#define PIN_INACTIVE 0
|
#define PIN_INACTIVE 0
|
||||||
@@ -15,6 +16,7 @@ void InitChaletPowerRelay()
|
|||||||
POWER_RELAY_OFF_PIN = PIN_INACTIVE;
|
POWER_RELAY_OFF_PIN = PIN_INACTIVE;
|
||||||
PowerRelayState = CHALET_POWER_RELAY_UNKNOWN_STATE;
|
PowerRelayState = CHALET_POWER_RELAY_UNKNOWN_STATE;
|
||||||
TimerStop(CHALET_POWER_RELAY_COIL_TIMER);
|
TimerStop(CHALET_POWER_RELAY_COIL_TIMER);
|
||||||
|
TimerStop(CHALET_POWER_RELAY_LVD_TIMER);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ChaletPowerRelayTick()
|
void ChaletPowerRelayTick()
|
||||||
@@ -36,7 +38,7 @@ void ChaletPowerRelayTick()
|
|||||||
PowerRelayState = CHALET_POWER_RELAY_OFF_STATE;
|
PowerRelayState = CHALET_POWER_RELAY_OFF_STATE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(IsTimerRunning(CHALET_POWER_RELAY_COIL_TIMER) == true)
|
if((CHALET_POWER_RELAY_COIL_TIMER) == true)
|
||||||
{
|
{
|
||||||
if(IsTimerExpired(CHALET_POWER_RELAY_COIL_TIMER))
|
if(IsTimerExpired(CHALET_POWER_RELAY_COIL_TIMER))
|
||||||
{
|
{
|
||||||
@@ -45,6 +47,36 @@ void ChaletPowerRelayTick()
|
|||||||
TimerStop(CHALET_POWER_RELAY_COIL_TIMER);
|
TimerStop(CHALET_POWER_RELAY_COIL_TIMER);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(IsTimerRunning(CHALET_POWER_RELAY_LVD_TIMER) == true)
|
||||||
|
{
|
||||||
|
if(PowerRelayState != CHALET_POWER_RELAY_ON_STATE)
|
||||||
|
{
|
||||||
|
TimerStop(CHALET_POWER_RELAY_LVD_TIMER);
|
||||||
|
}
|
||||||
|
else if(IsTimerExpired(CHALET_POWER_RELAY_LVD_TIMER))
|
||||||
|
{
|
||||||
|
//Check if it was just a glitch
|
||||||
|
if(GetBatteryVoltage(0) >= POWER_RELAY_LVD_VOLTAGE_TRESHOLD)
|
||||||
|
{
|
||||||
|
TimerStop(CHALET_POWER_RELAY_LVD_TIMER);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
TimerStop(CHALET_POWER_RELAY_LVD_TIMER);
|
||||||
|
ChaletPowerRelayTurnOff();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//LVD: if battery voltage is too low, turn off the power relay
|
||||||
|
if(PowerRelayState == CHALET_POWER_RELAY_ON_STATE && GetBatteryVoltage(0) < POWER_RELAY_LVD_VOLTAGE_TRESHOLD && GetBatteryVoltage(0) != 0.0)
|
||||||
|
{
|
||||||
|
//ChaletPowerRelayTurnOff();
|
||||||
|
TimerStart(CHALET_POWER_RELAY_LVD_TIMER,CHALET_POWER_RELAY_LVD_DEBOUNCE_TIMEOUT);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(IsTimerExpired(CHALET_POWER_RELAY_AUTOTURNOFF_TIMER))
|
if(IsTimerExpired(CHALET_POWER_RELAY_AUTOTURNOFF_TIMER))
|
||||||
{
|
{
|
||||||
@@ -59,6 +91,11 @@ void ChaletPowerRelayKickTimer()
|
|||||||
|
|
||||||
bool ChaletPowerRelayTurnOn()
|
bool ChaletPowerRelayTurnOn()
|
||||||
{
|
{
|
||||||
|
//LVD: if battery voltage is too low, turn off the power relay
|
||||||
|
if(GetBatteryVoltage(0) < POWER_RELAY_LVD_VOLTAGE_TRESHOLD)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
POWER_RELAY_ON_PIN = PIN_ACTIVE;
|
POWER_RELAY_ON_PIN = PIN_ACTIVE;
|
||||||
TimerStart(CHALET_POWER_RELAY_COIL_TIMER,CHALET_POWER_RELAY_COIL_TIMEOUT);
|
TimerStart(CHALET_POWER_RELAY_COIL_TIMER,CHALET_POWER_RELAY_COIL_TIMEOUT);
|
||||||
// PowerRelayState = CHALET_POWER_RELAY_ON_STATE;
|
// PowerRelayState = CHALET_POWER_RELAY_ON_STATE;
|
||||||
@@ -69,6 +106,7 @@ bool ChaletPowerRelayTurnOff()
|
|||||||
{
|
{
|
||||||
POWER_RELAY_OFF_PIN = PIN_ACTIVE;
|
POWER_RELAY_OFF_PIN = PIN_ACTIVE;
|
||||||
TimerStart(CHALET_POWER_RELAY_COIL_TIMER,CHALET_POWER_RELAY_COIL_TIMEOUT);
|
TimerStart(CHALET_POWER_RELAY_COIL_TIMER,CHALET_POWER_RELAY_COIL_TIMEOUT);
|
||||||
|
TimerStop(CHALET_POWER_RELAY_LVD_TIMER);
|
||||||
// PowerRelayState = CHALET_POWER_RELAY_OFF_STATE;
|
// PowerRelayState = CHALET_POWER_RELAY_OFF_STATE;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,6 +10,8 @@
|
|||||||
#include "define.h"
|
#include "define.h"
|
||||||
|
|
||||||
#define CHALET_OFFLINE_POWER_RELAY_RESET_TIMEOUT 43200 //43,200 = 12 hours in seconds
|
#define CHALET_OFFLINE_POWER_RELAY_RESET_TIMEOUT 43200 //43,200 = 12 hours in seconds
|
||||||
|
#define POWER_RELAY_LVD_VOLTAGE_TRESHOLD (float)12.00
|
||||||
|
#define CHALET_POWER_RELAY_LVD_DEBOUNCE_TIMEOUT 1000 //ms
|
||||||
|
|
||||||
enum eChaletPowerRelayState
|
enum eChaletPowerRelayState
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
#define LORAWATCHDOG_H
|
#define LORAWATCHDOG_H
|
||||||
#include "define.h"
|
#include "define.h"
|
||||||
|
|
||||||
#define LORA_WATCHDOG_MODULE_RESET_TIMEOUT 3600000 //1h Time without comm. before we reset the LoRa module
|
#define LORA_WATCHDOG_MODULE_RESET_TIMEOUT 900000 // 15 minutes //3600000 //1h Time without comm. before we reset the LoRa module
|
||||||
#define LORA_WATCHDOG_REBOOT_TIMEOUT 1200000 //20 minutes Time to reboot after we reset the LoRa module
|
#define LORA_WATCHDOG_REBOOT_TIMEOUT 1200000 //20 minutes Time to reboot after we reset the LoRa module
|
||||||
#define LORA_WATCHDOG_MODULE_OFF_TIMEOUT 4000 //Keep the LoRa module off for 2 seconds when reseting it.
|
#define LORA_WATCHDOG_MODULE_OFF_TIMEOUT 4000 //Keep the LoRa module off for 2 seconds when reseting it.
|
||||||
|
|
||||||
|
|||||||
@@ -67,7 +67,11 @@ enum DEVICES_IDS
|
|||||||
ID_AVRECEIVER_INTERFACE,
|
ID_AVRECEIVER_INTERFACE,
|
||||||
ID_CHALET_INTERFACE,
|
ID_CHALET_INTERFACE,
|
||||||
ID_CHALET_DEVICE,
|
ID_CHALET_DEVICE,
|
||||||
ID_BOOTLOADER_VIRTUAL,
|
ID_ISPINDEL_INTERFACE,
|
||||||
|
ID_LORA_INTERFACE_DEVICE,
|
||||||
|
ID_LORA_INTERFACE_INTERFACE,
|
||||||
|
ID_AVRECEIVER_CONSOLE_INTERFACE,
|
||||||
|
ID_AUDIO_CONSOLE_INTERFACE,
|
||||||
ID_NB_DEVICE_ID
|
ID_NB_DEVICE_ID
|
||||||
|
|
||||||
};
|
};
|
||||||
@@ -292,7 +296,7 @@ enum CHALET_CMDS
|
|||||||
CHALET_DO_HARAKIRI_CONFIRMATION,
|
CHALET_DO_HARAKIRI_CONFIRMATION,
|
||||||
CHALET_REBOOT_CPU_REQUEST,
|
CHALET_REBOOT_CPU_REQUEST,
|
||||||
CHALET_REBOOT_CPU_RESPONSE,
|
CHALET_REBOOT_CPU_RESPONSE,
|
||||||
CHALET_GET_STORED_WIFI_SETTINGS_REQUEST,
|
CHALET_GET_STORED_WIFI_SETTINGS_REQUEST,//14
|
||||||
CHALET_GET_STORED_WIFI_SETTINGS_RESPONSE,
|
CHALET_GET_STORED_WIFI_SETTINGS_RESPONSE,
|
||||||
CHALET_SET_STORED_WIFI_SETTINGS_REQUEST,
|
CHALET_SET_STORED_WIFI_SETTINGS_REQUEST,
|
||||||
CHALET_SET_STORED_WIFI_SETTINGS_RESPONSE,
|
CHALET_SET_STORED_WIFI_SETTINGS_RESPONSE,
|
||||||
|
|||||||
@@ -34,15 +34,18 @@ bool mMasterConnected;
|
|||||||
bool mMasterSocketError;
|
bool mMasterSocketError;
|
||||||
bool mAPNConnected;
|
bool mAPNConnected;
|
||||||
|
|
||||||
void InitLTEModule()
|
void InitLTEModule(bool FunctionnalReset)
|
||||||
{
|
{
|
||||||
mLTEModuleSMState = LTE_MODULE_SM_INIT_STATE;
|
mLTEModuleSMState = LTE_MODULE_SM_INIT_STATE;
|
||||||
mLTEModuleOperationSMState = LTE_MODULE_OPERATION_INIT_STATE;
|
mLTEModuleOperationSMState = LTE_MODULE_OPERATION_INIT_STATE;
|
||||||
mLTEModuleOperationSMSubState = LTE_MODULE_OPERATION_NOMINAL_SUBSTATE;
|
mLTEModuleOperationSMSubState = LTE_MODULE_OPERATION_NOMINAL_SUBSTATE;
|
||||||
mNbCmdCharsReceived = 0;
|
mNbCmdCharsReceived = 0;
|
||||||
mIsPassthroughEnabled = false;
|
mIsPassthroughEnabled = false;
|
||||||
|
if(FunctionnalReset == false)
|
||||||
|
{
|
||||||
mModuleSerialDebugEnabled = false;
|
mModuleSerialDebugEnabled = false;
|
||||||
mPICSerialDebugEnabled = false;
|
mPICSerialDebugEnabled = false;
|
||||||
|
}
|
||||||
mCurrentCmd = LTE_MODULE_NO_CMD;
|
mCurrentCmd = LTE_MODULE_NO_CMD;
|
||||||
mIsInitializing = true;
|
mIsInitializing = true;
|
||||||
mNbMasterReconnectCount = 0;
|
mNbMasterReconnectCount = 0;
|
||||||
@@ -50,10 +53,11 @@ void InitLTEModule()
|
|||||||
|
|
||||||
mMasterConnected = false;
|
mMasterConnected = false;
|
||||||
mAPNConnected = false;
|
mAPNConnected = false;
|
||||||
|
LTENetworkInterfaceInit();
|
||||||
}
|
}
|
||||||
int LTEModuleReset()
|
int LTEModuleReset()
|
||||||
{
|
{
|
||||||
InitLTEModule();
|
InitLTEModule(true);
|
||||||
return RET_OK;
|
return RET_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -165,6 +169,8 @@ void TickLTEModule()
|
|||||||
|
|
||||||
void LTEModuleNewData(unsigned char Data)
|
void LTEModuleNewData(unsigned char Data)
|
||||||
{
|
{
|
||||||
|
// printf("%c - 0x%x\n",Data,Data);
|
||||||
|
|
||||||
if(mIsPassthroughEnabled == true)
|
if(mIsPassthroughEnabled == true)
|
||||||
{
|
{
|
||||||
SyslogNewByte(Data);
|
SyslogNewByte(Data);
|
||||||
@@ -177,10 +183,139 @@ void LTEModuleNewData(unsigned char Data)
|
|||||||
SyslogNewByte(Data);
|
SyslogNewByte(Data);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(Data == '\n') //ignore line feeds
|
mATCmd[mNbCmdCharsReceived++] = Data;
|
||||||
|
|
||||||
|
if(mLTEModuleOperationSMState == LTE_MODULE_OPERATION_SENDING_DATA_STATE && Data == '>')
|
||||||
|
{
|
||||||
|
LTESendMasterBufferToModule();
|
||||||
|
}
|
||||||
|
|
||||||
|
if(Data == 0x0A) //Line feed... '\n' Ignore
|
||||||
|
{
|
||||||
|
if(mNbCmdCharsReceived < 2)
|
||||||
|
{
|
||||||
|
mNbCmdCharsReceived = 0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(Data == 0x0D) //escape sequence \r
|
||||||
|
{
|
||||||
|
|
||||||
|
//check if it's part of a data payload
|
||||||
|
if(strncmp("+CARECV:",mATCmd,strlen("+CARECV:")) == 0)
|
||||||
|
{
|
||||||
|
// printf("3\n");
|
||||||
|
char DataSzString[2];
|
||||||
|
DataSzString[0] = mATCmd[9];
|
||||||
|
int LenghtSize = 1;
|
||||||
|
if(mATCmd[10] != ',')
|
||||||
|
{
|
||||||
|
// printf("4\n");
|
||||||
|
DataSzString[1] = mATCmd[10];
|
||||||
|
LenghtSize = 2;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// printf("5\n");
|
||||||
|
DataSzString[1] = '\0';
|
||||||
|
}
|
||||||
|
|
||||||
|
int DataSize = 0;
|
||||||
|
DataSize = atoi(&DataSzString[0]);
|
||||||
|
|
||||||
|
// printf("Received escape sequence, DataSize = %d\n", DataSize);
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//Check if we received the whole payload.
|
||||||
|
if(mNbCmdCharsReceived-1 < (DataSize + LenghtSize + 10))
|
||||||
|
{
|
||||||
|
//The \r character is part of the payload, continue receiving...
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if(Data != '\r')
|
}
|
||||||
|
}
|
||||||
|
if(mLTEModuleSMState == LTE_MODULE_SM_WAIT_RDY_STATE)
|
||||||
|
{
|
||||||
|
if(mATCmd[0] == 'R' && mATCmd[1] == 'D' && mATCmd[2] == 'Y')
|
||||||
|
{
|
||||||
|
LTEModuleSM(LTE_MODULE_RX_RDY_EVENT);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(mLTEModuleSMState == LTE_MODULE_SM_RUN_STATE)
|
||||||
|
{
|
||||||
|
if(mNbCmdCharsReceived > 1)
|
||||||
|
{
|
||||||
|
AnalyzeNewATString(mATCmd,mNbCmdCharsReceived,mCurrentCmd);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
mNbCmdCharsReceived = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
|
||||||
|
if(Data == 0x0D) //ignore line feeds '\n'
|
||||||
|
{
|
||||||
|
if(mLTEModuleOperationSMState == LTE_MODULE_OPERATION_WAIT_FOR_DATA_STATE)
|
||||||
|
{
|
||||||
|
printf("1 mNbCmdCharsReceived = %d\n",mNbCmdCharsReceived);
|
||||||
|
// //Verify if \n is part of the payload data..
|
||||||
|
if(mNbCmdCharsReceived > 11) //Check that we received the datasize from module
|
||||||
|
{
|
||||||
|
printf("2\n");
|
||||||
|
// //Extract datasize
|
||||||
|
if(strncmp("+CARECV:",mATCmd,strlen("+CARECV:")) == 0)
|
||||||
|
{
|
||||||
|
// printf("3\n");
|
||||||
|
char DataSzString[2];
|
||||||
|
DataSzString[0] = mATCmd[9];
|
||||||
|
int LenghtSize = 1;
|
||||||
|
if(mATCmd[10] != ',')
|
||||||
|
{
|
||||||
|
// printf("4\n");
|
||||||
|
DataSzString[1] = mATCmd[10];
|
||||||
|
LenghtSize = 2;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// printf("5\n");
|
||||||
|
DataSzString[1] = '\0';
|
||||||
|
}
|
||||||
|
|
||||||
|
int DataSize = 0;
|
||||||
|
DataSize = atoi(&DataSzString[0]);
|
||||||
|
|
||||||
|
printf("Received \\n, DataSize = %d\n", DataSize);
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//Check if we received the whole payload.
|
||||||
|
if(mNbCmdCharsReceived >= (DataSize + LenghtSize + 10))
|
||||||
|
{
|
||||||
|
// printf("6\n");
|
||||||
|
//The whole payload is received... do not store the \n
|
||||||
|
// printf("Received \\n, all payload received, ignoring. NbCharReceived = %d\n",mNbCmdCharsReceived);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// printf("7\n");
|
||||||
|
//The \n character is part of the payload, store it and continue receiving...
|
||||||
|
mATCmd[mNbCmdCharsReceived] = Data;
|
||||||
|
// printf("Received \\n in payload, storing data. NbCharReceived = %d\n",mNbCmdCharsReceived);
|
||||||
|
mNbCmdCharsReceived++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// printf("8\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(Data != 0x0A) // '\r'
|
||||||
{
|
{
|
||||||
if(mLTEModuleOperationSMState == LTE_MODULE_OPERATION_SENDING_DATA_STATE && Data == '>')
|
if(mLTEModuleOperationSMState == LTE_MODULE_OPERATION_SENDING_DATA_STATE && Data == '>')
|
||||||
{
|
{
|
||||||
@@ -199,6 +334,60 @@ void LTEModuleNewData(unsigned char Data)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
// if(mLTEModuleOperationSMState == LTE_MODULE_OPERATION_WAIT_FOR_DATA_STATE)
|
||||||
|
// {
|
||||||
|
// //Verify if we really are done or if \r is part of the payload data..
|
||||||
|
// if(mNbCmdCharsReceived > 11) //Check that we received the datasize from module
|
||||||
|
// {
|
||||||
|
// //Extract datasize
|
||||||
|
// if(strncmp("+CARECV:",mATCmd,strlen("+CARECV:")) == 0)
|
||||||
|
// {
|
||||||
|
// char DataSzString[2];
|
||||||
|
// DataSzString[0] = mATCmd[9];
|
||||||
|
// int LenghtSize = 1;
|
||||||
|
// if(mATCmd[10] != ',')
|
||||||
|
// {
|
||||||
|
// DataSzString[1] = mATCmd[10];
|
||||||
|
// LenghtSize = 2;
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// DataSzString[1] = '\0';
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// int DataSize = 0;
|
||||||
|
// DataSize = atoi(&DataSzString[0]);
|
||||||
|
// printf("DataSzString : 0x%x - 0x%x\n",DataSzString[0],DataSzString[1]);
|
||||||
|
// printf("Received \\r, DataSize = %d\n", DataSize);
|
||||||
|
// printf("%s\n",mATCmd);
|
||||||
|
// //Check if we received the whole payload.
|
||||||
|
// if(mNbCmdCharsReceived >= (DataSize + LenghtSize + 10))
|
||||||
|
// {
|
||||||
|
// //The \r character is not part of the payload, continue normally
|
||||||
|
// printf("Received \\r normally, all payload received, continuing. NbCharReceived = %d\n",mNbCmdCharsReceived);
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// //The \r character is part of the payload, store it and continue receiving...
|
||||||
|
// mATCmd[mNbCmdCharsReceived] = Data;
|
||||||
|
// printf("Received \\r in payload, storing data. NbCharReceived = %d\n",mNbCmdCharsReceived);
|
||||||
|
// mNbCmdCharsReceived++;
|
||||||
|
//
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// //weird stuff happening...
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// //Weird stuff happening...
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
// }
|
||||||
if(mNbCmdCharsReceived != 0) //New Command received
|
if(mNbCmdCharsReceived != 0) //New Command received
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -212,13 +401,14 @@ void LTEModuleNewData(unsigned char Data)
|
|||||||
else if(mLTEModuleSMState == LTE_MODULE_SM_RUN_STATE)
|
else if(mLTEModuleSMState == LTE_MODULE_SM_RUN_STATE)
|
||||||
{
|
{
|
||||||
AnalyzeNewATString(mATCmd,mNbCmdCharsReceived,mCurrentCmd);
|
AnalyzeNewATString(mATCmd,mNbCmdCharsReceived,mCurrentCmd);
|
||||||
mNbCmdCharsReceived = mNbCmdCharsReceived;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
mNbCmdCharsReceived = 0;
|
mNbCmdCharsReceived = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
void LTEEnterSerialPassthrough()
|
void LTEEnterSerialPassthrough()
|
||||||
@@ -289,6 +479,7 @@ void SendDataToLteModule(char *Data, int Size)
|
|||||||
SyslogNewByte(*ptr++);
|
SyslogNewByte(*ptr++);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// printf("PIC: %s",Data);
|
||||||
UartTransmitData(LTE_IF_UART_PORT,Data,Size);
|
UartTransmitData(LTE_IF_UART_PORT,Data,Size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -125,7 +125,7 @@ enum eLTEModuleOperationSMEvents
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void InitLTEModule();
|
void InitLTEModule(bool FunctionnalReset);
|
||||||
void LTEModuleSM(int SMEvent);
|
void LTEModuleSM(int SMEvent);
|
||||||
void TickLTEModule();
|
void TickLTEModule();
|
||||||
void LTEModuleOperationSM(int OperationEvent);
|
void LTEModuleOperationSM(int OperationEvent);
|
||||||
|
|||||||
@@ -48,6 +48,8 @@ const uint32_t *mBootloaderMagicWord = (uint32_t *) BOOTLOAD_VERSION_ADDRESS;
|
|||||||
|
|
||||||
static BYTE mHelpString[] = "Here is the list of the available commands:\n\r\n\r"
|
static BYTE mHelpString[] = "Here is the list of the available commands:\n\r\n\r"
|
||||||
"help : Shows this window\n\r"
|
"help : Shows this window\n\r"
|
||||||
|
"\ncpu [command] Control CPU\n"
|
||||||
|
" - Available [command] argument are: reboot\n"
|
||||||
"\npower [state] Set chalet's 12V Inverter feed power state. This command controls the main power relay\n"
|
"\npower [state] Set chalet's 12V Inverter feed power state. This command controls the main power relay\n"
|
||||||
" - Available [state] argument are: on\n"
|
" - Available [state] argument are: on\n"
|
||||||
" off\n"
|
" off\n"
|
||||||
@@ -74,6 +76,7 @@ static BYTE mHelpString1[] = "\nlte [command] [value] : bootloader mode control
|
|||||||
" pic (debug PIC comm only)\n"
|
" pic (debug PIC comm only)\n"
|
||||||
" both (debug both PIC and LTE module comm )\n"
|
" both (debug both PIC and LTE module comm )\n"
|
||||||
" off (disable LTE debug)\n"
|
" off (disable LTE debug)\n"
|
||||||
|
" reset (reset the lte module)\n"
|
||||||
"\nHave a good day!\n";
|
"\nHave a good day!\n";
|
||||||
|
|
||||||
BYTE *mHelpStringPtr;
|
BYTE *mHelpStringPtr;
|
||||||
@@ -183,6 +186,28 @@ void ParseNewBuffer(void)
|
|||||||
|
|
||||||
SendTerminalData(mHelpString1,strlen(mHelpString1));
|
SendTerminalData(mHelpString1,strlen(mHelpString1));
|
||||||
}
|
}
|
||||||
|
else if(strncmp(mCmdString,"cpu",strlen("cpu")) == 0)
|
||||||
|
{
|
||||||
|
if(strlen(mDataString1) == 0)
|
||||||
|
{
|
||||||
|
TerminalPrintString("\n[command] parameter is invalid. Type 'help' for more info\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(strncmp(mDataString1,"reboot",strlen("reboot")) == 0)
|
||||||
|
{
|
||||||
|
TerminalPrintString("\nRebooting CPU... goodbye!!\n");
|
||||||
|
TurnOFFWiFi();
|
||||||
|
Sleep(100);
|
||||||
|
SoftReset();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
TerminalPrintString("\n[command] parameter is invalid. Type 'help' for valid values\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
TerminalPrintString("\n");
|
||||||
|
}
|
||||||
|
|
||||||
else if(strncmp(mCmdString,"power",strlen("power")) == 0)
|
else if(strncmp(mCmdString,"power",strlen("power")) == 0)
|
||||||
{
|
{
|
||||||
@@ -448,14 +473,15 @@ void ParseNewBuffer(void)
|
|||||||
TerminalPrintString("\n[command] parameter is invalid. Type 'help' for more info\n");
|
TerminalPrintString("\n[command] parameter is invalid. Type 'help' for more info\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(strncmp(mDataString1,"passthrough",strlen("passthrough")) == 0)
|
||||||
|
{
|
||||||
if(strlen(mDataString2) == 0)
|
if(strlen(mDataString2) == 0)
|
||||||
{
|
{
|
||||||
TerminalPrintString("\n[value] parameter is invalid. Type 'help' for more info\n");
|
TerminalPrintString("\n[value] parameter is invalid. Type 'help' for more info\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(strncmp(mDataString1,"passthrough",strlen("passthrough")) == 0)
|
|
||||||
{
|
|
||||||
if(strncmp(mDataString2,"on",strlen("on")) == 0)
|
if(strncmp(mDataString2,"on",strlen("on")) == 0)
|
||||||
{
|
{
|
||||||
LTEEnterSerialPassthrough();
|
LTEEnterSerialPassthrough();
|
||||||
@@ -474,6 +500,11 @@ void ParseNewBuffer(void)
|
|||||||
}
|
}
|
||||||
if(strncmp(mDataString1,"debug",strlen("debug")) == 0)
|
if(strncmp(mDataString1,"debug",strlen("debug")) == 0)
|
||||||
{
|
{
|
||||||
|
if(strlen(mDataString2) == 0)
|
||||||
|
{
|
||||||
|
TerminalPrintString("\n[value] parameter is invalid. Type 'help' for more info\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
if(strncmp(mDataString2,"module",strlen("module")) == 0)
|
if(strncmp(mDataString2,"module",strlen("module")) == 0)
|
||||||
{
|
{
|
||||||
if(LTEEnableSerialDebug(true,false) == RET_OK)
|
if(LTEEnableSerialDebug(true,false) == RET_OK)
|
||||||
@@ -518,6 +549,12 @@ void ParseNewBuffer(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
if(strncmp(mDataString1,"reset",strlen("reset")) == 0)
|
||||||
|
{
|
||||||
|
TerminalPrintString("\nResetting LTE module...\n");
|
||||||
|
LTEModuleReset();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else if(strncmp(mCmdString,"debug",strlen(mCmdString)) == 0)
|
else if(strncmp(mCmdString,"debug",strlen(mCmdString)) == 0)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -98,7 +98,8 @@ void InitUart(void)
|
|||||||
setbuf(stdout,NULL); //to use printf without \r
|
setbuf(stdout,NULL); //to use printf without \r
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
|
|
||||||
UartOpenComPort(NETWORK_UART_PORT,9600,UART_ONE_STOP_BIT,UART_NO_PARITY); //Open LoRa module port
|
//UartOpenComPort(NETWORK_UART_PORT,9600,UART_ONE_STOP_BIT,UART_NO_PARITY); //Open LoRa module port
|
||||||
|
UartOpenComPort(NETWORK_UART_PORT,115200,UART_ONE_STOP_BIT,UART_NO_PARITY); //Open printf port
|
||||||
UartOpenComPort(LTE_IF_UART_PORT,115200,UART_ONE_STOP_BIT,UART_NO_PARITY); //Open LTE module port
|
UartOpenComPort(LTE_IF_UART_PORT,115200,UART_ONE_STOP_BIT,UART_NO_PARITY); //Open LTE module port
|
||||||
#ifdef USE_PRINTF
|
#ifdef USE_PRINTF
|
||||||
//UartOpenComPort(CONSOLE_UART_PORT,115200,UART_ONE_STOP_BIT,UART_NO_PARITY); //Open console port
|
//UartOpenComPort(CONSOLE_UART_PORT,115200,UART_ONE_STOP_BIT,UART_NO_PARITY); //Open console port
|
||||||
|
|||||||
@@ -399,6 +399,7 @@ int InitWiFi()
|
|||||||
char IP1,IP2,IP3,IP4,GW1,GW2,GW3,GW4;
|
char IP1,IP2,IP3,IP4,GW1,GW2,GW3,GW4;
|
||||||
|
|
||||||
//Load WiFi parameters from flash if present
|
//Load WiFi parameters from flash if present
|
||||||
|
#ifndef FORCE_WIFI_SETTINGS
|
||||||
if(SPIFlashIsPresent() == 1)
|
if(SPIFlashIsPresent() == 1)
|
||||||
{
|
{
|
||||||
char StoredIPConfig[11];
|
char StoredIPConfig[11];
|
||||||
@@ -456,6 +457,7 @@ int InitWiFi()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
IP1 = STATIC_IP_ADDRESS_1;
|
IP1 = STATIC_IP_ADDRESS_1;
|
||||||
IP2 = STATIC_IP_ADDRESS_2;
|
IP2 = STATIC_IP_ADDRESS_2;
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ void SendBootloaderByte(uint8 data);
|
|||||||
int IsBootloaderClientConnected();
|
int IsBootloaderClientConnected();
|
||||||
|
|
||||||
|
|
||||||
|
//#define FORCE_WIFI_SETTINGS
|
||||||
//#define USE_STATIC_IP
|
//#define USE_STATIC_IP
|
||||||
|
|
||||||
|
|
||||||
@@ -168,12 +168,12 @@ int IsBootloaderClientConnected();
|
|||||||
//#define HOME_AP_NAME "ImprVEmard"
|
//#define HOME_AP_NAME "ImprVEmard"
|
||||||
//#define HOME_AP_PWD "12345fffff"
|
//#define HOME_AP_PWD "12345fffff"
|
||||||
|
|
||||||
#define HOME_AP_NAME "ChaletVilleEmard"
|
//#define HOME_AP_NAME "ChaletVilleEmard"
|
||||||
//#define HOME_AP_NAME "ImprVilleEmard"
|
#define HOME_AP_NAME "ImprVilleEmard"
|
||||||
//#define HOME_AP_NAME "ElRouteurDuChalet"
|
//#define HOME_AP_NAME "ElRouteurDuChalet"
|
||||||
//#define HOME_AP_NAME "LeChalet"
|
//#define HOME_AP_NAME "LeChalet"
|
||||||
#define HOME_AP_PWD "Evinrude30"
|
//#define HOME_AP_PWD "Evinrude30"
|
||||||
//#define HOME_AP_PWD "12345fffff"
|
#define HOME_AP_PWD "12345fffff"
|
||||||
|
|
||||||
#define TERMINAL_SERVER_PORT 85
|
#define TERMINAL_SERVER_PORT 85
|
||||||
#define NETWORK_SERVER_PORT 86
|
#define NETWORK_SERVER_PORT 86
|
||||||
@@ -185,12 +185,12 @@ int IsBootloaderClientConnected();
|
|||||||
//Module Static IP settings
|
//Module Static IP settings
|
||||||
#define STATIC_IP_ADDRESS_1 192
|
#define STATIC_IP_ADDRESS_1 192
|
||||||
#define STATIC_IP_ADDRESS_2 168
|
#define STATIC_IP_ADDRESS_2 168
|
||||||
#define STATIC_IP_ADDRESS_3 30
|
#define STATIC_IP_ADDRESS_3 50
|
||||||
#define STATIC_IP_ADDRESS_4 127
|
#define STATIC_IP_ADDRESS_4 123
|
||||||
|
|
||||||
#define GATEWAY_ADDRESS_1 192
|
#define GATEWAY_ADDRESS_1 192
|
||||||
#define GATEWAY_ADDRESS_2 168
|
#define GATEWAY_ADDRESS_2 168
|
||||||
#define GATEWAY_ADDRESS_3 30
|
#define GATEWAY_ADDRESS_3 50
|
||||||
#define GATEWAY_ADDRESS_4 1
|
#define GATEWAY_ADDRESS_4 1
|
||||||
|
|
||||||
#define DEFAULT_DNS_ADD_1 8
|
#define DEFAULT_DNS_ADD_1 8
|
||||||
|
|||||||
@@ -112,7 +112,7 @@ int main(void)
|
|||||||
InitSPIFlash();
|
InitSPIFlash();
|
||||||
InitLCDCtrl();
|
InitLCDCtrl();
|
||||||
|
|
||||||
InitLTEModule();
|
InitLTEModule(false);
|
||||||
LTENetworkInterfaceInit();
|
LTENetworkInterfaceInit();
|
||||||
|
|
||||||
|
|
||||||
@@ -242,17 +242,24 @@ void InitializeBoard()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void _mon_putc(char c)
|
||||||
|
{
|
||||||
|
// U2TXREG = c;
|
||||||
|
// while (U2STAbits.TRMT==0);
|
||||||
|
UartTransmitData(NETWORK_UART_PORT,&c,1);
|
||||||
|
}
|
||||||
#ifdef USE_PRINTF
|
#ifdef USE_PRINTF
|
||||||
void _mon_putc(char c)
|
void _mon_putc(char c)
|
||||||
{
|
{
|
||||||
U2TXREG = c;
|
U2TXREG = c;
|
||||||
while (U2STAbits.TRMT==0);
|
while (U2STAbits.TRMT==0);
|
||||||
}
|
}
|
||||||
#elif defined USE_SYSLOG
|
//#elif defined USE_SYSLOG
|
||||||
void _mon_putc(char c)
|
//void _mon_putc(char c)
|
||||||
{
|
//{
|
||||||
SyslogNewByte(c);
|
// SyslogNewByte(c);
|
||||||
}
|
//}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ typedef enum
|
|||||||
LTE_MODULE_TIMER,
|
LTE_MODULE_TIMER,
|
||||||
LTE_COMM_TIMER,
|
LTE_COMM_TIMER,
|
||||||
LTE_NWI_TIMER,
|
LTE_NWI_TIMER,
|
||||||
|
CHALET_POWER_RELAY_LVD_TIMER,
|
||||||
TIMER_MAX_ID
|
TIMER_MAX_ID
|
||||||
}eTimerID;
|
}eTimerID;
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#define VERSIONNUMBER "CHALET_V01.01.6" //shall be 15 chars...
|
#define VERSIONNUMBER "CHALET_V01.02.6" //shall be 15 chars...
|
||||||
//Force DHCP instead of static IP.
|
//Force DHCP instead of static IP.
|
||||||
|
|
||||||
//#define VERSIONNUMBER "CHALET_V01.00.1" //shall be 15 chars...
|
//#define VERSIONNUMBER "CHALET_V01.00.1" //shall be 15 chars...
|
||||||
|
|||||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
BIN
Binary file not shown.
+8989
-8910
File diff suppressed because it is too large
Load Diff
+1423
-1427
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
#Sat Feb 08 11:00:16 EST 2025
|
#Sat Jul 04 11:51:56 EDT 2026
|
||||||
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
|
||||||
@@ -7,7 +7,7 @@ com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=bcd6e5453a11ce86a
|
|||||||
ChaletDuinoV2_795F512H_.com-microchip-mplab-mdbcore-ICD3Tool-ICD3DbgToolManager.md5=b8062f7a3afd14c7a6d50c4bb4696d24
|
ChaletDuinoV2_795F512H_.com-microchip-mplab-mdbcore-ICD3Tool-ICD3DbgToolManager.md5=b8062f7a3afd14c7a6d50c4bb4696d24
|
||||||
default.com-microchip-mplab-nbide-toolchain-xc32-XC32LanguageToolchain.md5=de2d3bc95a22a3f432c2e39f49efafbc
|
default.com-microchip-mplab-nbide-toolchain-xc32-XC32LanguageToolchain.md5=de2d3bc95a22a3f432c2e39f49efafbc
|
||||||
default.com-microchip-mplab-mdbcore-ICD3Tool-ICD3DbgToolManager.md5=b8062f7a3afd14c7a6d50c4bb4696d24
|
default.com-microchip-mplab-mdbcore-ICD3Tool-ICD3DbgToolManager.md5=b8062f7a3afd14c7a6d50c4bb4696d24
|
||||||
configurations-xml=1473259d34d997cd9f158c9d70cc6d8b
|
configurations-xml=8f7a212dcf288040446c6f1ac78b94e3
|
||||||
ChaletDuino_775F512H_.com-microchip-mplab-nbide-toolchain-xc32-XC32LanguageToolchain.md5=de2d3bc95a22a3f432c2e39f49efafbc
|
ChaletDuino_775F512H_.com-microchip-mplab-nbide-toolchain-xc32-XC32LanguageToolchain.md5=de2d3bc95a22a3f432c2e39f49efafbc
|
||||||
host.platform=windows
|
host.platform=windows
|
||||||
ChaletDuinoV2_795F512H_.com-microchip-mplab-nbide-toolchain-xc32-XC32LanguageToolchain.md5=de2d3bc95a22a3f432c2e39f49efafbc
|
ChaletDuinoV2_795F512H_.com-microchip-mplab-nbide-toolchain-xc32-XC32LanguageToolchain.md5=de2d3bc95a22a3f432c2e39f49efafbc
|
||||||
|
|||||||
@@ -346,35 +346,6 @@
|
|||||||
<property key="trace-symbols" value=""/>
|
<property key="trace-symbols" value=""/>
|
||||||
<property key="warn-section-align" value="false"/>
|
<property key="warn-section-align" value="false"/>
|
||||||
</C32-LD>
|
</C32-LD>
|
||||||
<C32CPP>
|
|
||||||
<property key="additional-warnings" value="false"/>
|
|
||||||
<property key="addresss-attribute-use" value="false"/>
|
|
||||||
<property key="check-new" value="false"/>
|
|
||||||
<property key="eh-specs" value="true"/>
|
|
||||||
<property key="enable-app-io" value="false"/>
|
|
||||||
<property key="enable-omit-frame-pointer" value="false"/>
|
|
||||||
<property key="enable-symbols" value="true"/>
|
|
||||||
<property key="enable-unroll-loops" value="false"/>
|
|
||||||
<property key="exceptions" value="true"/>
|
|
||||||
<property key="exclude-floating-point" value="false"/>
|
|
||||||
<property key="extra-include-directories" value=""/>
|
|
||||||
<property key="generate-16-bit-code" value="false"/>
|
|
||||||
<property key="generate-micro-compressed-code" value="false"/>
|
|
||||||
<property key="isolate-each-function" value="false"/>
|
|
||||||
<property key="make-warnings-into-errors" value="false"/>
|
|
||||||
<property key="optimization-level" value=""/>
|
|
||||||
<property key="place-data-into-section" value="false"/>
|
|
||||||
<property key="post-instruction-scheduling" value="default"/>
|
|
||||||
<property key="pre-instruction-scheduling" value="default"/>
|
|
||||||
<property key="preprocessor-macros" value=""/>
|
|
||||||
<property key="rtti" value="true"/>
|
|
||||||
<property key="strict-ansi" value="false"/>
|
|
||||||
<property key="toplevel-reordering" value=""/>
|
|
||||||
<property key="unaligned-access" value=""/>
|
|
||||||
<property key="use-cci" value="false"/>
|
|
||||||
<property key="use-iar" value="false"/>
|
|
||||||
<property key="use-indirect-calls" value="false"/>
|
|
||||||
</C32CPP>
|
|
||||||
<C32Global>
|
<C32Global>
|
||||||
<property key="common-include-directories" value=""/>
|
<property key="common-include-directories" value=""/>
|
||||||
<property key="gp-relative-option" value=""/>
|
<property key="gp-relative-option" value=""/>
|
||||||
|
|||||||
@@ -1,6 +1,37 @@
|
|||||||
<?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="11">
|
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="12">
|
||||||
|
<file>
|
||||||
|
<url>Source/hd44780.c</url>
|
||||||
|
<bookmark id="7">
|
||||||
|
<name/>
|
||||||
|
<line>340</line>
|
||||||
|
<key/>
|
||||||
|
</bookmark>
|
||||||
|
</file>
|
||||||
|
<file>
|
||||||
|
<url>Source/SIM7080GInterface.c</url>
|
||||||
|
<bookmark id="11">
|
||||||
|
<name/>
|
||||||
|
<line>123</line>
|
||||||
|
<key/>
|
||||||
|
</bookmark>
|
||||||
|
<bookmark id="10">
|
||||||
|
<name/>
|
||||||
|
<line>390</line>
|
||||||
|
<key/>
|
||||||
|
</bookmark>
|
||||||
|
<bookmark id="8">
|
||||||
|
<name/>
|
||||||
|
<line>634</line>
|
||||||
|
<key/>
|
||||||
|
</bookmark>
|
||||||
|
<bookmark id="9">
|
||||||
|
<name/>
|
||||||
|
<line>751</line>
|
||||||
|
<key/>
|
||||||
|
</bookmark>
|
||||||
|
</file>
|
||||||
<file>
|
<file>
|
||||||
<url>Source/BootloaderInterface.c</url>
|
<url>Source/BootloaderInterface.c</url>
|
||||||
<bookmark id="5">
|
<bookmark id="5">
|
||||||
@@ -15,40 +46,17 @@
|
|||||||
</bookmark>
|
</bookmark>
|
||||||
</file>
|
</file>
|
||||||
<file>
|
<file>
|
||||||
<url>Source/hd44780.c</url>
|
<url>Source/WiFiCtrl.c</url>
|
||||||
<bookmark id="7">
|
<bookmark id="12">
|
||||||
<name/>
|
<name/>
|
||||||
<line>340</line>
|
<line>407</line>
|
||||||
<key/>
|
|
||||||
</bookmark>
|
|
||||||
</file>
|
|
||||||
<file>
|
|
||||||
<url>Source/SIM7080GInterface.c</url>
|
|
||||||
<bookmark id="11">
|
|
||||||
<name/>
|
|
||||||
<line>119</line>
|
|
||||||
<key/>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark id="10">
|
|
||||||
<name/>
|
|
||||||
<line>201</line>
|
|
||||||
<key/>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark id="8">
|
|
||||||
<name/>
|
|
||||||
<line>443</line>
|
|
||||||
<key/>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark id="9">
|
|
||||||
<name/>
|
|
||||||
<line>560</line>
|
|
||||||
<key/>
|
<key/>
|
||||||
</bookmark>
|
</bookmark>
|
||||||
</file>
|
</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/WiFiCtrl.c</file>
|
||||||
</group>
|
</group>
|
||||||
</open-files>
|
</open-files>
|
||||||
</project-private>
|
</project-private>
|
||||||
|
|||||||
Reference in New Issue
Block a user