Développement module LTE

This commit is contained in:
jfmartel 2024-10-28 15:27:42 -04:00
parent fc54e7cb98
commit d1c1f053c5
24 changed files with 17169 additions and 10581 deletions

View File

@ -41,12 +41,7 @@ extern "C" {
#define HEARTBEAT_LED_1_CLEAR_REG LATECLR
#define HEARTBEAT_LED_1_TOGGLE_MASK _LATE_LATE5_MASK
//#define LORA_ACTIVITY_LED_PIN_DIR TRISFbits.TRISF1
//#define LORA_ACTIVITY_LED_PIN LATFbits.LATF1
//#define LORA_ACTIVITY_LED_TOGGLE_REG LATFINV
//#define LORA_ACTIVITY_LED_SET_REG LATFSET
//#define LORA_ACTIVITY_LED_CLEAR_REG LATFCLR
//#define LORA_ACTIVITY_LED_TOGGLE_MASK _LATE_LATF1_MASK
// #define GP_DEBUG_1_PIN_DIR TRISEbits.TRISE5
// #define GP_DEBUG_1_PIN LATEbits.LATE5
@ -129,15 +124,22 @@ extern "C" {
#define LORA_MODULE_M1_PIN LATDbits.LATD9
#define LORA_MODULE_INT_PIN_DIR TRISDbits.TRISD8
#define LORA_MODULE_INT_PIN PORTDbits.RD8
//#define LORA_MODULE_RX_LED_PIN_DIR TRISCbits.TRISC14
//#define LORA_MODULE_RX_LED_PIN LATCbits.LATC14
//#define LORA_MODULE_TX_LED_PIN_DIR TRISCbits.TRISC13
//#define LORA_MODULE_TX_LED_PIN LATCbits.LATC13
//#define LORA_MODULE_RX_LED_PIN_DIR TRISCbits.TRISC14
//#define LORA_MODULE_RX_LED_PIN LATCbits.LATC14
//#define LORA_MODULE_TX_LED_PIN_DIR TRISCbits.TRISC13
//#define LORA_MODULE_TX_LED_PIN LATCbits.LATC13
#define LORA_MODULE_RX_LED_PIN_DIR TRISCbits.TRISC14
#define LORA_MODULE_RX_LED_PIN LATCbits.LATC14
#define LORA_MODULE_TX_LED_PIN_DIR TRISCbits.TRISC13
#define LORA_MODULE_TX_LED_PIN LATCbits.LATC13
// SIMCOM LTE Module
#define LTE_MODULE_TX_LED_PIN_DIR TRISFbits.TRISF1
#define LTE_MODULE_TX_LED_PIN LATFbits.LATF1
#define LTE_MODULE_RX_LED_PIN_DIR TRISBbits.TRISB4
#define LTE_MODULE_RX_LED_PIN LATBbits.LATB4
#define LTE_MODULE_PWR_PIN_DIR TRISDbits.TRISD10
#define LTE_MODULE_PWR_PIN LATDbits.LATD10
//LCD Screen
#define LCD_RS_PIN_DIR TRISDbits.TRISD5

View File

@ -132,6 +132,14 @@ int InitBoard()
// AD1CON1bits.SAMP = 1;
////////////////LTE MODULE /////////////
LTE_MODULE_TX_LED_PIN_DIR = PIN_OUTPUT;
LTE_MODULE_TX_LED_PIN = LED_OFF;
LTE_MODULE_RX_LED_PIN_DIR = PIN_OUTPUT;
LTE_MODULE_RX_LED_PIN = LED_OFF;
LTE_MODULE_PWR_PIN_DIR = PIN_OUTPUT;
LTE_MODULE_PWR_PIN = 1;
//////////////// LORA //////////////////
LORA_MODULE_RELAY_PIN_DIR = PIN_OUTPUT;
LORA_MODULE_RELAY_PIN = 0;

View File

@ -1,26 +1,26 @@
/*******************************************************************************
* *
* Copyright 2010 Rheinmetall Canada Inc. *
* *
* No part of this document may be reproduced, stored in *
* a retrieval system, or transmitted, in any form or by any means, *
* electronic, mechanical, photocopying, recording, or otherwise, *
* without the prior written permission of Rheinmetall Canada Inc. *
* *
*******************************************************************************/
* *
* Copyright 2010 Rheinmetall Canada Inc. *
* *
* No part of this document may be reproduced, stored in *
* a retrieval system, or transmitted, in any form or by any means, *
* electronic, mechanical, photocopying, recording, or otherwise, *
* without the prior written permission of Rheinmetall Canada Inc. *
* *
*******************************************************************************/
/*
Description:
This is a template file for standard C code file.
*/
Description:
This is a template file for standard C code file.
*/
/* ************************************************************************** */
/* ¤Revision:
000 20100616 JFM,
Original version.
### YYYYMMDD Initial, Bug Identification
Change description.
000 20100616 JFM,
Original version.
### YYYYMMDD Initial, Bug Identification
Change description.
*/
/* ************************************************************************** */
@ -47,24 +47,24 @@ void InternalUartInit(void)
{
//Setup port 1
//
// U1MODEbits.ON = 0; //disable module
// U1STA = 0;
// U1STAbits.UTXEN = 0; //disable transmitter
// IPC6bits.U1IP = 7; //priority 7
// IPC6bits.U1IS = 3; //sub-priority 3
// U1STAbits.UTXSEL = 0b01; //interrupt when all characters are transmitted
//// U1STAbits.UTXSEL = 0b01; // //JFM 2012-08-27
// IFS0bits.U1TXIF = 0; //clear interrupt flag
// IEC0bits.U1TXIE = 1; //enable tx interrupt
// U1STAbits.URXISEL = 0b00; //interrupt for each character received
// IFS0bits.U1RXIF = 0;
//#ifdef POLL_UART1_RX
// IEC0bits.U1RXIE = 0; //disable rx interrupts
//#else
// IEC0bits.U1RXIE = 1; //enable rx interrupts
//#endif
// U1STAbits.URXEN = 1; //enable receiver
// U1MODEbits.ON = 0; //disable module
// U1MODEbits.ON = 0; //disable module
// U1STA = 0;
// U1STAbits.UTXEN = 0; //disable transmitter
// IPC6bits.U1IP = 7; //priority 7
// IPC6bits.U1IS = 3; //sub-priority 3
// U1STAbits.UTXSEL = 0b01; //interrupt when all characters are transmitted
//// U1STAbits.UTXSEL = 0b01; // //JFM 2012-08-27
// IFS0bits.U1TXIF = 0; //clear interrupt flag
// IEC0bits.U1TXIE = 1; //enable tx interrupt
// U1STAbits.URXISEL = 0b00; //interrupt for each character received
// IFS0bits.U1RXIF = 0;
//#ifdef POLL_UART1_RX
// IEC0bits.U1RXIE = 0; //disable rx interrupts
//#else
// IEC0bits.U1RXIE = 1; //enable rx interrupts
//#endif
// U1STAbits.URXEN = 1; //enable receiver
// U1MODEbits.ON = 0; //disable module
//Setup port 2
//
@ -72,7 +72,7 @@ void InternalUartInit(void)
U2STA = 0;
U2STAbits.UTXEN = 0; //disable transmitter
IPC8bits.U2IP = 7; //priority 7
IPC8bits.U2IS = 0; //sub-priority 2
IPC8bits.U2IS = 2; //sub-priority 2
U2STAbits.UTXSEL = 0b01; //interrupt when all characters are transmitted
IFS1bits.U2TXIF = 0; //clear interrupt flag
IEC1bits.U2TXIE = 0; //enable tx interrupt
@ -86,8 +86,29 @@ void InternalUartInit(void)
U2STAbits.URXEN = 1; //enable receiver
U2STAbits.UTXEN = 1;
U2MODEbits.ON = 0; //disable module
//Setup port 5
//
U5MODEbits.ON = 0; //disable module
U5STA = 0;
U5STAbits.UTXEN = 0; //disable transmitter
IPC12bits.U5IP = 7; //priority 7
IPC12bits.U5IS = 1; //sub-priority 1
U5STAbits.UTXSEL = 0b01; //interrupt when all characters are transmitted
IFS2bits.U5TXIF = 0; //clear interrupt flag
IEC2bits.U5TXIE = 0; //enable tx interrupt
U5STAbits.URXISEL = 0b00; //interrupt for each character received
IFS2bits.U5RXIF = 0;
#ifdef POLL_UART2_RX
IEC1bits.U2RXIE = 0; //disable rx interrupts
#else
IEC2bits.U5RXIE = 1; //enable rx interrupts
#endif
U5STAbits.URXEN = 1; //enable receiver
U5STAbits.UTXEN = 1;
U5MODEbits.ON = 0; //disable module
int i;
for(i = 0; i < MAX_INTERNAL_UART_PORT; i++)
{
@ -170,7 +191,7 @@ int OpenInternalPort(int p_iUartPort,int p_iUartHandle,char *p_pcHeadPtr, char *
{
if(p_iUartPort > MAX_INTERNAL_UART_PORT)
return UART_INVALID_PORT;
int iBRG = (PERIPHERAL_FREQ/(4*p_iBaudRate)) - 1;
int iMask = 0;
@ -219,20 +240,30 @@ int OpenInternalPort(int p_iUartPort,int p_iUartHandle,char *p_pcHeadPtr, char *
U1MODEbits.ON = 1; //enable module
break;
}
case INTERNAL_UART_PORT_2:
case INTERNAL_UART_PORT_2:
{
INTERNAL_UART2_TX_PIN_DIR = PIN_OUTPUT;
INTERNAL_UART2_TX_PIN = 1;
U2MODE = iMask;
U2MODEbits.BRGH = 1;
U2BRG = iBRG;
U2MODEbits.ON = 1; //enable module
break;
}
case INTERNAL_UART_PORT_5:
{
INTERNAL_UART2_TX_PIN_DIR = PIN_OUTPUT;
INTERNAL_UART2_TX_PIN = 1;
U2MODE = iMask;
U2MODEbits.BRGH = 1;
U2BRG = iBRG;
U2MODEbits.ON = 1; //enable module
INTERNAL_UART5_TX_PIN_DIR = PIN_OUTPUT;
INTERNAL_UART5_TX_PIN = 1;
U5MODE = iMask;
U5MODEbits.BRGH = 1;
U5BRG = iBRG;
U5MODEbits.ON = 1; //enable module
break;
}
}
astInternalUartData[p_iUartPort].iIsOpened = 1;
return UART_OK;
}
@ -257,7 +288,7 @@ int SendInternalUartData(char *p_pcDataBuf, int p_iDataSize, int p_iUartPort, ch
//if(p_stUartDataPtr->iNbFIFOPendingBytes != 0) //If FIFO not empty
if(p_stUartDataPtr->iIsBusy == 1)
return UART_PORT_BUSY; //no space is available so flag the port as BUSY...
iBufSize = p_iDataSize;
if(iBufSize > INTERNAL_UART_BUFFER_DEPTH)
iBufSize = INTERNAL_UART_BUFFER_DEPTH;
@ -293,7 +324,7 @@ int SendInternalUartData(char *p_pcDataBuf, int p_iDataSize, int p_iUartPort, ch
int i;
for(i = 0; i < iBufSize; i++)
{
// KickWatchdog();
// KickWatchdog();
U1TXREG = *p_stUartDataPtr->pcTxDataPtr++;
while(U1STAbits.TRMT == 0);
}
@ -302,23 +333,47 @@ int SendInternalUartData(char *p_pcDataBuf, int p_iDataSize, int p_iUartPort, ch
}
break;
}
case INTERNAL_UART_PORT_2:
case INTERNAL_UART_PORT_2:
{
if(IEC1bits.U2TXIE)
{
//We consider at this point that the data has been sent for the upper layer.
DataSentNotification(p_stUartDataPtr->iUartHandle,iBufSize);
U2STAbits.UTXEN = 1;
}
else
{
int i;
for(i = 0; i < iBufSize; i++)
{
// KickWatchdog();
U2TXREG = *p_stUartDataPtr->pcTxDataPtr++;
while(U2STAbits.TRMT == 0);
LORA_MODULE_TX_LED_PIN = ~ LORA_MODULE_TX_LED_PIN;
}
p_stUartDataPtr->iIsBusy = 0;
DataSentNotification(p_stUartDataPtr->iUartHandle,iBufSize);
}
break;
}
case INTERNAL_UART_PORT_5:
{
if(IEC1bits.U2TXIE)
if(IEC2bits.U5TXIE)
{
//We consider at this point that the data has been sent for the upper layer.
DataSentNotification(p_stUartDataPtr->iUartHandle,iBufSize);
U2STAbits.UTXEN = 1;
U5STAbits.UTXEN = 1;
}
else
{
int i;
for(i = 0; i < iBufSize; i++)
{
// KickWatchdog();
U2TXREG = *p_stUartDataPtr->pcTxDataPtr++;
while(U2STAbits.TRMT == 0);
LORA_MODULE_TX_LED_PIN = ~ LORA_MODULE_TX_LED_PIN;
// KickWatchdog();
U5TXREG = *p_stUartDataPtr->pcTxDataPtr++;
while(U5STAbits.TRMT == 0);
LTE_MODULE_TX_LED_PIN = ~ LTE_MODULE_TX_LED_PIN;
}
p_stUartDataPtr->iIsBusy = 0;
DataSentNotification(p_stUartDataPtr->iUartHandle,iBufSize);
@ -334,24 +389,64 @@ int SendInternalUartData(char *p_pcDataBuf, int p_iDataSize, int p_iUartPort, ch
int SendInternalUartDataBlocking(char *p_pcDataBuf, int p_iDataSize, int p_iUartPort)
{
int i;
int temp = IEC1;
IEC1bits.U2TXIE = 0;
for(i = 0; i < p_iDataSize; i++)
{
LORA_MODULE_TX_LED_PIN = ~ LORA_MODULE_TX_LED_PIN;
U2TXREG = *p_pcDataBuf++;
while(U2STAbits.TRMT == 0);
switch(p_iUartPort)
{
case INTERNAL_UART_PORT_1:
{
int temp = IEC1;
IEC0bits.U1TXIE = 0;
for(i = 0; i < p_iDataSize; i++)
{
// LORA_MODULE_TX_LED_PIN = ~ LORA_MODULE_TX_LED_PIN;
U1TXREG = *p_pcDataBuf++;
while(U1STAbits.TRMT == 0);
}
// LORA_MODULE_TX_LED_PIN = LED_OFF;
IFS0bits.U1TXIF = 0;
IEC1 = temp;
break;
}
case INTERNAL_UART_PORT_2:
{
int temp = IEC1;
IEC1bits.U2TXIE = 0;
for(i = 0; i < p_iDataSize; i++)
{
LORA_MODULE_TX_LED_PIN = ~ LORA_MODULE_TX_LED_PIN;
U2TXREG = *p_pcDataBuf++;
while(U2STAbits.TRMT == 0);
}
LORA_MODULE_TX_LED_PIN = LED_OFF;
IFS1bits.U2TXIF = 0;
IEC1 = temp;
break;
}
case INTERNAL_UART_PORT_5:
{
int temp = IEC2;
IEC2bits.U5TXIE = 0;
for(i = 0; i < p_iDataSize; i++)
{
LTE_MODULE_TX_LED_PIN = ~ LTE_MODULE_TX_LED_PIN;
U2TXREG = *p_pcDataBuf++;
while(U5STAbits.TRMT == 0);
}
LTE_MODULE_TX_LED_PIN = LED_OFF;
IFS2bits.U5TXIF = 0;
IEC2 = temp;
break;
}
}
LORA_MODULE_TX_LED_PIN = LED_OFF;
IFS1bits.U2TXIF = 0;
IEC1 = temp;
return UART_OK;
}
void TickInternalUart(void)
{
#ifdef POLL_UART1_RX
if(U1STAbits.URXDA == 1)
{
if(U1STAbits.OERR) //Buffer overrun error. Data is lost.
@ -363,14 +458,14 @@ void TickInternalUart(void)
while(U1STAbits.URXDA && i < INTERNAL_UART_BUFFER_DEPTH)
{
char NewByte = U1RXREG;
// DriveProtocolRxData(&NewByte,1);
// DriveProtocolRxData(&NewByte,1);
acIntUartRxBuff[INTERNAL_UART_PORT_1][i++] = NewByte;
}
// UartReceiveData(UART_1,&acIntUartRxBuff[INTERNAL_UART_PORT_1][0], i);
// DriveProtocolRxData(&acIntUartRxBuff[INTERNAL_UART_PORT_1][0], i);
// UartReceiveData(UART_1,&acIntUartRxBuff[INTERNAL_UART_PORT_1][0], i);
// DriveProtocolRxData(&acIntUartRxBuff[INTERNAL_UART_PORT_1][0], i);
}
#endif
#ifdef POLL_UART2_RX
if(U2STAbits.URXDA == 1)
{
@ -378,34 +473,34 @@ void TickInternalUart(void)
while(U2STAbits.URXDA == 1 && i < INTERNAL_UART_BUFFER_DEPTH)
{
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;
ProtocolAnalyzeNewData(NewByte);
// LoraData <<= 8;
// unsigned int toto = NewByte;
// toto &= 0x000000FF;
// LoraData |= toto;
//
// if(LoraData == 0xDEADBEEF)
// {
// HEARTBEAT_LED_1_PIN = ~HEARTBEAT_LED_1_PIN;
// LORA_ACTIVITY_LED_PIN = ~LORA_ACTIVITY_LED_PIN;
// LoraData = 0;
// }
// HEARTBEAT_LED_2_PIN = ~HEARTBEAT_LED_2_PIN;
ProtocolAnalyzeNewData(NewByte);
// LoraData <<= 8;
// unsigned int toto = NewByte;
// toto &= 0x000000FF;
// LoraData |= toto;
//
// if(LoraData == 0xDEADBEEF)
// {
// HEARTBEAT_LED_1_PIN = ~HEARTBEAT_LED_1_PIN;
// LORA_ACTIVITY_LED_PIN = ~LORA_ACTIVITY_LED_PIN;
// LoraData = 0;
// }
// 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);
// CUProtocolRxData(&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);
}
#endif
}
//-----------------------------------------------------------------------------
@ -434,16 +529,16 @@ void __ISR(_UART_1_VECTOR, ipl7) InternalUart1AInterrupt(void)
}
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
// HCAM
// if(p_acUartDataPtr->iNbFIFOPendingBytes == 0)
// {
// // U1STAbits.UTXEN = 0; //all data sent, stop transmitter
// p_acUartDataPtr->iIsBusy = 0;
// }
// if(p_acUartDataPtr->iNbFIFOPendingBytes == 0)
// {
// // U1STAbits.UTXEN = 0; //all data sent, stop transmitter
// p_acUartDataPtr->iIsBusy = 0;
// }
}
}
if(IFS0bits.U1RXIF && IEC0bits.U1RXIE)
@ -467,7 +562,7 @@ void __ISR(_UART_1_VECTOR, ipl7) InternalUart1AInterrupt(void)
NewByte = U1RXREG;
acIntUartRxBuff[INTERNAL_UART_PORT_1][i++] = NewByte;
}
UartReceiveData(p_acUartDataPtr->iUartHandle,&acIntUartRxBuff[INTERNAL_UART_PORT_1][0], i);
@ -498,7 +593,7 @@ void __ISR(_UART_2_VECTOR, ipl7) InternalUart2Interrupt(void)
LORA_MODULE_TX_LED_PIN = ~ LORA_MODULE_TX_LED_PIN;
}
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
}
}
@ -523,7 +618,57 @@ void __ISR(_UART_2_VECTOR, ipl7) InternalUart2Interrupt(void)
LORA_MODULE_RX_LED_PIN = ~LORA_MODULE_RX_LED_PIN;
}
UartReceiveData(p_acUartDataPtr->iUartHandle,&acIntUartRxBuff[INTERNAL_UART_PORT_2][0], i);
}
}
void __ISR(_UART_5_VECTOR, ipl7) InternalUart5Interrupt(void)
{
stInternalUartData *p_acUartDataPtr = &astInternalUartData[INTERNAL_UART_PORT_5];
if(IFS2bits.U5TXIF && IEC2bits.U5TXIE)
{
IFS2bits.U5TXIF = 0;
//Check if there is still data to send in FIFO
if(p_acUartDataPtr->iNbFIFOPendingBytes == 0)
{
U5STAbits.UTXEN = 0; //all data sent, stop transmitter
p_acUartDataPtr->iIsBusy = 0;
//LORA_MODULE_TX_LED_PIN = LED_OFF;
}
else
{
do
{
U5TXREG = *p_acUartDataPtr->pcTxDataPtr++; //send data
p_acUartDataPtr->iNbFIFOPendingBytes--;
LTE_MODULE_TX_LED_PIN = ~ LTE_MODULE_TX_LED_PIN;
}
while((U5STAbits.UTXBF == 0) && //while there is space in buffer
(p_acUartDataPtr->iNbFIFOPendingBytes != 0)); //and data to send
}
}
if(IFS2bits.U5RXIF && IEC2bits.U5RXIE)
{
IFS2bits.U5RXIF = 0;
char NewByte;
int i;
if(U5STAbits.OERR) //Buffer overrun error. Data is lost.
{
U5STAbits.OERR = 0;
IFS2bits.U5RXIF = 0;
printf("UART5 OERR\n");
return;
}
i = 0;
while(U5STAbits.URXDA)
{
NewByte = U5RXREG;
acIntUartRxBuff[INTERNAL_UART_PORT_5][i++] = NewByte;
LTE_MODULE_RX_LED_PIN = ~LTE_MODULE_RX_LED_PIN;
}
UartReceiveData(p_acUartDataPtr->iUartHandle,&acIntUartRxBuff[INTERNAL_UART_PORT_5][0], i);
}
}
@ -560,12 +705,12 @@ void ResetUart1(void)
//-----------------------------------------------------------------------------
void ResetUart2(void)
{
//Setup port 2
//Setup port 2
//
U2MODEbits.ON = 0; //disable module
U2STAbits.UTXEN = 0; //disable transmitter
IEC1bits.U2TXIE = 0; //disable tx interrupt
IFS1bits.U2TXIF = 0; //clear interrupt flag
IEC1bits.U2TXIE = 0; //enable tx interrupt
@ -586,6 +731,35 @@ void ResetUart2(void)
U2MODEbits.ON = 1; //disable module
}
void ResetUart5(void)
{
//Setup port 2
//
U5MODEbits.ON = 0; //disable module
U5STAbits.UTXEN = 0; //disable transmitter
IEC2bits.U5TXIE = 0; //disable tx interrupt
IFS2bits.U5TXIF = 0; //clear interrupt flag
IEC2bits.U5TXIE = 0; //enable tx interrupt
IEC2bits.U5RXIE = 0; //disable rx interrupts
IFS2bits.U5RXIF = 1;
#ifdef POLL_UART2_RX
IEC2bits.U5RXIE = 0; //disable rx interrupts
#else
IEC2bits.U5RXIE = 1; //enable rx interrupts
#endif
U5STAbits.URXEN = 1; //enable receiver
astInternalUartData[INTERNAL_UART_PORT_5].pcTxDataPtr = &astInternalUartData[INTERNAL_UART_PORT_5].acIntUartTxFIFO[0];
astInternalUartData[INTERNAL_UART_PORT_5].iTxDataSize = 0;
astInternalUartData[INTERNAL_UART_PORT_5].iIsBusy = 0;
U5MODEbits.ON = 1; //enable module
}
//-----------------------------------------------------------------------------
void process(void)

View File

@ -40,13 +40,16 @@
#define INTERNAL_UART2_TX_PIN_DIR TRISFbits.TRISF5
#define INTERNAL_UART2_TX_PIN LATFbits.LATF5
#define INTERNAL_UART5_TX_PIN_DIR TRISBbits.TRISB14
#define INTERNAL_UART5_TX_PIN LATBbits.LATB14
/* ************************************************************************** */
/* Type definitions */
typedef enum
{
INTERNAL_UART_PORT_1,
INTERNAL_UART_PORT_2,
INTERNAL_UART_PORT_2,
INTERNAL_UART_PORT_5,
MAX_INTERNAL_UART_PORT
}eInternalUartPorts;
@ -92,6 +95,7 @@ int SendInternalUartDataBlocking(char *p_pcDataBuf, int p_iDataSize, int p_iUart
void TickInternalUart(void);
void ResetUart1(void);
void ResetUart2(void);
void ResetUart5(void);
#endif
//EOF

View File

@ -0,0 +1,226 @@
#include "SIM7080GInterface.h"
#include "BoardCfg.h"
#include "timer.h"
#include "Uart.h"
#include "Syslog.h"
#include "WiFiCtrl.h"
int mLTEModuleSMState;
int mNbCmdCharsReceived;
char mATCmd[LTE_MODULE_MAX_CMD_LENGTH];
bool mIsPassthroughEnabled;
bool mModuleSerialDebugEnabled;
bool mPICSerialDebugEnabled;
void InitLTEModule()
{
mLTEModuleSMState = LTE_MODULE_SM_INIT_STATE;
mNbCmdCharsReceived = 0;
mIsPassthroughEnabled = false;
mModuleSerialDebugEnabled = false;
mPICSerialDebugEnabled = false;
}
void LTEModuleSM(int SMEvent)
{
switch(mLTEModuleSMState)
{
case LTE_MODULE_SM_INIT_STATE:
{
LTE_MODULE_PWR_PIN = 0;
TimerStart(LTE_MODULE_TIMER,LTE_MODULE_POWERUP_TIMEOUT);
mLTEModuleSMState = LTE_MODULE_SM_POWERUP_STATE;
break;
}
case LTE_MODULE_SM_POWERUP_STATE:
{
if(IsTimerExpired(LTE_MODULE_TIMER) == true)
{
LTE_MODULE_PWR_PIN = 1;
TimerStart(LTE_MODULE_TIMER,LTE_MODULE_WAIT_INIT_TIMEOUT);
mLTEModuleSMState = LTE_MODULE_SM_WAIT_RDY_STATE;
}
break;
}
case LTE_MODULE_SM_WAIT_RDY_STATE:
{
if(SMEvent == LTE_MODULE_RX_RDY_EVENT)
{
mLTEModuleSMState = LTE_MODULE_SM_SETECHOOFF_STATE;
}
else if(SMEvent == LTE_MODULE_SM_TICK_EVENT)
{
//TODO: it module takes too much time... reset..
// if(IsTimerExpired(LTE_MODULE_TIMER) == true)
// {
// mLTEModuleSMState = LTE_MODULE_SM_SETAPN_STATE;
// }
}
break;
}
case LTE_MODULE_SM_SETECHOOFF_STATE:
{
char Cmd[5] = {'A','T','E','0','\r'};
//UartTransmitData(LTE_IF_UART_PORT,Cmd,5);
SendDataToLteModule(Cmd,5);
mLTEModuleSMState = LTE_MODULE_SM_RUN_STATE;
break;
}
case LTE_MODULE_SM_SETAPN_STATE:
{
char Cmd[10] = {'A','T','+','C','G','N','A','P','N','\r'};
//UartTransmitData(LTE_IF_UART_PORT,Cmd,10);
SendDataToLteModule(Cmd,10);
mLTEModuleSMState = LTE_MODULE_SM_RUN_STATE;
break;
}
case LTE_MODULE_SM_RUN_STATE:
{
if(SMEvent == LTE_MODULE_ENTER_PASSTHROUGH_EVENT)
{
mLTEModuleSMState = LTE_MODULE_SM_PASSTHROUGH_STATE;
SyslogNewString("LTE Module entering passthrough mode...");
}
break;
}
case LTE_MODULE_SM_PASSTHROUGH_STATE:
{
if(SMEvent == LTE_MODULE_EXIT_PASSTHROUGH_EVENT)
{
SyslogNewString("LTE Module exiting passthrough mode...");
mLTEModuleSMState = LTE_MODULE_SM_RUN_STATE;
}
break;
}
}
}
void TickLTEModule()
{
LTEModuleSM(LTE_MODULE_SM_TICK_EVENT);
}
void LTEModuleNewData(unsigned char Data)
{
if(mIsPassthroughEnabled == true)
{
SyslogNewByte(Data);
// SendSyslogByte(Data);
return;
}
if(mModuleSerialDebugEnabled == true)
{
SyslogNewByte(Data);
}
if(Data == '\n') //ignore line feeds
return;
if(Data != '\r')
{
if(mNbCmdCharsReceived < LTE_MODULE_MAX_CMD_LENGTH)
{
mATCmd[mNbCmdCharsReceived] = Data;
mNbCmdCharsReceived++;
}
else
{
//error...
mNbCmdCharsReceived = 0;
}
}
else
{
if(mNbCmdCharsReceived != 0) //New Command received
{
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)
{
//Fwd cmd to interpreter...
mNbCmdCharsReceived = mNbCmdCharsReceived;
}
mNbCmdCharsReceived = 0;
}
}
}
void LTEEnterSerialPassthrough()
{
LTEModuleSM(LTE_MODULE_ENTER_PASSTHROUGH_EVENT);
mIsPassthroughEnabled = true;
SyslogSetLTEPassthrough(true);
mPICSerialDebugEnabled = false;
mModuleSerialDebugEnabled = false;
}
void LTEExitSerialPassthrough()
{
LTEModuleSM(LTE_MODULE_EXIT_PASSTHROUGH_EVENT);
mIsPassthroughEnabled = false;
SyslogSetLTEPassthrough(false);
}
void LTEFwdPassthroughData(char Data)
{
if(mIsPassthroughEnabled == true)
{
UartTransmitData(LTE_IF_UART_PORT,&Data,1);
}
}
int LTEEnableSerialDebug(bool EnModule, bool EnPic)
{
if(EnModule == true)
{
if(mIsPassthroughEnabled == true)
{
return RET_ERROR;
}
mModuleSerialDebugEnabled = true;
}
else
{
mModuleSerialDebugEnabled = false;
}
if(EnPic == true)
{
if(mIsPassthroughEnabled == true)
{
return RET_ERROR;
}
mPICSerialDebugEnabled = true;
}
else
{
mPICSerialDebugEnabled = false;
}
return RET_OK;
}
void SendDataToLteModule(char *Data, int Size)
{
if(mPICSerialDebugEnabled)
{
int i;
for(i = 0; i < Size; i++)
{
SyslogNewByte(*Data++);
}
}
UartTransmitData(LTE_IF_UART_PORT,Data,Size);
}

View File

@ -0,0 +1,54 @@
/*
* File: SIM7080GInterface.h
* Author: JF
*
* Created on August 13, 2024, 1:43 PM
*/
#ifndef SIM7080GINTERFACE_H
#define SIM7080GINTERFACE_H
#include "define.h"
#define LTE_MODULE_POWERUP_TIMEOUT 2000
#define LTE_MODULE_WAIT_INIT_TIMEOUT 5000
#define LTE_MODULE_MAX_CMD_LENGTH 128
enum eLTEModuleStates
{
LTE_MODULE_SM_INIT_STATE,
LTE_MODULE_SM_POWERUP_STATE,
LTE_MODULE_SM_WAIT_RDY_STATE,
LTE_MODULE_SM_SETECHOOFF_STATE,
LTE_MODULE_SM_SETAPN_STATE,
LTE_MODULE_SM_RUN_STATE,
LTE_MODULE_SM_PASSTHROUGH_STATE,
LTE_MODULE_SM_MAX_STATE
};
enum eLTEModuleEvents
{
LTE_MODULE_SM_TICK_EVENT,
LTE_MODULE_RX_DATA_EVENT,
LTE_MODULE_RX_RDY_EVENT,
LTE_MODULE_ENTER_PASSTHROUGH_EVENT,
LTE_MODULE_EXIT_PASSTHROUGH_EVENT,
LTE_MODULE_MAX_EVENT
};
void InitLTEModule();
void LTEModuleSM(int SMEvent);
void TickLTEModule();
void LTEModuleNewData(unsigned char Data);
void LTEEnterSerialPassthrough();
void LTEExitSerialPassthrough();
void LTEFwdPassthroughData(char Data);
int LTEEnableSerialDebug(bool EnModule, bool EnPic);
void SendDataToLteModule(char *Data, int Size);
#endif /* SIM7080GINTERFACE_H */

View File

@ -6,15 +6,18 @@
#include "terminal.h"
#include "WiFiCtrl.h"
#include "timer.h"
#include "SIM7080GInterface.h"
//#define SYSLOG_BUFFER_SIZE 1024
#define SYSLOG_BUFFER_SIZE 500
char mSyslogBuffer[SYSLOG_BUFFER_SIZE];
int mSyslogBufPtr;
bool mSyslogLTEPassthroughEnabled;
int InitSyslog()
{
mSyslogBufPtr = 0;
mSyslogLTEPassthroughEnabled = 0;
memset(mSyslogBuffer,0,SYSLOG_BUFFER_SIZE);
TimerStart(SYSLOG_TX_TIMER,SYSLOG_TX_TIMEOUT);
@ -89,4 +92,30 @@ int SyslogIsBufferEmpty()
return RET_ERROR;
}
}
void SyslogSetLTEPassthrough(bool Enable)
{
mSyslogLTEPassthroughEnabled = Enable;
if(Enable == true)
{
SendSyslogData("\nEntering LTE passthrough mode\n",strlen("\nEntering LTE passthrough mode\n"));
}
else
{
SendSyslogData("\nExiting LTE passthrough mode\n",strlen("\nExiting LTE passthrough mode\n"));
}
}
void RxSyslogBuf(unsigned char *DataBuf, int size)
{
if(mSyslogLTEPassthroughEnabled == true)
{
int i = 0;
for(i = 0; i < size; i++)
{
LTEFwdPassthroughData(*DataBuf++);
}
}
}

View File

@ -1,6 +1,6 @@
#ifndef SYSLOG_H
#define SYSLOG_H
#include "define.h"
#define SYSLOG_TX_TIMEOUT 200 //ms
@ -9,6 +9,8 @@ void SyslogTick();
int SyslogNewByte(char byte);
int SyslogNewString(char *string);
int SyslogIsBufferEmpty();
void SyslogSetLTEPassthrough(bool Enable);
void RxSyslogBuf(unsigned char *DataBuf, int size);
#endif

View File

@ -23,6 +23,7 @@
#include "ChaletPowerRelay.h"
#include "BatteryMonitor.h"
#include "BootloaderInterface.h"
#include "SIM7080GInterface.h"
//#include "SDCardMgr.h"
#ifdef TERMINAL_USE_TELNET
@ -63,9 +64,16 @@ static BYTE mHelpString[] = "Here is the list of the available commands:\n\r\n\
"\nbootloader [command] : bootloader mode control\n"
" - Available [command] argument are: start (enable bootloader and opens port)\n"
" stop (disables bootloader if not busy)\n"
" state (prints actual state of the bootloader)\n"
//"\ndebug : print some real-time stuff..."
" state (prints actual state of the bootloader)\n";
static BYTE mHelpString1[] = "\nlte [command] [value] : bootloader mode control\n"
" - Available [command] argument are: passthrough (enable using syslog as a passthrough interface with lte module)\n"
" -Available passthrough [value]: on (enable passthrough)\n"
" off (disable passthrough)\n"
" debug (enable using syslog as a debug interface with lte module)\n"
" -Available debug [value]: module (debug LTE module comm only)\n"
" pic (debug PIC comm only)\n"
" both (debug both PIC and LTE module comm )\n"
" off (disable LTE debug)\n"
"\nHave a good day!\n";
BYTE *mHelpStringPtr;
@ -83,7 +91,7 @@ void InitTerminal(void)
void TickTerminal()
{
switch(mTerminalPendingAction)
switch(mTerminalPendingAction)
{
case TERMINAL_ACTION_NONE:
{
@ -171,12 +179,9 @@ void ParseNewBuffer(void)
if(strncmp(mCmdString,"help",strlen("help")) == 0)
{
mHelpStringPtr = mHelpString;
static BYTE* Ptr= mHelpString;
SendTerminalData(mHelpString,strlen(mHelpString));
Ptr = mHelpStringPtr;
SendTerminalData(mHelpString1,strlen(mHelpString1));
}
else if(strncmp(mCmdString,"power",strlen("power")) == 0)
@ -222,7 +227,7 @@ void ParseNewBuffer(void)
}
else
{
TerminalPrintString("WiFi already connected...\n");
TerminalPrintString("WiFi already connected...\n");
}
}
else if(strncmp(mDataString1,"off",strlen("off")) == 0)
@ -289,7 +294,7 @@ void ParseNewBuffer(void)
TerminalPrintString("mA\n");
return;
}
if(strncmp(mDataString1,"voltage",strlen("voltage")) == 0)
{
char voltage[15];
@ -311,27 +316,27 @@ void ParseNewBuffer(void)
char SOC[15];
sprintf(SOC,"%d",GetBatterySOC());
TerminalPrintString("Battery SOC: ");
// TerminalPrintString(SOC);
// TerminalPrintString(SOC);
TerminalPrintString("%\n");
}
TerminalPrintString("\n");
}
else if(strncmp(mCmdString,"status",strlen("status")) == 0)
{
// TerminalPrintString("General status:\nBattery: TBD \nWiFi: TBD\nOther Stuff: TBD\n");
// TerminalPrintString("General status:\nBattery: TBD \nWiFi: TBD\nOther Stuff: TBD\n");
TerminalPrintString("General status:\n");
if(GetChaletPowerRelayState() == CHALET_POWER_RELAY_OFF_STATE)
{
TerminalPrintString("Inverter power relay: OFF\n");
TerminalPrintString("Inverter power relay: OFF\n");
}
else if(GetChaletPowerRelayState() == CHALET_POWER_RELAY_ON_STATE)
{
TerminalPrintString("Inverter power relay: ON\n");
TerminalPrintString("Inverter power relay: ON\n");
}
else
{
TerminalPrintString("Inverter power relay: UNKNOWN\n");
TerminalPrintString("Inverter power relay: UNKNOWN\n");
}
switch(GetWiFiSate())
@ -359,7 +364,7 @@ void ParseNewBuffer(void)
case WIFI_UNKNOWN_STATE:
default:
{
TerminalPrintString("WiFi: Unknown state\n");
TerminalPrintString("WiFi: Unknown state\n");
break;
}
}
@ -392,9 +397,9 @@ void ParseNewBuffer(void)
sprintf(SOC,"%d%%\n",GetBatterySOC());
TerminalPrintString("Battery SOC: ");
TerminalPrintString(SOC);
// TerminalPrintString("\n");
// TerminalPrintString("\n");
TerminalPrintString("\n");
@ -410,7 +415,7 @@ void ParseNewBuffer(void)
if(strncmp(mDataString1,"start",strlen("start")) == 0)
{
//start bootloader server
// OpenBootloaderServer();
// OpenBootloaderServer();
BootloaderActivateBootloader();
TerminalPrintString("Activating bootloader\n");
}
@ -418,7 +423,7 @@ void ParseNewBuffer(void)
{
//CloseBootloaderServer();
TerminalPrintString("Deactivating bootloader\n");
BootloaderDeactivateBootloader();
BootloaderDeactivateBootloader();
}
else if(strncmp(mDataString1,"status",strlen("status")) == 0)
{
@ -428,14 +433,92 @@ void ParseNewBuffer(void)
return;
}
else
if(IsBootloaderClientConnected())
{
TerminalPrintString("\nBootloader client not connected\n");
return;
}
if(IsBootloaderClientConnected())
{
TerminalPrintString("\nBootloader client not connected\n");
return;
}
}
}
else if(strncmp(mCmdString,"lte",strlen("lte")) == 0)
{
if(strlen(mDataString1) == 0)
{
TerminalPrintString("\n[command] parameter is invalid. Type 'help' for more info\n");
return;
}
if(strlen(mDataString2) == 0)
{
TerminalPrintString("\n[value] parameter is invalid. Type 'help' for more info\n");
return;
}
if(strncmp(mDataString1,"passthrough",strlen("passthrough")) == 0)
{
if(strncmp(mDataString2,"on",strlen("on")) == 0)
{
LTEEnterSerialPassthrough();
TerminalPrintString("LTE passthrough enabled in Syslog window\n");
}
else if (strncmp(mDataString2,"off",strlen("off")) == 0)
{
LTEExitSerialPassthrough();
TerminalPrintString("LTE passthrough disabled\n");
}
else
{
TerminalPrintString("\nInvalid [value] parameter (use on or off)\n");
}
}
if(strncmp(mDataString1,"debug",strlen("debug")) == 0)
{
if(strncmp(mDataString2,"module",strlen("module")) == 0)
{
if(LTEEnableSerialDebug(true,false) == RET_OK)
{
TerminalPrintString("LTE module debug enabled in Syslog window\n");
}
else
{
TerminalPrintString("Cannot put LTE module in debug mode (passthrought enabled?)\n");
}
}
else if(strncmp(mDataString2,"pic",strlen("pic")) == 0)
{
if(LTEEnableSerialDebug(false,true) == RET_OK)
{
TerminalPrintString("LTE PIC comm debug enabled in Syslog window\n");
}
else
{
TerminalPrintString("Cannot put LTE PIC comm in debug mode (passthrought enabled?)\n");
}
}
else if(strncmp(mDataString2,"both",strlen("both")) == 0)
{
if(LTEEnableSerialDebug(true,true) == RET_OK)
{
TerminalPrintString("LTE module and PIC comm debug enabled in Syslog window\n");
}
else
{
TerminalPrintString("Cannot put LTE comm in debug mode (passthrought enabled?)\n");
}
}
else if (strncmp(mDataString2,"off",strlen("off")) == 0)
{
LTEEnableSerialDebug(false,false);
TerminalPrintString("LTE debug disabled\n");
}
else
{
TerminalPrintString("\nInvalid [value] parameter (use on or off)\n");
}
}
}
else if(strncmp(mCmdString,"debug",strlen(mCmdString)) == 0)
{
// if(strlen(mDataString1) == 0)

View File

@ -39,6 +39,7 @@
#include "digitalio.h"
//#include "DriveProtocol.h"
#include "terminal.h"
#include "SIM7080GInterface.h"
@ -47,8 +48,8 @@
stUartData astUartData[MAX_UART_HANDLE];
const char *gUartStrings[MAX_UART_HANDLE] = { "PRINTF" //UART_1
//,"CU", //UART_2
const char *gUartStrings[MAX_UART_HANDLE] = { "LORA" //UART_1
,"LTE", //UART_5
// ,"CONSOLE" //UART_3
};
@ -86,8 +87,8 @@ void InitUart(void)
astUartData[UART_1].iIsInternal = 1;
astUartData[UART_1].iPhysicalUartPort = INTERNAL_UART_PORT_2; // (232)
// astUartData[UART_2].iIsInternal = 1;
//astUartData[UART_2].iPhysicalUartPort = INTERNAL_UART_PORT_2; // (232)
astUartData[UART_2].iIsInternal = 1;
astUartData[UART_2].iPhysicalUartPort = INTERNAL_UART_PORT_5; // (232)
#ifndef NO_EXTERNAL_UART
astUartData[UART_3].iIsInternal = 0;
@ -97,7 +98,8 @@ void InitUart(void)
setbuf(stdout,NULL); //to use printf without \r
fflush(stdout);
UartOpenComPort(NETWORK_UART_PORT,9600,UART_ONE_STOP_BIT,UART_NO_PARITY); //Open console port
UartOpenComPort(NETWORK_UART_PORT,9600,UART_ONE_STOP_BIT,UART_NO_PARITY); //Open LoRa module port
UartOpenComPort(LTE_IF_UART_PORT,115200,UART_ONE_STOP_BIT,UART_NO_PARITY); //Open LTE module port
#ifdef USE_PRINTF
//UartOpenComPort(CONSOLE_UART_PORT,115200,UART_ONE_STOP_BIT,UART_NO_PARITY); //Open console port
@ -132,7 +134,13 @@ int UartResetPort(int p_iUartHandle)
{
ResetUart2();
break;
}
}
case INTERNAL_UART_PORT_5:
{
ResetUart5();
break;
}
default:
break;
}
@ -595,7 +603,19 @@ int UartTick(void)
//RxTerminalData(aTempBuffer[i]);
}
break;
}
}
case LTE_IF_UART_PORT:
{
int i = 0;
for(i = 0; i< iNbPendingData; i++)
{
LTE_MODULE_RX_LED_PIN = ~LTE_MODULE_RX_LED_PIN;
LTEModuleNewData(aTempBuffer[i]);
//ProtocolAnalyzeNewData(aTempBuffer[i]);
//RxTerminalData(aTempBuffer[i]);
}
break;
}
}
}
}

View File

@ -38,8 +38,8 @@
//
enum eUartHandles
{
UART_1, //(232) Uart 1 - Drive
//UART_2, //(232) Uart 2 - CU
UART_1, //(232) internet Uart 2 - Lora IF
UART_2, //(232) internal Uart 5 - SIM7080G LTE IF
//UART_3, // !!!EXTERNAL!!! SPI daughter board...
MAX_UART_HANDLE,

View File

@ -214,7 +214,7 @@ static void socket_cb(SOCKET sock, uint8 u8Msg, void *pvMsg)
{
//Fwd data to stdin...
recv(SyslogSocket, SyslogRxBuf, sizeof(SyslogRxBuf), 0);
//Syslog shall ignore data...
RxSyslogBuf(SyslogRxBuf, pstrRecvMsg->s16BufferSize);
}
else if(sock == NetworkSocket)
{

View File

@ -157,7 +157,7 @@ enum eWiFiState
#define NETWORK_UART_PORT UART_1
#define LORA_MODULE_UART_PORT UART_2
#define LTE_IF_UART_PORT UART_2
//

View File

@ -42,6 +42,7 @@
#include "TemperatureSensor.h"
#include "LoraWatchdog.h"
#include "LCDCtrl.h"
#include "SIM7080GInterface.h"
#include "BootloaderInterface.h"
@ -106,6 +107,7 @@ int main(void)
InitSPIFlash();
InitLCDCtrl();
InitLTEModule();
@ -207,6 +209,7 @@ int main(void)
BootloaderInterfaceTick();
TickLoraWatchdog();
TickLCDCtrl();
TickLTEModule();
if(IsTimerExpired(HEARTBEAT_LED_TMR))
{

View File

@ -51,6 +51,7 @@ typedef enum
BOOTLOADER_FLASH_POLL_TIMER,
LORA_WATCHDOG_TIMER,
LCD_CTRL_TIMER,
LTE_MODULE_TIMER,
TIMER_MAX_ID
}eTimerID;

File diff suppressed because it is too large Load Diff

View File

@ -51,17 +51,17 @@ OBJECTDIR=build/${CND_CONF}/${IMAGE_TYPE}
DISTDIR=dist/${CND_CONF}/${IMAGE_TYPE}
# Source Files Quoted if spaced
SOURCEFILES_QUOTED_IF_SPACED=Source/ChaletduinoV2Board.c Source/winc3400_142/common/source/nm_common.c Source/winc3400_142/driver/source/m2m_flash.c Source/winc3400_142/driver/source/m2m_hif.c Source/winc3400_142/driver/source/m2m_ota.c Source/winc3400_142/driver/source/m2m_periph.c Source/winc3400_142/driver/source/m2m_ssl.c Source/winc3400_142/driver/source/m2m_wifi.c Source/winc3400_142/driver/source/nmasic.c Source/winc3400_142/driver/source/nmbus.c Source/winc3400_142/driver/source/nmdrv.c Source/winc3400_142/driver/source/nmspi.c Source/winc3400_142/socket/source/inet_addr.c Source/winc3400_142/socket/source/inet_ntop.c Source/winc3400_142/socket/source/socket.c Source/winc3400_142/spi_flash/source/spi_flash.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/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 Source/hd44780.c Source/LCDCtrl.c Source/LoraNetworkInterface.c
SOURCEFILES_QUOTED_IF_SPACED=Source/ChaletduinoV2Board.c Source/winc3400_142/common/source/nm_common.c Source/winc3400_142/driver/source/m2m_flash.c Source/winc3400_142/driver/source/m2m_hif.c Source/winc3400_142/driver/source/m2m_ota.c Source/winc3400_142/driver/source/m2m_periph.c Source/winc3400_142/driver/source/m2m_ssl.c Source/winc3400_142/driver/source/m2m_wifi.c Source/winc3400_142/driver/source/nmasic.c Source/winc3400_142/driver/source/nmbus.c Source/winc3400_142/driver/source/nmdrv.c Source/winc3400_142/driver/source/nmspi.c Source/winc3400_142/socket/source/inet_addr.c Source/winc3400_142/socket/source/inet_ntop.c Source/winc3400_142/socket/source/socket.c Source/winc3400_142/spi_flash/source/spi_flash.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/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 Source/hd44780.c Source/LCDCtrl.c Source/LoraNetworkInterface.c Source/SIM7080GInterface.c
# Object Files Quoted if spaced
OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/Source/ChaletduinoV2Board.o ${OBJECTDIR}/Source/winc3400_142/common/source/nm_common.o ${OBJECTDIR}/Source/winc3400_142/driver/source/m2m_flash.o ${OBJECTDIR}/Source/winc3400_142/driver/source/m2m_hif.o ${OBJECTDIR}/Source/winc3400_142/driver/source/m2m_ota.o ${OBJECTDIR}/Source/winc3400_142/driver/source/m2m_periph.o ${OBJECTDIR}/Source/winc3400_142/driver/source/m2m_ssl.o ${OBJECTDIR}/Source/winc3400_142/driver/source/m2m_wifi.o ${OBJECTDIR}/Source/winc3400_142/driver/source/nmasic.o ${OBJECTDIR}/Source/winc3400_142/driver/source/nmbus.o ${OBJECTDIR}/Source/winc3400_142/driver/source/nmdrv.o ${OBJECTDIR}/Source/winc3400_142/driver/source/nmspi.o ${OBJECTDIR}/Source/winc3400_142/socket/source/inet_addr.o ${OBJECTDIR}/Source/winc3400_142/socket/source/inet_ntop.o ${OBJECTDIR}/Source/winc3400_142/socket/source/socket.o ${OBJECTDIR}/Source/winc3400_142/spi_flash/source/spi_flash.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/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 ${OBJECTDIR}/Source/hd44780.o ${OBJECTDIR}/Source/LCDCtrl.o ${OBJECTDIR}/Source/LoraNetworkInterface.o
POSSIBLE_DEPFILES=${OBJECTDIR}/Source/ChaletduinoV2Board.o.d ${OBJECTDIR}/Source/winc3400_142/common/source/nm_common.o.d ${OBJECTDIR}/Source/winc3400_142/driver/source/m2m_flash.o.d ${OBJECTDIR}/Source/winc3400_142/driver/source/m2m_hif.o.d ${OBJECTDIR}/Source/winc3400_142/driver/source/m2m_ota.o.d ${OBJECTDIR}/Source/winc3400_142/driver/source/m2m_periph.o.d ${OBJECTDIR}/Source/winc3400_142/driver/source/m2m_ssl.o.d ${OBJECTDIR}/Source/winc3400_142/driver/source/m2m_wifi.o.d ${OBJECTDIR}/Source/winc3400_142/driver/source/nmasic.o.d ${OBJECTDIR}/Source/winc3400_142/driver/source/nmbus.o.d ${OBJECTDIR}/Source/winc3400_142/driver/source/nmdrv.o.d ${OBJECTDIR}/Source/winc3400_142/driver/source/nmspi.o.d ${OBJECTDIR}/Source/winc3400_142/socket/source/inet_addr.o.d ${OBJECTDIR}/Source/winc3400_142/socket/source/inet_ntop.o.d ${OBJECTDIR}/Source/winc3400_142/socket/source/socket.o.d ${OBJECTDIR}/Source/winc3400_142/spi_flash/source/spi_flash.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/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 ${OBJECTDIR}/Source/hd44780.o.d ${OBJECTDIR}/Source/LCDCtrl.o.d ${OBJECTDIR}/Source/LoraNetworkInterface.o.d
OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/Source/ChaletduinoV2Board.o ${OBJECTDIR}/Source/winc3400_142/common/source/nm_common.o ${OBJECTDIR}/Source/winc3400_142/driver/source/m2m_flash.o ${OBJECTDIR}/Source/winc3400_142/driver/source/m2m_hif.o ${OBJECTDIR}/Source/winc3400_142/driver/source/m2m_ota.o ${OBJECTDIR}/Source/winc3400_142/driver/source/m2m_periph.o ${OBJECTDIR}/Source/winc3400_142/driver/source/m2m_ssl.o ${OBJECTDIR}/Source/winc3400_142/driver/source/m2m_wifi.o ${OBJECTDIR}/Source/winc3400_142/driver/source/nmasic.o ${OBJECTDIR}/Source/winc3400_142/driver/source/nmbus.o ${OBJECTDIR}/Source/winc3400_142/driver/source/nmdrv.o ${OBJECTDIR}/Source/winc3400_142/driver/source/nmspi.o ${OBJECTDIR}/Source/winc3400_142/socket/source/inet_addr.o ${OBJECTDIR}/Source/winc3400_142/socket/source/inet_ntop.o ${OBJECTDIR}/Source/winc3400_142/socket/source/socket.o ${OBJECTDIR}/Source/winc3400_142/spi_flash/source/spi_flash.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/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 ${OBJECTDIR}/Source/hd44780.o ${OBJECTDIR}/Source/LCDCtrl.o ${OBJECTDIR}/Source/LoraNetworkInterface.o ${OBJECTDIR}/Source/SIM7080GInterface.o
POSSIBLE_DEPFILES=${OBJECTDIR}/Source/ChaletduinoV2Board.o.d ${OBJECTDIR}/Source/winc3400_142/common/source/nm_common.o.d ${OBJECTDIR}/Source/winc3400_142/driver/source/m2m_flash.o.d ${OBJECTDIR}/Source/winc3400_142/driver/source/m2m_hif.o.d ${OBJECTDIR}/Source/winc3400_142/driver/source/m2m_ota.o.d ${OBJECTDIR}/Source/winc3400_142/driver/source/m2m_periph.o.d ${OBJECTDIR}/Source/winc3400_142/driver/source/m2m_ssl.o.d ${OBJECTDIR}/Source/winc3400_142/driver/source/m2m_wifi.o.d ${OBJECTDIR}/Source/winc3400_142/driver/source/nmasic.o.d ${OBJECTDIR}/Source/winc3400_142/driver/source/nmbus.o.d ${OBJECTDIR}/Source/winc3400_142/driver/source/nmdrv.o.d ${OBJECTDIR}/Source/winc3400_142/driver/source/nmspi.o.d ${OBJECTDIR}/Source/winc3400_142/socket/source/inet_addr.o.d ${OBJECTDIR}/Source/winc3400_142/socket/source/inet_ntop.o.d ${OBJECTDIR}/Source/winc3400_142/socket/source/socket.o.d ${OBJECTDIR}/Source/winc3400_142/spi_flash/source/spi_flash.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/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 ${OBJECTDIR}/Source/hd44780.o.d ${OBJECTDIR}/Source/LCDCtrl.o.d ${OBJECTDIR}/Source/LoraNetworkInterface.o.d ${OBJECTDIR}/Source/SIM7080GInterface.o.d
# Object Files
OBJECTFILES=${OBJECTDIR}/Source/ChaletduinoV2Board.o ${OBJECTDIR}/Source/winc3400_142/common/source/nm_common.o ${OBJECTDIR}/Source/winc3400_142/driver/source/m2m_flash.o ${OBJECTDIR}/Source/winc3400_142/driver/source/m2m_hif.o ${OBJECTDIR}/Source/winc3400_142/driver/source/m2m_ota.o ${OBJECTDIR}/Source/winc3400_142/driver/source/m2m_periph.o ${OBJECTDIR}/Source/winc3400_142/driver/source/m2m_ssl.o ${OBJECTDIR}/Source/winc3400_142/driver/source/m2m_wifi.o ${OBJECTDIR}/Source/winc3400_142/driver/source/nmasic.o ${OBJECTDIR}/Source/winc3400_142/driver/source/nmbus.o ${OBJECTDIR}/Source/winc3400_142/driver/source/nmdrv.o ${OBJECTDIR}/Source/winc3400_142/driver/source/nmspi.o ${OBJECTDIR}/Source/winc3400_142/socket/source/inet_addr.o ${OBJECTDIR}/Source/winc3400_142/socket/source/inet_ntop.o ${OBJECTDIR}/Source/winc3400_142/socket/source/socket.o ${OBJECTDIR}/Source/winc3400_142/spi_flash/source/spi_flash.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/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 ${OBJECTDIR}/Source/hd44780.o ${OBJECTDIR}/Source/LCDCtrl.o ${OBJECTDIR}/Source/LoraNetworkInterface.o
OBJECTFILES=${OBJECTDIR}/Source/ChaletduinoV2Board.o ${OBJECTDIR}/Source/winc3400_142/common/source/nm_common.o ${OBJECTDIR}/Source/winc3400_142/driver/source/m2m_flash.o ${OBJECTDIR}/Source/winc3400_142/driver/source/m2m_hif.o ${OBJECTDIR}/Source/winc3400_142/driver/source/m2m_ota.o ${OBJECTDIR}/Source/winc3400_142/driver/source/m2m_periph.o ${OBJECTDIR}/Source/winc3400_142/driver/source/m2m_ssl.o ${OBJECTDIR}/Source/winc3400_142/driver/source/m2m_wifi.o ${OBJECTDIR}/Source/winc3400_142/driver/source/nmasic.o ${OBJECTDIR}/Source/winc3400_142/driver/source/nmbus.o ${OBJECTDIR}/Source/winc3400_142/driver/source/nmdrv.o ${OBJECTDIR}/Source/winc3400_142/driver/source/nmspi.o ${OBJECTDIR}/Source/winc3400_142/socket/source/inet_addr.o ${OBJECTDIR}/Source/winc3400_142/socket/source/inet_ntop.o ${OBJECTDIR}/Source/winc3400_142/socket/source/socket.o ${OBJECTDIR}/Source/winc3400_142/spi_flash/source/spi_flash.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/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 ${OBJECTDIR}/Source/hd44780.o ${OBJECTDIR}/Source/LCDCtrl.o ${OBJECTDIR}/Source/LoraNetworkInterface.o ${OBJECTDIR}/Source/SIM7080GInterface.o
# Source Files
SOURCEFILES=Source/ChaletduinoV2Board.c Source/winc3400_142/common/source/nm_common.c Source/winc3400_142/driver/source/m2m_flash.c Source/winc3400_142/driver/source/m2m_hif.c Source/winc3400_142/driver/source/m2m_ota.c Source/winc3400_142/driver/source/m2m_periph.c Source/winc3400_142/driver/source/m2m_ssl.c Source/winc3400_142/driver/source/m2m_wifi.c Source/winc3400_142/driver/source/nmasic.c Source/winc3400_142/driver/source/nmbus.c Source/winc3400_142/driver/source/nmdrv.c Source/winc3400_142/driver/source/nmspi.c Source/winc3400_142/socket/source/inet_addr.c Source/winc3400_142/socket/source/inet_ntop.c Source/winc3400_142/socket/source/socket.c Source/winc3400_142/spi_flash/source/spi_flash.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/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 Source/hd44780.c Source/LCDCtrl.c Source/LoraNetworkInterface.c
SOURCEFILES=Source/ChaletduinoV2Board.c Source/winc3400_142/common/source/nm_common.c Source/winc3400_142/driver/source/m2m_flash.c Source/winc3400_142/driver/source/m2m_hif.c Source/winc3400_142/driver/source/m2m_ota.c Source/winc3400_142/driver/source/m2m_periph.c Source/winc3400_142/driver/source/m2m_ssl.c Source/winc3400_142/driver/source/m2m_wifi.c Source/winc3400_142/driver/source/nmasic.c Source/winc3400_142/driver/source/nmbus.c Source/winc3400_142/driver/source/nmdrv.c Source/winc3400_142/driver/source/nmspi.c Source/winc3400_142/socket/source/inet_addr.c Source/winc3400_142/socket/source/inet_ntop.c Source/winc3400_142/socket/source/socket.c Source/winc3400_142/spi_flash/source/spi_flash.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/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 Source/hd44780.c Source/LCDCtrl.c Source/LoraNetworkInterface.c Source/SIM7080GInterface.c
@ -383,6 +383,12 @@ ${OBJECTDIR}/Source/LoraNetworkInterface.o: Source/LoraNetworkInterface.c .gene
@${RM} ${OBJECTDIR}/Source/LoraNetworkInterface.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" -I"Source/winc3400_142" -I"Source/winc3400_142/bsp/include" -I"Source/winc3400_142/common/include" -I"Source/winc3400_142/driver/include" -I"Source/winc3400_142/socket/include" -I"Source/winc3400_142/spi_flash/include" -DCHALETDUINO_V2_BRD -D_SUPPRESS_PLIB_WARNING -MP -MMD -MF "${OBJECTDIR}/Source/LoraNetworkInterface.o.d" -o ${OBJECTDIR}/Source/LoraNetworkInterface.o Source/LoraNetworkInterface.c -DXPRJ_ChaletDuinoV2_795F512H_=$(CND_CONF) $(COMPARISON_BUILD)
${OBJECTDIR}/Source/SIM7080GInterface.o: Source/SIM7080GInterface.c .generated_files/flags/ChaletDuinoV2_795F512H_/393cd301e79cf1604517ded88ef2db158b1cbcbf .generated_files/flags/ChaletDuinoV2_795F512H_/da39a3ee5e6b4b0d3255bfef95601890afd80709
@${MKDIR} "${OBJECTDIR}/Source"
@${RM} ${OBJECTDIR}/Source/SIM7080GInterface.o.d
@${RM} ${OBJECTDIR}/Source/SIM7080GInterface.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" -I"Source/winc3400_142" -I"Source/winc3400_142/bsp/include" -I"Source/winc3400_142/common/include" -I"Source/winc3400_142/driver/include" -I"Source/winc3400_142/socket/include" -I"Source/winc3400_142/spi_flash/include" -DCHALETDUINO_V2_BRD -D_SUPPRESS_PLIB_WARNING -MP -MMD -MF "${OBJECTDIR}/Source/SIM7080GInterface.o.d" -o ${OBJECTDIR}/Source/SIM7080GInterface.o Source/SIM7080GInterface.c -DXPRJ_ChaletDuinoV2_795F512H_=$(CND_CONF) $(COMPARISON_BUILD)
else
${OBJECTDIR}/Source/ChaletduinoV2Board.o: Source/ChaletduinoV2Board.c .generated_files/flags/ChaletDuinoV2_795F512H_/f317718effc03bab7ba3e84ce061f1c4eb609db9 .generated_files/flags/ChaletDuinoV2_795F512H_/da39a3ee5e6b4b0d3255bfef95601890afd80709
@${MKDIR} "${OBJECTDIR}/Source"
@ -666,6 +672,12 @@ ${OBJECTDIR}/Source/LoraNetworkInterface.o: Source/LoraNetworkInterface.c .gene
@${RM} ${OBJECTDIR}/Source/LoraNetworkInterface.o
${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"Source" -I"Source/winc3400_142" -I"Source/winc3400_142/bsp/include" -I"Source/winc3400_142/common/include" -I"Source/winc3400_142/driver/include" -I"Source/winc3400_142/socket/include" -I"Source/winc3400_142/spi_flash/include" -DCHALETDUINO_V2_BRD -D_SUPPRESS_PLIB_WARNING -MP -MMD -MF "${OBJECTDIR}/Source/LoraNetworkInterface.o.d" -o ${OBJECTDIR}/Source/LoraNetworkInterface.o Source/LoraNetworkInterface.c -DXPRJ_ChaletDuinoV2_795F512H_=$(CND_CONF) $(COMPARISON_BUILD)
${OBJECTDIR}/Source/SIM7080GInterface.o: Source/SIM7080GInterface.c .generated_files/flags/ChaletDuinoV2_795F512H_/bb25edeaeee9c5989c988de423ef7b2e942e0d88 .generated_files/flags/ChaletDuinoV2_795F512H_/da39a3ee5e6b4b0d3255bfef95601890afd80709
@${MKDIR} "${OBJECTDIR}/Source"
@${RM} ${OBJECTDIR}/Source/SIM7080GInterface.o.d
@${RM} ${OBJECTDIR}/Source/SIM7080GInterface.o
${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"Source" -I"Source/winc3400_142" -I"Source/winc3400_142/bsp/include" -I"Source/winc3400_142/common/include" -I"Source/winc3400_142/driver/include" -I"Source/winc3400_142/socket/include" -I"Source/winc3400_142/spi_flash/include" -DCHALETDUINO_V2_BRD -D_SUPPRESS_PLIB_WARNING -MP -MMD -MF "${OBJECTDIR}/Source/SIM7080GInterface.o.d" -o ${OBJECTDIR}/Source/SIM7080GInterface.o Source/SIM7080GInterface.c -DXPRJ_ChaletDuinoV2_795F512H_=$(CND_CONF) $(COMPARISON_BUILD)
endif
# ------------------------------------------------------------------------------------

View File

@ -1,5 +1,5 @@
#
#Mon May 20 12:06:36 EDT 2024
#Mon Oct 28 15:09:01 EDT 2024
ChaletDuinoV2_795F512H_.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
@ -7,7 +7,7 @@ com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=bcd6e5453a11ce86a
ChaletDuinoV2_795F512H_.com-microchip-mplab-mdbcore-ICD3Tool-ICD3DbgToolManager.md5=b8062f7a3afd14c7a6d50c4bb4696d24
default.com-microchip-mplab-nbide-toolchain-xc32-XC32LanguageToolchain.md5=de2d3bc95a22a3f432c2e39f49efafbc
default.com-microchip-mplab-mdbcore-ICD3Tool-ICD3DbgToolManager.md5=b8062f7a3afd14c7a6d50c4bb4696d24
configurations-xml=a693428a995780ad86dbb540f0a83cde
configurations-xml=77baaad64812ff2776348872e45862e6
ChaletDuino_775F512H_.com-microchip-mplab-nbide-toolchain-xc32-XC32LanguageToolchain.md5=de2d3bc95a22a3f432c2e39f49efafbc
host.platform=windows
ChaletDuinoV2_795F512H_.com-microchip-mplab-nbide-toolchain-xc32-XC32LanguageToolchain.md5=de2d3bc95a22a3f432c2e39f49efafbc

View File

@ -191,6 +191,8 @@
<itemPath>Source/hd44780.c</itemPath>
<itemPath>Source/LCDCtrl.c</itemPath>
<itemPath>Source/LoraNetworkInterface.c</itemPath>
<itemPath>Source/SIM7080GInterface.c</itemPath>
<itemPath>Source/SIM7080GInterface.h</itemPath>
</logicalFolder>
<logicalFolder name="ExternalFiles"
displayName="Important Files"

View File

@ -25,7 +25,13 @@
</editor-bookmarks>
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
<group>
<file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/main.c</file>
<file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/WiFiCtrl.c</file>
<file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/InternalUart.c</file>
<file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/TemperatureSensor.c</file>
<file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/Terminal.h</file>
<file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/LCDCtrl.c</file>
<file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/SIM7080GInterface.h</file>
<file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/Syslog.c</file>
<file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/Terminal.c</file>
</group>
</open-files>