Dev pour retour au chalet
This commit is contained in:
parent
22811136ce
commit
cff11a8401
@ -60,7 +60,8 @@ void BootloaderExecuteCmd(char Cmd,bool CRCValid)
|
|||||||
unsigned char *DataBufPtr = BootloaderProtocolGetDataBufferPtr();
|
unsigned char *DataBufPtr = BootloaderProtocolGetDataBufferPtr();
|
||||||
if(CRCValid == 0)
|
if(CRCValid == 0)
|
||||||
{
|
{
|
||||||
BootloaderProtocolSendFrame(Cmd,BOOTLOADER_SM_INVALID_CRC_CMD);
|
printf("Bootloader received a frame with invalid CRC\n");
|
||||||
|
BootloaderInterfaceStateMachine(BOOTLOADER_NEW_CMD_EVENT,BOOTLOADER_SM_INVALID_CRC_CMD);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
switch(Cmd)
|
switch(Cmd)
|
||||||
|
|||||||
@ -226,6 +226,7 @@ void BootloaderProtocolStateMachine(unsigned char Data)
|
|||||||
{
|
{
|
||||||
BootloaderExecuteCmd(BootloaderCommand,0);
|
BootloaderExecuteCmd(BootloaderCommand,0);
|
||||||
BootloaderProtocolResetStateMachine();
|
BootloaderProtocolResetStateMachine();
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
BootloaderExecuteCmd(BootloaderCommand,1);
|
BootloaderExecuteCmd(BootloaderCommand,1);
|
||||||
|
|||||||
@ -21,6 +21,9 @@
|
|||||||
#define FLASH_BTLDR_FIRMWARE_START_ADDRESS 0x180000
|
#define FLASH_BTLDR_FIRMWARE_START_ADDRESS 0x180000
|
||||||
#define FLASH_BTLDR_FIRMWARE_LAST_64K_SECTOR_ADD 0x1F0000
|
#define FLASH_BTLDR_FIRMWARE_LAST_64K_SECTOR_ADD 0x1F0000
|
||||||
#define FLASH_BTLDR_FLAGS_ADDRESS 0x000000
|
#define FLASH_BTLDR_FLAGS_ADDRESS 0x000000
|
||||||
|
#define FLASH_WIFI_IP_ADDRESS 0X00000C
|
||||||
|
#define FLASH_WIFI_GATEWAY_ADDRESS 0x000010
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -291,10 +291,10 @@ int SendInternalUartData(char *p_pcDataBuf, int p_iDataSize, int p_iUartPort, ch
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
for(i = 0; i < p_iDataSize; i++)
|
for(i = 0; i < iBufSize; i++)
|
||||||
{
|
{
|
||||||
// KickWatchdog();
|
// KickWatchdog();
|
||||||
U1TXREG = *p_pcDataBuf++;
|
U1TXREG = *p_stUartDataPtr->pcTxDataPtr++;
|
||||||
while(U1STAbits.TRMT == 0);
|
while(U1STAbits.TRMT == 0);
|
||||||
}
|
}
|
||||||
p_stUartDataPtr->iIsBusy = 0;
|
p_stUartDataPtr->iIsBusy = 0;
|
||||||
@ -313,11 +313,12 @@ int SendInternalUartData(char *p_pcDataBuf, int p_iDataSize, int p_iUartPort, ch
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
for(i = 0; i < p_iDataSize; i++)
|
for(i = 0; i < iBufSize; i++)
|
||||||
{
|
{
|
||||||
// KickWatchdog();
|
// KickWatchdog();
|
||||||
U2TXREG = *p_pcDataBuf++;
|
U2TXREG = *p_stUartDataPtr->pcTxDataPtr++;
|
||||||
while(U2STAbits.TRMT == 0);
|
while(U2STAbits.TRMT == 0);
|
||||||
|
LORA_MODULE_TX_LED_PIN = ~ LORA_MODULE_TX_LED_PIN;
|
||||||
}
|
}
|
||||||
p_stUartDataPtr->iIsBusy = 0;
|
p_stUartDataPtr->iIsBusy = 0;
|
||||||
DataSentNotification(p_stUartDataPtr->iUartHandle,iBufSize);
|
DataSentNotification(p_stUartDataPtr->iUartHandle,iBufSize);
|
||||||
@ -333,6 +334,8 @@ int SendInternalUartData(char *p_pcDataBuf, int p_iDataSize, int p_iUartPort, ch
|
|||||||
int SendInternalUartDataBlocking(char *p_pcDataBuf, int p_iDataSize, int p_iUartPort)
|
int SendInternalUartDataBlocking(char *p_pcDataBuf, int p_iDataSize, int p_iUartPort)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
int temp = IEC1;
|
||||||
|
IEC1bits.U2TXIE = 0;
|
||||||
for(i = 0; i < p_iDataSize; i++)
|
for(i = 0; i < p_iDataSize; i++)
|
||||||
{
|
{
|
||||||
LORA_MODULE_TX_LED_PIN = ~ LORA_MODULE_TX_LED_PIN;
|
LORA_MODULE_TX_LED_PIN = ~ LORA_MODULE_TX_LED_PIN;
|
||||||
@ -340,6 +343,8 @@ int SendInternalUartDataBlocking(char *p_pcDataBuf, int p_iDataSize, int p_iUart
|
|||||||
while(U2STAbits.TRMT == 0);
|
while(U2STAbits.TRMT == 0);
|
||||||
}
|
}
|
||||||
LORA_MODULE_TX_LED_PIN = LED_OFF;
|
LORA_MODULE_TX_LED_PIN = LED_OFF;
|
||||||
|
IFS1bits.U2TXIF = 0;
|
||||||
|
IEC1 = temp;
|
||||||
return UART_OK;
|
return UART_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -369,19 +374,15 @@ void TickInternalUart(void)
|
|||||||
#ifdef POLL_UART2_RX
|
#ifdef POLL_UART2_RX
|
||||||
if(U2STAbits.URXDA == 1)
|
if(U2STAbits.URXDA == 1)
|
||||||
{
|
{
|
||||||
if(U2STAbits.OERR) //Buffer overrun error. Data is lost.
|
|
||||||
{
|
|
||||||
U2STAbits.OERR = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
int i = 0;
|
int i = 0;
|
||||||
while(U2STAbits.URXDA && i < INTERNAL_UART_BUFFER_DEPTH)
|
while(U2STAbits.URXDA == 1 && i < INTERNAL_UART_BUFFER_DEPTH)
|
||||||
{
|
{
|
||||||
char NewByte = U2RXREG;
|
char NewByte = U2RXREG;
|
||||||
//acIntUartRxBuff[INTERNAL_UART_PORT_2][i++] = NewByte;
|
// acIntUartRxBuff[INTERNAL_UART_PORT_2][i++] = NewByte;
|
||||||
LORA_MODULE_RX_LED_PIN = ~LORA_MODULE_RX_LED_PIN;
|
LORA_MODULE_RX_LED_PIN = ~LORA_MODULE_RX_LED_PIN;
|
||||||
ProtocolAnalyzeNewData(NewByte);
|
ProtocolAnalyzeNewData(NewByte);
|
||||||
|
|
||||||
|
|
||||||
// LoraData <<= 8;
|
// LoraData <<= 8;
|
||||||
// unsigned int toto = NewByte;
|
// unsigned int toto = NewByte;
|
||||||
// toto &= 0x000000FF;
|
// toto &= 0x000000FF;
|
||||||
@ -395,6 +396,11 @@ void TickInternalUart(void)
|
|||||||
// }
|
// }
|
||||||
// HEARTBEAT_LED_2_PIN = ~HEARTBEAT_LED_2_PIN;
|
// HEARTBEAT_LED_2_PIN = ~HEARTBEAT_LED_2_PIN;
|
||||||
}
|
}
|
||||||
|
if(U2STAbits.OERR) //Buffer overrun error. Data is lost.
|
||||||
|
{
|
||||||
|
U2STAbits.OERR = 0;
|
||||||
|
printf("Overrun\n");
|
||||||
|
}
|
||||||
// UartReceiveData(UART_2,&acIntUartRxBuff[INTERNAL_UART_PORT_2][0], i);
|
// UartReceiveData(UART_2,&acIntUartRxBuff[INTERNAL_UART_PORT_2][0], i);
|
||||||
// CUProtocolRxData(&acIntUartRxBuff[INTERNAL_UART_PORT_2][0], i);
|
// CUProtocolRxData(&acIntUartRxBuff[INTERNAL_UART_PORT_2][0], i);
|
||||||
}
|
}
|
||||||
@ -417,6 +423,7 @@ void __ISR(_UART_1_VECTOR, ipl7) InternalUart1AInterrupt(void)
|
|||||||
{
|
{
|
||||||
U1STAbits.UTXEN = 0; //all data sent, stop transmitter
|
U1STAbits.UTXEN = 0; //all data sent, stop transmitter
|
||||||
p_acUartDataPtr->iIsBusy = 0;
|
p_acUartDataPtr->iIsBusy = 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -424,7 +431,7 @@ void __ISR(_UART_1_VECTOR, ipl7) InternalUart1AInterrupt(void)
|
|||||||
{
|
{
|
||||||
U1TXREG = *p_acUartDataPtr->pcTxDataPtr++; //send data
|
U1TXREG = *p_acUartDataPtr->pcTxDataPtr++; //send data
|
||||||
p_acUartDataPtr->iNbFIFOPendingBytes--;
|
p_acUartDataPtr->iNbFIFOPendingBytes--;
|
||||||
|
|
||||||
}
|
}
|
||||||
while((U1STAbits.UTXBF == 0) && //while there is space in buffer
|
while((U1STAbits.UTXBF == 0) && //while there is space in buffer
|
||||||
(p_acUartDataPtr->iNbFIFOPendingBytes != 0)); //and data to send
|
(p_acUartDataPtr->iNbFIFOPendingBytes != 0)); //and data to send
|
||||||
@ -480,6 +487,7 @@ void __ISR(_UART_2_VECTOR, ipl7) InternalUart2Interrupt(void)
|
|||||||
{
|
{
|
||||||
U2STAbits.UTXEN = 0; //all data sent, stop transmitter
|
U2STAbits.UTXEN = 0; //all data sent, stop transmitter
|
||||||
p_acUartDataPtr->iIsBusy = 0;
|
p_acUartDataPtr->iIsBusy = 0;
|
||||||
|
//LORA_MODULE_TX_LED_PIN = LED_OFF;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -487,7 +495,7 @@ void __ISR(_UART_2_VECTOR, ipl7) InternalUart2Interrupt(void)
|
|||||||
{
|
{
|
||||||
U2TXREG = *p_acUartDataPtr->pcTxDataPtr++; //send data
|
U2TXREG = *p_acUartDataPtr->pcTxDataPtr++; //send data
|
||||||
p_acUartDataPtr->iNbFIFOPendingBytes--;
|
p_acUartDataPtr->iNbFIFOPendingBytes--;
|
||||||
|
LORA_MODULE_TX_LED_PIN = ~ LORA_MODULE_TX_LED_PIN;
|
||||||
}
|
}
|
||||||
while((U2STAbits.UTXBF == 0) && //while there is space in buffer
|
while((U2STAbits.UTXBF == 0) && //while there is space in buffer
|
||||||
(p_acUartDataPtr->iNbFIFOPendingBytes != 0)); //and data to send
|
(p_acUartDataPtr->iNbFIFOPendingBytes != 0)); //and data to send
|
||||||
@ -504,6 +512,7 @@ void __ISR(_UART_2_VECTOR, ipl7) InternalUart2Interrupt(void)
|
|||||||
{
|
{
|
||||||
U2STAbits.OERR = 0;
|
U2STAbits.OERR = 0;
|
||||||
IFS1bits.U2RXIF = 0;
|
IFS1bits.U2RXIF = 0;
|
||||||
|
printf("UART2 OERR\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
i = 0;
|
i = 0;
|
||||||
@ -511,6 +520,7 @@ void __ISR(_UART_2_VECTOR, ipl7) InternalUart2Interrupt(void)
|
|||||||
{
|
{
|
||||||
NewByte = U2RXREG;
|
NewByte = U2RXREG;
|
||||||
acIntUartRxBuff[INTERNAL_UART_PORT_2][i++] = NewByte;
|
acIntUartRxBuff[INTERNAL_UART_PORT_2][i++] = NewByte;
|
||||||
|
LORA_MODULE_RX_LED_PIN = ~LORA_MODULE_RX_LED_PIN;
|
||||||
}
|
}
|
||||||
UartReceiveData(p_acUartDataPtr->iUartHandle,&acIntUartRxBuff[INTERNAL_UART_PORT_2][0], i);
|
UartReceiveData(p_acUartDataPtr->iUartHandle,&acIntUartRxBuff[INTERNAL_UART_PORT_2][0], i);
|
||||||
|
|
||||||
@ -558,9 +568,9 @@ void ResetUart2(void)
|
|||||||
|
|
||||||
IEC1bits.U2TXIE = 0; //disable tx interrupt
|
IEC1bits.U2TXIE = 0; //disable tx interrupt
|
||||||
IFS1bits.U2TXIF = 0; //clear interrupt flag
|
IFS1bits.U2TXIF = 0; //clear interrupt flag
|
||||||
IEC1bits.U2TXIE = 1; //enable tx interrupt
|
IEC1bits.U2TXIE = 0; //enable tx interrupt
|
||||||
IEC1bits.U2RXIE = 0; //disable rx interrupts
|
IEC1bits.U2RXIE = 0; //disable rx interrupts
|
||||||
IFS1bits.U2RXIF = 0;
|
IFS1bits.U2RXIF = 1;
|
||||||
#ifdef POLL_UART2_RX
|
#ifdef POLL_UART2_RX
|
||||||
IEC1bits.U2RXIE = 0; //disable rx interrupts
|
IEC1bits.U2RXIE = 0; //disable rx interrupts
|
||||||
#else
|
#else
|
||||||
|
|||||||
@ -10,6 +10,9 @@
|
|||||||
#include "BatteryMonitor.h"
|
#include "BatteryMonitor.h"
|
||||||
#include "LedLightCtrl.h"
|
#include "LedLightCtrl.h"
|
||||||
#include "TemperatureSensor.h"
|
#include "TemperatureSensor.h"
|
||||||
|
#include "SPI_Flash.h"
|
||||||
|
#include "FlashMapping.h"
|
||||||
|
#include "LoraWatchdog.h"
|
||||||
//#include "WiFiCtrl.h"
|
//#include "WiFiCtrl.h"
|
||||||
//
|
//
|
||||||
|
|
||||||
@ -28,177 +31,197 @@ void ExecuteMasterCommand(int Command, unsigned char *Data)
|
|||||||
{
|
{
|
||||||
//Whatever was the command, we are online...
|
//Whatever was the command, we are online...
|
||||||
LORA_MODULE_RX_LED_PIN = LED_OFF;
|
LORA_MODULE_RX_LED_PIN = LED_OFF;
|
||||||
|
KickLoraWatchdog();
|
||||||
|
// printf("EXEC\n\n");
|
||||||
ChaletPowerRelayKickTimer();
|
ChaletPowerRelayKickTimer();
|
||||||
switch(Command)
|
switch(Command)
|
||||||
{
|
{
|
||||||
case CHALET_INTERFACE_ACK:
|
case CHALET_INTERFACE_ACK:
|
||||||
{
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case CHALET_GENERAL_STATUS_REQUEST:
|
|
||||||
{
|
|
||||||
float FloatVoltage = GetBatteryVoltage();
|
|
||||||
float FloatTemperature = TempSensorGetTemp();
|
|
||||||
unsigned int BattVoltage = *((int*)&FloatVoltage);
|
|
||||||
unsigned int Temperature = *((int*)&FloatTemperature);
|
|
||||||
int SolarPanelCurrent = GetSolarPanelCurrent();
|
|
||||||
int SOC = GetBatterySOC();
|
|
||||||
|
|
||||||
char GeneralStatus = 0;
|
|
||||||
char ChaletStatus[14];
|
|
||||||
|
|
||||||
if(GetChaletPowerRelayState() == CHALET_POWER_RELAY_ON_STATE)
|
|
||||||
{
|
{
|
||||||
GeneralStatus |= LORA_CHALET_STATUS_POWER_RELAY_MASK;
|
break;
|
||||||
}
|
}
|
||||||
if(GetCurrentModuleOK() == true)
|
case CHALET_GENERAL_STATUS_REQUEST:
|
||||||
{
|
{
|
||||||
GeneralStatus |= LORA_CHALET_STATUS_CUR_SENSOR_MASK;
|
float FloatVoltage = GetBatteryVoltage();
|
||||||
}
|
float FloatTemperature = TempSensorGetTemp();
|
||||||
|
unsigned int BattVoltage = *((int*)&FloatVoltage);
|
||||||
ChaletStatus[0] = GeneralStatus; //General Status
|
unsigned int Temperature = *((int*)&FloatTemperature);
|
||||||
ChaletStatus[1] = GetWiFiSate(); //Wifi Module state
|
int SolarPanelCurrent = GetSolarPanelCurrent();
|
||||||
ChaletStatus[2] = (char)(BattVoltage & 0x000000FF); //Battery Voltage 1
|
int SOC = GetBatterySOC();
|
||||||
BattVoltage >>= 8;
|
|
||||||
ChaletStatus[3] = (char)(BattVoltage & 0x000000FF); //Battery Voltage 2
|
char GeneralStatus = 0;
|
||||||
BattVoltage >>= 8;
|
char ChaletStatus[14];
|
||||||
ChaletStatus[4] = (char)(BattVoltage & 0x000000FF); //Battery Voltage 3
|
|
||||||
BattVoltage >>= 8;
|
if(GetChaletPowerRelayState() == CHALET_POWER_RELAY_ON_STATE)
|
||||||
ChaletStatus[5] = (char)(BattVoltage & 0x000000FF); //Battery Voltage 4
|
|
||||||
ChaletStatus[6] = (char)(SolarPanelCurrent & 0x000000FF); //Solar panel Current 1
|
|
||||||
SolarPanelCurrent >>= 8;
|
|
||||||
ChaletStatus[7] = (char)(SolarPanelCurrent & 0x000000FF); //Solar panel Current 2
|
|
||||||
ChaletStatus[8] = (char)(SOC & 0x000000FF); //Battery SOC 1
|
|
||||||
SolarPanelCurrent >>= 8;
|
|
||||||
ChaletStatus[9] = (char)(SolarPanelCurrent & 0x000000FF); //Battery SOC 2
|
|
||||||
ChaletStatus[10] = (char)(Temperature & 0x000000FF); //Battery Voltage 1
|
|
||||||
Temperature >>= 8;
|
|
||||||
ChaletStatus[11] = (char)(Temperature & 0x000000FF); //Battery Voltage 2
|
|
||||||
Temperature >>= 8;
|
|
||||||
ChaletStatus[12] = (char)(Temperature & 0x000000FF); //Battery Voltage 3
|
|
||||||
Temperature >>= 8;
|
|
||||||
ChaletStatus[13] = (char)(Temperature & 0x000000FF); //Battery Voltage 4
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
SendLoraNetworkCommand(CHALET_GENERAL_STATUS_RESPONSE,ChaletStatus,14);
|
|
||||||
|
|
||||||
HEARTBEAT_LED_1_PIN = ~HEARTBEAT_LED_1_PIN;
|
|
||||||
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case CHALET_AC_POWER_STATE_STATUS_REQUEST:
|
|
||||||
{
|
|
||||||
char PowerStatus = GetChaletPowerRelayState();
|
|
||||||
SendLoraNetworkCommand(CHALET_AC_POWER_STATE_STATUS_RESPONSE,&PowerStatus,1);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case CHALET_AC_POWER_SET_STATE_REQUEST:
|
|
||||||
{
|
|
||||||
char response = CHALET_POWER_RELAY_UNKNOWN_STATE;
|
|
||||||
if(Data[0] == CHALET_POWER_RELAY_OFF_STATE)
|
|
||||||
{
|
|
||||||
ChaletPowerRelayTurnOff();
|
|
||||||
response = CHALET_POWER_RELAY_OFF_STATE;
|
|
||||||
}
|
|
||||||
else if(Data[0] == CHALET_POWER_RELAY_ON_STATE)
|
|
||||||
{
|
|
||||||
ChaletPowerRelayTurnOn();
|
|
||||||
response = CHALET_POWER_RELAY_ON_STATE;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//invalid state requested.... don't do anything
|
|
||||||
response = CHALET_POWER_RELAY_UNKNOWN_STATE;
|
|
||||||
}
|
|
||||||
|
|
||||||
SendLoraNetworkCommand(CHALET_AC_POWER_SET_STATE_RESPONSE,&response,1);
|
|
||||||
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case CHALET_BATTERY_VOLTAGE_REQUEST:
|
|
||||||
{
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case CHALET_WIFI_STATUS_REQUEST:
|
|
||||||
{
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case CHALET_WIFI_SET_STATE_REQUEST:
|
|
||||||
{
|
|
||||||
char response = WIFI_UNKNOWN_STATE;
|
|
||||||
if(Data[0] == 0)
|
|
||||||
{
|
|
||||||
TurnOFFWiFi();
|
|
||||||
response = 0;
|
|
||||||
}
|
|
||||||
else if(Data[0] == 1)
|
|
||||||
{
|
|
||||||
if(GetWiFiSate() != WIFI_CONNECTED_STATE)
|
|
||||||
{
|
{
|
||||||
InitWiFi();
|
GeneralStatus |= LORA_CHALET_STATUS_POWER_RELAY_MASK;
|
||||||
response = GetWiFiSate();
|
}
|
||||||
|
if(GetCurrentModuleOK() == true)
|
||||||
|
{
|
||||||
|
GeneralStatus |= LORA_CHALET_STATUS_CUR_SENSOR_MASK;
|
||||||
|
}
|
||||||
|
|
||||||
|
ChaletStatus[0] = GeneralStatus; //General Status
|
||||||
|
ChaletStatus[1] = GetWiFiSate(); //Wifi Module state
|
||||||
|
ChaletStatus[2] = (char)(BattVoltage & 0x000000FF); //Battery Voltage 1
|
||||||
|
BattVoltage >>= 8;
|
||||||
|
ChaletStatus[3] = (char)(BattVoltage & 0x000000FF); //Battery Voltage 2
|
||||||
|
BattVoltage >>= 8;
|
||||||
|
ChaletStatus[4] = (char)(BattVoltage & 0x000000FF); //Battery Voltage 3
|
||||||
|
BattVoltage >>= 8;
|
||||||
|
ChaletStatus[5] = (char)(BattVoltage & 0x000000FF); //Battery Voltage 4
|
||||||
|
ChaletStatus[6] = (char)(SolarPanelCurrent & 0x000000FF); //Solar panel Current 1
|
||||||
|
SolarPanelCurrent >>= 8;
|
||||||
|
ChaletStatus[7] = (char)(SolarPanelCurrent & 0x000000FF); //Solar panel Current 2
|
||||||
|
ChaletStatus[8] = (char)(SOC & 0x000000FF); //Battery SOC 1
|
||||||
|
SolarPanelCurrent >>= 8;
|
||||||
|
ChaletStatus[9] = (char)(SolarPanelCurrent & 0x000000FF); //Battery SOC 2
|
||||||
|
ChaletStatus[10] = (char)(Temperature & 0x000000FF); //Battery Voltage 1
|
||||||
|
Temperature >>= 8;
|
||||||
|
ChaletStatus[11] = (char)(Temperature & 0x000000FF); //Battery Voltage 2
|
||||||
|
Temperature >>= 8;
|
||||||
|
ChaletStatus[12] = (char)(Temperature & 0x000000FF); //Battery Voltage 3
|
||||||
|
Temperature >>= 8;
|
||||||
|
ChaletStatus[13] = (char)(Temperature & 0x000000FF); //Battery Voltage 4
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
SendLoraNetworkCommand(CHALET_GENERAL_STATUS_RESPONSE,ChaletStatus,14);
|
||||||
|
|
||||||
|
HEARTBEAT_LED_1_PIN = ~HEARTBEAT_LED_1_PIN;
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case CHALET_AC_POWER_STATE_STATUS_REQUEST:
|
||||||
|
{
|
||||||
|
char PowerStatus = GetChaletPowerRelayState();
|
||||||
|
SendLoraNetworkCommand(CHALET_AC_POWER_STATE_STATUS_RESPONSE,&PowerStatus,1);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case CHALET_AC_POWER_SET_STATE_REQUEST:
|
||||||
|
{
|
||||||
|
char response = CHALET_POWER_RELAY_UNKNOWN_STATE;
|
||||||
|
if(Data[0] == CHALET_POWER_RELAY_OFF_STATE)
|
||||||
|
{
|
||||||
|
ChaletPowerRelayTurnOff();
|
||||||
|
response = CHALET_POWER_RELAY_OFF_STATE;
|
||||||
|
}
|
||||||
|
else if(Data[0] == CHALET_POWER_RELAY_ON_STATE)
|
||||||
|
{
|
||||||
|
ChaletPowerRelayTurnOn();
|
||||||
|
response = CHALET_POWER_RELAY_ON_STATE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
response = 1;
|
//invalid state requested.... don't do anything
|
||||||
|
response = CHALET_POWER_RELAY_UNKNOWN_STATE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SendLoraNetworkCommand(CHALET_AC_POWER_SET_STATE_RESPONSE,&response,1);
|
||||||
|
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
else
|
case CHALET_BATTERY_VOLTAGE_REQUEST:
|
||||||
{
|
{
|
||||||
//invalid state requested.... don't do anything
|
break;
|
||||||
response = WIFI_UNKNOWN_STATE;
|
}
|
||||||
|
case CHALET_WIFI_STATUS_REQUEST:
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case CHALET_WIFI_SET_STATE_REQUEST:
|
||||||
|
{
|
||||||
|
char response = WIFI_UNKNOWN_STATE;
|
||||||
|
if(Data[0] == 0)
|
||||||
|
{
|
||||||
|
TurnOFFWiFi();
|
||||||
|
response = 0;
|
||||||
|
}
|
||||||
|
else if(Data[0] == 1)
|
||||||
|
{
|
||||||
|
if(GetWiFiSate() != WIFI_CONNECTED_STATE)
|
||||||
|
{
|
||||||
|
InitWiFi();
|
||||||
|
response = GetWiFiSate();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
response = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//invalid state requested.... don't do anything
|
||||||
|
response = WIFI_UNKNOWN_STATE;
|
||||||
|
}
|
||||||
|
|
||||||
|
SendLoraNetworkCommand(CHALET_WIFI_SET_STATE_RESPONSE,&response,1);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case CHALET_DO_HARAKIRI_REQUEST:
|
||||||
|
{
|
||||||
|
char response;
|
||||||
|
if(Data[0] == 0xBA &&
|
||||||
|
Data[1] == 0xAD &&
|
||||||
|
Data[2] == 0xBE &&
|
||||||
|
Data[3] == 0xEF)
|
||||||
|
{
|
||||||
|
//Magic word is OK... let's suicide...
|
||||||
|
response = 0x01;
|
||||||
|
//First, send an ACK to master (this is blocking so it's OK)
|
||||||
|
SendLoraNetworkCommand(CHALET_DO_HARAKIRI_CONFIRMATION,&response,1);
|
||||||
|
HarakiriRelayTurnOff();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
response = 0x00;
|
||||||
|
SendLoraNetworkCommand(CHALET_DO_HARAKIRI_CONFIRMATION,&response,1);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case CHALET_REBOOT_CPU_REQUEST:
|
||||||
|
{
|
||||||
|
char response;
|
||||||
|
if(Data[0] == 0xBA &&
|
||||||
|
Data[1] == 0xAD &&
|
||||||
|
Data[2] == 0xCA &&
|
||||||
|
Data[3] == 0xFE)
|
||||||
|
{
|
||||||
|
//Magic word is OK... let's reboot...
|
||||||
|
response = 0x01;
|
||||||
|
//First, send an ACK to master (this is blocking so it's OK)
|
||||||
|
SendLoraNetworkCommandBlocking(CHALET_REBOOT_CPU_RESPONSE,&response,1);
|
||||||
|
Sleep(100);
|
||||||
|
TurnOFFWiFi();
|
||||||
|
Sleep(100);
|
||||||
|
SoftReset();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
response = 0x00;
|
||||||
|
SendLoraNetworkCommand(CHALET_DO_HARAKIRI_CONFIRMATION,&response,1);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case CHALET_GET_STORED_WIFI_SETTINGS_REQUEST:
|
||||||
|
{
|
||||||
|
char response[8];
|
||||||
|
SPIFlashReadBuffer(response,8,FLASH_WIFI_IP_ADDRESS);
|
||||||
|
SendLoraNetworkCommand(CHALET_GET_STORED_WIFI_SETTINGS_RESPONSE,response,8);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case CHALET_SET_STORED_WIFI_SETTINGS_REQUEST:
|
||||||
|
{
|
||||||
|
char response = 0;
|
||||||
|
if(SPIFlashWriteBuffer(Data,8,FLASH_WIFI_IP_ADDRESS) == 1)
|
||||||
|
{
|
||||||
|
response = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
SendLoraNetworkCommand(CHALET_SET_STORED_WIFI_SETTINGS_RESPONSE,&response,1);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
SendLoraNetworkCommand(CHALET_WIFI_SET_STATE_RESPONSE,&response,1);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case CHALET_DO_HARAKIRI_REQUEST:
|
|
||||||
{
|
|
||||||
char response;
|
|
||||||
if(Data[0] == 0xBA &&
|
|
||||||
Data[1] == 0xAD &&
|
|
||||||
Data[2] == 0xBE &&
|
|
||||||
Data[3] == 0xEF)
|
|
||||||
{
|
|
||||||
//Magic word is OK... let's suicide...
|
|
||||||
response = 0x01;
|
|
||||||
//First, send an ACK to master (this is blocking so it's OK)
|
|
||||||
SendLoraNetworkCommand(CHALET_DO_HARAKIRI_CONFIRMATION,&response,1);
|
|
||||||
HarakiriRelayTurnOff();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
response = 0x00;
|
|
||||||
SendLoraNetworkCommand(CHALET_DO_HARAKIRI_CONFIRMATION,&response,1);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case CHALET_REBOOT_CPU_REQUEST:
|
|
||||||
{
|
|
||||||
char response;
|
|
||||||
if(Data[0] == 0xBA &&
|
|
||||||
Data[1] == 0xAD &&
|
|
||||||
Data[2] == 0xCA &&
|
|
||||||
Data[3] == 0xFE)
|
|
||||||
{
|
|
||||||
//Magic word is OK... let's reboot...
|
|
||||||
response = 0x01;
|
|
||||||
//First, send an ACK to master (this is blocking so it's OK)
|
|
||||||
SendLoraNetworkCommand(CHALET_REBOOT_CPU_RESPONSE,&response,1);
|
|
||||||
Sleep(100);
|
|
||||||
TurnOFFWiFi();
|
|
||||||
Sleep(100);
|
|
||||||
SoftReset();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
response = 0x00;
|
|
||||||
SendLoraNetworkCommand(CHALET_DO_HARAKIRI_CONFIRMATION,&response,1);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -209,10 +232,20 @@ void SendLoraNetworkCommand(int Command, unsigned char *Data, unsigned int DataS
|
|||||||
//unsigned char DestDevice,unsigned char DestAddress, unsigned char SenderDevice, unsigned char Cmd, unsigned char *Data,unsigned int Size,unsigned char Flags, int *FrameSize)
|
//unsigned char DestDevice,unsigned char DestAddress, unsigned char SenderDevice, unsigned char Cmd, unsigned char *Data,unsigned int Size,unsigned char Flags, int *FrameSize)
|
||||||
Payload = ProtocolGetFrame(ID_MASTER,MASTER_ADDRESS,ID_CHALET_DEVICE,Command,Data,DataSize,0,&PayloadSize);
|
Payload = ProtocolGetFrame(ID_MASTER,MASTER_ADDRESS,ID_CHALET_DEVICE,Command,Data,DataSize,0,&PayloadSize);
|
||||||
|
|
||||||
|
UartTransmitData(NETWORK_UART_PORT,mLoraPreamble,3);
|
||||||
|
UartTransmitData(NETWORK_UART_PORT,Payload,PayloadSize);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void SendLoraNetworkCommandBlocking(int Command, unsigned char *Data, unsigned int DataSize)
|
||||||
|
{
|
||||||
|
unsigned char *Payload;
|
||||||
|
unsigned int PayloadSize;
|
||||||
|
//unsigned char DestDevice,unsigned char DestAddress, unsigned char SenderDevice, unsigned char Cmd, unsigned char *Data,unsigned int Size,unsigned char Flags, int *FrameSize)
|
||||||
|
Payload = ProtocolGetFrame(ID_MASTER,MASTER_ADDRESS,ID_CHALET_DEVICE,Command,Data,DataSize,0,&PayloadSize);
|
||||||
|
|
||||||
SendInternalUartDataBlocking(mLoraPreamble,3,NETWORK_UART_PORT);
|
SendInternalUartDataBlocking(mLoraPreamble,3,NETWORK_UART_PORT);
|
||||||
SendInternalUartDataBlocking(Payload,PayloadSize,NETWORK_UART_PORT);
|
SendInternalUartDataBlocking(Payload,PayloadSize,NETWORK_UART_PORT);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void TestTx()
|
void TestTx()
|
||||||
|
|||||||
@ -10,6 +10,7 @@
|
|||||||
|
|
||||||
void ExecuteMasterCommand(int Command, unsigned char *Data);
|
void ExecuteMasterCommand(int Command, unsigned char *Data);
|
||||||
void SendLoraNetworkCommand(int Command, unsigned char *Data, unsigned int DataSize);
|
void SendLoraNetworkCommand(int Command, unsigned char *Data, unsigned int DataSize);
|
||||||
|
void SendLoraNetworkCommandBlocking(int Command, unsigned char *Data, unsigned int DataSize); //USE WITH CARE
|
||||||
|
|
||||||
void TestTx();
|
void TestTx();
|
||||||
|
|
||||||
|
|||||||
101
ChaletLora.X/Source/LoraWatchdog.c
Normal file
101
ChaletLora.X/Source/LoraWatchdog.c
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
//#include <proc/p32mx440f256h.h>
|
||||||
|
|
||||||
|
#include "HarakiriRelay.h"
|
||||||
|
#include "BoardCfg.h"
|
||||||
|
#include "timer.h"
|
||||||
|
#include "LoraWatchdog.h"
|
||||||
|
|
||||||
|
int mLoraSMState;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void InitLoraWatchdog()
|
||||||
|
{
|
||||||
|
mLoraSMState = LORA_WATCHDOG_OK_STATE;
|
||||||
|
TimerStart(LORA_WATCHDOG_TIMER,LORA_WATCHDOG_MODULE_RESET_TIMEOUT);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TickLoraWatchdog()
|
||||||
|
{
|
||||||
|
LoraWatchdogStateMachine(LORA_SM_TICK_EVENT);
|
||||||
|
}
|
||||||
|
|
||||||
|
void LoraWatchdogStateMachine(int Event)
|
||||||
|
{
|
||||||
|
switch(mLoraSMState)
|
||||||
|
{
|
||||||
|
case LORA_WATCHDOG_OK_STATE:
|
||||||
|
{
|
||||||
|
switch(Event)
|
||||||
|
{
|
||||||
|
case LORA_SM_TICK_EVENT:
|
||||||
|
{
|
||||||
|
if(IsTimerExpired(LORA_WATCHDOG_TIMER))
|
||||||
|
{
|
||||||
|
//We lost the comm... reset the LoRa module
|
||||||
|
LORA_MODULE_RELAY_PIN = 1; //Turn OFF the LoRa module
|
||||||
|
TimerStart(LORA_WATCHDOG_TIMER,LORA_WATCHDOG_MODULE_OFF_TIMEOUT);
|
||||||
|
mLoraSMState = LORA_WATCHDOG_RESET_LORA_MODULE_STATE;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case LORA_SM_KICK_EVENT:
|
||||||
|
{
|
||||||
|
//All is well...
|
||||||
|
TimerStart(LORA_WATCHDOG_TIMER,LORA_WATCHDOG_MODULE_RESET_TIMEOUT);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case LORA_WATCHDOG_RESET_LORA_MODULE_STATE:
|
||||||
|
{
|
||||||
|
switch(Event)
|
||||||
|
{
|
||||||
|
case LORA_SM_TICK_EVENT:
|
||||||
|
case LORA_SM_KICK_EVENT://That would be very weird since the LoRa module is OFF!!!
|
||||||
|
{
|
||||||
|
if(IsTimerExpired(LORA_WATCHDOG_TIMER))
|
||||||
|
{
|
||||||
|
//Reset is done, turn module back ON.
|
||||||
|
LORA_MODULE_RELAY_PIN = 0; //Turn ON the LoRa module
|
||||||
|
TimerStart(LORA_WATCHDOG_TIMER,LORA_WATCHDOG_REBOOT_TIMEOUT); //If we don't get Comm. back after this delay... reboot the PIC
|
||||||
|
mLoraSMState = LORA_WATCHDOG_WAIT_FOR_RECONNECT_STATE;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case LORA_WATCHDOG_WAIT_FOR_RECONNECT_STATE:
|
||||||
|
{
|
||||||
|
switch(Event)
|
||||||
|
{
|
||||||
|
case LORA_SM_TICK_EVENT:
|
||||||
|
{
|
||||||
|
if(IsTimerExpired(LORA_WATCHDOG_TIMER))
|
||||||
|
{
|
||||||
|
|
||||||
|
TurnOFFWiFi();
|
||||||
|
Sleep(100);
|
||||||
|
SoftReset();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case LORA_SM_KICK_EVENT:
|
||||||
|
{
|
||||||
|
//Communication is re-established.
|
||||||
|
TimerStart(LORA_WATCHDOG_TIMER,LORA_WATCHDOG_MODULE_RESET_TIMEOUT);
|
||||||
|
mLoraSMState = LORA_WATCHDOG_OK_STATE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void KickLoraWatchdog()
|
||||||
|
{
|
||||||
|
LoraWatchdogStateMachine(LORA_SM_KICK_EVENT);
|
||||||
|
}
|
||||||
38
ChaletLora.X/Source/LoraWatchdog.h
Normal file
38
ChaletLora.X/Source/LoraWatchdog.h
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* File: LoraWatchdog.h
|
||||||
|
* Author: JF
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef LORAWATCHDOG_H
|
||||||
|
#define LORAWATCHDOG_H
|
||||||
|
#include "define.h"
|
||||||
|
|
||||||
|
#define LORA_WATCHDOG_MODULE_RESET_TIMEOUT 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_MODULE_OFF_TIMEOUT 4000 //Keep the LoRa module off for 2 seconds when reseting it.
|
||||||
|
|
||||||
|
enum eLoraWDSMStates
|
||||||
|
{
|
||||||
|
LORA_WATCHDOG_OK_STATE,
|
||||||
|
LORA_WATCHDOG_RESET_LORA_MODULE_STATE,
|
||||||
|
LORA_WATCHDOG_WAIT_FOR_RECONNECT_STATE
|
||||||
|
};
|
||||||
|
|
||||||
|
enum eLoraWDEvents
|
||||||
|
{
|
||||||
|
LORA_SM_TICK_EVENT,
|
||||||
|
LORA_SM_KICK_EVENT
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
void InitLoraWatchdog();
|
||||||
|
void TickLoraWatchdog();
|
||||||
|
void LoraWatchdogStateMachine(int Event);
|
||||||
|
void KickLoraWatchdog();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* HARAKIRIRELAY_H */
|
||||||
|
|
||||||
@ -219,7 +219,8 @@ void StateMachine(unsigned char Data)
|
|||||||
void ProtocolAnalyzeNewData(unsigned char Data)
|
void ProtocolAnalyzeNewData(unsigned char Data)
|
||||||
{
|
{
|
||||||
// mRxData[RxPtr] = Data;
|
// mRxData[RxPtr] = Data;
|
||||||
StateMachine(Data);
|
// printf("%X",Data);
|
||||||
|
StateMachine(Data);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ResetStateMachine(void)
|
void ResetStateMachine(void)
|
||||||
|
|||||||
@ -292,6 +292,10 @@ 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_RESPONSE,
|
||||||
|
CHALET_SET_STORED_WIFI_SETTINGS_REQUEST,
|
||||||
|
CHALET_SET_STORED_WIFI_SETTINGS_RESPONSE,
|
||||||
|
|
||||||
MAX_CHALET_CMD
|
MAX_CHALET_CMD
|
||||||
};
|
};
|
||||||
|
|||||||
@ -5,6 +5,7 @@
|
|||||||
unsigned char mSPIFlashBaudrate;
|
unsigned char mSPIFlashBaudrate;
|
||||||
unsigned char mSPIFlashHighSpeedBaudrate;
|
unsigned char mSPIFlashHighSpeedBaudrate;
|
||||||
unsigned char mFlashSectorBuffer[SPI_FLASH_SECTOR_SIZE];
|
unsigned char mFlashSectorBuffer[SPI_FLASH_SECTOR_SIZE];
|
||||||
|
unsigned int mSPIFlashOK;
|
||||||
|
|
||||||
int InitSPIFlash()
|
int InitSPIFlash()
|
||||||
{
|
{
|
||||||
@ -13,6 +14,7 @@ int InitSPIFlash()
|
|||||||
mSPIFlashBaudrate = SPICalculateBRG(PERIPHERAL_FREQ, 25000000);
|
mSPIFlashBaudrate = SPICalculateBRG(PERIPHERAL_FREQ, 25000000);
|
||||||
// mSPIFlashHighSpeedBaudrate = SPICalculateBRG(PERIPHERAL_FREQ, 50000000);
|
// mSPIFlashHighSpeedBaudrate = SPICalculateBRG(PERIPHERAL_FREQ, 50000000);
|
||||||
mSPIFlashHighSpeedBaudrate = SPICalculateBRG(PERIPHERAL_FREQ, 35000000);
|
mSPIFlashHighSpeedBaudrate = SPICalculateBRG(PERIPHERAL_FREQ, 35000000);
|
||||||
|
mSPIFlashOK = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int SPIFlashCheckAndConfigure()
|
int SPIFlashCheckAndConfigure()
|
||||||
@ -29,15 +31,22 @@ int SPIFlashCheckAndConfigure()
|
|||||||
|
|
||||||
SPIFlashReadStatusReg(1);
|
SPIFlashReadStatusReg(1);
|
||||||
|
|
||||||
|
mSPIFlashOK = 1;
|
||||||
printf("SPI Flash configured\n");
|
printf("SPI Flash configured\n");
|
||||||
return RET_OK;
|
return RET_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mSPIFlashOK = 0;
|
||||||
printf("ERROR: SPI Flash not detected\n");
|
printf("ERROR: SPI Flash not detected\n");
|
||||||
return RET_ERROR;
|
return RET_ERROR;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int SPIFlashIsPresent()
|
||||||
|
{
|
||||||
|
return mSPIFlashOK;
|
||||||
|
}
|
||||||
|
|
||||||
int SPIFlashWriteEnable()
|
int SPIFlashWriteEnable()
|
||||||
{
|
{
|
||||||
FLASH_SS_PIN = 0;
|
FLASH_SS_PIN = 0;
|
||||||
|
|||||||
@ -42,6 +42,7 @@ int SPIFlashErase64KSector(int SectorAddress, int Blocking);
|
|||||||
int SPIFlashWriteSectorWorkingBuffer(int SectorAddress, int Erase);
|
int SPIFlashWriteSectorWorkingBuffer(int SectorAddress, int Erase);
|
||||||
int SPIFlashWriteBuffer(unsigned char *Buf, int Size, int StartAddress);
|
int SPIFlashWriteBuffer(unsigned char *Buf, int Size, int StartAddress);
|
||||||
int SPIFlashWriteByte(unsigned int ByteAddress, char byte, int blocking);
|
int SPIFlashWriteByte(unsigned int ByteAddress, char byte, int blocking);
|
||||||
|
int SPIFlashIsPresent();
|
||||||
|
|
||||||
|
|
||||||
#endif /* SPI_FLASH_H */
|
#endif /* SPI_FLASH_H */
|
||||||
|
|||||||
@ -66,7 +66,7 @@ int SyslogNewByte(char byte)
|
|||||||
mSyslogBufPtr = 0;
|
mSyslogBufPtr = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TimerStart(SYSLOG_TX_TIMER,SYSLOG_TX_TIMEOUT);
|
TimerStart(SYSLOG_TX_TIMER,SYSLOG_TX_TIMEOUT);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -79,10 +79,11 @@ float TC77GetActualTemp()
|
|||||||
|
|
||||||
TEMP_SENSOR_CS_PIN = 1;
|
TEMP_SENSOR_CS_PIN = 1;
|
||||||
|
|
||||||
//RawTemp &= 0xFFF8; //Get rid of useless 3 LSB
|
RawTemp &= 0xFFF8; //Get rid of useless 3 LSB
|
||||||
RawTemp >>= 3;
|
//RawTemp >>= 3;
|
||||||
|
|
||||||
Temp = ((float)0.0625 * (float)RawTemp);
|
Temp = ((float)0.0625 * (float)RawTemp);
|
||||||
|
Temp /= 8;
|
||||||
|
|
||||||
return Temp;
|
return Temp;
|
||||||
|
|
||||||
|
|||||||
@ -478,7 +478,10 @@ int DataSentNotification(int p_iUartHandle,int DataSize)
|
|||||||
astUartData[p_iUartHandle].iDataPending = 1;
|
astUartData[p_iUartHandle].iDataPending = 1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
astUartData[p_iUartHandle].iDataPending = 0;
|
astUartData[p_iUartHandle].iDataPending = 0;
|
||||||
|
LORA_MODULE_TX_LED_PIN = LED_OFF;
|
||||||
|
}
|
||||||
|
|
||||||
return UART_OK;
|
return UART_OK;
|
||||||
}
|
}
|
||||||
@ -496,6 +499,8 @@ int UartTick(void)
|
|||||||
|
|
||||||
TickInternalUart();
|
TickInternalUart();
|
||||||
|
|
||||||
|
//Send...
|
||||||
|
|
||||||
for(i = 0; i < MAX_UART_HANDLE; i++)
|
for(i = 0; i < MAX_UART_HANDLE; i++)
|
||||||
{
|
{
|
||||||
if(astUartData[i].iDataPending)
|
if(astUartData[i].iDataPending)
|
||||||
@ -549,15 +554,9 @@ int UartTick(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
if(i == NETWORK_UART_PORT)
|
//Receive...
|
||||||
{
|
|
||||||
#ifndef NO_EXTERNAL_UART
|
|
||||||
SC16IS740DriverTick();
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// int iNbPendingData = astUartData[i].iNbRxFIFOPendingBytes; //JFM 2012-09-05
|
// int iNbPendingData = astUartData[i].iNbRxFIFOPendingBytes; //JFM 2012-09-05
|
||||||
int iNbPendingData = UartGetPendingDataSize(i);
|
int iNbPendingData = UartGetPendingDataSize(i);
|
||||||
@ -591,7 +590,10 @@ int UartTick(void)
|
|||||||
//UartTransmitData(CONSOLE_UART_PORT, aTempBuffer, iNbPendingData);//echo received character
|
//UartTransmitData(CONSOLE_UART_PORT, aTempBuffer, iNbPendingData);//echo received character
|
||||||
int i = 0;
|
int i = 0;
|
||||||
for(i = 0; i< iNbPendingData; i++)
|
for(i = 0; i< iNbPendingData; i++)
|
||||||
// RxTerminalData(aTempBuffer[i]);
|
{
|
||||||
|
ProtocolAnalyzeNewData(aTempBuffer[i]);
|
||||||
|
//RxTerminalData(aTempBuffer[i]);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,7 +10,8 @@
|
|||||||
#include "BoardCfg.h"
|
#include "BoardCfg.h"
|
||||||
#include "timer.h"
|
#include "timer.h"
|
||||||
#include "BootloaderProtocol.h"
|
#include "BootloaderProtocol.h"
|
||||||
|
#include "SPI_Flash.h"
|
||||||
|
#include "FlashMapping.h"
|
||||||
|
|
||||||
|
|
||||||
/** IP address of host. */
|
/** IP address of host. */
|
||||||
@ -361,13 +362,65 @@ int InitWiFi()
|
|||||||
|
|
||||||
gbTcpConnection = false;
|
gbTcpConnection = false;
|
||||||
TimerStart(WIFI_RECONNECT_TIMER,1);
|
TimerStart(WIFI_RECONNECT_TIMER,1);
|
||||||
|
|
||||||
|
char IP1,IP2,IP3,IP4,GW1,GW2,GW3,GW4;
|
||||||
|
|
||||||
|
if(SPIFlashIsPresent() == 1)
|
||||||
|
{
|
||||||
|
char StoredIPConfig[8];
|
||||||
|
if(SPIFlashReadBuffer(StoredIPConfig,8,FLASH_WIFI_IP_ADDRESS) != RET_ERROR)
|
||||||
|
{
|
||||||
|
IP1 = StoredIPConfig[0];
|
||||||
|
IP2 = StoredIPConfig[1];
|
||||||
|
IP3 = StoredIPConfig[2];
|
||||||
|
IP4 = StoredIPConfig[3];
|
||||||
|
|
||||||
|
GW1 = StoredIPConfig[4];
|
||||||
|
GW2 = StoredIPConfig[5];
|
||||||
|
GW3 = StoredIPConfig[6];
|
||||||
|
GW4 = StoredIPConfig[7];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if((IP1 == (char)0xFF) && (IP2 == (char)0xFF) && (IP3 == (char)0xFF) && (IP4 == (char)0xFF) || \
|
||||||
|
((GW1 == (char)0xFF && GW2 == (char)0xFF && GW3 == (char)0xFF && GW4 == (char)0xFF)))
|
||||||
|
{
|
||||||
|
IP1 = STATIC_IP_ADDRESS_1;
|
||||||
|
IP2 = STATIC_IP_ADDRESS_2;
|
||||||
|
IP3 = STATIC_IP_ADDRESS_3;
|
||||||
|
IP4 = STATIC_IP_ADDRESS_4;
|
||||||
|
|
||||||
|
GW1 = GATEWAY_ADDRESS_1;
|
||||||
|
GW2 = GATEWAY_ADDRESS_2;
|
||||||
|
GW3 = GATEWAY_ADDRESS_3;
|
||||||
|
GW4 = GATEWAY_ADDRESS_4;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
IP1 = STATIC_IP_ADDRESS_1;
|
||||||
|
IP2 = STATIC_IP_ADDRESS_2;
|
||||||
|
IP3 = STATIC_IP_ADDRESS_3;
|
||||||
|
IP4 = STATIC_IP_ADDRESS_4;
|
||||||
|
|
||||||
|
GW1 = GATEWAY_ADDRESS_1;
|
||||||
|
GW2 = GATEWAY_ADDRESS_2;
|
||||||
|
GW3 = GATEWAY_ADDRESS_3;
|
||||||
|
GW4 = GATEWAY_ADDRESS_4;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
memset(&mModuleIPConfig,0,sizeof(mModuleIPConfig));
|
memset(&mModuleIPConfig,0,sizeof(mModuleIPConfig));
|
||||||
mModuleIPConfig.u32StaticIP = IP_TO_U32(STATIC_IP_ADDRESS_1,STATIC_IP_ADDRESS_2,STATIC_IP_ADDRESS_3,STATIC_IP_ADDRESS_4);
|
// mModuleIPConfig.u32StaticIP = IP_TO_U32(STATIC_IP_ADDRESS_1,STATIC_IP_ADDRESS_2,STATIC_IP_ADDRESS_3,STATIC_IP_ADDRESS_4);
|
||||||
|
mModuleIPConfig.u32StaticIP = IP_TO_U32(IP1,IP2,IP3,IP4);
|
||||||
mModuleIPConfig.u32DNS = IP_TO_U32(DEFAULT_DNS_ADD_1,DEFAULT_DNS_ADD_2,DEFAULT_DNS_ADD_3,DEFAULT_DNS_ADD_4);
|
mModuleIPConfig.u32DNS = IP_TO_U32(DEFAULT_DNS_ADD_1,DEFAULT_DNS_ADD_2,DEFAULT_DNS_ADD_3,DEFAULT_DNS_ADD_4);
|
||||||
// mModuleIPConfig.u32AlternateDNS = IP_TO_U32(ALT_DNS_ADD_1,ALT_DNS_ADD_2,ALT_DNS_ADD_3,ALT_DNS_ADD_4);
|
// mModuleIPConfig.u32AlternateDNS = IP_TO_U32(ALT_DNS_ADD_1,ALT_DNS_ADD_2,ALT_DNS_ADD_3,ALT_DNS_ADD_4);
|
||||||
mModuleIPConfig.u32Gateway = IP_TO_U32(GATEWAY_ADDRESS_1,GATEWAY_ADDRESS_2,GATEWAY_ADDRESS_3,GATEWAY_ADDRESS_4);
|
// mModuleIPConfig.u32Gateway = IP_TO_U32(GATEWAY_ADDRESS_1,GATEWAY_ADDRESS_2,GATEWAY_ADDRESS_3,GATEWAY_ADDRESS_4);
|
||||||
|
mModuleIPConfig.u32Gateway = IP_TO_U32(GW1,GW2,GW3,GW4);
|
||||||
mModuleIPConfig.u32SubnetMask = IP_TO_U32(SUBNET_MASK_1,SUBNET_MASK_2,SUBNET_MASK_3,SUBNET_MASK_4);
|
mModuleIPConfig.u32SubnetMask = IP_TO_U32(SUBNET_MASK_1,SUBNET_MASK_2,SUBNET_MASK_3,SUBNET_MASK_4);
|
||||||
|
|
||||||
/* Initialize the BSP. */
|
/* Initialize the BSP. */
|
||||||
|
|||||||
@ -88,7 +88,7 @@ int IsBootloaderClientConnected();
|
|||||||
// <o> DHCP server IP address 3 <0-255>
|
// <o> DHCP server IP address 3 <0-255>
|
||||||
// <id> app_ip_address_3
|
// <id> app_ip_address_3
|
||||||
#ifndef DHCP_IP_ADDRESS_3
|
#ifndef DHCP_IP_ADDRESS_3
|
||||||
#define DHCP_IP_ADDRESS_3 1
|
#define DHCP_IP_ADDRESS_3 50
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// <o> DHCP server IP address 4 <0-255>
|
// <o> DHCP server IP address 4 <0-255>
|
||||||
|
|||||||
@ -147,7 +147,7 @@ enum eWiFiState
|
|||||||
|
|
||||||
|
|
||||||
//#define POLL_UART1_RX
|
//#define POLL_UART1_RX
|
||||||
#define POLL_UART2_RX
|
//#define POLL_UART2_RX
|
||||||
|
|
||||||
|
|
||||||
//#define NO_WIFI
|
//#define NO_WIFI
|
||||||
|
|||||||
@ -37,6 +37,7 @@
|
|||||||
#include "I2C.h"
|
#include "I2C.h"
|
||||||
#include "SPI_Flash.h"
|
#include "SPI_Flash.h"
|
||||||
#include "TemperatureSensor.h"
|
#include "TemperatureSensor.h"
|
||||||
|
#include "LoraWatchdog.h"
|
||||||
|
|
||||||
#include "BootloaderInterface.h"
|
#include "BootloaderInterface.h"
|
||||||
|
|
||||||
@ -95,6 +96,7 @@ int main(void)
|
|||||||
|
|
||||||
InitUart();
|
InitUart();
|
||||||
ProtocolInit();
|
ProtocolInit();
|
||||||
|
InitLoraWatchdog();
|
||||||
|
|
||||||
InitSPIFlash();
|
InitSPIFlash();
|
||||||
|
|
||||||
@ -175,9 +177,6 @@ int main(void)
|
|||||||
KickWatchdog();
|
KickWatchdog();
|
||||||
mRetCode = 1;
|
mRetCode = 1;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
while(mRetCode == 1)
|
while(mRetCode == 1)
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -193,12 +192,11 @@ int main(void)
|
|||||||
SyslogTick();
|
SyslogTick();
|
||||||
TickTempSensor();
|
TickTempSensor();
|
||||||
BootloaderInterfaceTick();
|
BootloaderInterfaceTick();
|
||||||
|
TickLoraWatchdog();
|
||||||
|
|
||||||
if(IsTimerExpired(HEARTBEAT_LED_TMR))
|
if(IsTimerExpired(HEARTBEAT_LED_TMR))
|
||||||
{
|
{
|
||||||
HEARTBEAT_LED_2_PIN = ~HEARTBEAT_LED_2_PIN;
|
HEARTBEAT_LED_2_PIN = ~HEARTBEAT_LED_2_PIN;
|
||||||
// HarakiriRelayTurnOff();
|
|
||||||
|
|
||||||
TimerStart(HEARTBEAT_LED_TMR,HEARTBEAT_LED_TIMEOUT);
|
TimerStart(HEARTBEAT_LED_TMR,HEARTBEAT_LED_TIMEOUT);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -49,6 +49,7 @@ typedef enum
|
|||||||
SYSLOG_TX_TIMER,
|
SYSLOG_TX_TIMER,
|
||||||
TEMP_SENSOR_REFRESH_TIMER,
|
TEMP_SENSOR_REFRESH_TIMER,
|
||||||
BOOTLOADER_FLASH_POLL_TIMER,
|
BOOTLOADER_FLASH_POLL_TIMER,
|
||||||
|
LORA_WATCHDOG_TIMER,
|
||||||
TIMER_MAX_ID
|
TIMER_MAX_ID
|
||||||
}eTimerID;
|
}eTimerID;
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -57,17 +57,17 @@ OBJECTDIR=build/${CND_CONF}/${IMAGE_TYPE}
|
|||||||
DISTDIR=dist/${CND_CONF}/${IMAGE_TYPE}
|
DISTDIR=dist/${CND_CONF}/${IMAGE_TYPE}
|
||||||
|
|
||||||
# Source Files Quoted if spaced
|
# Source Files Quoted if spaced
|
||||||
SOURCEFILES_QUOTED_IF_SPACED=Source/ChaletduinoV2Board.c Source/winc3400/bsp/source/nm_bsp.c Source/winc3400/bus_wrapper/source/nm_bus_wrapper.c Source/winc3400/common/source/nm_common.c Source/winc3400/driver/source/m2m_ate_mode.c Source/winc3400/driver/source/m2m_crypto.c Source/winc3400/driver/source/m2m_hif.c Source/winc3400/driver/source/m2m_ota.c Source/winc3400/driver/source/m2m_periph.c Source/winc3400/driver/source/m2m_ssl.c Source/winc3400/driver/source/m2m_wifi.c Source/winc3400/driver/source/nmasic.c Source/winc3400/driver/source/nmbus.c Source/winc3400/driver/source/nmdrv.c Source/winc3400/driver/source/nmi2c.c Source/winc3400/driver/source/nmspi.c Source/winc3400/driver/source/nmuart.c Source/winc3400/socket/source/socket.c Source/winc3400/spi_flash/source/spi_flash.c Source/winc3400/winc_init.c Source/DigitalIO.c Source/InternalUart.c Source/NetworkProtocol.c Source/Terminal.c Source/Uart.c Source/Util.c Source/exceptions.c Source/interrupts.c Source/main.c Source/system.c Source/template.c Source/timer.c Source/WiFiCtrl.c Source/SPI.c Source/LoraNetworkInterface.c Source/ChaletPowerRelay.c Source/HarakiriRelay.c Source/BatteryMonitor.c Source/ina219.c Source/I2C.c Source/SPI_Flash.c Source/Syslog.c Source/Watchdog.c Source/BootloaderInterface.c Source/TemperatureSensor.c Source/TC77.c Source/BootloaderProtocol.c Source/crc32.c
|
SOURCEFILES_QUOTED_IF_SPACED=Source/ChaletduinoV2Board.c Source/winc3400/bsp/source/nm_bsp.c Source/winc3400/bus_wrapper/source/nm_bus_wrapper.c Source/winc3400/common/source/nm_common.c Source/winc3400/driver/source/m2m_ate_mode.c Source/winc3400/driver/source/m2m_crypto.c Source/winc3400/driver/source/m2m_hif.c Source/winc3400/driver/source/m2m_ota.c Source/winc3400/driver/source/m2m_periph.c Source/winc3400/driver/source/m2m_ssl.c Source/winc3400/driver/source/m2m_wifi.c Source/winc3400/driver/source/nmasic.c Source/winc3400/driver/source/nmbus.c Source/winc3400/driver/source/nmdrv.c Source/winc3400/driver/source/nmi2c.c Source/winc3400/driver/source/nmspi.c Source/winc3400/driver/source/nmuart.c Source/winc3400/socket/source/socket.c Source/winc3400/spi_flash/source/spi_flash.c Source/winc3400/winc_init.c Source/DigitalIO.c Source/InternalUart.c Source/NetworkProtocol.c Source/Terminal.c Source/Uart.c Source/Util.c Source/exceptions.c Source/interrupts.c Source/main.c Source/system.c Source/template.c Source/timer.c Source/WiFiCtrl.c Source/SPI.c Source/LoraNetworkInterface.c Source/ChaletPowerRelay.c Source/HarakiriRelay.c Source/BatteryMonitor.c Source/ina219.c Source/I2C.c Source/SPI_Flash.c Source/Syslog.c Source/Watchdog.c Source/BootloaderInterface.c Source/TemperatureSensor.c Source/TC77.c Source/BootloaderProtocol.c Source/crc32.c Source/LoraWatchdog.c
|
||||||
|
|
||||||
# Object Files Quoted if spaced
|
# Object Files Quoted if spaced
|
||||||
OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/Source/ChaletduinoV2Board.o ${OBJECTDIR}/Source/winc3400/bsp/source/nm_bsp.o ${OBJECTDIR}/Source/winc3400/bus_wrapper/source/nm_bus_wrapper.o ${OBJECTDIR}/Source/winc3400/common/source/nm_common.o ${OBJECTDIR}/Source/winc3400/driver/source/m2m_ate_mode.o ${OBJECTDIR}/Source/winc3400/driver/source/m2m_crypto.o ${OBJECTDIR}/Source/winc3400/driver/source/m2m_hif.o ${OBJECTDIR}/Source/winc3400/driver/source/m2m_ota.o ${OBJECTDIR}/Source/winc3400/driver/source/m2m_periph.o ${OBJECTDIR}/Source/winc3400/driver/source/m2m_ssl.o ${OBJECTDIR}/Source/winc3400/driver/source/m2m_wifi.o ${OBJECTDIR}/Source/winc3400/driver/source/nmasic.o ${OBJECTDIR}/Source/winc3400/driver/source/nmbus.o ${OBJECTDIR}/Source/winc3400/driver/source/nmdrv.o ${OBJECTDIR}/Source/winc3400/driver/source/nmi2c.o ${OBJECTDIR}/Source/winc3400/driver/source/nmspi.o ${OBJECTDIR}/Source/winc3400/driver/source/nmuart.o ${OBJECTDIR}/Source/winc3400/socket/source/socket.o ${OBJECTDIR}/Source/winc3400/spi_flash/source/spi_flash.o ${OBJECTDIR}/Source/winc3400/winc_init.o ${OBJECTDIR}/Source/DigitalIO.o ${OBJECTDIR}/Source/InternalUart.o ${OBJECTDIR}/Source/NetworkProtocol.o ${OBJECTDIR}/Source/Terminal.o ${OBJECTDIR}/Source/Uart.o ${OBJECTDIR}/Source/Util.o ${OBJECTDIR}/Source/exceptions.o ${OBJECTDIR}/Source/interrupts.o ${OBJECTDIR}/Source/main.o ${OBJECTDIR}/Source/system.o ${OBJECTDIR}/Source/template.o ${OBJECTDIR}/Source/timer.o ${OBJECTDIR}/Source/WiFiCtrl.o ${OBJECTDIR}/Source/SPI.o ${OBJECTDIR}/Source/LoraNetworkInterface.o ${OBJECTDIR}/Source/ChaletPowerRelay.o ${OBJECTDIR}/Source/HarakiriRelay.o ${OBJECTDIR}/Source/BatteryMonitor.o ${OBJECTDIR}/Source/ina219.o ${OBJECTDIR}/Source/I2C.o ${OBJECTDIR}/Source/SPI_Flash.o ${OBJECTDIR}/Source/Syslog.o ${OBJECTDIR}/Source/Watchdog.o ${OBJECTDIR}/Source/BootloaderInterface.o ${OBJECTDIR}/Source/TemperatureSensor.o ${OBJECTDIR}/Source/TC77.o ${OBJECTDIR}/Source/BootloaderProtocol.o ${OBJECTDIR}/Source/crc32.o
|
OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/Source/ChaletduinoV2Board.o ${OBJECTDIR}/Source/winc3400/bsp/source/nm_bsp.o ${OBJECTDIR}/Source/winc3400/bus_wrapper/source/nm_bus_wrapper.o ${OBJECTDIR}/Source/winc3400/common/source/nm_common.o ${OBJECTDIR}/Source/winc3400/driver/source/m2m_ate_mode.o ${OBJECTDIR}/Source/winc3400/driver/source/m2m_crypto.o ${OBJECTDIR}/Source/winc3400/driver/source/m2m_hif.o ${OBJECTDIR}/Source/winc3400/driver/source/m2m_ota.o ${OBJECTDIR}/Source/winc3400/driver/source/m2m_periph.o ${OBJECTDIR}/Source/winc3400/driver/source/m2m_ssl.o ${OBJECTDIR}/Source/winc3400/driver/source/m2m_wifi.o ${OBJECTDIR}/Source/winc3400/driver/source/nmasic.o ${OBJECTDIR}/Source/winc3400/driver/source/nmbus.o ${OBJECTDIR}/Source/winc3400/driver/source/nmdrv.o ${OBJECTDIR}/Source/winc3400/driver/source/nmi2c.o ${OBJECTDIR}/Source/winc3400/driver/source/nmspi.o ${OBJECTDIR}/Source/winc3400/driver/source/nmuart.o ${OBJECTDIR}/Source/winc3400/socket/source/socket.o ${OBJECTDIR}/Source/winc3400/spi_flash/source/spi_flash.o ${OBJECTDIR}/Source/winc3400/winc_init.o ${OBJECTDIR}/Source/DigitalIO.o ${OBJECTDIR}/Source/InternalUart.o ${OBJECTDIR}/Source/NetworkProtocol.o ${OBJECTDIR}/Source/Terminal.o ${OBJECTDIR}/Source/Uart.o ${OBJECTDIR}/Source/Util.o ${OBJECTDIR}/Source/exceptions.o ${OBJECTDIR}/Source/interrupts.o ${OBJECTDIR}/Source/main.o ${OBJECTDIR}/Source/system.o ${OBJECTDIR}/Source/template.o ${OBJECTDIR}/Source/timer.o ${OBJECTDIR}/Source/WiFiCtrl.o ${OBJECTDIR}/Source/SPI.o ${OBJECTDIR}/Source/LoraNetworkInterface.o ${OBJECTDIR}/Source/ChaletPowerRelay.o ${OBJECTDIR}/Source/HarakiriRelay.o ${OBJECTDIR}/Source/BatteryMonitor.o ${OBJECTDIR}/Source/ina219.o ${OBJECTDIR}/Source/I2C.o ${OBJECTDIR}/Source/SPI_Flash.o ${OBJECTDIR}/Source/Syslog.o ${OBJECTDIR}/Source/Watchdog.o ${OBJECTDIR}/Source/BootloaderInterface.o ${OBJECTDIR}/Source/TemperatureSensor.o ${OBJECTDIR}/Source/TC77.o ${OBJECTDIR}/Source/BootloaderProtocol.o ${OBJECTDIR}/Source/crc32.o ${OBJECTDIR}/Source/LoraWatchdog.o
|
||||||
POSSIBLE_DEPFILES=${OBJECTDIR}/Source/ChaletduinoV2Board.o.d ${OBJECTDIR}/Source/winc3400/bsp/source/nm_bsp.o.d ${OBJECTDIR}/Source/winc3400/bus_wrapper/source/nm_bus_wrapper.o.d ${OBJECTDIR}/Source/winc3400/common/source/nm_common.o.d ${OBJECTDIR}/Source/winc3400/driver/source/m2m_ate_mode.o.d ${OBJECTDIR}/Source/winc3400/driver/source/m2m_crypto.o.d ${OBJECTDIR}/Source/winc3400/driver/source/m2m_hif.o.d ${OBJECTDIR}/Source/winc3400/driver/source/m2m_ota.o.d ${OBJECTDIR}/Source/winc3400/driver/source/m2m_periph.o.d ${OBJECTDIR}/Source/winc3400/driver/source/m2m_ssl.o.d ${OBJECTDIR}/Source/winc3400/driver/source/m2m_wifi.o.d ${OBJECTDIR}/Source/winc3400/driver/source/nmasic.o.d ${OBJECTDIR}/Source/winc3400/driver/source/nmbus.o.d ${OBJECTDIR}/Source/winc3400/driver/source/nmdrv.o.d ${OBJECTDIR}/Source/winc3400/driver/source/nmi2c.o.d ${OBJECTDIR}/Source/winc3400/driver/source/nmspi.o.d ${OBJECTDIR}/Source/winc3400/driver/source/nmuart.o.d ${OBJECTDIR}/Source/winc3400/socket/source/socket.o.d ${OBJECTDIR}/Source/winc3400/spi_flash/source/spi_flash.o.d ${OBJECTDIR}/Source/winc3400/winc_init.o.d ${OBJECTDIR}/Source/DigitalIO.o.d ${OBJECTDIR}/Source/InternalUart.o.d ${OBJECTDIR}/Source/NetworkProtocol.o.d ${OBJECTDIR}/Source/Terminal.o.d ${OBJECTDIR}/Source/Uart.o.d ${OBJECTDIR}/Source/Util.o.d ${OBJECTDIR}/Source/exceptions.o.d ${OBJECTDIR}/Source/interrupts.o.d ${OBJECTDIR}/Source/main.o.d ${OBJECTDIR}/Source/system.o.d ${OBJECTDIR}/Source/template.o.d ${OBJECTDIR}/Source/timer.o.d ${OBJECTDIR}/Source/WiFiCtrl.o.d ${OBJECTDIR}/Source/SPI.o.d ${OBJECTDIR}/Source/LoraNetworkInterface.o.d ${OBJECTDIR}/Source/ChaletPowerRelay.o.d ${OBJECTDIR}/Source/HarakiriRelay.o.d ${OBJECTDIR}/Source/BatteryMonitor.o.d ${OBJECTDIR}/Source/ina219.o.d ${OBJECTDIR}/Source/I2C.o.d ${OBJECTDIR}/Source/SPI_Flash.o.d ${OBJECTDIR}/Source/Syslog.o.d ${OBJECTDIR}/Source/Watchdog.o.d ${OBJECTDIR}/Source/BootloaderInterface.o.d ${OBJECTDIR}/Source/TemperatureSensor.o.d ${OBJECTDIR}/Source/TC77.o.d ${OBJECTDIR}/Source/BootloaderProtocol.o.d ${OBJECTDIR}/Source/crc32.o.d
|
POSSIBLE_DEPFILES=${OBJECTDIR}/Source/ChaletduinoV2Board.o.d ${OBJECTDIR}/Source/winc3400/bsp/source/nm_bsp.o.d ${OBJECTDIR}/Source/winc3400/bus_wrapper/source/nm_bus_wrapper.o.d ${OBJECTDIR}/Source/winc3400/common/source/nm_common.o.d ${OBJECTDIR}/Source/winc3400/driver/source/m2m_ate_mode.o.d ${OBJECTDIR}/Source/winc3400/driver/source/m2m_crypto.o.d ${OBJECTDIR}/Source/winc3400/driver/source/m2m_hif.o.d ${OBJECTDIR}/Source/winc3400/driver/source/m2m_ota.o.d ${OBJECTDIR}/Source/winc3400/driver/source/m2m_periph.o.d ${OBJECTDIR}/Source/winc3400/driver/source/m2m_ssl.o.d ${OBJECTDIR}/Source/winc3400/driver/source/m2m_wifi.o.d ${OBJECTDIR}/Source/winc3400/driver/source/nmasic.o.d ${OBJECTDIR}/Source/winc3400/driver/source/nmbus.o.d ${OBJECTDIR}/Source/winc3400/driver/source/nmdrv.o.d ${OBJECTDIR}/Source/winc3400/driver/source/nmi2c.o.d ${OBJECTDIR}/Source/winc3400/driver/source/nmspi.o.d ${OBJECTDIR}/Source/winc3400/driver/source/nmuart.o.d ${OBJECTDIR}/Source/winc3400/socket/source/socket.o.d ${OBJECTDIR}/Source/winc3400/spi_flash/source/spi_flash.o.d ${OBJECTDIR}/Source/winc3400/winc_init.o.d ${OBJECTDIR}/Source/DigitalIO.o.d ${OBJECTDIR}/Source/InternalUart.o.d ${OBJECTDIR}/Source/NetworkProtocol.o.d ${OBJECTDIR}/Source/Terminal.o.d ${OBJECTDIR}/Source/Uart.o.d ${OBJECTDIR}/Source/Util.o.d ${OBJECTDIR}/Source/exceptions.o.d ${OBJECTDIR}/Source/interrupts.o.d ${OBJECTDIR}/Source/main.o.d ${OBJECTDIR}/Source/system.o.d ${OBJECTDIR}/Source/template.o.d ${OBJECTDIR}/Source/timer.o.d ${OBJECTDIR}/Source/WiFiCtrl.o.d ${OBJECTDIR}/Source/SPI.o.d ${OBJECTDIR}/Source/LoraNetworkInterface.o.d ${OBJECTDIR}/Source/ChaletPowerRelay.o.d ${OBJECTDIR}/Source/HarakiriRelay.o.d ${OBJECTDIR}/Source/BatteryMonitor.o.d ${OBJECTDIR}/Source/ina219.o.d ${OBJECTDIR}/Source/I2C.o.d ${OBJECTDIR}/Source/SPI_Flash.o.d ${OBJECTDIR}/Source/Syslog.o.d ${OBJECTDIR}/Source/Watchdog.o.d ${OBJECTDIR}/Source/BootloaderInterface.o.d ${OBJECTDIR}/Source/TemperatureSensor.o.d ${OBJECTDIR}/Source/TC77.o.d ${OBJECTDIR}/Source/BootloaderProtocol.o.d ${OBJECTDIR}/Source/crc32.o.d ${OBJECTDIR}/Source/LoraWatchdog.o.d
|
||||||
|
|
||||||
# Object Files
|
# Object Files
|
||||||
OBJECTFILES=${OBJECTDIR}/Source/ChaletduinoV2Board.o ${OBJECTDIR}/Source/winc3400/bsp/source/nm_bsp.o ${OBJECTDIR}/Source/winc3400/bus_wrapper/source/nm_bus_wrapper.o ${OBJECTDIR}/Source/winc3400/common/source/nm_common.o ${OBJECTDIR}/Source/winc3400/driver/source/m2m_ate_mode.o ${OBJECTDIR}/Source/winc3400/driver/source/m2m_crypto.o ${OBJECTDIR}/Source/winc3400/driver/source/m2m_hif.o ${OBJECTDIR}/Source/winc3400/driver/source/m2m_ota.o ${OBJECTDIR}/Source/winc3400/driver/source/m2m_periph.o ${OBJECTDIR}/Source/winc3400/driver/source/m2m_ssl.o ${OBJECTDIR}/Source/winc3400/driver/source/m2m_wifi.o ${OBJECTDIR}/Source/winc3400/driver/source/nmasic.o ${OBJECTDIR}/Source/winc3400/driver/source/nmbus.o ${OBJECTDIR}/Source/winc3400/driver/source/nmdrv.o ${OBJECTDIR}/Source/winc3400/driver/source/nmi2c.o ${OBJECTDIR}/Source/winc3400/driver/source/nmspi.o ${OBJECTDIR}/Source/winc3400/driver/source/nmuart.o ${OBJECTDIR}/Source/winc3400/socket/source/socket.o ${OBJECTDIR}/Source/winc3400/spi_flash/source/spi_flash.o ${OBJECTDIR}/Source/winc3400/winc_init.o ${OBJECTDIR}/Source/DigitalIO.o ${OBJECTDIR}/Source/InternalUart.o ${OBJECTDIR}/Source/NetworkProtocol.o ${OBJECTDIR}/Source/Terminal.o ${OBJECTDIR}/Source/Uart.o ${OBJECTDIR}/Source/Util.o ${OBJECTDIR}/Source/exceptions.o ${OBJECTDIR}/Source/interrupts.o ${OBJECTDIR}/Source/main.o ${OBJECTDIR}/Source/system.o ${OBJECTDIR}/Source/template.o ${OBJECTDIR}/Source/timer.o ${OBJECTDIR}/Source/WiFiCtrl.o ${OBJECTDIR}/Source/SPI.o ${OBJECTDIR}/Source/LoraNetworkInterface.o ${OBJECTDIR}/Source/ChaletPowerRelay.o ${OBJECTDIR}/Source/HarakiriRelay.o ${OBJECTDIR}/Source/BatteryMonitor.o ${OBJECTDIR}/Source/ina219.o ${OBJECTDIR}/Source/I2C.o ${OBJECTDIR}/Source/SPI_Flash.o ${OBJECTDIR}/Source/Syslog.o ${OBJECTDIR}/Source/Watchdog.o ${OBJECTDIR}/Source/BootloaderInterface.o ${OBJECTDIR}/Source/TemperatureSensor.o ${OBJECTDIR}/Source/TC77.o ${OBJECTDIR}/Source/BootloaderProtocol.o ${OBJECTDIR}/Source/crc32.o
|
OBJECTFILES=${OBJECTDIR}/Source/ChaletduinoV2Board.o ${OBJECTDIR}/Source/winc3400/bsp/source/nm_bsp.o ${OBJECTDIR}/Source/winc3400/bus_wrapper/source/nm_bus_wrapper.o ${OBJECTDIR}/Source/winc3400/common/source/nm_common.o ${OBJECTDIR}/Source/winc3400/driver/source/m2m_ate_mode.o ${OBJECTDIR}/Source/winc3400/driver/source/m2m_crypto.o ${OBJECTDIR}/Source/winc3400/driver/source/m2m_hif.o ${OBJECTDIR}/Source/winc3400/driver/source/m2m_ota.o ${OBJECTDIR}/Source/winc3400/driver/source/m2m_periph.o ${OBJECTDIR}/Source/winc3400/driver/source/m2m_ssl.o ${OBJECTDIR}/Source/winc3400/driver/source/m2m_wifi.o ${OBJECTDIR}/Source/winc3400/driver/source/nmasic.o ${OBJECTDIR}/Source/winc3400/driver/source/nmbus.o ${OBJECTDIR}/Source/winc3400/driver/source/nmdrv.o ${OBJECTDIR}/Source/winc3400/driver/source/nmi2c.o ${OBJECTDIR}/Source/winc3400/driver/source/nmspi.o ${OBJECTDIR}/Source/winc3400/driver/source/nmuart.o ${OBJECTDIR}/Source/winc3400/socket/source/socket.o ${OBJECTDIR}/Source/winc3400/spi_flash/source/spi_flash.o ${OBJECTDIR}/Source/winc3400/winc_init.o ${OBJECTDIR}/Source/DigitalIO.o ${OBJECTDIR}/Source/InternalUart.o ${OBJECTDIR}/Source/NetworkProtocol.o ${OBJECTDIR}/Source/Terminal.o ${OBJECTDIR}/Source/Uart.o ${OBJECTDIR}/Source/Util.o ${OBJECTDIR}/Source/exceptions.o ${OBJECTDIR}/Source/interrupts.o ${OBJECTDIR}/Source/main.o ${OBJECTDIR}/Source/system.o ${OBJECTDIR}/Source/template.o ${OBJECTDIR}/Source/timer.o ${OBJECTDIR}/Source/WiFiCtrl.o ${OBJECTDIR}/Source/SPI.o ${OBJECTDIR}/Source/LoraNetworkInterface.o ${OBJECTDIR}/Source/ChaletPowerRelay.o ${OBJECTDIR}/Source/HarakiriRelay.o ${OBJECTDIR}/Source/BatteryMonitor.o ${OBJECTDIR}/Source/ina219.o ${OBJECTDIR}/Source/I2C.o ${OBJECTDIR}/Source/SPI_Flash.o ${OBJECTDIR}/Source/Syslog.o ${OBJECTDIR}/Source/Watchdog.o ${OBJECTDIR}/Source/BootloaderInterface.o ${OBJECTDIR}/Source/TemperatureSensor.o ${OBJECTDIR}/Source/TC77.o ${OBJECTDIR}/Source/BootloaderProtocol.o ${OBJECTDIR}/Source/crc32.o ${OBJECTDIR}/Source/LoraWatchdog.o
|
||||||
|
|
||||||
# Source Files
|
# Source Files
|
||||||
SOURCEFILES=Source/ChaletduinoV2Board.c Source/winc3400/bsp/source/nm_bsp.c Source/winc3400/bus_wrapper/source/nm_bus_wrapper.c Source/winc3400/common/source/nm_common.c Source/winc3400/driver/source/m2m_ate_mode.c Source/winc3400/driver/source/m2m_crypto.c Source/winc3400/driver/source/m2m_hif.c Source/winc3400/driver/source/m2m_ota.c Source/winc3400/driver/source/m2m_periph.c Source/winc3400/driver/source/m2m_ssl.c Source/winc3400/driver/source/m2m_wifi.c Source/winc3400/driver/source/nmasic.c Source/winc3400/driver/source/nmbus.c Source/winc3400/driver/source/nmdrv.c Source/winc3400/driver/source/nmi2c.c Source/winc3400/driver/source/nmspi.c Source/winc3400/driver/source/nmuart.c Source/winc3400/socket/source/socket.c Source/winc3400/spi_flash/source/spi_flash.c Source/winc3400/winc_init.c Source/DigitalIO.c Source/InternalUart.c Source/NetworkProtocol.c Source/Terminal.c Source/Uart.c Source/Util.c Source/exceptions.c Source/interrupts.c Source/main.c Source/system.c Source/template.c Source/timer.c Source/WiFiCtrl.c Source/SPI.c Source/LoraNetworkInterface.c Source/ChaletPowerRelay.c Source/HarakiriRelay.c Source/BatteryMonitor.c Source/ina219.c Source/I2C.c Source/SPI_Flash.c Source/Syslog.c Source/Watchdog.c Source/BootloaderInterface.c Source/TemperatureSensor.c Source/TC77.c Source/BootloaderProtocol.c Source/crc32.c
|
SOURCEFILES=Source/ChaletduinoV2Board.c Source/winc3400/bsp/source/nm_bsp.c Source/winc3400/bus_wrapper/source/nm_bus_wrapper.c Source/winc3400/common/source/nm_common.c Source/winc3400/driver/source/m2m_ate_mode.c Source/winc3400/driver/source/m2m_crypto.c Source/winc3400/driver/source/m2m_hif.c Source/winc3400/driver/source/m2m_ota.c Source/winc3400/driver/source/m2m_periph.c Source/winc3400/driver/source/m2m_ssl.c Source/winc3400/driver/source/m2m_wifi.c Source/winc3400/driver/source/nmasic.c Source/winc3400/driver/source/nmbus.c Source/winc3400/driver/source/nmdrv.c Source/winc3400/driver/source/nmi2c.c Source/winc3400/driver/source/nmspi.c Source/winc3400/driver/source/nmuart.c Source/winc3400/socket/source/socket.c Source/winc3400/spi_flash/source/spi_flash.c Source/winc3400/winc_init.c Source/DigitalIO.c Source/InternalUart.c Source/NetworkProtocol.c Source/Terminal.c Source/Uart.c Source/Util.c Source/exceptions.c Source/interrupts.c Source/main.c Source/system.c Source/template.c Source/timer.c Source/WiFiCtrl.c Source/SPI.c Source/LoraNetworkInterface.c Source/ChaletPowerRelay.c Source/HarakiriRelay.c Source/BatteryMonitor.c Source/ina219.c Source/I2C.c Source/SPI_Flash.c Source/Syslog.c Source/Watchdog.c Source/BootloaderInterface.c Source/TemperatureSensor.c Source/TC77.c Source/BootloaderProtocol.c Source/crc32.c Source/LoraWatchdog.c
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -443,6 +443,13 @@ ${OBJECTDIR}/Source/crc32.o: Source/crc32.c nbproject/Makefile-${CND_CONF}.mk
|
|||||||
${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -fframe-base-loclist -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"Source/winc3400" -I"Source" -DCHALETDUINO_V2_BRD -D_SUPPRESS_PLIB_WARNING -MMD -MF "${OBJECTDIR}/Source/crc32.o.d" -o ${OBJECTDIR}/Source/crc32.o Source/crc32.c -DXPRJ_ChaletDuinoV2_795F512H_=$(CND_CONF) $(COMPARISON_BUILD)
|
${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -fframe-base-loclist -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"Source/winc3400" -I"Source" -DCHALETDUINO_V2_BRD -D_SUPPRESS_PLIB_WARNING -MMD -MF "${OBJECTDIR}/Source/crc32.o.d" -o ${OBJECTDIR}/Source/crc32.o Source/crc32.c -DXPRJ_ChaletDuinoV2_795F512H_=$(CND_CONF) $(COMPARISON_BUILD)
|
||||||
@${FIXDEPS} "${OBJECTDIR}/Source/crc32.o.d" $(SILENT) -rsi ${MP_CC_DIR}../
|
@${FIXDEPS} "${OBJECTDIR}/Source/crc32.o.d" $(SILENT) -rsi ${MP_CC_DIR}../
|
||||||
|
|
||||||
|
${OBJECTDIR}/Source/LoraWatchdog.o: Source/LoraWatchdog.c nbproject/Makefile-${CND_CONF}.mk
|
||||||
|
@${MKDIR} "${OBJECTDIR}/Source"
|
||||||
|
@${RM} ${OBJECTDIR}/Source/LoraWatchdog.o.d
|
||||||
|
@${RM} ${OBJECTDIR}/Source/LoraWatchdog.o
|
||||||
|
${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -fframe-base-loclist -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"Source/winc3400" -I"Source" -DCHALETDUINO_V2_BRD -D_SUPPRESS_PLIB_WARNING -MMD -MF "${OBJECTDIR}/Source/LoraWatchdog.o.d" -o ${OBJECTDIR}/Source/LoraWatchdog.o Source/LoraWatchdog.c -DXPRJ_ChaletDuinoV2_795F512H_=$(CND_CONF) $(COMPARISON_BUILD)
|
||||||
|
@${FIXDEPS} "${OBJECTDIR}/Source/LoraWatchdog.o.d" $(SILENT) -rsi ${MP_CC_DIR}../
|
||||||
|
|
||||||
else
|
else
|
||||||
${OBJECTDIR}/Source/ChaletduinoV2Board.o: Source/ChaletduinoV2Board.c nbproject/Makefile-${CND_CONF}.mk
|
${OBJECTDIR}/Source/ChaletduinoV2Board.o: Source/ChaletduinoV2Board.c nbproject/Makefile-${CND_CONF}.mk
|
||||||
@${MKDIR} "${OBJECTDIR}/Source"
|
@${MKDIR} "${OBJECTDIR}/Source"
|
||||||
@ -780,6 +787,13 @@ ${OBJECTDIR}/Source/crc32.o: Source/crc32.c nbproject/Makefile-${CND_CONF}.mk
|
|||||||
${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"Source/winc3400" -I"Source" -DCHALETDUINO_V2_BRD -D_SUPPRESS_PLIB_WARNING -MMD -MF "${OBJECTDIR}/Source/crc32.o.d" -o ${OBJECTDIR}/Source/crc32.o Source/crc32.c -DXPRJ_ChaletDuinoV2_795F512H_=$(CND_CONF) $(COMPARISON_BUILD)
|
${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"Source/winc3400" -I"Source" -DCHALETDUINO_V2_BRD -D_SUPPRESS_PLIB_WARNING -MMD -MF "${OBJECTDIR}/Source/crc32.o.d" -o ${OBJECTDIR}/Source/crc32.o Source/crc32.c -DXPRJ_ChaletDuinoV2_795F512H_=$(CND_CONF) $(COMPARISON_BUILD)
|
||||||
@${FIXDEPS} "${OBJECTDIR}/Source/crc32.o.d" $(SILENT) -rsi ${MP_CC_DIR}../
|
@${FIXDEPS} "${OBJECTDIR}/Source/crc32.o.d" $(SILENT) -rsi ${MP_CC_DIR}../
|
||||||
|
|
||||||
|
${OBJECTDIR}/Source/LoraWatchdog.o: Source/LoraWatchdog.c nbproject/Makefile-${CND_CONF}.mk
|
||||||
|
@${MKDIR} "${OBJECTDIR}/Source"
|
||||||
|
@${RM} ${OBJECTDIR}/Source/LoraWatchdog.o.d
|
||||||
|
@${RM} ${OBJECTDIR}/Source/LoraWatchdog.o
|
||||||
|
${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"Source/winc3400" -I"Source" -DCHALETDUINO_V2_BRD -D_SUPPRESS_PLIB_WARNING -MMD -MF "${OBJECTDIR}/Source/LoraWatchdog.o.d" -o ${OBJECTDIR}/Source/LoraWatchdog.o Source/LoraWatchdog.c -DXPRJ_ChaletDuinoV2_795F512H_=$(CND_CONF) $(COMPARISON_BUILD)
|
||||||
|
@${FIXDEPS} "${OBJECTDIR}/Source/LoraWatchdog.o.d" $(SILENT) -rsi ${MP_CC_DIR}../
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# ------------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------------
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
#Mon Sep 20 15:45:16 EDT 2021
|
#Tue Oct 12 11:25:56 EDT 2021
|
||||||
default.languagetoolchain.version=2.41
|
default.languagetoolchain.version=2.41
|
||||||
ChaletDuino_775F512H_.languagetoolchain.version=1.33
|
ChaletDuino_775F512H_.languagetoolchain.version=1.33
|
||||||
default.Pack.dfplocation=C\:\\Users\\JF\\.mchp_packs\\Microchip\\PIC32MX_DFP\\1.2.228
|
default.Pack.dfplocation=C\:\\Users\\JF\\.mchp_packs\\Microchip\\PIC32MX_DFP\\1.2.228
|
||||||
@ -7,7 +7,7 @@ conf.ids=default,ChaletDuino_775F512H_,ChaletDuinoV2_795F512H_
|
|||||||
default.languagetoolchain.dir=C\:\\Program Files\\Microchip\\xc32\\v2.41\\bin
|
default.languagetoolchain.dir=C\:\\Program Files\\Microchip\\xc32\\v2.41\\bin
|
||||||
ChaletDuino_775F512H_.Pack.dfplocation=C\:\\Program Files (x86)\\Microchip\\MPLABX\\v5.40\\packs\\Microchip\\PIC32MX_DFP\\1.3.231
|
ChaletDuino_775F512H_.Pack.dfplocation=C\:\\Program Files (x86)\\Microchip\\MPLABX\\v5.40\\packs\\Microchip\\PIC32MX_DFP\\1.3.231
|
||||||
ChaletDuinoV2_795F512H_.Pack.dfplocation=C\:\\Program Files (x86)\\Microchip\\MPLABX\\v5.40\\packs\\Microchip\\PIC32MX_DFP\\1.3.231
|
ChaletDuinoV2_795F512H_.Pack.dfplocation=C\:\\Program Files (x86)\\Microchip\\MPLABX\\v5.40\\packs\\Microchip\\PIC32MX_DFP\\1.3.231
|
||||||
configurations-xml=cd1eb0091a6192efa5b728f7adc16270
|
configurations-xml=361ab07e6528007a52e4f55a861bad85
|
||||||
default.com-microchip-mplab-nbide-toolchainXC32-XC32LanguageToolchain.md5=a5745c99cb5a5032f17cfaf0ff720282
|
default.com-microchip-mplab-nbide-toolchainXC32-XC32LanguageToolchain.md5=a5745c99cb5a5032f17cfaf0ff720282
|
||||||
com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=9db8f8a224aa17d0023ea7f468f871dc
|
com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=9db8f8a224aa17d0023ea7f468f871dc
|
||||||
ChaletDuino_775F512H_.languagetoolchain.dir=C\:\\Program Files\\Microchip\\xc32\\v1.33\\bin
|
ChaletDuino_775F512H_.languagetoolchain.dir=C\:\\Program Files\\Microchip\\xc32\\v1.33\\bin
|
||||||
|
|||||||
@ -110,6 +110,7 @@
|
|||||||
<itemPath>Source/BootloaderProtocol.h</itemPath>
|
<itemPath>Source/BootloaderProtocol.h</itemPath>
|
||||||
<itemPath>Source/FlashMapping.h</itemPath>
|
<itemPath>Source/FlashMapping.h</itemPath>
|
||||||
<itemPath>Source/checksum.h</itemPath>
|
<itemPath>Source/checksum.h</itemPath>
|
||||||
|
<itemPath>Source/LoraWatchdog.h</itemPath>
|
||||||
</logicalFolder>
|
</logicalFolder>
|
||||||
<logicalFolder name="LinkerScript"
|
<logicalFolder name="LinkerScript"
|
||||||
displayName="Linker Files"
|
displayName="Linker Files"
|
||||||
@ -216,6 +217,7 @@
|
|||||||
<itemPath>Source/TC77.c</itemPath>
|
<itemPath>Source/TC77.c</itemPath>
|
||||||
<itemPath>Source/BootloaderProtocol.c</itemPath>
|
<itemPath>Source/BootloaderProtocol.c</itemPath>
|
||||||
<itemPath>Source/crc32.c</itemPath>
|
<itemPath>Source/crc32.c</itemPath>
|
||||||
|
<itemPath>Source/LoraWatchdog.c</itemPath>
|
||||||
</logicalFolder>
|
</logicalFolder>
|
||||||
<logicalFolder name="ExternalFiles"
|
<logicalFolder name="ExternalFiles"
|
||||||
displayName="Important Files"
|
displayName="Important Files"
|
||||||
@ -1445,6 +1447,20 @@
|
|||||||
</C32Global>
|
</C32Global>
|
||||||
</item>
|
</item>
|
||||||
<item path="procdefs.ld" ex="true" overriding="false">
|
<item path="procdefs.ld" ex="true" overriding="false">
|
||||||
|
<C32>
|
||||||
|
</C32>
|
||||||
|
<C32-AR>
|
||||||
|
</C32-AR>
|
||||||
|
<C32-AS>
|
||||||
|
</C32-AS>
|
||||||
|
<C32-CO>
|
||||||
|
</C32-CO>
|
||||||
|
<C32-LD>
|
||||||
|
</C32-LD>
|
||||||
|
<C32CPP>
|
||||||
|
</C32CPP>
|
||||||
|
<C32Global>
|
||||||
|
</C32Global>
|
||||||
</item>
|
</item>
|
||||||
</conf>
|
</conf>
|
||||||
</confs>
|
</confs>
|
||||||
|
|||||||
@ -5,17 +5,22 @@
|
|||||||
<url>Source/BootloaderInterface.c</url>
|
<url>Source/BootloaderInterface.c</url>
|
||||||
<bookmark id="5">
|
<bookmark id="5">
|
||||||
<name/>
|
<name/>
|
||||||
<line>340</line>
|
<line>387</line>
|
||||||
<key/>
|
<key/>
|
||||||
</bookmark>
|
</bookmark>
|
||||||
<bookmark id="4">
|
<bookmark id="4">
|
||||||
<name/>
|
<name/>
|
||||||
<line>411</line>
|
<line>437</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/main.c</file>
|
||||||
|
<file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/LoraWatchdog.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/LoraWatchdog.h</file>
|
||||||
|
</group>
|
||||||
</open-files>
|
</open-files>
|
||||||
</project-private>
|
</project-private>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user