Dev
This commit is contained in:
parent
97cda8657d
commit
4ed2dbbca4
@ -64,24 +64,24 @@ int InitBoard()
|
||||
|
||||
//////////////// INVERTER RELAY //////////////////
|
||||
//Chalet inverter power relay
|
||||
POWER_RELAY_ON_PIN_DIR = PIN_OUTPUT;
|
||||
POWER_RELAY_OFF_PIN_DIR = PIN_OUTPUT;
|
||||
POWER_RELAY_ON_PIN = 0;
|
||||
POWER_RELAY_OFF_PIN = 0;
|
||||
// POWER_RELAY_ON_PIN_DIR = PIN_OUTPUT;
|
||||
// POWER_RELAY_OFF_PIN_DIR = PIN_OUTPUT;
|
||||
// POWER_RELAY_ON_PIN = 0;
|
||||
// POWER_RELAY_OFF_PIN = 0;
|
||||
|
||||
|
||||
//////////////// HARAKIRI RELAY //////////////////
|
||||
//Harakiri relay
|
||||
HARAKIRI_RELAY_ON_PIN_DIR = PIN_OUTPUT;
|
||||
HARAKIRI_RELAY_ON_PIN= 0;
|
||||
|
||||
//12V presence detection input
|
||||
CHALET_12V_PRESENCE_PIN_DIR = PIN_INPUT;
|
||||
|
||||
|
||||
//////////////// BATTERY MONITOR //////////////////
|
||||
//Battery voltage measurement (analog input)
|
||||
BATTERY_VOLTAGE_ANALOG_PIN_DIR = PIN_INPUT;
|
||||
// //Harakiri relay
|
||||
// HARAKIRI_RELAY_ON_PIN_DIR = PIN_OUTPUT;
|
||||
// HARAKIRI_RELAY_ON_PIN= 0;
|
||||
//
|
||||
// //12V presence detection input
|
||||
// CHALET_12V_PRESENCE_PIN_DIR = PIN_INPUT;
|
||||
//
|
||||
//
|
||||
// //////////////// BATTERY MONITOR //////////////////
|
||||
// //Battery voltage measurement (analog input)
|
||||
// BATTERY_VOLTAGE_ANALOG_PIN_DIR = PIN_INPUT;
|
||||
|
||||
//ADC Config
|
||||
|
||||
@ -105,23 +105,23 @@ int InitBoard()
|
||||
|
||||
//////////////// TEMPERATURE SENSOR //////////////////
|
||||
//Onboard temperature sensor (SPI)
|
||||
TEMP_SENSOR_CS_PIN_DIR = PIN_OUTPUT;
|
||||
TEMP_SENSOR_CS_PIN = 1;
|
||||
TEMP_SENSOR_SPI_SDO_PIN_DIR = PIN_OUTPUT;
|
||||
TEMP_SENSOR_SPI_SDI_PIN_DIR = PIN_INPUT;
|
||||
TEMP_SENSOR_SPI_SCK_PIN_DIR = PIN_OUTPUT;
|
||||
SPI3CON = 0;
|
||||
SPI3CONbits.MSTEN = 1;
|
||||
SPI3CONbits.CKE = 1;
|
||||
SPI3CONbits.SMP = 0;
|
||||
SPI3CONbits.CKP = 0;
|
||||
SPI3BRG = SPICalculateBRG(PERIPHERAL_FREQ, 1000000);
|
||||
SPI3CONbits.ON = 1;
|
||||
// TEMP_SENSOR_CS_PIN_DIR = PIN_OUTPUT;
|
||||
// TEMP_SENSOR_CS_PIN = 1;
|
||||
// TEMP_SENSOR_SPI_SDO_PIN_DIR = PIN_OUTPUT;
|
||||
// TEMP_SENSOR_SPI_SDI_PIN_DIR = PIN_INPUT;
|
||||
// TEMP_SENSOR_SPI_SCK_PIN_DIR = PIN_OUTPUT;
|
||||
// SPI3CON = 0;
|
||||
// SPI3CONbits.MSTEN = 1;
|
||||
// SPI3CONbits.CKE = 1;
|
||||
// SPI3CONbits.SMP = 0;
|
||||
// SPI3CONbits.CKP = 0;
|
||||
// SPI3BRG = SPICalculateBRG(PERIPHERAL_FREQ, 1000000);
|
||||
// SPI3CONbits.ON = 1;
|
||||
|
||||
//////////////// CURRENT SENSOR //////////////////
|
||||
//Analog (Hall effect) current sensor
|
||||
CURRENT_SENSOR_IN1_PIN_DIR = PIN_INPUT; //AN2
|
||||
CURRENT_SENSOR_IN2_PIN_DIR = PIN_INPUT; //AN0
|
||||
// CURRENT_SENSOR_IN1_PIN_DIR = PIN_INPUT; //AN2
|
||||
// CURRENT_SENSOR_IN2_PIN_DIR = PIN_INPUT; //AN0
|
||||
|
||||
//TODO
|
||||
// AD1CHS = 0;
|
||||
@ -133,36 +133,36 @@ int InitBoard()
|
||||
|
||||
|
||||
//////////////// LORA //////////////////
|
||||
LORA_MODULE_RELAY_PIN_DIR = PIN_OUTPUT;
|
||||
LORA_MODULE_RELAY_PIN = 0;
|
||||
// LORA_MODULE_M0_PIN_DIR = PIN_INPUT;
|
||||
// LORA_MODULE_M0_PIN = 0;
|
||||
// LORA_MODULE_M1_PIN_DIR = PIN_INPUT;
|
||||
// LORA_MODULE_M1_PIN = 0;
|
||||
LORA_MODULE_INT_PIN_DIR = PIN_INPUT;
|
||||
LORA_MODULE_RX_LED_PIN_DIR = PIN_OUTPUT;
|
||||
LORA_MODULE_RX_LED_PIN = LED_OFF;
|
||||
LORA_MODULE_TX_LED_PIN_DIR = PIN_OUTPUT;
|
||||
LORA_MODULE_TX_LED_PIN = LED_OFF;
|
||||
// LORA_MODULE_RELAY_PIN_DIR = PIN_OUTPUT;
|
||||
// LORA_MODULE_RELAY_PIN = 0;
|
||||
//// LORA_MODULE_M0_PIN_DIR = PIN_INPUT;
|
||||
//// LORA_MODULE_M0_PIN = 0;
|
||||
//// LORA_MODULE_M1_PIN_DIR = PIN_INPUT;
|
||||
//// LORA_MODULE_M1_PIN = 0;
|
||||
// LORA_MODULE_INT_PIN_DIR = PIN_INPUT;
|
||||
// LORA_MODULE_RX_LED_PIN_DIR = PIN_OUTPUT;
|
||||
// LORA_MODULE_RX_LED_PIN = LED_OFF;
|
||||
// LORA_MODULE_TX_LED_PIN_DIR = PIN_OUTPUT;
|
||||
// LORA_MODULE_TX_LED_PIN = LED_OFF;
|
||||
|
||||
//////////////// LCD SCREEN //////////////////
|
||||
//LCD Screen
|
||||
LCD_RS_PIN_DIR = PIN_OUTPUT;
|
||||
LCD_RS_PIN = 0;
|
||||
LCD_RW_PIN_DIR = PIN_OUTPUT;
|
||||
LCD_RW_PIN = 0;
|
||||
LCD_E_PIN_DIR = PIN_OUTPUT;
|
||||
LCD_E_PIN = 0;
|
||||
LCD_DB4_PIN_DIR = PIN_OUTPUT;
|
||||
LCD_DB4_PIN = 0;
|
||||
LCD_DB5_PIN_DIR = PIN_OUTPUT;
|
||||
LCD_DB5_PIN = 0;
|
||||
LCD_DB6_PIN_DIR = PIN_OUTPUT;
|
||||
LCD_DB6_PIN = 0;
|
||||
LCD_DB7_PIN_DIR = PIN_OUTPUT;
|
||||
LCD_DB7_PIN = 0;
|
||||
|
||||
LCD_SCROLL_BTN_PIN_DIR = PIN_INPUT;
|
||||
// LCD_RS_PIN_DIR = PIN_OUTPUT;
|
||||
// LCD_RS_PIN = 0;
|
||||
// LCD_RW_PIN_DIR = PIN_OUTPUT;
|
||||
// LCD_RW_PIN = 0;
|
||||
// LCD_E_PIN_DIR = PIN_OUTPUT;
|
||||
// LCD_E_PIN = 0;
|
||||
// LCD_DB4_PIN_DIR = PIN_OUTPUT;
|
||||
// LCD_DB4_PIN = 0;
|
||||
// LCD_DB5_PIN_DIR = PIN_OUTPUT;
|
||||
// LCD_DB5_PIN = 0;
|
||||
// LCD_DB6_PIN_DIR = PIN_OUTPUT;
|
||||
// LCD_DB6_PIN = 0;
|
||||
// LCD_DB7_PIN_DIR = PIN_OUTPUT;
|
||||
// LCD_DB7_PIN = 0;
|
||||
//
|
||||
// LCD_SCROLL_BTN_PIN_DIR = PIN_INPUT;
|
||||
|
||||
|
||||
|
||||
@ -203,7 +203,7 @@ int InitBoard()
|
||||
// OC3CONbits.ON = 1;
|
||||
|
||||
|
||||
RTCCONbits.ON = 1;
|
||||
// RTCCONbits.ON = 1;
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
@ -46,25 +46,26 @@ void process(void);
|
||||
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 = 0; //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 = 0; //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
|
||||
U1STAbits.UTXEN = 1; //enable receiver
|
||||
U1MODEbits.ON = 0; //disable module
|
||||
|
||||
//Setup port 2
|
||||
//
|
||||
@ -335,6 +336,24 @@ int SendInternalUartDataBlocking(char *p_pcDataBuf, int p_iDataSize, int p_iUart
|
||||
{
|
||||
int i;
|
||||
int temp = IEC1;
|
||||
switch(p_iUartPort)
|
||||
{
|
||||
case INTERNAL_UART_PORT_1:
|
||||
{
|
||||
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:
|
||||
{
|
||||
IEC1bits.U2TXIE = 0;
|
||||
for(i = 0; i < p_iDataSize; i++)
|
||||
{
|
||||
@ -345,6 +364,11 @@ int SendInternalUartDataBlocking(char *p_pcDataBuf, int p_iDataSize, int p_iUart
|
||||
LORA_MODULE_TX_LED_PIN = LED_OFF;
|
||||
IFS1bits.U2TXIF = 0;
|
||||
IEC1 = temp;
|
||||
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
return UART_OK;
|
||||
}
|
||||
|
||||
@ -409,6 +433,8 @@ void TickInternalUart(void)
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
void __ISR(_UART_1_VECTOR, ipl7) InternalUart1AInterrupt(void)
|
||||
{
|
||||
@ -539,10 +565,10 @@ void ResetUart1(void)
|
||||
|
||||
IEC0bits.U1TXIE = 0; //disable tx interrupt
|
||||
IFS0bits.U1TXIF = 0; //clear interrupt flag
|
||||
IEC0bits.U1TXIE = 1; //enable tx interrupt
|
||||
IEC0bits.U1TXIE = 0; //enable tx interrupt
|
||||
IEC0bits.U1RXIE = 0; //disable rx interrupts
|
||||
IEC0bits.U1RXIE = 0; //disable rx interrupts
|
||||
IFS0bits.U1RXIF = 0;
|
||||
IFS0bits.U1RXIF = 1;
|
||||
#ifdef POLL_UART1_RX
|
||||
IEC0bits.U1RXIE = 0; //disable rx interrupts
|
||||
#else
|
||||
|
||||
@ -34,8 +34,8 @@
|
||||
#define INTERNAL_UART_BUFFER_DEPTH 1//4//16 //JFM 2012-08-27
|
||||
#define USE_TX_INTERNAL_BUFFER
|
||||
|
||||
#define INTERNAL_UART1_TX_PIN_DIR TRISFbits.TRISF3
|
||||
#define INTERNAL_UART1_TX_PIN LATFbits.LATF3
|
||||
#define INTERNAL_UART1_TX_PIN_DIR TRISDbits.TRISD3
|
||||
#define INTERNAL_UART1_TX_PIN LATDbits.LATD3
|
||||
|
||||
#define INTERNAL_UART2_TX_PIN_DIR TRISFbits.TRISF5
|
||||
#define INTERNAL_UART2_TX_PIN LATFbits.LATF5
|
||||
|
||||
14
LoraInterface.X/Source/LoraInterface.c
Normal file
14
LoraInterface.X/Source/LoraInterface.c
Normal file
@ -0,0 +1,14 @@
|
||||
//#include <proc/p32mx440f256h.h>
|
||||
|
||||
#include "LoraInterface.h"
|
||||
#include "BoardCfg.h"
|
||||
#include "timer.h"
|
||||
|
||||
short mModuleModel;
|
||||
|
||||
int InitLoraInterface()
|
||||
{
|
||||
mModuleModel = LORA_MODULE_MODEL;
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
27
LoraInterface.X/Source/LoraInterface.h
Normal file
27
LoraInterface.X/Source/LoraInterface.h
Normal file
@ -0,0 +1,27 @@
|
||||
/*
|
||||
* File:
|
||||
* Author: JF
|
||||
*
|
||||
* Created on November 30, 2018, 7:33 PM
|
||||
*/
|
||||
|
||||
#ifndef LORA_INTERFACE_H
|
||||
#define LORA_INTERFACE_H
|
||||
#include "define.h"
|
||||
|
||||
enum eLoraModuleModel
|
||||
{
|
||||
LORA_MODULE_E32_MODEL = 32,
|
||||
LORA_MODULE_E220_MODEL = 220,
|
||||
|
||||
LORA_MODULE_MAX_MODEL
|
||||
|
||||
};
|
||||
|
||||
#define LORA_MODULE_MODEL LORA_MODULE_E220_MODEL
|
||||
|
||||
int InitLoraInterface();
|
||||
|
||||
|
||||
#endif /* LORA_MODULE_H */
|
||||
|
||||
@ -1,300 +0,0 @@
|
||||
#include "LoraNetworkInterface.h"
|
||||
#include "ProtocolDefs.h"
|
||||
#include "NetworkProtocol.h"
|
||||
#include "InternalUart.h"
|
||||
#include "define.h"
|
||||
#include "BoardCfg.h"
|
||||
#include "Uart.h"
|
||||
#include "ChaletPowerRelay.h"
|
||||
#include "HarakiriRelay.h"
|
||||
#include "BatteryMonitor.h"
|
||||
#include "LedLightCtrl.h"
|
||||
#include "TemperatureSensor.h"
|
||||
#include "SPI_Flash.h"
|
||||
#include "FlashMapping.h"
|
||||
#include "LoraWatchdog.h"
|
||||
#include "versionbuild.h"
|
||||
#include "WiFiCtrl.h"
|
||||
//#include "WiFiCtrl.h"
|
||||
//
|
||||
|
||||
//enum eWiFiState
|
||||
//{
|
||||
// WIFI_MODULE_OFF_STATE = 0,
|
||||
// WIFI_CONNECTED_STATE,
|
||||
// WIFI_DISCONNECTED_STATE,
|
||||
// WIFI_INIT_ERROR_STATE,
|
||||
// WIFI_UNKNOWN_STATE
|
||||
//};
|
||||
unsigned char mLoraPreamble[3]={0x00,LORA_MASTER_ADDRESS,LORA_CHANNEL};
|
||||
|
||||
static const char mFirmwareVersion[15] = VERSIONNUMBER;
|
||||
unsigned int mTotalMasterNbRequests = 0;
|
||||
|
||||
void ExecuteMasterCommand(int Command, unsigned char *Data, int DataSize)
|
||||
{
|
||||
//Whatever was the command, we are online...
|
||||
LORA_MODULE_RX_LED_PIN = LED_OFF;
|
||||
KickLoraWatchdog();
|
||||
// printf("EXEC\n\n");
|
||||
ChaletPowerRelayKickTimer();
|
||||
mTotalMasterNbRequests++;
|
||||
switch(Command)
|
||||
{
|
||||
case CHALET_INTERFACE_ACK:
|
||||
{
|
||||
break;
|
||||
}
|
||||
case CHALET_GENERAL_STATUS_REQUEST:
|
||||
{
|
||||
float FloatVoltage = GetBatteryVoltage(1);
|
||||
float FloatTemperature = TempSensorGetTemp();
|
||||
unsigned int BattVoltage = *((int*)&FloatVoltage);
|
||||
unsigned int Temperature = *((int*)&FloatTemperature);
|
||||
int SolarPanelCurrent = GetSolarPanelCurrent();
|
||||
int SOC = GetBatterySOC();
|
||||
|
||||
char GeneralStatus = 0;
|
||||
char ChaletStatus[18];
|
||||
|
||||
if(GetChaletPowerRelayState() == CHALET_POWER_RELAY_ON_STATE)
|
||||
{
|
||||
GeneralStatus |= LORA_CHALET_STATUS_POWER_RELAY_MASK;
|
||||
}
|
||||
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); //Temperature 1
|
||||
Temperature >>= 8;
|
||||
ChaletStatus[11] = (char)(Temperature & 0x000000FF); //Temperature 2
|
||||
Temperature >>= 8;
|
||||
ChaletStatus[12] = (char)(Temperature & 0x000000FF); //BTemperature 3
|
||||
Temperature >>= 8;
|
||||
ChaletStatus[13] = (char)(Temperature & 0x000000FF); //Temperature 4
|
||||
|
||||
int tmp = mTotalMasterNbRequests;
|
||||
ChaletStatus[14] = (char)(mTotalMasterNbRequests & 0x000000FF); //Total Nb Requests 1
|
||||
mTotalMasterNbRequests >>= 8;
|
||||
ChaletStatus[15] = (char)(mTotalMasterNbRequests & 0x000000FF); //Total Nb Requests 2
|
||||
mTotalMasterNbRequests >>= 8;
|
||||
ChaletStatus[16] = (char)(mTotalMasterNbRequests & 0x000000FF); //Total Nb Requests 3
|
||||
mTotalMasterNbRequests >>= 8;
|
||||
ChaletStatus[17] = (char)(mTotalMasterNbRequests & 0x000000FF); //Total Nb Requests 4
|
||||
mTotalMasterNbRequests = tmp;
|
||||
|
||||
|
||||
SendLoraNetworkCommand(CHALET_GENERAL_STATUS_RESPONSE,ChaletStatus,18);
|
||||
|
||||
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:
|
||||
{
|
||||
char response[5];
|
||||
uint32 IPAddress = GetCurIPAddress();
|
||||
|
||||
response[0] = GetWiFiSate(); //Wifi Module state
|
||||
response[1] = IPV4_BYTE(IPAddress,0);
|
||||
response[2] = IPV4_BYTE(IPAddress,1);
|
||||
response[3] = IPV4_BYTE(IPAddress,2);
|
||||
response[4] = IPV4_BYTE(IPAddress,3);
|
||||
SendLoraNetworkCommand(CHALET_WIFI_STATUS_RESPONSE,(unsigned char*)&response,5);
|
||||
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[140];
|
||||
char WifiDataSize;
|
||||
SPIFlashReadBuffer(response,11,FLASH_WIFI_IP_ADDRESS);
|
||||
WifiDataSize = 11 + response[9] + response[10];
|
||||
if(WifiDataSize > 140)
|
||||
break;
|
||||
SPIFlashReadBuffer(response,WifiDataSize,FLASH_WIFI_IP_ADDRESS);
|
||||
SendLoraNetworkCommand(CHALET_GET_STORED_WIFI_SETTINGS_RESPONSE,response,WifiDataSize);
|
||||
break;
|
||||
}
|
||||
case CHALET_SET_STORED_WIFI_SETTINGS_REQUEST:
|
||||
{
|
||||
char response = 0;
|
||||
if(SPIFlashWriteBuffer(Data,DataSize,FLASH_WIFI_IP_ADDRESS) == 1)
|
||||
{
|
||||
response = 1;
|
||||
}
|
||||
|
||||
SendLoraNetworkCommand(CHALET_SET_STORED_WIFI_SETTINGS_RESPONSE,&response,1);
|
||||
break;
|
||||
}
|
||||
case CHALET_GET_FIRMWARE_VERSION_REQUEST:
|
||||
{
|
||||
SendLoraNetworkCommand(CHALET_GET_FIRMWARE_VERSION_RESPONSE,(unsigned char*)mFirmwareVersion,15);
|
||||
break;
|
||||
}
|
||||
case CHALET_CLEAR_COMMS_STATISTICS_REQUEST:
|
||||
{
|
||||
char response = 1;
|
||||
mTotalMasterNbRequests = 0;
|
||||
SendLoraNetworkCommand(CHALET_CLEAR_COMMS_STATISTICS_RESPONSE,&response,1);
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void SendLoraNetworkCommand(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);
|
||||
|
||||
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(Payload,PayloadSize,NETWORK_UART_PORT);
|
||||
}
|
||||
|
||||
void TestTx()
|
||||
{
|
||||
char toto = 0x03;
|
||||
SendInternalUartDataBlocking(mLoraPreamble,3,NETWORK_UART_PORT);
|
||||
}
|
||||
93
LoraInterface.X/Source/NetworkInterface.c
Normal file
93
LoraInterface.X/Source/NetworkInterface.c
Normal file
@ -0,0 +1,93 @@
|
||||
#include "NetworkInterface.h"
|
||||
#include "ProtocolDefs.h"
|
||||
#include "NetworkProtocol.h"
|
||||
#include "InternalUart.h"
|
||||
#include "define.h"
|
||||
#include "BoardCfg.h"
|
||||
#include "Uart.h"
|
||||
#include "SPI_Flash.h"
|
||||
#include "FlashMapping.h"
|
||||
#include "versionbuild.h"
|
||||
#include "WiFiCtrl.h"
|
||||
#include "LoraInterface.h"
|
||||
//
|
||||
|
||||
//enum eWiFiState
|
||||
//{
|
||||
// WIFI_MODULE_OFF_STATE = 0,
|
||||
// WIFI_CONNECTED_STATE,
|
||||
// WIFI_DISCONNECTED_STATE,
|
||||
// WIFI_INIT_ERROR_STATE,
|
||||
// WIFI_UNKNOWN_STATE
|
||||
//};
|
||||
unsigned char mLoraPreamble[3]={0x00,LORA_MASTER_ADDRESS,LORA_CHANNEL};
|
||||
|
||||
static const char mFirmwareVersion[15] = VERSIONNUMBER;
|
||||
unsigned int mTotalMasterNbRequests = 0;
|
||||
|
||||
void ExecuteMasterCommand(int Command, unsigned char *Data, int DataSize)
|
||||
{
|
||||
//Whatever was the command, we are online...
|
||||
LORA_MODULE_RX_LED_PIN = LED_OFF;
|
||||
// KickLoraWatchdog();
|
||||
// printf("EXEC\n\n");
|
||||
// ChaletPowerRelayKickTimer();
|
||||
mTotalMasterNbRequests++;
|
||||
switch(Command)
|
||||
{
|
||||
case LORA_IF_GET_STATUS_REQUEST:
|
||||
{
|
||||
char ModuleModel = LORA_MODULE_MODEL;
|
||||
|
||||
SendNetworkCommand(LORA_IF_GET_STATUS_RESPONSE,&ModuleModel,1);
|
||||
break;
|
||||
}
|
||||
case LORA_IF_SEND_FRAME_REQUEST:
|
||||
{
|
||||
break;
|
||||
}
|
||||
case LORA_IF_GET_MODULE_CONFIG_REQUEST:
|
||||
{
|
||||
break;
|
||||
}
|
||||
case LORA_IF_GET_RSSI_REQUEST:
|
||||
{
|
||||
break;
|
||||
}
|
||||
case LORA_IF_SET_MODULE_CONFIG_REQUEST:
|
||||
{
|
||||
break;
|
||||
}
|
||||
case LORA_IF_SET_MODULE_CONFIG_RESPONSE:
|
||||
case LORA_IF_GET_RSSI_RESPONSE:
|
||||
case LORA_IF_GET_MODULE_CONFIG_RESPONSE:
|
||||
case LORA_IF_NEW_FRAME_RESPONSE:
|
||||
case LORA_IF_SEND_FRAME_RESPONSE:
|
||||
case LORA_IF_GET_STATUS_RESPONSE:
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void SendNetworkCommand(int Command, unsigned char *Data, unsigned int DataSize)
|
||||
{
|
||||
unsigned char *Payload;
|
||||
unsigned int PayloadSize;
|
||||
Payload = ProtocolGetFrame(ID_MASTER,MASTER_ADDRESS,ID_LORA_INTERFACE,Command,Data,DataSize,0,&PayloadSize);
|
||||
|
||||
UartTransmitData(NETWORK_UART_PORT,Payload,PayloadSize);
|
||||
|
||||
}
|
||||
|
||||
void SendNetworkCommandBlocking(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_LORA_INTERFACE,Command,Data,DataSize,0,&PayloadSize);
|
||||
|
||||
SendInternalUartDataBlocking(Payload,PayloadSize,NETWORK_UART_PORT);
|
||||
}
|
||||
|
||||
@ -9,9 +9,8 @@
|
||||
#define LORA_CHALET_STATUS_CUR_SENSOR_MASK 0x02
|
||||
|
||||
void ExecuteMasterCommand(int Command, unsigned char *Data, 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 SendNetworkCommand(int Command, unsigned char *Data, unsigned int DataSize);
|
||||
void SendNetworkCommandBlocking(int Command, unsigned char *Data, unsigned int DataSize); //USE WITH CARE
|
||||
|
||||
void TestTx();
|
||||
|
||||
#endif /* LORANEETWORKINTERFACE_H */
|
||||
@ -17,7 +17,7 @@ jean-francois.martel@polymtl.ca
|
||||
#include <string.h>
|
||||
#include "ProtocolDefs.h"
|
||||
#include "MasterCtrlInterface.h"
|
||||
#include "LoraNetworkInterface.h"
|
||||
#include "NetworkInterface.h"
|
||||
|
||||
|
||||
|
||||
@ -36,7 +36,7 @@ unsigned char Flags = 0;
|
||||
unsigned char IsUpdating = 0;
|
||||
unsigned char *BmpDataPtr = 0;
|
||||
|
||||
static char MyDeviceID = ID_SPRINKLER_DEVICE;
|
||||
static char MyDeviceID = ID_LORA_INTERFACE;
|
||||
|
||||
void ProtocolInit(void)
|
||||
{
|
||||
@ -204,7 +204,7 @@ void StateMachine(unsigned char Data)
|
||||
break;
|
||||
}
|
||||
// NewMasterMessageReceived(mRxData);
|
||||
// ExecuteMasterCommand(Command,ProtocolMsgDataPtr(),DataSize); //JFM TODO map to lora interface protocol
|
||||
ExecuteMasterCommand(Command,ProtocolMsgDataPtr(),DataSize); //JFM TODO map to lora interface protocol
|
||||
ResetStateMachine();
|
||||
break;
|
||||
}
|
||||
|
||||
@ -68,6 +68,7 @@ enum DEVICES_IDS
|
||||
ID_CHALET_INTERFACE,
|
||||
ID_CHALET_DEVICE,
|
||||
ID_BOOTLOADER_VIRTUAL,
|
||||
ID_LORA_INTERFACE,
|
||||
ID_NB_DEVICE_ID
|
||||
|
||||
};
|
||||
@ -341,4 +342,37 @@ enum BOOTLOADER_CMDS
|
||||
|
||||
MAX_BOOTLOADER_CMD
|
||||
};
|
||||
|
||||
|
||||
enum ISPINDLE_CMDS
|
||||
{
|
||||
ISPINDLE_ACK = 1,
|
||||
ISPINDLE_LATEST_DATA_REQUEST,
|
||||
ISPINDLE_LATEST_DATA_RESPONSE,
|
||||
ISPINDEL_GET_FULL_DATA_BUFFER_REQUEST,
|
||||
ISPINDEL_GET_FULL_DATA_BUFFER_RESPONSE,
|
||||
ISPINDEL_DELETE_SAMPLE_REQUEST,
|
||||
ISPINDEL_DELETE_SAMPLE_RESPONSE,
|
||||
|
||||
MAX_ISPINDLE_CMDS
|
||||
};
|
||||
|
||||
enum LORA_INTERFACE_CMDS
|
||||
{
|
||||
LORA_IF_ACK = 1,
|
||||
LORA_IF_GET_STATUS_REQUEST,
|
||||
LORA_IF_GET_STATUS_RESPONSE,
|
||||
LORA_IF_SEND_FRAME_REQUEST,
|
||||
LORA_IF_SEND_FRAME_RESPONSE,
|
||||
LORA_IF_NEW_FRAME_RESPONSE,
|
||||
LORA_IF_GET_MODULE_CONFIG_REQUEST,
|
||||
LORA_IF_GET_MODULE_CONFIG_RESPONSE,
|
||||
LORA_IF_GET_RSSI_REQUEST,
|
||||
LORA_IF_GET_RSSI_RESPONSE,
|
||||
LORA_IF_SET_MODULE_CONFIG_REQUEST,
|
||||
LORA_IF_SET_MODULE_CONFIG_RESPONSE,
|
||||
|
||||
MAX_LORA_IF_CMD
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@ -84,10 +84,10 @@ void InitUart(void)
|
||||
//DO NOT CHANGE assignments unless hardware changed !
|
||||
//
|
||||
astUartData[UART_1].iIsInternal = 1;
|
||||
astUartData[UART_1].iPhysicalUartPort = INTERNAL_UART_PORT_2; // (232)
|
||||
astUartData[UART_1].iPhysicalUartPort = INTERNAL_UART_PORT_1; // (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_2; // (232)
|
||||
|
||||
#ifndef NO_EXTERNAL_UART
|
||||
astUartData[UART_3].iIsInternal = 0;
|
||||
|
||||
@ -39,7 +39,7 @@
|
||||
enum eUartHandles
|
||||
{
|
||||
UART_1, //(232) Uart 1 - Drive
|
||||
//UART_2, //(232) Uart 2 - CU
|
||||
UART_2, //(232) Uart 2 - CU
|
||||
//UART_3, // !!!EXTERNAL!!! SPI daughter board...
|
||||
MAX_UART_HANDLE,
|
||||
|
||||
|
||||
@ -102,7 +102,7 @@ int main(void)
|
||||
|
||||
InitUart();
|
||||
ProtocolInit();
|
||||
InitLoraWatchdog();
|
||||
// InitLoraWatchdog();
|
||||
|
||||
InitSPIFlash();
|
||||
// InitLCDCtrl();
|
||||
@ -206,7 +206,7 @@ int main(void)
|
||||
SyslogTick();
|
||||
// TickTempSensor();
|
||||
BootloaderInterfaceTick();
|
||||
TickLoraWatchdog();
|
||||
// TickLoraWatchdog();
|
||||
// TickLCDCtrl();
|
||||
|
||||
if(IsTimerExpired(HEARTBEAT_LED_TMR))
|
||||
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,5 @@
|
||||
#
|
||||
#Mon Nov 14 20:13:56 EST 2022
|
||||
#Sat Dec 10 13:17:03 EST 2022
|
||||
default.languagetoolchain.version=2.41
|
||||
ChaletDuino_775F512H_.languagetoolchain.version=1.33
|
||||
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
|
||||
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
|
||||
configurations-xml=c50db0e3814d46f502a1f0c04bef1888
|
||||
configurations-xml=7fe326836e087d7e7a43d49678835784
|
||||
default.com-microchip-mplab-nbide-toolchainXC32-XC32LanguageToolchain.md5=a5745c99cb5a5032f17cfaf0ff720282
|
||||
com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=9db8f8a224aa17d0023ea7f468f871dc
|
||||
ChaletDuino_775F512H_.languagetoolchain.dir=C\:\\Program Files\\Microchip\\xc32\\v1.33\\bin
|
||||
|
||||
@ -78,7 +78,6 @@
|
||||
<itemPath>Source/versionbuild.h</itemPath>
|
||||
<itemPath>Source/winc1500_config.h</itemPath>
|
||||
<itemPath>Source/WiFiCtrl.h</itemPath>
|
||||
<itemPath>Source/LoraNetworkInterface.h</itemPath>
|
||||
<itemPath>Source/ChaletPowerRelay.h</itemPath>
|
||||
<itemPath>Source/HarakiriRelay.h</itemPath>
|
||||
<itemPath>Source/BatteryMonitor.h</itemPath>
|
||||
@ -96,6 +95,8 @@
|
||||
<itemPath>Source/LoraWatchdog.h</itemPath>
|
||||
<itemPath>Source/hd44780.h</itemPath>
|
||||
<itemPath>Source/LCDCtrl.h</itemPath>
|
||||
<itemPath>Source/LoraInterface.h</itemPath>
|
||||
<itemPath>Source/NetworkInterface.h</itemPath>
|
||||
</logicalFolder>
|
||||
<logicalFolder name="LinkerScript"
|
||||
displayName="Linker Files"
|
||||
@ -174,7 +175,6 @@
|
||||
<itemPath>Source/timer.c</itemPath>
|
||||
<itemPath>Source/WiFiCtrl.c</itemPath>
|
||||
<itemPath>Source/SPI.c</itemPath>
|
||||
<itemPath>Source/LoraNetworkInterface.c</itemPath>
|
||||
<itemPath>Source/ChaletPowerRelay.c</itemPath>
|
||||
<itemPath>Source/HarakiriRelay.c</itemPath>
|
||||
<itemPath>Source/BatteryMonitor.c</itemPath>
|
||||
@ -191,6 +191,8 @@
|
||||
<itemPath>Source/LoraWatchdog.c</itemPath>
|
||||
<itemPath>Source/hd44780.c</itemPath>
|
||||
<itemPath>Source/LCDCtrl.c</itemPath>
|
||||
<itemPath>Source/LoraInterface.c</itemPath>
|
||||
<itemPath>Source/NetworkInterface.c</itemPath>
|
||||
</logicalFolder>
|
||||
<logicalFolder name="ExternalFiles"
|
||||
displayName="Important Files"
|
||||
@ -1237,6 +1239,20 @@
|
||||
</C32Global>
|
||||
</item>
|
||||
<item path="Source/ChaletPowerRelay.c" 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 path="Source/ChaletduinoBoard.c" ex="true" overriding="false">
|
||||
<C32>
|
||||
@ -1271,10 +1287,52 @@
|
||||
</C32Global>
|
||||
</item>
|
||||
<item path="Source/HarakiriRelay.c" 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 path="Source/LCDCtrl.c" 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 path="Source/LoraNetworkInterface.c" ex="true" overriding="false">
|
||||
<item path="Source/LoraWatchdog.c" 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 path="Source/MasterCtrlInterface.c" ex="true" overriding="false">
|
||||
<C32>
|
||||
@ -1292,6 +1350,22 @@
|
||||
<C32Global>
|
||||
</C32Global>
|
||||
</item>
|
||||
<item path="Source/NetworkInterface.c" ex="false" 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 path="Source/NetworkProtocol.c" ex="false" overriding="false">
|
||||
<C32>
|
||||
</C32>
|
||||
@ -1325,8 +1399,36 @@
|
||||
</C32Global>
|
||||
</item>
|
||||
<item path="Source/TC77.c" 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 path="Source/TemperatureSensor.c" 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 path="Source/Terminal.c" ex="false" overriding="false">
|
||||
<C32>
|
||||
@ -1377,6 +1479,20 @@
|
||||
</C32Global>
|
||||
</item>
|
||||
<item path="Source/ina219.c" 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 path="Source/winc1500_config.h" ex="true" overriding="false">
|
||||
<C32>
|
||||
|
||||
@ -25,15 +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/BootloaderInterface.c</file>
|
||||
<file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/ProtocolDefs.h</file>
|
||||
<file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/SPI_Flash.c</file>
|
||||
<file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/BootloaderInterface.h</file>
|
||||
<file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/BootloaderProtocol.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/BatteryMonitor.c</file>
|
||||
<file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/WiFiCtrl.h</file>
|
||||
<file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/versionbuild.h</file>
|
||||
<file>file:/D:/Main/PicDev/Projets/LoraInterface/LoraInterface.X/Source/LoraInterface.h</file>
|
||||
<file>file:/D:/Main/PicDev/Projets/LoraInterface/LoraInterface.X/Source/ProtocolDefs.h</file>
|
||||
<file>file:/D:/Main/PicDev/Projets/LoraInterface/LoraInterface.X/Source/NetworkProtocol.c</file>
|
||||
<file>file:/D:/Main/PicDev/Projets/LoraInterface/LoraInterface.X/Source/NetworkInterface.h</file>
|
||||
<file>file:/D:/Main/PicDev/Projets/LoraInterface/LoraInterface.X/Source/LoraInterface.c</file>
|
||||
<file>file:/D:/Main/PicDev/Projets/LoraInterface/LoraInterface.X/Source/NetworkProtocol.h</file>
|
||||
<file>file:/D:/Main/PicDev/Projets/LoraInterface/LoraInterface.X/Source/NetworkInterface.c</file>
|
||||
</group>
|
||||
</open-files>
|
||||
</project-private>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user