Dev
This commit is contained in:
parent
97cda8657d
commit
4ed2dbbca4
@ -64,24 +64,24 @@ int InitBoard()
|
|||||||
|
|
||||||
//////////////// INVERTER RELAY //////////////////
|
//////////////// INVERTER RELAY //////////////////
|
||||||
//Chalet inverter power relay
|
//Chalet inverter power relay
|
||||||
POWER_RELAY_ON_PIN_DIR = PIN_OUTPUT;
|
// POWER_RELAY_ON_PIN_DIR = PIN_OUTPUT;
|
||||||
POWER_RELAY_OFF_PIN_DIR = PIN_OUTPUT;
|
// POWER_RELAY_OFF_PIN_DIR = PIN_OUTPUT;
|
||||||
POWER_RELAY_ON_PIN = 0;
|
// POWER_RELAY_ON_PIN = 0;
|
||||||
POWER_RELAY_OFF_PIN = 0;
|
// POWER_RELAY_OFF_PIN = 0;
|
||||||
|
|
||||||
|
|
||||||
//////////////// HARAKIRI RELAY //////////////////
|
//////////////// HARAKIRI RELAY //////////////////
|
||||||
//Harakiri relay
|
// //Harakiri relay
|
||||||
HARAKIRI_RELAY_ON_PIN_DIR = PIN_OUTPUT;
|
// HARAKIRI_RELAY_ON_PIN_DIR = PIN_OUTPUT;
|
||||||
HARAKIRI_RELAY_ON_PIN= 0;
|
// HARAKIRI_RELAY_ON_PIN= 0;
|
||||||
|
//
|
||||||
//12V presence detection input
|
// //12V presence detection input
|
||||||
CHALET_12V_PRESENCE_PIN_DIR = PIN_INPUT;
|
// CHALET_12V_PRESENCE_PIN_DIR = PIN_INPUT;
|
||||||
|
//
|
||||||
|
//
|
||||||
//////////////// BATTERY MONITOR //////////////////
|
// //////////////// BATTERY MONITOR //////////////////
|
||||||
//Battery voltage measurement (analog input)
|
// //Battery voltage measurement (analog input)
|
||||||
BATTERY_VOLTAGE_ANALOG_PIN_DIR = PIN_INPUT;
|
// BATTERY_VOLTAGE_ANALOG_PIN_DIR = PIN_INPUT;
|
||||||
|
|
||||||
//ADC Config
|
//ADC Config
|
||||||
|
|
||||||
@ -105,23 +105,23 @@ int InitBoard()
|
|||||||
|
|
||||||
//////////////// TEMPERATURE SENSOR //////////////////
|
//////////////// TEMPERATURE SENSOR //////////////////
|
||||||
//Onboard temperature sensor (SPI)
|
//Onboard temperature sensor (SPI)
|
||||||
TEMP_SENSOR_CS_PIN_DIR = PIN_OUTPUT;
|
// TEMP_SENSOR_CS_PIN_DIR = PIN_OUTPUT;
|
||||||
TEMP_SENSOR_CS_PIN = 1;
|
// TEMP_SENSOR_CS_PIN = 1;
|
||||||
TEMP_SENSOR_SPI_SDO_PIN_DIR = PIN_OUTPUT;
|
// TEMP_SENSOR_SPI_SDO_PIN_DIR = PIN_OUTPUT;
|
||||||
TEMP_SENSOR_SPI_SDI_PIN_DIR = PIN_INPUT;
|
// TEMP_SENSOR_SPI_SDI_PIN_DIR = PIN_INPUT;
|
||||||
TEMP_SENSOR_SPI_SCK_PIN_DIR = PIN_OUTPUT;
|
// TEMP_SENSOR_SPI_SCK_PIN_DIR = PIN_OUTPUT;
|
||||||
SPI3CON = 0;
|
// SPI3CON = 0;
|
||||||
SPI3CONbits.MSTEN = 1;
|
// SPI3CONbits.MSTEN = 1;
|
||||||
SPI3CONbits.CKE = 1;
|
// SPI3CONbits.CKE = 1;
|
||||||
SPI3CONbits.SMP = 0;
|
// SPI3CONbits.SMP = 0;
|
||||||
SPI3CONbits.CKP = 0;
|
// SPI3CONbits.CKP = 0;
|
||||||
SPI3BRG = SPICalculateBRG(PERIPHERAL_FREQ, 1000000);
|
// SPI3BRG = SPICalculateBRG(PERIPHERAL_FREQ, 1000000);
|
||||||
SPI3CONbits.ON = 1;
|
// SPI3CONbits.ON = 1;
|
||||||
|
|
||||||
//////////////// CURRENT SENSOR //////////////////
|
//////////////// CURRENT SENSOR //////////////////
|
||||||
//Analog (Hall effect) current sensor
|
//Analog (Hall effect) current sensor
|
||||||
CURRENT_SENSOR_IN1_PIN_DIR = PIN_INPUT; //AN2
|
// CURRENT_SENSOR_IN1_PIN_DIR = PIN_INPUT; //AN2
|
||||||
CURRENT_SENSOR_IN2_PIN_DIR = PIN_INPUT; //AN0
|
// CURRENT_SENSOR_IN2_PIN_DIR = PIN_INPUT; //AN0
|
||||||
|
|
||||||
//TODO
|
//TODO
|
||||||
// AD1CHS = 0;
|
// AD1CHS = 0;
|
||||||
@ -133,36 +133,36 @@ int InitBoard()
|
|||||||
|
|
||||||
|
|
||||||
//////////////// LORA //////////////////
|
//////////////// LORA //////////////////
|
||||||
LORA_MODULE_RELAY_PIN_DIR = PIN_OUTPUT;
|
// LORA_MODULE_RELAY_PIN_DIR = PIN_OUTPUT;
|
||||||
LORA_MODULE_RELAY_PIN = 0;
|
// LORA_MODULE_RELAY_PIN = 0;
|
||||||
// LORA_MODULE_M0_PIN_DIR = PIN_INPUT;
|
//// LORA_MODULE_M0_PIN_DIR = PIN_INPUT;
|
||||||
// LORA_MODULE_M0_PIN = 0;
|
//// LORA_MODULE_M0_PIN = 0;
|
||||||
// LORA_MODULE_M1_PIN_DIR = PIN_INPUT;
|
//// LORA_MODULE_M1_PIN_DIR = PIN_INPUT;
|
||||||
// LORA_MODULE_M1_PIN = 0;
|
//// LORA_MODULE_M1_PIN = 0;
|
||||||
LORA_MODULE_INT_PIN_DIR = PIN_INPUT;
|
// LORA_MODULE_INT_PIN_DIR = PIN_INPUT;
|
||||||
LORA_MODULE_RX_LED_PIN_DIR = PIN_OUTPUT;
|
// LORA_MODULE_RX_LED_PIN_DIR = PIN_OUTPUT;
|
||||||
LORA_MODULE_RX_LED_PIN = LED_OFF;
|
// LORA_MODULE_RX_LED_PIN = LED_OFF;
|
||||||
LORA_MODULE_TX_LED_PIN_DIR = PIN_OUTPUT;
|
// LORA_MODULE_TX_LED_PIN_DIR = PIN_OUTPUT;
|
||||||
LORA_MODULE_TX_LED_PIN = LED_OFF;
|
// LORA_MODULE_TX_LED_PIN = LED_OFF;
|
||||||
|
|
||||||
//////////////// LCD SCREEN //////////////////
|
//////////////// LCD SCREEN //////////////////
|
||||||
//LCD Screen
|
//LCD Screen
|
||||||
LCD_RS_PIN_DIR = PIN_OUTPUT;
|
// LCD_RS_PIN_DIR = PIN_OUTPUT;
|
||||||
LCD_RS_PIN = 0;
|
// LCD_RS_PIN = 0;
|
||||||
LCD_RW_PIN_DIR = PIN_OUTPUT;
|
// LCD_RW_PIN_DIR = PIN_OUTPUT;
|
||||||
LCD_RW_PIN = 0;
|
// LCD_RW_PIN = 0;
|
||||||
LCD_E_PIN_DIR = PIN_OUTPUT;
|
// LCD_E_PIN_DIR = PIN_OUTPUT;
|
||||||
LCD_E_PIN = 0;
|
// LCD_E_PIN = 0;
|
||||||
LCD_DB4_PIN_DIR = PIN_OUTPUT;
|
// LCD_DB4_PIN_DIR = PIN_OUTPUT;
|
||||||
LCD_DB4_PIN = 0;
|
// LCD_DB4_PIN = 0;
|
||||||
LCD_DB5_PIN_DIR = PIN_OUTPUT;
|
// LCD_DB5_PIN_DIR = PIN_OUTPUT;
|
||||||
LCD_DB5_PIN = 0;
|
// LCD_DB5_PIN = 0;
|
||||||
LCD_DB6_PIN_DIR = PIN_OUTPUT;
|
// LCD_DB6_PIN_DIR = PIN_OUTPUT;
|
||||||
LCD_DB6_PIN = 0;
|
// LCD_DB6_PIN = 0;
|
||||||
LCD_DB7_PIN_DIR = PIN_OUTPUT;
|
// LCD_DB7_PIN_DIR = PIN_OUTPUT;
|
||||||
LCD_DB7_PIN = 0;
|
// LCD_DB7_PIN = 0;
|
||||||
|
//
|
||||||
LCD_SCROLL_BTN_PIN_DIR = PIN_INPUT;
|
// LCD_SCROLL_BTN_PIN_DIR = PIN_INPUT;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -203,7 +203,7 @@ int InitBoard()
|
|||||||
// OC3CONbits.ON = 1;
|
// OC3CONbits.ON = 1;
|
||||||
|
|
||||||
|
|
||||||
RTCCONbits.ON = 1;
|
// RTCCONbits.ON = 1;
|
||||||
|
|
||||||
return RET_OK;
|
return RET_OK;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -46,25 +46,26 @@ void process(void);
|
|||||||
void InternalUartInit(void)
|
void InternalUartInit(void)
|
||||||
{
|
{
|
||||||
//Setup port 1
|
//Setup port 1
|
||||||
//
|
|
||||||
// U1MODEbits.ON = 0; //disable module
|
U1MODEbits.ON = 0; //disable module
|
||||||
// U1STA = 0;
|
U1STA = 0;
|
||||||
// U1STAbits.UTXEN = 0; //disable transmitter
|
U1STAbits.UTXEN = 0; //disable transmitter
|
||||||
// IPC6bits.U1IP = 7; //priority 7
|
IPC6bits.U1IP = 7; //priority 7
|
||||||
// IPC6bits.U1IS = 3; //sub-priority 3
|
IPC6bits.U1IS = 0; //sub-priority 3
|
||||||
// U1STAbits.UTXSEL = 0b01; //interrupt when all characters are transmitted
|
U1STAbits.UTXSEL = 0b01; //interrupt when all characters are transmitted
|
||||||
//// U1STAbits.UTXSEL = 0b01; // //JFM 2012-08-27
|
// U1STAbits.UTXSEL = 0b01; // //JFM 2012-08-27
|
||||||
// IFS0bits.U1TXIF = 0; //clear interrupt flag
|
IFS0bits.U1TXIF = 0; //clear interrupt flag
|
||||||
// IEC0bits.U1TXIE = 1; //enable tx interrupt
|
IEC0bits.U1TXIE = 0; //enable tx interrupt
|
||||||
// U1STAbits.URXISEL = 0b00; //interrupt for each character received
|
U1STAbits.URXISEL = 0b00; //interrupt for each character received
|
||||||
// IFS0bits.U1RXIF = 0;
|
IFS0bits.U1RXIF = 0;
|
||||||
//#ifdef POLL_UART1_RX
|
#ifdef POLL_UART1_RX
|
||||||
// IEC0bits.U1RXIE = 0; //disable rx interrupts
|
IEC0bits.U1RXIE = 0; //disable rx interrupts
|
||||||
//#else
|
#else
|
||||||
// IEC0bits.U1RXIE = 1; //enable rx interrupts
|
IEC0bits.U1RXIE = 1; //enable rx interrupts
|
||||||
//#endif
|
#endif
|
||||||
// U1STAbits.URXEN = 1; //enable receiver
|
U1STAbits.URXEN = 1; //enable receiver
|
||||||
// U1MODEbits.ON = 0; //disable module
|
U1STAbits.UTXEN = 1; //enable receiver
|
||||||
|
U1MODEbits.ON = 0; //disable module
|
||||||
|
|
||||||
//Setup port 2
|
//Setup port 2
|
||||||
//
|
//
|
||||||
@ -335,16 +336,39 @@ int SendInternalUartDataBlocking(char *p_pcDataBuf, int p_iDataSize, int p_iUart
|
|||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
int temp = IEC1;
|
int temp = IEC1;
|
||||||
IEC1bits.U2TXIE = 0;
|
switch(p_iUartPort)
|
||||||
for(i = 0; i < p_iDataSize; i++)
|
{
|
||||||
{
|
case INTERNAL_UART_PORT_1:
|
||||||
LORA_MODULE_TX_LED_PIN = ~ LORA_MODULE_TX_LED_PIN;
|
{
|
||||||
U2TXREG = *p_pcDataBuf++;
|
IEC0bits.U1TXIE = 0;
|
||||||
while(U2STAbits.TRMT == 0);
|
for(i = 0; i < p_iDataSize; i++)
|
||||||
}
|
{
|
||||||
LORA_MODULE_TX_LED_PIN = LED_OFF;
|
LORA_MODULE_TX_LED_PIN = ~ LORA_MODULE_TX_LED_PIN;
|
||||||
IFS1bits.U2TXIF = 0;
|
U1TXREG = *p_pcDataBuf++;
|
||||||
IEC1 = temp;
|
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++)
|
||||||
|
{
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
return UART_OK;
|
return UART_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -409,6 +433,8 @@ void TickInternalUart(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
void __ISR(_UART_1_VECTOR, ipl7) InternalUart1AInterrupt(void)
|
void __ISR(_UART_1_VECTOR, ipl7) InternalUart1AInterrupt(void)
|
||||||
{
|
{
|
||||||
@ -539,10 +565,10 @@ void ResetUart1(void)
|
|||||||
|
|
||||||
IEC0bits.U1TXIE = 0; //disable tx interrupt
|
IEC0bits.U1TXIE = 0; //disable tx interrupt
|
||||||
IFS0bits.U1TXIF = 0; //clear interrupt flag
|
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
|
||||||
IEC0bits.U1RXIE = 0; //disable rx interrupts
|
IEC0bits.U1RXIE = 0; //disable rx interrupts
|
||||||
IFS0bits.U1RXIF = 0;
|
IFS0bits.U1RXIF = 1;
|
||||||
#ifdef POLL_UART1_RX
|
#ifdef POLL_UART1_RX
|
||||||
IEC0bits.U1RXIE = 0; //disable rx interrupts
|
IEC0bits.U1RXIE = 0; //disable rx interrupts
|
||||||
#else
|
#else
|
||||||
|
|||||||
@ -34,8 +34,8 @@
|
|||||||
#define INTERNAL_UART_BUFFER_DEPTH 1//4//16 //JFM 2012-08-27
|
#define INTERNAL_UART_BUFFER_DEPTH 1//4//16 //JFM 2012-08-27
|
||||||
#define USE_TX_INTERNAL_BUFFER
|
#define USE_TX_INTERNAL_BUFFER
|
||||||
|
|
||||||
#define INTERNAL_UART1_TX_PIN_DIR TRISFbits.TRISF3
|
#define INTERNAL_UART1_TX_PIN_DIR TRISDbits.TRISD3
|
||||||
#define INTERNAL_UART1_TX_PIN LATFbits.LATF3
|
#define INTERNAL_UART1_TX_PIN LATDbits.LATD3
|
||||||
|
|
||||||
#define INTERNAL_UART2_TX_PIN_DIR TRISFbits.TRISF5
|
#define INTERNAL_UART2_TX_PIN_DIR TRISFbits.TRISF5
|
||||||
#define INTERNAL_UART2_TX_PIN LATFbits.LATF5
|
#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
|
#define LORA_CHALET_STATUS_CUR_SENSOR_MASK 0x02
|
||||||
|
|
||||||
void ExecuteMasterCommand(int Command, unsigned char *Data, int DataSize);
|
void ExecuteMasterCommand(int Command, unsigned char *Data, int DataSize);
|
||||||
void SendLoraNetworkCommand(int Command, unsigned char *Data, unsigned int DataSize);
|
void SendNetworkCommand(int Command, unsigned char *Data, unsigned int DataSize);
|
||||||
void SendLoraNetworkCommandBlocking(int Command, unsigned char *Data, unsigned int DataSize); //USE WITH CARE
|
void SendNetworkCommandBlocking(int Command, unsigned char *Data, unsigned int DataSize); //USE WITH CARE
|
||||||
|
|
||||||
void TestTx();
|
|
||||||
|
|
||||||
#endif /* LORANEETWORKINTERFACE_H */
|
#endif /* LORANEETWORKINTERFACE_H */
|
||||||
@ -17,7 +17,7 @@ jean-francois.martel@polymtl.ca
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "ProtocolDefs.h"
|
#include "ProtocolDefs.h"
|
||||||
#include "MasterCtrlInterface.h"
|
#include "MasterCtrlInterface.h"
|
||||||
#include "LoraNetworkInterface.h"
|
#include "NetworkInterface.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -36,7 +36,7 @@ unsigned char Flags = 0;
|
|||||||
unsigned char IsUpdating = 0;
|
unsigned char IsUpdating = 0;
|
||||||
unsigned char *BmpDataPtr = 0;
|
unsigned char *BmpDataPtr = 0;
|
||||||
|
|
||||||
static char MyDeviceID = ID_SPRINKLER_DEVICE;
|
static char MyDeviceID = ID_LORA_INTERFACE;
|
||||||
|
|
||||||
void ProtocolInit(void)
|
void ProtocolInit(void)
|
||||||
{
|
{
|
||||||
@ -204,7 +204,7 @@ void StateMachine(unsigned char Data)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
// NewMasterMessageReceived(mRxData);
|
// 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();
|
ResetStateMachine();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -68,6 +68,7 @@ enum DEVICES_IDS
|
|||||||
ID_CHALET_INTERFACE,
|
ID_CHALET_INTERFACE,
|
||||||
ID_CHALET_DEVICE,
|
ID_CHALET_DEVICE,
|
||||||
ID_BOOTLOADER_VIRTUAL,
|
ID_BOOTLOADER_VIRTUAL,
|
||||||
|
ID_LORA_INTERFACE,
|
||||||
ID_NB_DEVICE_ID
|
ID_NB_DEVICE_ID
|
||||||
|
|
||||||
};
|
};
|
||||||
@ -341,4 +342,37 @@ enum BOOTLOADER_CMDS
|
|||||||
|
|
||||||
MAX_BOOTLOADER_CMD
|
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
|
#endif
|
||||||
|
|||||||
@ -84,10 +84,10 @@ void InitUart(void)
|
|||||||
//DO NOT CHANGE assignments unless hardware changed !
|
//DO NOT CHANGE assignments unless hardware changed !
|
||||||
//
|
//
|
||||||
astUartData[UART_1].iIsInternal = 1;
|
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].iIsInternal = 1;
|
||||||
//astUartData[UART_2].iPhysicalUartPort = INTERNAL_UART_PORT_2; // (232)
|
astUartData[UART_2].iPhysicalUartPort = INTERNAL_UART_PORT_2; // (232)
|
||||||
|
|
||||||
#ifndef NO_EXTERNAL_UART
|
#ifndef NO_EXTERNAL_UART
|
||||||
astUartData[UART_3].iIsInternal = 0;
|
astUartData[UART_3].iIsInternal = 0;
|
||||||
|
|||||||
@ -39,7 +39,7 @@
|
|||||||
enum eUartHandles
|
enum eUartHandles
|
||||||
{
|
{
|
||||||
UART_1, //(232) Uart 1 - Drive
|
UART_1, //(232) Uart 1 - Drive
|
||||||
//UART_2, //(232) Uart 2 - CU
|
UART_2, //(232) Uart 2 - CU
|
||||||
//UART_3, // !!!EXTERNAL!!! SPI daughter board...
|
//UART_3, // !!!EXTERNAL!!! SPI daughter board...
|
||||||
MAX_UART_HANDLE,
|
MAX_UART_HANDLE,
|
||||||
|
|
||||||
|
|||||||
@ -102,7 +102,7 @@ int main(void)
|
|||||||
|
|
||||||
InitUart();
|
InitUart();
|
||||||
ProtocolInit();
|
ProtocolInit();
|
||||||
InitLoraWatchdog();
|
// InitLoraWatchdog();
|
||||||
|
|
||||||
InitSPIFlash();
|
InitSPIFlash();
|
||||||
// InitLCDCtrl();
|
// InitLCDCtrl();
|
||||||
@ -206,7 +206,7 @@ int main(void)
|
|||||||
SyslogTick();
|
SyslogTick();
|
||||||
// TickTempSensor();
|
// TickTempSensor();
|
||||||
BootloaderInterfaceTick();
|
BootloaderInterfaceTick();
|
||||||
TickLoraWatchdog();
|
// TickLoraWatchdog();
|
||||||
// TickLCDCtrl();
|
// TickLCDCtrl();
|
||||||
|
|
||||||
if(IsTimerExpired(HEARTBEAT_LED_TMR))
|
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
|
default.languagetoolchain.version=2.41
|
||||||
ChaletDuino_775F512H_.languagetoolchain.version=1.33
|
ChaletDuino_775F512H_.languagetoolchain.version=1.33
|
||||||
default.Pack.dfplocation=C\:\\Users\\JF\\.mchp_packs\\Microchip\\PIC32MX_DFP\\1.2.228
|
default.Pack.dfplocation=C\:\\Users\\JF\\.mchp_packs\\Microchip\\PIC32MX_DFP\\1.2.228
|
||||||
@ -7,7 +7,7 @@ conf.ids=default,ChaletDuino_775F512H_,ChaletDuinoV2_795F512H_
|
|||||||
default.languagetoolchain.dir=C\:\\Program Files\\Microchip\\xc32\\v2.41\\bin
|
default.languagetoolchain.dir=C\:\\Program Files\\Microchip\\xc32\\v2.41\\bin
|
||||||
ChaletDuino_775F512H_.Pack.dfplocation=C\:\\Program Files (x86)\\Microchip\\MPLABX\\v5.40\\packs\\Microchip\\PIC32MX_DFP\\1.3.231
|
ChaletDuino_775F512H_.Pack.dfplocation=C\:\\Program Files (x86)\\Microchip\\MPLABX\\v5.40\\packs\\Microchip\\PIC32MX_DFP\\1.3.231
|
||||||
ChaletDuinoV2_795F512H_.Pack.dfplocation=C\:\\Program Files (x86)\\Microchip\\MPLABX\\v5.40\\packs\\Microchip\\PIC32MX_DFP\\1.3.231
|
ChaletDuinoV2_795F512H_.Pack.dfplocation=C\:\\Program Files (x86)\\Microchip\\MPLABX\\v5.40\\packs\\Microchip\\PIC32MX_DFP\\1.3.231
|
||||||
configurations-xml=c50db0e3814d46f502a1f0c04bef1888
|
configurations-xml=7fe326836e087d7e7a43d49678835784
|
||||||
default.com-microchip-mplab-nbide-toolchainXC32-XC32LanguageToolchain.md5=a5745c99cb5a5032f17cfaf0ff720282
|
default.com-microchip-mplab-nbide-toolchainXC32-XC32LanguageToolchain.md5=a5745c99cb5a5032f17cfaf0ff720282
|
||||||
com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=9db8f8a224aa17d0023ea7f468f871dc
|
com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=9db8f8a224aa17d0023ea7f468f871dc
|
||||||
ChaletDuino_775F512H_.languagetoolchain.dir=C\:\\Program Files\\Microchip\\xc32\\v1.33\\bin
|
ChaletDuino_775F512H_.languagetoolchain.dir=C\:\\Program Files\\Microchip\\xc32\\v1.33\\bin
|
||||||
|
|||||||
@ -78,7 +78,6 @@
|
|||||||
<itemPath>Source/versionbuild.h</itemPath>
|
<itemPath>Source/versionbuild.h</itemPath>
|
||||||
<itemPath>Source/winc1500_config.h</itemPath>
|
<itemPath>Source/winc1500_config.h</itemPath>
|
||||||
<itemPath>Source/WiFiCtrl.h</itemPath>
|
<itemPath>Source/WiFiCtrl.h</itemPath>
|
||||||
<itemPath>Source/LoraNetworkInterface.h</itemPath>
|
|
||||||
<itemPath>Source/ChaletPowerRelay.h</itemPath>
|
<itemPath>Source/ChaletPowerRelay.h</itemPath>
|
||||||
<itemPath>Source/HarakiriRelay.h</itemPath>
|
<itemPath>Source/HarakiriRelay.h</itemPath>
|
||||||
<itemPath>Source/BatteryMonitor.h</itemPath>
|
<itemPath>Source/BatteryMonitor.h</itemPath>
|
||||||
@ -96,6 +95,8 @@
|
|||||||
<itemPath>Source/LoraWatchdog.h</itemPath>
|
<itemPath>Source/LoraWatchdog.h</itemPath>
|
||||||
<itemPath>Source/hd44780.h</itemPath>
|
<itemPath>Source/hd44780.h</itemPath>
|
||||||
<itemPath>Source/LCDCtrl.h</itemPath>
|
<itemPath>Source/LCDCtrl.h</itemPath>
|
||||||
|
<itemPath>Source/LoraInterface.h</itemPath>
|
||||||
|
<itemPath>Source/NetworkInterface.h</itemPath>
|
||||||
</logicalFolder>
|
</logicalFolder>
|
||||||
<logicalFolder name="LinkerScript"
|
<logicalFolder name="LinkerScript"
|
||||||
displayName="Linker Files"
|
displayName="Linker Files"
|
||||||
@ -174,7 +175,6 @@
|
|||||||
<itemPath>Source/timer.c</itemPath>
|
<itemPath>Source/timer.c</itemPath>
|
||||||
<itemPath>Source/WiFiCtrl.c</itemPath>
|
<itemPath>Source/WiFiCtrl.c</itemPath>
|
||||||
<itemPath>Source/SPI.c</itemPath>
|
<itemPath>Source/SPI.c</itemPath>
|
||||||
<itemPath>Source/LoraNetworkInterface.c</itemPath>
|
|
||||||
<itemPath>Source/ChaletPowerRelay.c</itemPath>
|
<itemPath>Source/ChaletPowerRelay.c</itemPath>
|
||||||
<itemPath>Source/HarakiriRelay.c</itemPath>
|
<itemPath>Source/HarakiriRelay.c</itemPath>
|
||||||
<itemPath>Source/BatteryMonitor.c</itemPath>
|
<itemPath>Source/BatteryMonitor.c</itemPath>
|
||||||
@ -191,6 +191,8 @@
|
|||||||
<itemPath>Source/LoraWatchdog.c</itemPath>
|
<itemPath>Source/LoraWatchdog.c</itemPath>
|
||||||
<itemPath>Source/hd44780.c</itemPath>
|
<itemPath>Source/hd44780.c</itemPath>
|
||||||
<itemPath>Source/LCDCtrl.c</itemPath>
|
<itemPath>Source/LCDCtrl.c</itemPath>
|
||||||
|
<itemPath>Source/LoraInterface.c</itemPath>
|
||||||
|
<itemPath>Source/NetworkInterface.c</itemPath>
|
||||||
</logicalFolder>
|
</logicalFolder>
|
||||||
<logicalFolder name="ExternalFiles"
|
<logicalFolder name="ExternalFiles"
|
||||||
displayName="Important Files"
|
displayName="Important Files"
|
||||||
@ -1237,6 +1239,20 @@
|
|||||||
</C32Global>
|
</C32Global>
|
||||||
</item>
|
</item>
|
||||||
<item path="Source/ChaletPowerRelay.c" ex="true" overriding="false">
|
<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>
|
||||||
<item path="Source/ChaletduinoBoard.c" ex="true" overriding="false">
|
<item path="Source/ChaletduinoBoard.c" ex="true" overriding="false">
|
||||||
<C32>
|
<C32>
|
||||||
@ -1271,10 +1287,52 @@
|
|||||||
</C32Global>
|
</C32Global>
|
||||||
</item>
|
</item>
|
||||||
<item path="Source/HarakiriRelay.c" ex="true" overriding="false">
|
<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>
|
||||||
<item path="Source/LCDCtrl.c" ex="true" overriding="false">
|
<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>
|
||||||
<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>
|
||||||
<item path="Source/MasterCtrlInterface.c" ex="true" overriding="false">
|
<item path="Source/MasterCtrlInterface.c" ex="true" overriding="false">
|
||||||
<C32>
|
<C32>
|
||||||
@ -1292,6 +1350,22 @@
|
|||||||
<C32Global>
|
<C32Global>
|
||||||
</C32Global>
|
</C32Global>
|
||||||
</item>
|
</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">
|
<item path="Source/NetworkProtocol.c" ex="false" overriding="false">
|
||||||
<C32>
|
<C32>
|
||||||
</C32>
|
</C32>
|
||||||
@ -1325,8 +1399,36 @@
|
|||||||
</C32Global>
|
</C32Global>
|
||||||
</item>
|
</item>
|
||||||
<item path="Source/TC77.c" ex="true" overriding="false">
|
<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>
|
||||||
<item path="Source/TemperatureSensor.c" ex="true" overriding="false">
|
<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>
|
||||||
<item path="Source/Terminal.c" ex="false" overriding="false">
|
<item path="Source/Terminal.c" ex="false" overriding="false">
|
||||||
<C32>
|
<C32>
|
||||||
@ -1377,6 +1479,20 @@
|
|||||||
</C32Global>
|
</C32Global>
|
||||||
</item>
|
</item>
|
||||||
<item path="Source/ina219.c" ex="true" overriding="false">
|
<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>
|
||||||
<item path="Source/winc1500_config.h" ex="true" overriding="false">
|
<item path="Source/winc1500_config.h" ex="true" overriding="false">
|
||||||
<C32>
|
<C32>
|
||||||
|
|||||||
@ -25,15 +25,13 @@
|
|||||||
</editor-bookmarks>
|
</editor-bookmarks>
|
||||||
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
|
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
|
||||||
<group>
|
<group>
|
||||||
<file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/BootloaderInterface.c</file>
|
<file>file:/D:/Main/PicDev/Projets/LoraInterface/LoraInterface.X/Source/LoraInterface.h</file>
|
||||||
<file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/ProtocolDefs.h</file>
|
<file>file:/D:/Main/PicDev/Projets/LoraInterface/LoraInterface.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/LoraInterface/LoraInterface.X/Source/NetworkProtocol.c</file>
|
||||||
<file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/BootloaderInterface.h</file>
|
<file>file:/D:/Main/PicDev/Projets/LoraInterface/LoraInterface.X/Source/NetworkInterface.h</file>
|
||||||
<file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/BootloaderProtocol.h</file>
|
<file>file:/D:/Main/PicDev/Projets/LoraInterface/LoraInterface.X/Source/LoraInterface.c</file>
|
||||||
<file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/LCDCtrl.c</file>
|
<file>file:/D:/Main/PicDev/Projets/LoraInterface/LoraInterface.X/Source/NetworkProtocol.h</file>
|
||||||
<file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/BatteryMonitor.c</file>
|
<file>file:/D:/Main/PicDev/Projets/LoraInterface/LoraInterface.X/Source/NetworkInterface.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>
|
|
||||||
</group>
|
</group>
|
||||||
</open-files>
|
</open-files>
|
||||||
</project-private>
|
</project-private>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user