This commit is contained in:
jfmartel 2022-12-11 13:49:23 -05:00
parent c0574b75ea
commit f1d0ed7d4a
27 changed files with 11761 additions and 10795 deletions

View File

@ -13,7 +13,7 @@ int mBatterySOC;
float mVoltageMeanSum;
int mVoltageMeanCount;
int mCurrentMeanSum;
unsigned int mCurrentMeanSum;
int mCurrentMeanCount;
bool mCurrentModuleOK;
@ -90,6 +90,16 @@ void BatteryMonitorTick()
}
else
{
unsigned int Ref = 0;
AD1CHSbits.CH0SA = 0; //AN0
AD1CON1bits.SAMP = 0;
while(AD1CON1bits.DONE == 0);
Ref = ADC1BUF0;
AD1CON1bits.SAMP = 1;
AD1CHSbits.CH0SA = 2; //AN2
AD1CON1bits.SAMP = 0;
while(AD1CON1bits.DONE == 0);
@ -97,12 +107,12 @@ void BatteryMonitorTick()
AD1CON1bits.SAMP = 1;
// adc &= 0xFFFE;
//40mV/A
adc -= Ref;
conv = (double)adc * 1.0;
conv /= 1023;
conv *= 3.3; //Volts
conv /= 0.04; //Amps (40mV/A)
conv /= 0.05; //Amps (50mV/A)
raw = conv;
@ -110,7 +120,7 @@ void BatteryMonitorTick()
//This could go for a long time but 5000 samples is too much anyways.
if(mCurrentMeanCount >= 500)
{
mCurrentMeanCount = 0;
mCurrentMeanCount = 1;
mCurrentMeanSum = adc;
}
else
@ -122,16 +132,20 @@ void BatteryMonitorTick()
mBatteryCurrent = adc;
//mBatteryCurrent = mCurrentMeanSum / mCurrentMeanCount;
}
}
}
float GetBatteryVoltage()
float GetBatteryVoltage(int Reset)
{
if(Reset == 1)
{
mBatteryVoltage = (mVoltageMeanSum/mVoltageMeanCount);
mVoltageMeanSum = 0.0;
mVoltageMeanCount = 0;
}
return mBatteryVoltage;
@ -141,11 +155,16 @@ float GetBatteryVoltage()
int GetSolarPanelCurrent()
{
//mBatteryCurrent = (mCurrentMeanSum/mCurrentMeanCount);
mVoltageMeanCount = 0;
//mVoltageMeanCount = 0;
mCurrentMeanSum = 0.0;
return mBatteryCurrent;
}
float GetConvertedSolarPanelCurrent()
{
float Cur = (mBatteryCurrent - 2) * (3.3/1023);
return Cur;
}
int GetBatterySOC()
{

View File

@ -15,11 +15,12 @@
void InitBatteryMonitor();
void BatteryMonitorTick();
float GetBatteryVoltage();
float GetBatteryVoltage(int Reset);
int GetSolarPanelCurrent();
int GetBatterySOC();
int SendNetworkBatteryData();
bool GetCurrentModuleOK();
float GetConvertedSolarPanelCurrent();
#endif /* BATTERYMONITOR_H */

View File

@ -41,12 +41,12 @@ 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 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
@ -123,16 +123,21 @@ extern "C" {
//LoRa
#define LORA_MODULE_RELAY_PIN_DIR TRISDbits.TRISD11
#define LORA_MODULE_RELAY_PIN LATDbits.LATD11
#define LORA_MODULE_M0_PIN_DIR TRISEbits.TRISE7 //FUCK, double assignation avec Inverter ON
#define LORA_MODULE_M0_PIN LATEbits.LATE7
#define LORA_MODULE_M0_PIN_DIR TRISDbits.TRISD3 //V2
#define LORA_MODULE_M0_PIN LATDbits.LATD3
#define LORA_MODULE_M1_PIN_DIR TRISDbits.TRISD9
#define LORA_MODULE_M1_PIN LATDbits.LATD9
#define LORA_MODULE_INT_PIN_DIR TRISDbits.TRISD8
#define LORA_MODULE_INT_PIN PORTDits.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_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 TRISBbits.TRISB4
#define LORA_MODULE_RX_LED_PIN LATBbits.LATB4
#define LORA_MODULE_TX_LED_PIN_DIR TRISFbits.TRISF1
#define LORA_MODULE_TX_LED_PIN LATFbits.LATF1
//LCD Screen
#define LCD_RS_PIN_DIR TRISDbits.TRISD5
@ -149,9 +154,8 @@ extern "C" {
#define LCD_DB6_PIN LATBbits.LATB10
#define LCD_DB7_PIN_DIR TRISBbits.TRISB11
#define LCD_DB7_PIN LATBbits.LATB11
//#define LCD_SCROLL_BTN_PIN_DIR TRISCbits.TRISC13
//#define LCD_SCROLL_BTN_PIN PORTCbits.PORTC13
#define LCD_SCROLL_BTN_PIN_DIR TRISBbits.TRISB5
#define LCD_SCROLL_BTN_PIN PORTBbits.RB5
/* ************************************************************************** */
/* Prototypes */

View File

@ -2,14 +2,17 @@
int InitBoard()
{
DDPCONbits.JTAGEN = 0;
HEARTBEAT_LED_1_PIN_DIR = PIN_OUTPUT;
HEARTBEAT_LED_2_PIN_DIR = PIN_OUTPUT;
HEARTBEAT_LED_2_PIN = LED_OFF;
HEARTBEAT_LED_1_PIN = LED_ON;
LORA_ACTIVITY_LED_PIN_DIR = PIN_OUTPUT;
LORA_ACTIVITY_LED_PIN = LED_OFF;
// LORA_ACTIVITY_LED_PIN_DIR = PIN_OUTPUT;
// LORA_ACTIVITY_LED_PIN = LED_OFF;
// GP_DEBUG_1_PIN_DIR = PIN_OUTPUT;
// GP_DEBUG_1_PIN = 0;
@ -159,7 +162,9 @@ int InitBoard()
LCD_DB7_PIN_DIR = PIN_OUTPUT;
LCD_DB7_PIN = 0;
// LCD_SCROLL_BTN_PIN_DIR = PIN_INPUT;
LCD_SCROLL_BTN_PIN_DIR = PIN_INPUT;
@ -198,7 +203,7 @@ int InitBoard()
// OC3CONbits.ON = 1;
RTCCONbits.ON = 1;
return RET_OK;
}

View File

@ -23,6 +23,12 @@
#define FLASH_BTLDR_FLAGS_ADDRESS 0x000000
#define FLASH_WIFI_IP_ADDRESS 0X00000C
#define FLASH_WIFI_GATEWAY_ADDRESS 0x000010
#define FLASH_USE_DHCP_FLAG_ADDRESS 0x000014
#define FLASH_WIFI_ACCESS_PT_NAME_LENGTH_ADDRESS 0X000015
#define FLASH_WIFI_ACCESS_PT_NAME_ADDRESS 0x000016
#define FLASH_WIFI_ACCESS_PT_PASSWD_LENGTH_ADDRESS 0x000056
#define FLASH_WIFI_ACCESS_PT_PASSWD_ADDRESS 0x000057
#define FLASH_LAST_ADDRESS 0X000097

View File

@ -0,0 +1,108 @@
//#include <proc/p32mx440f256h.h>
#include "LCDCtrl.h"
#include "BoardCfg.h"
#include "timer.h"
#include "hd44780.h"
#include "BatteryMonitor.h"
unsigned int mIsLCDON;
unsigned int mPinStateToggle;
void InitLCDCtrl()
{
mIsLCDON = 0;
mPinStateToggle = 0;
LCD_RS_PIN = 0;
LCD_RW_PIN = 0;
LCD_E_PIN = 0;
LCD_DB4_PIN = 0;
LCD_DB5_PIN = 0;
LCD_DB6_PIN = 0;
LCD_DB7_PIN = 0;
// HD44780_Init();
//
// HD44780_DisplayClear();
// HD44780_PositionXY(0, 0);
// // send char
// HD44780_DrawString("Le Chalet");
// HD44780_PositionXY(0, 1);
// HD44780_DrawString("Ile aux chevres");
// display clear
//HD44780_DisplayOn();
TimerStart(LCD_CTRL_TIMER,LCD_REFRESH_TIMEOUT);
}
void TickLCDCtrl()
{
if(LCD_SCROLL_BTN_PIN == 0)
{
if(mPinStateToggle == 0)
{
mPinStateToggle = 1;
if(mIsLCDON == 1)
{
mIsLCDON = 0;
HD44780_DisplayClear();
LCD_RS_PIN = 0;
LCD_RW_PIN = 0;
LCD_E_PIN = 0;
LCD_DB4_PIN = 0;
LCD_DB5_PIN = 0;
LCD_DB6_PIN = 0;
LCD_DB7_PIN = 0;
}
else
{
mIsLCDON = 1;
HD44780_Init();
HD44780_DisplayClear();
HD44780_DisplayOn();
}
}
}
else
{
if(mPinStateToggle == 1)
{
mPinStateToggle = 0;
}
}
if(IsTimerExpired(LCD_CTRL_TIMER))
{
if(mIsLCDON == 1)
{
float VBat = GetBatteryVoltage(0);
float ISolar = GetConvertedSolarPanelCurrent();
char line1[16], line2[16];
snprintf(line1,16,"VBat: %.2fV ",VBat);
if(ISolar < (float)0.1)
{
ISolar *= 1000;
snprintf(line2,16,"ISol: %.2fmA ",ISolar);
}
else
{
snprintf(line2,16,"ISol: %.5fA ",ISolar);
}
//
// HD44780_Init();
// HD44780_DisplayClear();
HD44780_PositionXY(0, 0);
HD44780_DrawString(line1);
HD44780_PositionXY(0, 1);
HD44780_DrawString(line2);
}
TimerStart(LCD_CTRL_TIMER,LCD_REFRESH_TIMEOUT);
}
}

View File

@ -0,0 +1,21 @@
/*
* File: LCDCtrl.h
* Author: JF
*
*
*/
#ifndef LCDCTRL_H
#define LCDCTRL_H
#include "define.h"
#define LCD_REFRESH_TIMEOUT 1000 //1h Time without comm. before we reset the LoRa module
void InitLCDCtrl();
void TickLCDCtrl();
#endif /* LCDCTRL_H */

View File

@ -14,6 +14,7 @@
#include "FlashMapping.h"
#include "LoraWatchdog.h"
#include "versionbuild.h"
#include "WiFiCtrl.h"
//#include "WiFiCtrl.h"
//
@ -28,14 +29,16 @@
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)
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:
@ -44,7 +47,7 @@ void ExecuteMasterCommand(int Command, unsigned char *Data)
}
case CHALET_GENERAL_STATUS_REQUEST:
{
float FloatVoltage = GetBatteryVoltage();
float FloatVoltage = GetBatteryVoltage(1);
float FloatTemperature = TempSensorGetTemp();
unsigned int BattVoltage = *((int*)&FloatVoltage);
unsigned int Temperature = *((int*)&FloatTemperature);
@ -52,7 +55,7 @@ void ExecuteMasterCommand(int Command, unsigned char *Data)
int SOC = GetBatterySOC();
char GeneralStatus = 0;
char ChaletStatus[14];
char ChaletStatus[18];
if(GetChaletPowerRelayState() == CHALET_POWER_RELAY_ON_STATE)
{
@ -65,6 +68,7 @@ void ExecuteMasterCommand(int Command, unsigned char *Data)
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
@ -72,23 +76,35 @@ void ExecuteMasterCommand(int Command, unsigned char *Data)
ChaletStatus[4] = (char)(BattVoltage & 0x000000FF); //Battery Voltage 3
BattVoltage >>= 8;
ChaletStatus[5] = (char)(BattVoltage & 0x000000FF); //Battery Voltage 4
ChaletStatus[6] = (char)(SolarPanelCurrent & 0x000000FF); //Solar panel Current 1
SolarPanelCurrent >>= 8;
ChaletStatus[7] = (char)(SolarPanelCurrent & 0x000000FF); //Solar panel Current 2
ChaletStatus[8] = (char)(SOC & 0x000000FF); //Battery SOC 1
SolarPanelCurrent >>= 8;
ChaletStatus[9] = (char)(SolarPanelCurrent & 0x000000FF); //Battery SOC 2
ChaletStatus[10] = (char)(Temperature & 0x000000FF); //Battery Voltage 1
ChaletStatus[10] = (char)(Temperature & 0x000000FF); //Temperature 1
Temperature >>= 8;
ChaletStatus[11] = (char)(Temperature & 0x000000FF); //Battery Voltage 2
ChaletStatus[11] = (char)(Temperature & 0x000000FF); //Temperature 2
Temperature >>= 8;
ChaletStatus[12] = (char)(Temperature & 0x000000FF); //Battery Voltage 3
ChaletStatus[12] = (char)(Temperature & 0x000000FF); //BTemperature 3
Temperature >>= 8;
ChaletStatus[13] = (char)(Temperature & 0x000000FF); //Battery Voltage 4
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,14);
SendLoraNetworkCommand(CHALET_GENERAL_STATUS_RESPONSE,ChaletStatus,18);
HEARTBEAT_LED_1_PIN = ~HEARTBEAT_LED_1_PIN;
@ -125,10 +141,20 @@ void ExecuteMasterCommand(int Command, unsigned char *Data)
}
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:
@ -207,15 +233,20 @@ void ExecuteMasterCommand(int Command, unsigned char *Data)
}
case CHALET_GET_STORED_WIFI_SETTINGS_REQUEST:
{
char response[8];
SPIFlashReadBuffer(response,8,FLASH_WIFI_IP_ADDRESS);
SendLoraNetworkCommand(CHALET_GET_STORED_WIFI_SETTINGS_RESPONSE,response,8);
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,8,FLASH_WIFI_IP_ADDRESS) == 1)
if(SPIFlashWriteBuffer(Data,DataSize,FLASH_WIFI_IP_ADDRESS) == 1)
{
response = 1;
}
@ -228,6 +259,13 @@ void ExecuteMasterCommand(int Command, unsigned char *Data)
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;
}
}
}

View File

@ -8,7 +8,7 @@
#define LORA_CHALET_STATUS_POWER_RELAY_MASK 0x01
#define LORA_CHALET_STATUS_CUR_SENSOR_MASK 0x02
void ExecuteMasterCommand(int Command, unsigned char *Data);
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

View File

@ -204,7 +204,7 @@ void StateMachine(unsigned char Data)
break;
}
// NewMasterMessageReceived(mRxData);
ExecuteMasterCommand(Command,ProtocolMsgDataPtr());
ExecuteMasterCommand(Command,ProtocolMsgDataPtr(),DataSize);
ResetStateMachine();
break;
}

View File

@ -298,6 +298,13 @@ enum CHALET_CMDS
CHALET_SET_STORED_WIFI_SETTINGS_RESPONSE,
CHALET_GET_FIRMWARE_VERSION_REQUEST,
CHALET_GET_FIRMWARE_VERSION_RESPONSE,
CHALET_CLEAR_COMMS_STATISTICS_REQUEST,
CHALET_CLEAR_COMMS_STATISTICS_RESPONSE,
CHALET_REGISTER_FRIENDLY_DEVICE_REQUEST,
CHALET_REGISTER_FRIENDLY_DEVICE_RESPONSE,
CHALET_FWD_DEVICE_MESSAGE_REQUEST,
CHALET_FWD_DEVICE_MESSAGE_RESPONSE,
MAX_CHALET_CMD
};

View File

@ -275,7 +275,7 @@ void ParseNewBuffer(void)
if(strlen(mDataString1) == 0)
{
char voltage[15];
sprintf(voltage,"%f",GetBatteryVoltage());
sprintf(voltage,"%f",GetBatteryVoltage(0));
TerminalPrintString("Battery Voltage: ");
TerminalPrintString(voltage);
TerminalPrintString("\n");
@ -290,7 +290,7 @@ void ParseNewBuffer(void)
if(strncmp(mDataString1,"voltage",strlen("voltage")) == 0)
{
char voltage[15];
sprintf(voltage,"%f",GetBatteryVoltage());
sprintf(voltage,"%f",GetBatteryVoltage(0));
TerminalPrintString("Battery Voltage: ");
TerminalPrintString(voltage);
TerminalPrintString("\n");
@ -363,7 +363,7 @@ void ParseNewBuffer(void)
char voltage[15];
memset(voltage,0,15);
sprintf(voltage,"%.2f",GetBatteryVoltage());
sprintf(voltage,"%.2f",GetBatteryVoltage(0));
TerminalPrintString("Battery Voltage: ");
TerminalPrintString(voltage);
TerminalPrintString("V\n");

View File

@ -77,6 +77,12 @@ static void resolve_cb(uint8 *hostName, uint32 hostIp)
{
gu32HostIp = hostIp;
gbHostIpByName = true;
char IP1,IP2,IP3,IP4;
IP1 = IPV4_BYTE(hostIp, 0);
IP2 = IPV4_BYTE(hostIp, 1);
IP3 = IPV4_BYTE(hostIp, 2);
IP4 = IPV4_BYTE(hostIp, 3);
printf("Host IP is %d.%d.%d.%d\r\n",
(int)IPV4_BYTE(hostIp, 0),
(int)IPV4_BYTE(hostIp, 1),
@ -303,13 +309,24 @@ static void wifi_cb(uint8 u8MsgType, void *pvMsg)
{
printf("Wi-Fi connected\r\n");
#ifndef USE_STATIC_IP
if(mUseDHCP == true)
{
// m2m_wifi_request_dhcp_client();
#else
}
else
{
m2m_wifi_set_static_ip(&mModuleIPConfig);
gbConnectedWifi = true;
mCurIPAddress = mModuleIPConfig.u32StaticIP;
#endif
}
//#ifndef USE_STATIC_IP
// // m2m_wifi_request_dhcp_client();
//#else
// m2m_wifi_set_static_ip(&mModuleIPConfig);
// gbConnectedWifi = true;
// mCurIPAddress = mModuleIPConfig.u32StaticIP;
//#endif
mWiFiState = WIFI_CONNECTED_STATE;
} else if (pstrWifiState->u8CurrState == M2M_WIFI_DISCONNECTED)
{
@ -326,13 +343,17 @@ static void wifi_cb(uint8 u8MsgType, void *pvMsg)
case M2M_WIFI_REQ_DHCP_CONF:
{
// mCurIPAddress = *(uin32*)pvMsg;
tstrM2MIPConfig *IPConfig;
IPConfig = (tstrM2MIPConfig*)pvMsg;
// mCurIPAddress = *(uint32*)pvMsg;
// unsigned char ip1,ip2,ip3,ip4;
// ip1 = IPV4_BYTE(pu8IPAddress,0);
// ip2 = IPV4_BYTE(pu8IPAddress,1);
// ip3 = IPV4_BYTE(pu8IPAddress,2);
// ip4 = IPV4_BYTE(pu8IPAddress,3);
mCurIPAddress = IPConfig->u32StaticIP;
unsigned char ip1,ip2,ip3,ip4;
ip1 = IPV4_BYTE(mCurIPAddress,0);
ip2 = IPV4_BYTE(mCurIPAddress,1);
ip3 = IPV4_BYTE(mCurIPAddress,2);
ip4 = IPV4_BYTE(mCurIPAddress,3);
/* Turn LED0 on to declare that IP address received. */
@ -377,10 +398,14 @@ int InitWiFi()
char IP1,IP2,IP3,IP4,GW1,GW2,GW3,GW4;
//Load WiFi parameters from flash if present
if(SPIFlashIsPresent() == 1)
{
char StoredIPConfig[8];
if(SPIFlashReadBuffer(StoredIPConfig,8,FLASH_WIFI_IP_ADDRESS) != RET_ERROR)
char StoredIPConfig[11];
if(SPIFlashReadBuffer(StoredIPConfig,11,FLASH_WIFI_IP_ADDRESS) != RET_ERROR)
{
mUseDHCP = StoredIPConfig[8]; //Use DHCP
//if(mUseDHCP == 0)
{
IP1 = StoredIPConfig[0];
IP2 = StoredIPConfig[1];
@ -405,6 +430,28 @@ int InitWiFi()
GW3 = GATEWAY_ADDRESS_3;
GW4 = GATEWAY_ADDRESS_4;
}
}
char APNameLength, APPassLenght;
APNameLength = StoredIPConfig[9];
APPassLenght = StoredIPConfig[10];
if((APNameLength > 64) || APPassLenght > 64)
{
strcpy(mAPName,HOME_AP_NAME);
strcpy(mAPPassword,HOME_AP_PWD);
}
else
{
if(SPIFlashReadBuffer(mAPName,APNameLength,FLASH_WIFI_IP_ADDRESS+11) != RET_OK)
{
strcpy(mAPName,HOME_AP_NAME);
}
if(SPIFlashReadBuffer(mAPPassword,APPassLenght,FLASH_WIFI_IP_ADDRESS+11+APNameLength) != RET_OK)
{
strcpy(mAPPassword,HOME_AP_PWD);
}
}
}
}
@ -419,6 +466,15 @@ int InitWiFi()
GW2 = GATEWAY_ADDRESS_2;
GW3 = GATEWAY_ADDRESS_3;
GW4 = GATEWAY_ADDRESS_4;
strcpy(mAPPassword,HOME_AP_PWD);
strcpy(mAPName,HOME_AP_NAME);
#ifdef USE_STATIC_IP
mUseDHCP = 0;
#else
mUseDHCP = 1;
#endif
}
@ -468,14 +524,28 @@ int InitWiFi()
// m2m_wifi_set_device_name((uint8 *)gacDeviceName, (uint8)m2m_strlen((uint8 *)gacDeviceName));
#ifdef USE_STATIC_IP
//Use static ip --> disable dhcp client before connecting
//#ifdef USE_STATIC_IP
// //Use static ip --> disable dhcp client before connecting
// m2m_wifi_enable_dhcp(0);
//#endif
// if(m2m_wifi_connect(HOME_AP_NAME,sizeof(HOME_AP_NAME),HOME_AP_SEC_TYPE,HOME_AP_PWD,M2M_WIFI_CH_ALL) != M2M_SUCCESS)
// {
// //wifi connect error...
// printf("error");
// }
if(mUseDHCP == 1)
{
m2m_wifi_enable_dhcp(1);
}
else
{
m2m_wifi_enable_dhcp(0);
#endif
if(m2m_wifi_connect(HOME_AP_NAME,sizeof(HOME_AP_NAME),HOME_AP_SEC_TYPE,HOME_AP_PWD,M2M_WIFI_CH_ALL) != M2M_SUCCESS)
}
if(m2m_wifi_connect(mAPName,strlen(mAPName),HOME_AP_SEC_TYPE,mAPPassword,M2M_WIFI_CH_ALL) != M2M_SUCCESS)
{
//wifi connect error...
printf("error");
printf("Wifi Connect error");
}
tstrPerphInitParam tst;
@ -521,6 +591,7 @@ int TurnOFFWiFi()
mWiFiInitOK = false;
gbConnectedWifi = false;
HEARTBEAT_LED_2_PIN = LED_OFF;
mCurIPAddress = 0xFFFFFFFF;
// WIFI
mWiFiState = WIFI_MODULE_OFF_STATE;
@ -563,6 +634,11 @@ char GetWiFiSate()
return mWiFiState;
}
uint32 GetCurIPAddress()
{
return mCurIPAddress;
}
void TickWiFi()
{
if(mWiFiInitOK == false)
@ -574,7 +650,8 @@ void TickWiFi()
if(IsTimerExpired(WIFI_RECONNECT_TIMER))
{
//m2m_wifi_disconnect();
m2m_wifi_connect(HOME_AP_NAME,sizeof(HOME_AP_NAME),HOME_AP_SEC_TYPE,HOME_AP_PWD,M2M_WIFI_CH_ALL);
//m2m_wifi_connect(HOME_AP_NAME,sizeof(HOME_AP_NAME),HOME_AP_SEC_TYPE,HOME_AP_PWD,M2M_WIFI_CH_ALL);
m2m_wifi_connect(mAPName,strlen(mAPName),HOME_AP_SEC_TYPE,mAPPassword,M2M_WIFI_CH_ALL);
TimerStart(WIFI_RECONNECT_TIMER,WIFI_CONNECT_TIMEOUT);
}
}

View File

@ -78,6 +78,7 @@ void TickWiFi();
int TurnOFFWiFi();
int CloseSockets();
char GetWiFiSate();
uint32 GetCurIPAddress();
int OpenTerminalServer();
void SendTerminalData(uint8 *data, int size);
@ -98,6 +99,8 @@ void SendBootloaderData(uint8 *data, int size);
void SendBootloaderByte(uint8 data);
int IsBootloaderClientConnected();
//#define USE_STATIC_IP
@ -166,9 +169,11 @@ int IsBootloaderClientConnected();
//#define HOME_AP_PWD "12345fffff"
#define HOME_AP_NAME "ChaletVilleEmard"
//#define HOME_AP_NAME "ImprVilleEmard"
//#define HOME_AP_NAME "ElRouteurDuChalet"
//#define HOME_AP_NAME "LeChalet"
#define HOME_AP_PWD "Evinrude30"
//#define HOME_AP_PWD "12345fffff"
#define TERMINAL_SERVER_PORT 85
#define NETWORK_SERVER_PORT 86
@ -253,6 +258,9 @@ static const char gacHttpProvDomainName[] = MAIN_HTTP_PROV_SERVER_DOMAIN_NAME;
static uint8 gau8MacAddr[] = MAIN_MAC_ADDRESS;
static sint8 gacDeviceName[] = MAIN_M2M_SSID;
char mAPName[64];
char mAPPassword[64];
char mUseDHCP;
#define MAIN_WAITING_TIME 3000
#define MAIN_RETRY_COUNT 10

View File

@ -156,9 +156,9 @@ enum eWiFiState
//----------------------------
#define NETWORK_UART_PORT UART_1
#ifndef NO_WIFI
#define WIFI_MODULE_UART_PORT UART_2
#endif
#define LORA_MODULE_UART_PORT UART_2
//
//----------------------------

View File

@ -18,9 +18,12 @@
// include libraries
#include <stdio.h>
#include <util/delay.h>
#include <avr/io.h>
//#include <util/delay.h>
//#include <avr/io.h>
#include "define.h"
#include "BoardCfg.h"
#include "hd44780.h"
#include "timer.h"
// +---------------------------+
// | Power on |
@ -250,46 +253,57 @@ char HD44780_Shift (char item, char direction)
void HD44780_Init (void)
{
// set E as output
SETBIT(HD44780_DDR_E, HD44780_E);
//SETBIT(HD44780_DDR_E, HD44780_E);
// set RS as output
SETBIT(HD44780_DDR_RS, HD44780_RS);
//SETBIT(HD44780_DDR_RS, HD44780_RS);
// set RW as output
SETBIT(HD44780_DDR_RW, HD44780_RW);
//SETBIT(HD44780_DDR_RW, HD44780_RW);
// set DB7-DB4 as output
HD44780_SetDDR_DATA4to7();
// HD44780_SetDDR_DATA4to7();
// clear RS
CLRBIT(HD44780_PORT_RS, HD44780_RS);
// CLRBIT(HD44780_PORT_RS, HD44780_RS);
LCD_RS_PIN = 0;
// clear RW
CLRBIT(HD44780_PORT_RW, HD44780_RW);
// CLRBIT(HD44780_PORT_RW, HD44780_RW);
LCD_RW_PIN = 0;
// clear E
CLRBIT(HD44780_PORT_E, HD44780_E);
// CLRBIT(HD44780_PORT_E, HD44780_E);
LCD_E_PIN = 0;
// delay > 15ms
_delay_ms(16);
// Busy Flag (BF) cannot be checked in these instructions
// ---------------------------------------------------------------------
// Initial sequence 0x30 - send 4 bits in 4 bit mode
HD44780_SendInstruction(HD44780_INIT_SEQ);
// HD44780_SendInstruction(HD44780_INIT_SEQ);JFM
HD44780_Send4bitsIn4bitMode(HD44780_INIT_SEQ);
// delay > 4.1ms
_delay_ms(5);
// pulse E
HD44780_PulseE();
//HD44780_PulseE();
// delay > 100us
_delay_us(110);
HD44780_Send4bitsIn4bitMode(HD44780_INIT_SEQ);
// pulse E
HD44780_PulseE();
// HD44780_PulseE();
// delay > 45us (=37+4 * 270/250)
_delay_us(50);
HD44780_Send4bitsIn4bitMode(HD44780_INIT_SEQ);
// 4 bit mode 0x20 - send 4 bits in 4 bit mode
HD44780_Send4bitsIn4bitMode(HD44780_4BIT_MODE);
// pulse E
HD44780_PulseE();
//HD44780_PulseE();
// delay > 45us (=37+4 * 270/250)
_delay_us(50);
// ----------------------------------------------------------------------
@ -318,15 +332,20 @@ void HD44780_CheckBFin4bitMode (void)
{
unsigned char input = 0;
Sleep(5);
return;
// clear DB7-DB4 as input
HD44780_ClearDDR_DATA4to7();
// set pull-up resistors for DB7-DB4
HD44780_SetPORT_DATA4to7();
// HD44780_SetPORT_DATA4to7();
// clear RS
CLRBIT(HD44780_PORT_RS, HD44780_RS);
// CLRBIT(HD44780_PORT_RS, HD44780_RS);
LCD_RS_PIN = 0;
// set RW - read instruction
SETBIT(HD44780_PORT_RW, HD44780_RW);
// SETBIT(HD44780_PORT_RW, HD44780_RW);
LCD_RW_PIN = 1;
// test HIGH level on PIN DB7
// after clear PIN DB7 should continue
@ -342,13 +361,15 @@ void HD44780_CheckBFin4bitMode (void)
// Read upper nibble
// --------------------------------
// Set E
SETBIT(HD44780_PORT_E, HD44780_E);
// SETBIT(HD44780_PORT_E, HD44780_E);
LCD_E_PIN = 1;
// PWeh > 0.5us
_delay_us(0.5);
// read upper nibble (tDDR > 360ns)
input = HD44780_PIN_DATA;
// Clear E
CLRBIT(HD44780_PORT_E, HD44780_E);
// CLRBIT(HD44780_PORT_E, HD44780_E);
LCD_E_PIN = 0;
// TcycE > 1000ns -> delay depends on PWeh delay time
// delay = TcycE - PWeh = 1000 - 500 = 500ns
_delay_us(0.5);
@ -356,26 +377,33 @@ void HD44780_CheckBFin4bitMode (void)
// Read lower nibble
// --------------------------------
// Set E
SETBIT(HD44780_PORT_E, HD44780_E);
// SETBIT(HD44780_PORT_E, HD44780_E);
LCD_E_PIN = 1;
// PWeh > 0.5us
_delay_us(0.5);
// read lower nibble (tDDR > 360ns)
input |= HD44780_PIN_DATA >> 4;
//input |= (unsigned char)(HD44780_PIN_DATA >> 4);
char IsBusy = (HD44780_DATA7 == 1);
// Clear E
CLRBIT(HD44780_PORT_E, HD44780_E);
// CLRBIT(HD44780_PORT_E, HD44780_E);
LCD_E_PIN = 0;
// TcycE > 1000ns -> delay depends on PWeh delay time
// delay = TcycE - PWeh = 1000 - 500 = 500ns
_delay_us(0.5);
// check if DB7 is cleared
if (!(input & (1 << HD44780_DATA7))) {
// // check if DB7 is cleared
// if (!(input & (1 << HD44780_DATA7)))
if (IsBusy == 0)
{
// if BF cleared -> end loop
break;
}
}
// clear RW
CLRBIT(HD44780_PORT_RW, HD44780_RW);
// CLRBIT(HD44780_PORT_RW, HD44780_RW);
LCD_RW_PIN = 0;
// set DB7-DB4 as output
HD44780_SetDDR_DATA4to7();
@ -401,7 +429,8 @@ void HD44780_CheckBFin8bitMode (void)
void HD44780_SendInstruction (unsigned short int data)
{
// Clear RS
HD44780_PORT_RS &= ~(1 << HD44780_RS);
// HD44780_PORT_RS &= ~(1 << HD44780_RS);
LCD_RS_PIN = 0;
// 4bit mode
// ------------------------------------------
@ -430,7 +459,8 @@ void HD44780_SendInstruction (unsigned short int data)
void HD44780_SendData (unsigned short int data)
{
// Set RS
SETBIT(HD44780_PORT_RS, HD44780_RS);
// SETBIT(HD44780_PORT_RS, HD44780_RS);
LCD_RS_PIN = 1;
// 4bit mode
// ------------------------------------------
@ -449,7 +479,8 @@ void HD44780_SendData (unsigned short int data)
}
// Clear RS
CLRBIT(HD44780_PORT_RS, HD44780_RS);
// CLRBIT(HD44780_PORT_RS, HD44780_RS);
LCD_RS_PIN = 0;
}
/**
@ -462,13 +493,15 @@ void HD44780_SendData (unsigned short int data)
void HD44780_Send4bitsIn4bitMode (unsigned short int data)
{
// Set E
SETBIT(HD44780_PORT_E, HD44780_E);
// SETBIT(HD44780_PORT_E, HD44780_E);
LCD_E_PIN = 1;
// send data to LCD
HD44780_SetUppNibble(data);
// PWeh delay time > 450ns
_delay_us(0.5);
// Clear E
CLRBIT(HD44780_PORT_E, HD44780_E);
// CLRBIT(HD44780_PORT_E, HD44780_E);
LCD_E_PIN = 0;
// TcycE > 1000ns -> delay depends on PWeh delay time
// delay = TcycE - PWeh = 1000 - 500 = 500ns
_delay_us(0.5);
@ -486,13 +519,15 @@ void HD44780_Send8bitsIn4bitMode (unsigned short int data)
// Send upper nibble
// ----------------------------------
// Set E
SETBIT(HD44780_PORT_E, HD44780_E);
// SETBIT(HD44780_PORT_E, HD44780_E);
LCD_E_PIN = 1;
// send data to LCD
HD44780_SetUppNibble(data);
// PWeh delay time > 450ns
_delay_us(0.5);
// Clear E
CLRBIT(HD44780_PORT_E, HD44780_E);
// CLRBIT(HD44780_PORT_E, HD44780_E);
LCD_E_PIN = 0;
// TcycE > 1000ns -> delay depends on PWeh delay time
// delay = TcycE - PWeh = 1000 - 500 = 500ns
_delay_us(0.5);
@ -500,13 +535,15 @@ void HD44780_Send8bitsIn4bitMode (unsigned short int data)
// Send lower nibble
// ----------------------------------
// Set E
SETBIT(HD44780_PORT_E, HD44780_E);
// SETBIT(HD44780_PORT_E, HD44780_E);
LCD_E_PIN = 1;
// send data to LCD
HD44780_SetUppNibble(data << 4);
// PWeh delay time > 450ns
_delay_us(0.5);
// Clear E
CLRBIT(HD44780_PORT_E, HD44780_E);
// CLRBIT(HD44780_PORT_E, HD44780_E);
LCD_E_PIN = 0;
// TcycE > 1000ns -> delay depends on PWeh delay time
// delay = TcycE - PWeh = 1000 - 500 = 500ns
_delay_us(0.5);
@ -545,16 +582,57 @@ void HD44780_Send8bitsIn8bitMode (unsigned short int data)
*/
void HD44780_SetUppNibble (unsigned short int data)
{
// LCD_DB4_PIN = 0;
// LCD_DB5_PIN = 0;
// LCD_DB6_PIN = 0;
// LCD_DB7_PIN = 0;
unsigned short test = data;
if (data & 0x80)
{
LCD_DB7_PIN = 1;
}
else
{
LCD_DB7_PIN = 0;
}
if (data & 0x40)
{
LCD_DB6_PIN = 1;
}
else
{
LCD_DB6_PIN = 0;
}
if (data & 0x20)
{
LCD_DB5_PIN = 1;
}
else
{
LCD_DB5_PIN = 0;
}
if (data & 0x10)
{
LCD_DB4_PIN = 1;
}
else
{
LCD_DB4_PIN = 0;
}
// clear bits DB7-DB4
CLRBIT(HD44780_PORT_DATA, HD44780_DATA7);
CLRBIT(HD44780_PORT_DATA, HD44780_DATA6);
CLRBIT(HD44780_PORT_DATA, HD44780_DATA5);
CLRBIT(HD44780_PORT_DATA, HD44780_DATA4);
// set DB7-DB4 if corresponding bit is set
if (data & 0x80) { SETBIT(HD44780_PORT_DATA, HD44780_DATA7); }
if (data & 0x40) { SETBIT(HD44780_PORT_DATA, HD44780_DATA6); }
if (data & 0x20) { SETBIT(HD44780_PORT_DATA, HD44780_DATA5); }
if (data & 0x10) { SETBIT(HD44780_PORT_DATA, HD44780_DATA4); }
// CLRBIT(HD44780_PORT_DATA, HD44780_DATA7);
// CLRBIT(HD44780_PORT_DATA, HD44780_DATA6);
// CLRBIT(HD44780_PORT_DATA, HD44780_DATA5);
// CLRBIT(HD44780_PORT_DATA, HD44780_DATA4);
// // set DB7-DB4 if corresponding bit is set
// if (data & 0x80) { SETBIT(HD44780_PORT_DATA, HD44780_DATA7); }
// if (data & 0x40) { SETBIT(HD44780_PORT_DATA, HD44780_DATA6); }
// if (data & 0x20) { SETBIT(HD44780_PORT_DATA, HD44780_DATA5); }
// if (data & 0x10) { SETBIT(HD44780_PORT_DATA, HD44780_DATA4); }
}
/**
@ -588,11 +666,13 @@ void HD44780_SetLowNibble (unsigned short int data)
void HD44780_PulseE (void)
{
// Set E
SETBIT(HD44780_PORT_E, HD44780_E);
// SETBIT(HD44780_PORT_E, HD44780_E);
LCD_E_PIN = 1;
// PWeh delay time > 450ns
_delay_us(0.5);
// Clear E
CLRBIT(HD44780_PORT_E, HD44780_E);
// CLRBIT(HD44780_PORT_E, HD44780_E);
LCD_E_PIN = 0;
// TcycE > 1000ns -> delay depends on PWeh delay time
// delay = TcycE - PWeh = 1000 - 500 = 500ns
_delay_us(0.5);
@ -608,10 +688,15 @@ void HD44780_PulseE (void)
void HD44780_SetPORT_DATA4to7 (void)
{
// set DB4-DB7
SETBIT(HD44780_PORT_DATA, HD44780_DATA4);
SETBIT(HD44780_PORT_DATA, HD44780_DATA5);
SETBIT(HD44780_PORT_DATA, HD44780_DATA6);
SETBIT(HD44780_PORT_DATA, HD44780_DATA7);
LCD_DB4_PIN = 1;
LCD_DB5_PIN = 1;
LCD_DB6_PIN = 1;
LCD_DB7_PIN = 1;
// SETBIT(HD44780_PORT_DATA, HD44780_DATA4);
// SETBIT(HD44780_PORT_DATA, HD44780_DATA5);
// SETBIT(HD44780_PORT_DATA, HD44780_DATA6);
// SETBIT(HD44780_PORT_DATA, HD44780_DATA7);
}
/**
@ -621,13 +706,17 @@ void HD44780_SetPORT_DATA4to7 (void)
*
* @return void
*/
void HD44780_ClearDDR_DATA4to7 (void)
void HD44780_SetDDR_DATA4to7 (void)
{
// set DB4-DB7
CLRBIT(HD44780_DDR_DATA, HD44780_DATA4);
CLRBIT(HD44780_DDR_DATA, HD44780_DATA5);
CLRBIT(HD44780_DDR_DATA, HD44780_DATA6);
CLRBIT(HD44780_DDR_DATA, HD44780_DATA7);
LCD_DB4_PIN_DIR = PIN_OUTPUT;
LCD_DB5_PIN_DIR = PIN_OUTPUT;
LCD_DB6_PIN_DIR = PIN_OUTPUT;
LCD_DB7_PIN_DIR = PIN_OUTPUT;
// CLRBIT(HD44780_DDR_DATA, HD44780_DATA4);
// CLRBIT(HD44780_DDR_DATA, HD44780_DATA5);
// CLRBIT(HD44780_DDR_DATA, HD44780_DATA6);
// CLRBIT(HD44780_DDR_DATA, HD44780_DATA7);
}
/**
@ -637,11 +726,14 @@ void HD44780_ClearDDR_DATA4to7 (void)
*
* @return void
*/
void HD44780_SetDDR_DATA4to7 (void)
void HD44780_ClearDDR_DATA4to7 (void)
{
// set DB7-DB4 as output
SETBIT(HD44780_DDR_DATA, HD44780_DATA4);
SETBIT(HD44780_DDR_DATA, HD44780_DATA5);
SETBIT(HD44780_DDR_DATA, HD44780_DATA6);
SETBIT(HD44780_DDR_DATA, HD44780_DATA7);
LCD_DB4_PIN_DIR = PIN_INPUT;
LCD_DB5_PIN_DIR = PIN_INPUT;
LCD_DB6_PIN_DIR = PIN_INPUT;
LCD_DB7_PIN_DIR = PIN_INPUT;
// SETBIT(HD44780_DDR_DATA, HD44780_DATA4);
// SETBIT(HD44780_DDR_DATA, HD44780_DATA5);
// SETBIT(HD44780_DDR_DATA, HD44780_DATA6);
// SETBIT(HD44780_DDR_DATA, HD44780_DATA7);
}

View File

@ -36,82 +36,85 @@
#define _FCPU 16000000
#endif
#if defined(__AVR_ATmega16__)
//#if defined(__AVR_ATmega16__)
// E port
// --------------------------------------
#ifndef HD44780_DDR_E
#define HD44780_DDR_E DDRD
#define HD44780_DDR_E TRISB
#endif
#ifndef HD44780_PORT_E
#define HD44780_PORT_E PORTD
#define HD44780_PORT_E PORTB
#endif
#ifndef HD44780_E
#define HD44780_E 3
#define HD44780_E 12
#endif
// RW port
// --------------------------------------
#ifndef HD44780_DDR_RW
#define HD44780_DDR_RW DDRD
#define HD44780_DDR_RW TRISB
#endif
#ifndef HD44780_PORT_RW
#define HD44780_PORT_RW PORTD
#define HD44780_PORT_RW PORTB
#endif
#ifndef HD44780_RW
#define HD44780_RW 2
#define HD44780_RW 13
#endif
// RS port
// --------------------------------------
#ifndef HD44780_DDR_RS
#define HD44780_DDR_RS DDRD
#define HD44780_DDR_RS TRISD
#endif
#ifndef HD44780_PORT_RS
#define HD44780_PORT_RS PORTD
#endif
#ifndef HD44780_RS
#define HD44780_RS 1
#define HD44780_RS 5
#endif
// DATA port / pin
// --------------------------------------
#ifndef HD44780_DDR_DATA
#define HD44780_DDR_DATA DDRD
#define HD44780_DDR_DATA TRISB
#endif
#ifndef HD44780_PORT_DATA
#define HD44780_PORT_DATA PORTD
#define HD44780_PORT_DATA PORTB
#endif
#ifndef HD44780_PIN_DATA
#define HD44780_PIN_DATA PIND
#define HD44780_PIN_DATA PORTB
#endif
// pins
#ifndef HD44780_DATA7
#define HD44780_DATA7 7 // LCD PORT DB7
#define HD44780_DATA7 PORTBbits.RB11 // LCD PORT DB7
#endif
#ifndef HD44780_DATA6
#define HD44780_DATA6 6 // LCD PORT DB6
#define HD44780_DATA6 10 // LCD PORT DB6
#endif
#ifndef HD44780_DATA5
#define HD44780_DATA5 5 // LCD PORT DB5
#define HD44780_DATA5 9 // LCD PORT DB5
#endif
#ifndef HD44780_DATA4
#define HD44780_DATA4 4 // LCD PORT DB4
#define HD44780_DATA4 3 // LCD PORT DB4
#endif
#ifndef HD44780_DATA3
#define HD44780_DATA3 3 // LCD PORT DB3
#define HD44780_DATA3 0 // LCD PORT DB3
#endif
#ifndef HD44780_DATA2
#define HD44780_DATA2 2 // LCD PORT DB2
#define HD44780_DATA2 0 // LCD PORT DB2
#endif
#ifndef HD44780_DATA1
#define HD44780_DATA1 1 // LCD PORT DB1
#define HD44780_DATA1 0 // LCD PORT DB1
#endif
#ifndef HD44780_DATA0
#define HD44780_DATA0 0 // LCD PORT DB0
#endif
#endif
// #endif
#define _delay_ms(x) Sleep(x)
#define _delay_us(x) Sleep(1)
#define BIT7 0x80
#define BIT6 0x40

View File

@ -41,9 +41,12 @@
#include "SPI_Flash.h"
#include "TemperatureSensor.h"
#include "LoraWatchdog.h"
#include "LCDCtrl.h"
#include "BootloaderInterface.h"
#include "hd44780.h"
//#define NO_WIFI
#ifndef NO_WIFI
@ -102,6 +105,10 @@ int main(void)
InitLoraWatchdog();
InitSPIFlash();
InitLCDCtrl();
#ifdef USE_SYSLOG
InitSyslog();
@ -182,6 +189,8 @@ int main(void)
KickWatchdog();
mRetCode = 1;
while(mRetCode == 1)
{
@ -198,11 +207,20 @@ int main(void)
TickTempSensor();
BootloaderInterfaceTick();
TickLoraWatchdog();
TickLCDCtrl();
if(IsTimerExpired(HEARTBEAT_LED_TMR))
{
HEARTBEAT_LED_2_PIN = ~HEARTBEAT_LED_2_PIN;
TimerStart(HEARTBEAT_LED_TMR,HEARTBEAT_LED_TIMEOUT);
// HD44780_DisplayClear();
// HD44780_PositionXY(0, 0);
// // send char
// HD44780_DrawString("DISPLAY ON");
// // display clear
// HD44780_DisplayOn();
}
}

View File

@ -50,6 +50,7 @@ typedef enum
TEMP_SENSOR_REFRESH_TIMER,
BOOTLOADER_FLASH_POLL_TIMER,
LORA_WATCHDOG_TIMER,
LCD_CTRL_TIMER,
TIMER_MAX_ID
}eTimerID;

View File

@ -1,4 +1,4 @@
#define VERSIONNUMBER "CHALET_V01.00.2" //shall be 15 chars...
#define VERSIONNUMBER "CHALET_V01.00.3" //shall be 15 chars...
//Force DHCP instead of static IP.
//#define VERSIONNUMBER "CHALET_V01.00.1" //shall be 15 chars...

View File

@ -57,17 +57,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/LoraNetworkInterface.c Source/ChaletPowerRelay.c Source/HarakiriRelay.c Source/BatteryMonitor.c Source/ina219.c Source/I2C.c Source/SPI_Flash.c Source/Syslog.c Source/Watchdog.c Source/BootloaderInterface.c Source/TemperatureSensor.c Source/TC77.c Source/BootloaderProtocol.c Source/crc32.c Source/LoraWatchdog.c
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
# 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/LoraNetworkInterface.o ${OBJECTDIR}/Source/ChaletPowerRelay.o ${OBJECTDIR}/Source/HarakiriRelay.o ${OBJECTDIR}/Source/BatteryMonitor.o ${OBJECTDIR}/Source/ina219.o ${OBJECTDIR}/Source/I2C.o ${OBJECTDIR}/Source/SPI_Flash.o ${OBJECTDIR}/Source/Syslog.o ${OBJECTDIR}/Source/Watchdog.o ${OBJECTDIR}/Source/BootloaderInterface.o ${OBJECTDIR}/Source/TemperatureSensor.o ${OBJECTDIR}/Source/TC77.o ${OBJECTDIR}/Source/BootloaderProtocol.o ${OBJECTDIR}/Source/crc32.o ${OBJECTDIR}/Source/LoraWatchdog.o
POSSIBLE_DEPFILES=${OBJECTDIR}/Source/ChaletduinoV2Board.o.d ${OBJECTDIR}/Source/winc3400_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/LoraNetworkInterface.o.d ${OBJECTDIR}/Source/ChaletPowerRelay.o.d ${OBJECTDIR}/Source/HarakiriRelay.o.d ${OBJECTDIR}/Source/BatteryMonitor.o.d ${OBJECTDIR}/Source/ina219.o.d ${OBJECTDIR}/Source/I2C.o.d ${OBJECTDIR}/Source/SPI_Flash.o.d ${OBJECTDIR}/Source/Syslog.o.d ${OBJECTDIR}/Source/Watchdog.o.d ${OBJECTDIR}/Source/BootloaderInterface.o.d ${OBJECTDIR}/Source/TemperatureSensor.o.d ${OBJECTDIR}/Source/TC77.o.d ${OBJECTDIR}/Source/BootloaderProtocol.o.d ${OBJECTDIR}/Source/crc32.o.d ${OBJECTDIR}/Source/LoraWatchdog.o.d
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
# 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/LoraNetworkInterface.o ${OBJECTDIR}/Source/ChaletPowerRelay.o ${OBJECTDIR}/Source/HarakiriRelay.o ${OBJECTDIR}/Source/BatteryMonitor.o ${OBJECTDIR}/Source/ina219.o ${OBJECTDIR}/Source/I2C.o ${OBJECTDIR}/Source/SPI_Flash.o ${OBJECTDIR}/Source/Syslog.o ${OBJECTDIR}/Source/Watchdog.o ${OBJECTDIR}/Source/BootloaderInterface.o ${OBJECTDIR}/Source/TemperatureSensor.o ${OBJECTDIR}/Source/TC77.o ${OBJECTDIR}/Source/BootloaderProtocol.o ${OBJECTDIR}/Source/crc32.o ${OBJECTDIR}/Source/LoraWatchdog.o
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
# 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/LoraNetworkInterface.c Source/ChaletPowerRelay.c Source/HarakiriRelay.c Source/BatteryMonitor.c Source/ina219.c Source/I2C.c Source/SPI_Flash.c Source/Syslog.c Source/Watchdog.c Source/BootloaderInterface.c Source/TemperatureSensor.c Source/TC77.c Source/BootloaderProtocol.c Source/crc32.c Source/LoraWatchdog.c
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
@ -317,13 +317,6 @@ ${OBJECTDIR}/Source/SPI.o: Source/SPI.c nbproject/Makefile-${CND_CONF}.mk
${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -fframe-base-loclist -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"Source" -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 -MMD -MF "${OBJECTDIR}/Source/SPI.o.d" -o ${OBJECTDIR}/Source/SPI.o Source/SPI.c -DXPRJ_ChaletDuinoV2_795F512H_=$(CND_CONF) $(COMPARISON_BUILD)
@${FIXDEPS} "${OBJECTDIR}/Source/SPI.o.d" $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/Source/LoraNetworkInterface.o: Source/LoraNetworkInterface.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/Source"
@${RM} ${OBJECTDIR}/Source/LoraNetworkInterface.o.d
@${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 -MMD -MF "${OBJECTDIR}/Source/LoraNetworkInterface.o.d" -o ${OBJECTDIR}/Source/LoraNetworkInterface.o Source/LoraNetworkInterface.c -DXPRJ_ChaletDuinoV2_795F512H_=$(CND_CONF) $(COMPARISON_BUILD)
@${FIXDEPS} "${OBJECTDIR}/Source/LoraNetworkInterface.o.d" $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/Source/ChaletPowerRelay.o: Source/ChaletPowerRelay.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/Source"
@${RM} ${OBJECTDIR}/Source/ChaletPowerRelay.o.d
@ -422,6 +415,27 @@ ${OBJECTDIR}/Source/LoraWatchdog.o: Source/LoraWatchdog.c nbproject/Makefile-${
${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 -MMD -MF "${OBJECTDIR}/Source/LoraWatchdog.o.d" -o ${OBJECTDIR}/Source/LoraWatchdog.o Source/LoraWatchdog.c -DXPRJ_ChaletDuinoV2_795F512H_=$(CND_CONF) $(COMPARISON_BUILD)
@${FIXDEPS} "${OBJECTDIR}/Source/LoraWatchdog.o.d" $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/Source/hd44780.o: Source/hd44780.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/Source"
@${RM} ${OBJECTDIR}/Source/hd44780.o.d
@${RM} ${OBJECTDIR}/Source/hd44780.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 -MMD -MF "${OBJECTDIR}/Source/hd44780.o.d" -o ${OBJECTDIR}/Source/hd44780.o Source/hd44780.c -DXPRJ_ChaletDuinoV2_795F512H_=$(CND_CONF) $(COMPARISON_BUILD)
@${FIXDEPS} "${OBJECTDIR}/Source/hd44780.o.d" $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/Source/LCDCtrl.o: Source/LCDCtrl.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/Source"
@${RM} ${OBJECTDIR}/Source/LCDCtrl.o.d
@${RM} ${OBJECTDIR}/Source/LCDCtrl.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 -MMD -MF "${OBJECTDIR}/Source/LCDCtrl.o.d" -o ${OBJECTDIR}/Source/LCDCtrl.o Source/LCDCtrl.c -DXPRJ_ChaletDuinoV2_795F512H_=$(CND_CONF) $(COMPARISON_BUILD)
@${FIXDEPS} "${OBJECTDIR}/Source/LCDCtrl.o.d" $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/Source/LoraNetworkInterface.o: Source/LoraNetworkInterface.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/Source"
@${RM} ${OBJECTDIR}/Source/LoraNetworkInterface.o.d
@${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 -MMD -MF "${OBJECTDIR}/Source/LoraNetworkInterface.o.d" -o ${OBJECTDIR}/Source/LoraNetworkInterface.o Source/LoraNetworkInterface.c -DXPRJ_ChaletDuinoV2_795F512H_=$(CND_CONF) $(COMPARISON_BUILD)
@${FIXDEPS} "${OBJECTDIR}/Source/LoraNetworkInterface.o.d" $(SILENT) -rsi ${MP_CC_DIR}../
else
${OBJECTDIR}/Source/ChaletduinoV2Board.o: Source/ChaletduinoV2Board.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/Source"
@ -633,13 +647,6 @@ ${OBJECTDIR}/Source/SPI.o: Source/SPI.c nbproject/Makefile-${CND_CONF}.mk
${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 -MMD -MF "${OBJECTDIR}/Source/SPI.o.d" -o ${OBJECTDIR}/Source/SPI.o Source/SPI.c -DXPRJ_ChaletDuinoV2_795F512H_=$(CND_CONF) $(COMPARISON_BUILD)
@${FIXDEPS} "${OBJECTDIR}/Source/SPI.o.d" $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/Source/LoraNetworkInterface.o: Source/LoraNetworkInterface.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/Source"
@${RM} ${OBJECTDIR}/Source/LoraNetworkInterface.o.d
@${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 -MMD -MF "${OBJECTDIR}/Source/LoraNetworkInterface.o.d" -o ${OBJECTDIR}/Source/LoraNetworkInterface.o Source/LoraNetworkInterface.c -DXPRJ_ChaletDuinoV2_795F512H_=$(CND_CONF) $(COMPARISON_BUILD)
@${FIXDEPS} "${OBJECTDIR}/Source/LoraNetworkInterface.o.d" $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/Source/ChaletPowerRelay.o: Source/ChaletPowerRelay.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/Source"
@${RM} ${OBJECTDIR}/Source/ChaletPowerRelay.o.d
@ -738,6 +745,27 @@ ${OBJECTDIR}/Source/LoraWatchdog.o: Source/LoraWatchdog.c nbproject/Makefile-${
${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 -MMD -MF "${OBJECTDIR}/Source/LoraWatchdog.o.d" -o ${OBJECTDIR}/Source/LoraWatchdog.o Source/LoraWatchdog.c -DXPRJ_ChaletDuinoV2_795F512H_=$(CND_CONF) $(COMPARISON_BUILD)
@${FIXDEPS} "${OBJECTDIR}/Source/LoraWatchdog.o.d" $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/Source/hd44780.o: Source/hd44780.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/Source"
@${RM} ${OBJECTDIR}/Source/hd44780.o.d
@${RM} ${OBJECTDIR}/Source/hd44780.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 -MMD -MF "${OBJECTDIR}/Source/hd44780.o.d" -o ${OBJECTDIR}/Source/hd44780.o Source/hd44780.c -DXPRJ_ChaletDuinoV2_795F512H_=$(CND_CONF) $(COMPARISON_BUILD)
@${FIXDEPS} "${OBJECTDIR}/Source/hd44780.o.d" $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/Source/LCDCtrl.o: Source/LCDCtrl.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/Source"
@${RM} ${OBJECTDIR}/Source/LCDCtrl.o.d
@${RM} ${OBJECTDIR}/Source/LCDCtrl.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 -MMD -MF "${OBJECTDIR}/Source/LCDCtrl.o.d" -o ${OBJECTDIR}/Source/LCDCtrl.o Source/LCDCtrl.c -DXPRJ_ChaletDuinoV2_795F512H_=$(CND_CONF) $(COMPARISON_BUILD)
@${FIXDEPS} "${OBJECTDIR}/Source/LCDCtrl.o.d" $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/Source/LoraNetworkInterface.o: Source/LoraNetworkInterface.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/Source"
@${RM} ${OBJECTDIR}/Source/LoraNetworkInterface.o.d
@${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 -MMD -MF "${OBJECTDIR}/Source/LoraNetworkInterface.o.d" -o ${OBJECTDIR}/Source/LoraNetworkInterface.o Source/LoraNetworkInterface.c -DXPRJ_ChaletDuinoV2_795F512H_=$(CND_CONF) $(COMPARISON_BUILD)
@${FIXDEPS} "${OBJECTDIR}/Source/LoraNetworkInterface.o.d" $(SILENT) -rsi ${MP_CC_DIR}../
endif
# ------------------------------------------------------------------------------------

View File

@ -1,5 +1,5 @@
#
#Tue Jan 04 13:27:30 EST 2022
#Sat Dec 10 13:16:10 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=bbb83c38cec5eb460692a21d7e609f51
configurations-xml=0c2531fe6384a27ba14d2623d2a8c07a
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

View File

@ -94,6 +94,8 @@
<itemPath>Source/FlashMapping.h</itemPath>
<itemPath>Source/checksum.h</itemPath>
<itemPath>Source/LoraWatchdog.h</itemPath>
<itemPath>Source/hd44780.h</itemPath>
<itemPath>Source/LCDCtrl.h</itemPath>
</logicalFolder>
<logicalFolder name="LinkerScript"
displayName="Linker Files"
@ -172,7 +174,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>
@ -187,6 +188,9 @@
<itemPath>Source/BootloaderProtocol.c</itemPath>
<itemPath>Source/crc32.c</itemPath>
<itemPath>Source/LoraWatchdog.c</itemPath>
<itemPath>Source/hd44780.c</itemPath>
<itemPath>Source/LCDCtrl.c</itemPath>
<itemPath>Source/LoraNetworkInterface.c</itemPath>
</logicalFolder>
<logicalFolder name="ExternalFiles"
displayName="Important Files"
@ -1328,6 +1332,38 @@
<C32Global>
</C32Global>
</item>
<item path="Source/hd44780.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/hd44780.h" 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/winc1500_config.h" ex="true" overriding="false">
<C32>
</C32>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project-private xmlns="http://www.netbeans.org/ns/project-private/1">
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="5">
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="7">
<file>
<url>Source/BootloaderInterface.c</url>
<bookmark id="5">
@ -14,6 +14,14 @@
<key/>
</bookmark>
</file>
<file>
<url>Source/hd44780.c</url>
<bookmark id="7">
<name/>
<line>340</line>
<key/>
</bookmark>
</file>
</editor-bookmarks>
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
<group/>