Dev
This commit is contained in:
parent
c0574b75ea
commit
f1d0ed7d4a
@ -13,7 +13,7 @@ int mBatterySOC;
|
|||||||
|
|
||||||
float mVoltageMeanSum;
|
float mVoltageMeanSum;
|
||||||
int mVoltageMeanCount;
|
int mVoltageMeanCount;
|
||||||
int mCurrentMeanSum;
|
unsigned int mCurrentMeanSum;
|
||||||
int mCurrentMeanCount;
|
int mCurrentMeanCount;
|
||||||
bool mCurrentModuleOK;
|
bool mCurrentModuleOK;
|
||||||
|
|
||||||
@ -90,6 +90,16 @@ void BatteryMonitorTick()
|
|||||||
}
|
}
|
||||||
else
|
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
|
AD1CHSbits.CH0SA = 2; //AN2
|
||||||
AD1CON1bits.SAMP = 0;
|
AD1CON1bits.SAMP = 0;
|
||||||
while(AD1CON1bits.DONE == 0);
|
while(AD1CON1bits.DONE == 0);
|
||||||
@ -97,12 +107,12 @@ void BatteryMonitorTick()
|
|||||||
AD1CON1bits.SAMP = 1;
|
AD1CON1bits.SAMP = 1;
|
||||||
// adc &= 0xFFFE;
|
// adc &= 0xFFFE;
|
||||||
|
|
||||||
//40mV/A
|
adc -= Ref;
|
||||||
|
|
||||||
conv = (double)adc * 1.0;
|
conv = (double)adc * 1.0;
|
||||||
conv /= 1023;
|
conv /= 1023;
|
||||||
conv *= 3.3; //Volts
|
conv *= 3.3; //Volts
|
||||||
conv /= 0.04; //Amps (40mV/A)
|
conv /= 0.05; //Amps (50mV/A)
|
||||||
|
|
||||||
raw = conv;
|
raw = conv;
|
||||||
|
|
||||||
@ -110,7 +120,7 @@ void BatteryMonitorTick()
|
|||||||
//This could go for a long time but 5000 samples is too much anyways.
|
//This could go for a long time but 5000 samples is too much anyways.
|
||||||
if(mCurrentMeanCount >= 500)
|
if(mCurrentMeanCount >= 500)
|
||||||
{
|
{
|
||||||
mCurrentMeanCount = 0;
|
mCurrentMeanCount = 1;
|
||||||
mCurrentMeanSum = adc;
|
mCurrentMeanSum = adc;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -122,16 +132,20 @@ void BatteryMonitorTick()
|
|||||||
|
|
||||||
|
|
||||||
mBatteryCurrent = adc;
|
mBatteryCurrent = adc;
|
||||||
|
//mBatteryCurrent = mCurrentMeanSum / mCurrentMeanCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
float GetBatteryVoltage()
|
float GetBatteryVoltage(int Reset)
|
||||||
{
|
{
|
||||||
mBatteryVoltage = (mVoltageMeanSum/mVoltageMeanCount);
|
if(Reset == 1)
|
||||||
mVoltageMeanSum = 0.0;
|
{
|
||||||
mVoltageMeanCount = 0;
|
mBatteryVoltage = (mVoltageMeanSum/mVoltageMeanCount);
|
||||||
|
mVoltageMeanSum = 0.0;
|
||||||
|
mVoltageMeanCount = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
return mBatteryVoltage;
|
return mBatteryVoltage;
|
||||||
@ -141,11 +155,16 @@ float GetBatteryVoltage()
|
|||||||
int GetSolarPanelCurrent()
|
int GetSolarPanelCurrent()
|
||||||
{
|
{
|
||||||
//mBatteryCurrent = (mCurrentMeanSum/mCurrentMeanCount);
|
//mBatteryCurrent = (mCurrentMeanSum/mCurrentMeanCount);
|
||||||
mVoltageMeanCount = 0;
|
//mVoltageMeanCount = 0;
|
||||||
mCurrentMeanSum = 0.0;
|
mCurrentMeanSum = 0.0;
|
||||||
|
|
||||||
return mBatteryCurrent;
|
return mBatteryCurrent;
|
||||||
}
|
}
|
||||||
|
float GetConvertedSolarPanelCurrent()
|
||||||
|
{
|
||||||
|
float Cur = (mBatteryCurrent - 2) * (3.3/1023);
|
||||||
|
return Cur;
|
||||||
|
}
|
||||||
|
|
||||||
int GetBatterySOC()
|
int GetBatterySOC()
|
||||||
{
|
{
|
||||||
|
|||||||
@ -15,11 +15,12 @@
|
|||||||
void InitBatteryMonitor();
|
void InitBatteryMonitor();
|
||||||
|
|
||||||
void BatteryMonitorTick();
|
void BatteryMonitorTick();
|
||||||
float GetBatteryVoltage();
|
float GetBatteryVoltage(int Reset);
|
||||||
int GetSolarPanelCurrent();
|
int GetSolarPanelCurrent();
|
||||||
int GetBatterySOC();
|
int GetBatterySOC();
|
||||||
int SendNetworkBatteryData();
|
int SendNetworkBatteryData();
|
||||||
bool GetCurrentModuleOK();
|
bool GetCurrentModuleOK();
|
||||||
|
float GetConvertedSolarPanelCurrent();
|
||||||
|
|
||||||
|
|
||||||
#endif /* BATTERYMONITOR_H */
|
#endif /* BATTERYMONITOR_H */
|
||||||
|
|||||||
@ -41,12 +41,12 @@ extern "C" {
|
|||||||
#define HEARTBEAT_LED_1_CLEAR_REG LATECLR
|
#define HEARTBEAT_LED_1_CLEAR_REG LATECLR
|
||||||
#define HEARTBEAT_LED_1_TOGGLE_MASK _LATE_LATE5_MASK
|
#define HEARTBEAT_LED_1_TOGGLE_MASK _LATE_LATE5_MASK
|
||||||
|
|
||||||
#define LORA_ACTIVITY_LED_PIN_DIR TRISFbits.TRISF1
|
//#define LORA_ACTIVITY_LED_PIN_DIR TRISFbits.TRISF1
|
||||||
#define LORA_ACTIVITY_LED_PIN LATFbits.LATF1
|
//#define LORA_ACTIVITY_LED_PIN LATFbits.LATF1
|
||||||
#define LORA_ACTIVITY_LED_TOGGLE_REG LATFINV
|
//#define LORA_ACTIVITY_LED_TOGGLE_REG LATFINV
|
||||||
#define LORA_ACTIVITY_LED_SET_REG LATFSET
|
//#define LORA_ACTIVITY_LED_SET_REG LATFSET
|
||||||
#define LORA_ACTIVITY_LED_CLEAR_REG LATFCLR
|
//#define LORA_ACTIVITY_LED_CLEAR_REG LATFCLR
|
||||||
#define LORA_ACTIVITY_LED_TOGGLE_MASK _LATE_LATF1_MASK
|
//#define LORA_ACTIVITY_LED_TOGGLE_MASK _LATE_LATF1_MASK
|
||||||
|
|
||||||
// #define GP_DEBUG_1_PIN_DIR TRISEbits.TRISE5
|
// #define GP_DEBUG_1_PIN_DIR TRISEbits.TRISE5
|
||||||
// #define GP_DEBUG_1_PIN LATEbits.LATE5
|
// #define GP_DEBUG_1_PIN LATEbits.LATE5
|
||||||
@ -123,16 +123,21 @@ extern "C" {
|
|||||||
//LoRa
|
//LoRa
|
||||||
#define LORA_MODULE_RELAY_PIN_DIR TRISDbits.TRISD11
|
#define LORA_MODULE_RELAY_PIN_DIR TRISDbits.TRISD11
|
||||||
#define LORA_MODULE_RELAY_PIN LATDbits.LATD11
|
#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_DIR TRISDbits.TRISD3 //V2
|
||||||
#define LORA_MODULE_M0_PIN LATEbits.LATE7
|
#define LORA_MODULE_M0_PIN LATDbits.LATD3
|
||||||
#define LORA_MODULE_M1_PIN_DIR TRISDbits.TRISD9
|
#define LORA_MODULE_M1_PIN_DIR TRISDbits.TRISD9
|
||||||
#define LORA_MODULE_M1_PIN LATDbits.LATD9
|
#define LORA_MODULE_M1_PIN LATDbits.LATD9
|
||||||
#define LORA_MODULE_INT_PIN_DIR TRISDbits.TRISD8
|
#define LORA_MODULE_INT_PIN_DIR TRISDbits.TRISD8
|
||||||
#define LORA_MODULE_INT_PIN PORTDits.RD8
|
#define LORA_MODULE_INT_PIN PORTDbits.RD8
|
||||||
#define LORA_MODULE_RX_LED_PIN_DIR TRISCbits.TRISC14
|
//#define LORA_MODULE_RX_LED_PIN_DIR TRISCbits.TRISC14
|
||||||
#define LORA_MODULE_RX_LED_PIN LATCbits.LATC14
|
//#define LORA_MODULE_RX_LED_PIN LATCbits.LATC14
|
||||||
#define LORA_MODULE_TX_LED_PIN_DIR TRISCbits.TRISC13
|
//#define LORA_MODULE_TX_LED_PIN_DIR TRISCbits.TRISC13
|
||||||
#define LORA_MODULE_TX_LED_PIN LATCbits.LATC13
|
//#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
|
//LCD Screen
|
||||||
#define LCD_RS_PIN_DIR TRISDbits.TRISD5
|
#define LCD_RS_PIN_DIR TRISDbits.TRISD5
|
||||||
@ -149,9 +154,8 @@ extern "C" {
|
|||||||
#define LCD_DB6_PIN LATBbits.LATB10
|
#define LCD_DB6_PIN LATBbits.LATB10
|
||||||
#define LCD_DB7_PIN_DIR TRISBbits.TRISB11
|
#define LCD_DB7_PIN_DIR TRISBbits.TRISB11
|
||||||
#define LCD_DB7_PIN LATBbits.LATB11
|
#define LCD_DB7_PIN LATBbits.LATB11
|
||||||
|
#define LCD_SCROLL_BTN_PIN_DIR TRISBbits.TRISB5
|
||||||
//#define LCD_SCROLL_BTN_PIN_DIR TRISCbits.TRISC13
|
#define LCD_SCROLL_BTN_PIN PORTBbits.RB5
|
||||||
//#define LCD_SCROLL_BTN_PIN PORTCbits.PORTC13
|
|
||||||
|
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
/* Prototypes */
|
/* Prototypes */
|
||||||
|
|||||||
@ -2,14 +2,17 @@
|
|||||||
|
|
||||||
int InitBoard()
|
int InitBoard()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
DDPCONbits.JTAGEN = 0;
|
||||||
|
|
||||||
HEARTBEAT_LED_1_PIN_DIR = PIN_OUTPUT;
|
HEARTBEAT_LED_1_PIN_DIR = PIN_OUTPUT;
|
||||||
HEARTBEAT_LED_2_PIN_DIR = PIN_OUTPUT;
|
HEARTBEAT_LED_2_PIN_DIR = PIN_OUTPUT;
|
||||||
|
|
||||||
HEARTBEAT_LED_2_PIN = LED_OFF;
|
HEARTBEAT_LED_2_PIN = LED_OFF;
|
||||||
HEARTBEAT_LED_1_PIN = LED_ON;
|
HEARTBEAT_LED_1_PIN = LED_ON;
|
||||||
|
|
||||||
LORA_ACTIVITY_LED_PIN_DIR = PIN_OUTPUT;
|
// LORA_ACTIVITY_LED_PIN_DIR = PIN_OUTPUT;
|
||||||
LORA_ACTIVITY_LED_PIN = LED_OFF;
|
// LORA_ACTIVITY_LED_PIN = LED_OFF;
|
||||||
|
|
||||||
// GP_DEBUG_1_PIN_DIR = PIN_OUTPUT;
|
// GP_DEBUG_1_PIN_DIR = PIN_OUTPUT;
|
||||||
// GP_DEBUG_1_PIN = 0;
|
// GP_DEBUG_1_PIN = 0;
|
||||||
@ -159,7 +162,9 @@ int InitBoard()
|
|||||||
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;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -198,7 +203,7 @@ int InitBoard()
|
|||||||
// OC3CONbits.ON = 1;
|
// OC3CONbits.ON = 1;
|
||||||
|
|
||||||
|
|
||||||
|
RTCCONbits.ON = 1;
|
||||||
|
|
||||||
return RET_OK;
|
return RET_OK;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -23,6 +23,12 @@
|
|||||||
#define FLASH_BTLDR_FLAGS_ADDRESS 0x000000
|
#define FLASH_BTLDR_FLAGS_ADDRESS 0x000000
|
||||||
#define FLASH_WIFI_IP_ADDRESS 0X00000C
|
#define FLASH_WIFI_IP_ADDRESS 0X00000C
|
||||||
#define FLASH_WIFI_GATEWAY_ADDRESS 0x000010
|
#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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
108
ChaletLora.X/Source/LCDCtrl.c
Normal file
108
ChaletLora.X/Source/LCDCtrl.c
Normal 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
21
ChaletLora.X/Source/LCDCtrl.h
Normal file
21
ChaletLora.X/Source/LCDCtrl.h
Normal 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 */
|
||||||
|
|
||||||
@ -14,6 +14,7 @@
|
|||||||
#include "FlashMapping.h"
|
#include "FlashMapping.h"
|
||||||
#include "LoraWatchdog.h"
|
#include "LoraWatchdog.h"
|
||||||
#include "versionbuild.h"
|
#include "versionbuild.h"
|
||||||
|
#include "WiFiCtrl.h"
|
||||||
//#include "WiFiCtrl.h"
|
//#include "WiFiCtrl.h"
|
||||||
//
|
//
|
||||||
|
|
||||||
@ -28,14 +29,16 @@
|
|||||||
unsigned char mLoraPreamble[3]={0x00,LORA_MASTER_ADDRESS,LORA_CHANNEL};
|
unsigned char mLoraPreamble[3]={0x00,LORA_MASTER_ADDRESS,LORA_CHANNEL};
|
||||||
|
|
||||||
static const char mFirmwareVersion[15] = VERSIONNUMBER;
|
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...
|
//Whatever was the command, we are online...
|
||||||
LORA_MODULE_RX_LED_PIN = LED_OFF;
|
LORA_MODULE_RX_LED_PIN = LED_OFF;
|
||||||
KickLoraWatchdog();
|
KickLoraWatchdog();
|
||||||
// printf("EXEC\n\n");
|
// printf("EXEC\n\n");
|
||||||
ChaletPowerRelayKickTimer();
|
ChaletPowerRelayKickTimer();
|
||||||
|
mTotalMasterNbRequests++;
|
||||||
switch(Command)
|
switch(Command)
|
||||||
{
|
{
|
||||||
case CHALET_INTERFACE_ACK:
|
case CHALET_INTERFACE_ACK:
|
||||||
@ -44,7 +47,7 @@ void ExecuteMasterCommand(int Command, unsigned char *Data)
|
|||||||
}
|
}
|
||||||
case CHALET_GENERAL_STATUS_REQUEST:
|
case CHALET_GENERAL_STATUS_REQUEST:
|
||||||
{
|
{
|
||||||
float FloatVoltage = GetBatteryVoltage();
|
float FloatVoltage = GetBatteryVoltage(1);
|
||||||
float FloatTemperature = TempSensorGetTemp();
|
float FloatTemperature = TempSensorGetTemp();
|
||||||
unsigned int BattVoltage = *((int*)&FloatVoltage);
|
unsigned int BattVoltage = *((int*)&FloatVoltage);
|
||||||
unsigned int Temperature = *((int*)&FloatTemperature);
|
unsigned int Temperature = *((int*)&FloatTemperature);
|
||||||
@ -52,7 +55,7 @@ void ExecuteMasterCommand(int Command, unsigned char *Data)
|
|||||||
int SOC = GetBatterySOC();
|
int SOC = GetBatterySOC();
|
||||||
|
|
||||||
char GeneralStatus = 0;
|
char GeneralStatus = 0;
|
||||||
char ChaletStatus[14];
|
char ChaletStatus[18];
|
||||||
|
|
||||||
if(GetChaletPowerRelayState() == CHALET_POWER_RELAY_ON_STATE)
|
if(GetChaletPowerRelayState() == CHALET_POWER_RELAY_ON_STATE)
|
||||||
{
|
{
|
||||||
@ -65,6 +68,7 @@ void ExecuteMasterCommand(int Command, unsigned char *Data)
|
|||||||
|
|
||||||
ChaletStatus[0] = GeneralStatus; //General Status
|
ChaletStatus[0] = GeneralStatus; //General Status
|
||||||
ChaletStatus[1] = GetWiFiSate(); //Wifi Module state
|
ChaletStatus[1] = GetWiFiSate(); //Wifi Module state
|
||||||
|
|
||||||
ChaletStatus[2] = (char)(BattVoltage & 0x000000FF); //Battery Voltage 1
|
ChaletStatus[2] = (char)(BattVoltage & 0x000000FF); //Battery Voltage 1
|
||||||
BattVoltage >>= 8;
|
BattVoltage >>= 8;
|
||||||
ChaletStatus[3] = (char)(BattVoltage & 0x000000FF); //Battery Voltage 2
|
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
|
ChaletStatus[4] = (char)(BattVoltage & 0x000000FF); //Battery Voltage 3
|
||||||
BattVoltage >>= 8;
|
BattVoltage >>= 8;
|
||||||
ChaletStatus[5] = (char)(BattVoltage & 0x000000FF); //Battery Voltage 4
|
ChaletStatus[5] = (char)(BattVoltage & 0x000000FF); //Battery Voltage 4
|
||||||
|
|
||||||
ChaletStatus[6] = (char)(SolarPanelCurrent & 0x000000FF); //Solar panel Current 1
|
ChaletStatus[6] = (char)(SolarPanelCurrent & 0x000000FF); //Solar panel Current 1
|
||||||
SolarPanelCurrent >>= 8;
|
SolarPanelCurrent >>= 8;
|
||||||
ChaletStatus[7] = (char)(SolarPanelCurrent & 0x000000FF); //Solar panel Current 2
|
ChaletStatus[7] = (char)(SolarPanelCurrent & 0x000000FF); //Solar panel Current 2
|
||||||
|
|
||||||
ChaletStatus[8] = (char)(SOC & 0x000000FF); //Battery SOC 1
|
ChaletStatus[8] = (char)(SOC & 0x000000FF); //Battery SOC 1
|
||||||
SolarPanelCurrent >>= 8;
|
SolarPanelCurrent >>= 8;
|
||||||
ChaletStatus[9] = (char)(SolarPanelCurrent & 0x000000FF); //Battery SOC 2
|
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;
|
Temperature >>= 8;
|
||||||
ChaletStatus[11] = (char)(Temperature & 0x000000FF); //Battery Voltage 2
|
ChaletStatus[11] = (char)(Temperature & 0x000000FF); //Temperature 2
|
||||||
Temperature >>= 8;
|
Temperature >>= 8;
|
||||||
ChaletStatus[12] = (char)(Temperature & 0x000000FF); //Battery Voltage 3
|
ChaletStatus[12] = (char)(Temperature & 0x000000FF); //BTemperature 3
|
||||||
Temperature >>= 8;
|
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,18);
|
||||||
SendLoraNetworkCommand(CHALET_GENERAL_STATUS_RESPONSE,ChaletStatus,14);
|
|
||||||
|
|
||||||
HEARTBEAT_LED_1_PIN = ~HEARTBEAT_LED_1_PIN;
|
HEARTBEAT_LED_1_PIN = ~HEARTBEAT_LED_1_PIN;
|
||||||
|
|
||||||
@ -125,10 +141,20 @@ void ExecuteMasterCommand(int Command, unsigned char *Data)
|
|||||||
}
|
}
|
||||||
case CHALET_BATTERY_VOLTAGE_REQUEST:
|
case CHALET_BATTERY_VOLTAGE_REQUEST:
|
||||||
{
|
{
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case CHALET_WIFI_STATUS_REQUEST:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
case CHALET_WIFI_SET_STATE_REQUEST:
|
case CHALET_WIFI_SET_STATE_REQUEST:
|
||||||
@ -207,15 +233,20 @@ void ExecuteMasterCommand(int Command, unsigned char *Data)
|
|||||||
}
|
}
|
||||||
case CHALET_GET_STORED_WIFI_SETTINGS_REQUEST:
|
case CHALET_GET_STORED_WIFI_SETTINGS_REQUEST:
|
||||||
{
|
{
|
||||||
char response[8];
|
char response[140];
|
||||||
SPIFlashReadBuffer(response,8,FLASH_WIFI_IP_ADDRESS);
|
char WifiDataSize;
|
||||||
SendLoraNetworkCommand(CHALET_GET_STORED_WIFI_SETTINGS_RESPONSE,response,8);
|
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;
|
break;
|
||||||
}
|
}
|
||||||
case CHALET_SET_STORED_WIFI_SETTINGS_REQUEST:
|
case CHALET_SET_STORED_WIFI_SETTINGS_REQUEST:
|
||||||
{
|
{
|
||||||
char response = 0;
|
char response = 0;
|
||||||
if(SPIFlashWriteBuffer(Data,8,FLASH_WIFI_IP_ADDRESS) == 1)
|
if(SPIFlashWriteBuffer(Data,DataSize,FLASH_WIFI_IP_ADDRESS) == 1)
|
||||||
{
|
{
|
||||||
response = 1;
|
response = 1;
|
||||||
}
|
}
|
||||||
@ -228,6 +259,13 @@ void ExecuteMasterCommand(int Command, unsigned char *Data)
|
|||||||
SendLoraNetworkCommand(CHALET_GET_FIRMWARE_VERSION_RESPONSE,(unsigned char*)mFirmwareVersion,15);
|
SendLoraNetworkCommand(CHALET_GET_FIRMWARE_VERSION_RESPONSE,(unsigned char*)mFirmwareVersion,15);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case CHALET_CLEAR_COMMS_STATISTICS_REQUEST:
|
||||||
|
{
|
||||||
|
char response = 1;
|
||||||
|
mTotalMasterNbRequests = 0;
|
||||||
|
SendLoraNetworkCommand(CHALET_CLEAR_COMMS_STATISTICS_RESPONSE,&response,1);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
#define LORA_CHALET_STATUS_POWER_RELAY_MASK 0x01
|
#define LORA_CHALET_STATUS_POWER_RELAY_MASK 0x01
|
||||||
#define LORA_CHALET_STATUS_CUR_SENSOR_MASK 0x02
|
#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 SendLoraNetworkCommand(int Command, unsigned char *Data, unsigned int DataSize);
|
||||||
void SendLoraNetworkCommandBlocking(int Command, unsigned char *Data, unsigned int DataSize); //USE WITH CARE
|
void SendLoraNetworkCommandBlocking(int Command, unsigned char *Data, unsigned int DataSize); //USE WITH CARE
|
||||||
|
|
||||||
|
|||||||
@ -204,7 +204,7 @@ void StateMachine(unsigned char Data)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
// NewMasterMessageReceived(mRxData);
|
// NewMasterMessageReceived(mRxData);
|
||||||
ExecuteMasterCommand(Command,ProtocolMsgDataPtr());
|
ExecuteMasterCommand(Command,ProtocolMsgDataPtr(),DataSize);
|
||||||
ResetStateMachine();
|
ResetStateMachine();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -298,6 +298,13 @@ enum CHALET_CMDS
|
|||||||
CHALET_SET_STORED_WIFI_SETTINGS_RESPONSE,
|
CHALET_SET_STORED_WIFI_SETTINGS_RESPONSE,
|
||||||
CHALET_GET_FIRMWARE_VERSION_REQUEST,
|
CHALET_GET_FIRMWARE_VERSION_REQUEST,
|
||||||
CHALET_GET_FIRMWARE_VERSION_RESPONSE,
|
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
|
MAX_CHALET_CMD
|
||||||
};
|
};
|
||||||
|
|||||||
@ -275,7 +275,7 @@ void ParseNewBuffer(void)
|
|||||||
if(strlen(mDataString1) == 0)
|
if(strlen(mDataString1) == 0)
|
||||||
{
|
{
|
||||||
char voltage[15];
|
char voltage[15];
|
||||||
sprintf(voltage,"%f",GetBatteryVoltage());
|
sprintf(voltage,"%f",GetBatteryVoltage(0));
|
||||||
TerminalPrintString("Battery Voltage: ");
|
TerminalPrintString("Battery Voltage: ");
|
||||||
TerminalPrintString(voltage);
|
TerminalPrintString(voltage);
|
||||||
TerminalPrintString("\n");
|
TerminalPrintString("\n");
|
||||||
@ -290,7 +290,7 @@ void ParseNewBuffer(void)
|
|||||||
if(strncmp(mDataString1,"voltage",strlen("voltage")) == 0)
|
if(strncmp(mDataString1,"voltage",strlen("voltage")) == 0)
|
||||||
{
|
{
|
||||||
char voltage[15];
|
char voltage[15];
|
||||||
sprintf(voltage,"%f",GetBatteryVoltage());
|
sprintf(voltage,"%f",GetBatteryVoltage(0));
|
||||||
TerminalPrintString("Battery Voltage: ");
|
TerminalPrintString("Battery Voltage: ");
|
||||||
TerminalPrintString(voltage);
|
TerminalPrintString(voltage);
|
||||||
TerminalPrintString("\n");
|
TerminalPrintString("\n");
|
||||||
@ -363,7 +363,7 @@ void ParseNewBuffer(void)
|
|||||||
|
|
||||||
char voltage[15];
|
char voltage[15];
|
||||||
memset(voltage,0,15);
|
memset(voltage,0,15);
|
||||||
sprintf(voltage,"%.2f",GetBatteryVoltage());
|
sprintf(voltage,"%.2f",GetBatteryVoltage(0));
|
||||||
TerminalPrintString("Battery Voltage: ");
|
TerminalPrintString("Battery Voltage: ");
|
||||||
TerminalPrintString(voltage);
|
TerminalPrintString(voltage);
|
||||||
TerminalPrintString("V\n");
|
TerminalPrintString("V\n");
|
||||||
|
|||||||
@ -77,6 +77,12 @@ static void resolve_cb(uint8 *hostName, uint32 hostIp)
|
|||||||
{
|
{
|
||||||
gu32HostIp = hostIp;
|
gu32HostIp = hostIp;
|
||||||
gbHostIpByName = true;
|
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",
|
printf("Host IP is %d.%d.%d.%d\r\n",
|
||||||
(int)IPV4_BYTE(hostIp, 0),
|
(int)IPV4_BYTE(hostIp, 0),
|
||||||
(int)IPV4_BYTE(hostIp, 1),
|
(int)IPV4_BYTE(hostIp, 1),
|
||||||
@ -95,178 +101,178 @@ static void socket_cb(SOCKET sock, uint8 u8Msg, void *pvMsg)
|
|||||||
{
|
{
|
||||||
switch(u8Msg)
|
switch(u8Msg)
|
||||||
{
|
{
|
||||||
case SOCKET_MSG_BIND:
|
case SOCKET_MSG_BIND:
|
||||||
{
|
|
||||||
tstrSocketBindMsg *pstrBind = (tstrSocketBindMsg*)pvMsg;
|
|
||||||
if(pstrBind->status == 0)
|
|
||||||
{
|
{
|
||||||
if(sock == TerminalServerSocket)
|
tstrSocketBindMsg *pstrBind = (tstrSocketBindMsg*)pvMsg;
|
||||||
|
if(pstrBind->status == 0)
|
||||||
{
|
{
|
||||||
listen(TerminalServerSocket, 0);
|
if(sock == TerminalServerSocket)
|
||||||
|
{
|
||||||
|
listen(TerminalServerSocket, 0);
|
||||||
|
}
|
||||||
|
else if(sock == SyslogServerSocket)
|
||||||
|
{
|
||||||
|
listen(SyslogServerSocket,0);
|
||||||
|
}
|
||||||
|
else if(sock == NetworkServerSocket)
|
||||||
|
{
|
||||||
|
listen(NetworkServerSocket,0);
|
||||||
|
}
|
||||||
|
else if(sock == BootloaderServerSocket)
|
||||||
|
{
|
||||||
|
listen(BootloaderServerSocket,0);
|
||||||
|
printf("Bootloader server started\n");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if(sock == SyslogServerSocket)
|
else
|
||||||
{
|
{
|
||||||
listen(SyslogServerSocket,0);
|
printf("Bind Failed\n");
|
||||||
}
|
}
|
||||||
else if(sock == NetworkServerSocket)
|
|
||||||
{
|
|
||||||
listen(NetworkServerSocket,0);
|
|
||||||
}
|
|
||||||
else if(sock == BootloaderServerSocket)
|
|
||||||
{
|
|
||||||
listen(BootloaderServerSocket,0);
|
|
||||||
printf("Bootloader server started\n");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
printf("Bind Failed\n");
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case SOCKET_MSG_LISTEN:
|
|
||||||
{
|
|
||||||
|
|
||||||
tstrSocketListenMsg *pstrListen = (tstrSocketListenMsg*)pvMsg;
|
|
||||||
if(pstrListen->status != 0)
|
|
||||||
{
|
|
||||||
printf("socket %d listen Failed. Error: %d\n",(int)sock, pstrListen->status);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if(sock == SyslogServerSocket)
|
case SOCKET_MSG_LISTEN:
|
||||||
{
|
{
|
||||||
m2m_periph_gpio_set_val(M2M_PERIPH_GPIO3,1);
|
|
||||||
|
tstrSocketListenMsg *pstrListen = (tstrSocketListenMsg*)pvMsg;
|
||||||
|
if(pstrListen->status != 0)
|
||||||
|
{
|
||||||
|
printf("socket %d listen Failed. Error: %d\n",(int)sock, pstrListen->status);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if(sock == SyslogServerSocket)
|
||||||
|
{
|
||||||
|
m2m_periph_gpio_set_val(M2M_PERIPH_GPIO3,1);
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
case SOCKET_MSG_ACCEPT:
|
||||||
break;
|
|
||||||
}
|
|
||||||
case SOCKET_MSG_ACCEPT:
|
|
||||||
{
|
|
||||||
// New Socket is accepted.
|
|
||||||
tstrSocketAcceptMsg *pstrAccept = (tstrSocketAcceptMsg *)pvMsg;
|
|
||||||
if(pstrAccept->sock >= 0)
|
|
||||||
{
|
{
|
||||||
if(sock == TerminalServerSocket)
|
// New Socket is accepted.
|
||||||
|
tstrSocketAcceptMsg *pstrAccept = (tstrSocketAcceptMsg *)pvMsg;
|
||||||
|
if(pstrAccept->sock >= 0)
|
||||||
{
|
{
|
||||||
memset(TerminalRxBuf,0,sizeof(TerminalRxBuf));
|
if(sock == TerminalServerSocket)
|
||||||
// Get the accepted socket.
|
|
||||||
TerminalSocket = pstrAccept->sock;
|
|
||||||
recv(TerminalSocket, TerminalRxBuf, sizeof(TerminalRxBuf), 0);
|
|
||||||
SendTerminalData("Bienvenue au chalet!\nLe chalet parle en anglais comme Mr. Pepin\nIf you need help... type help\n\n",strlen("Bienvenue au chalet!\nLe chalet parle en anglais comme Mr. Pepin\nIf you need help... type help\n\n"));
|
|
||||||
// SendSyslogData("Terminal client connected\n",strlen("Terminal client connected\n"));
|
|
||||||
printf("Terminal client connected\n");
|
|
||||||
m2m_periph_gpio_set_val(M2M_PERIPH_GPIO4,1);
|
|
||||||
}
|
|
||||||
else if(sock == SyslogServerSocket)
|
|
||||||
{
|
|
||||||
memset(SyslogRxBuf,0,sizeof(SyslogRxBuf));
|
|
||||||
// Get the accepted socket.
|
|
||||||
SyslogSocket = pstrAccept->sock;
|
|
||||||
recv(SyslogSocket, SyslogRxBuf, sizeof(SyslogRxBuf), 0);
|
|
||||||
m2m_periph_gpio_set_val(M2M_PERIPH_GPIO4,1);
|
|
||||||
SendSyslogData("Syslog Welcome\n",strlen("Syslog Welcome\n"));
|
|
||||||
}
|
|
||||||
else if(sock == NetworkServerSocket)
|
|
||||||
{
|
|
||||||
memset(NetworkRxBuf,0,sizeof(NetworkRxBuf));
|
|
||||||
// Get the accepted socket.
|
|
||||||
NetworkSocket = pstrAccept->sock;
|
|
||||||
recv(NetworkSocket, NetworkRxBuf, sizeof(NetworkRxBuf), 0);
|
|
||||||
printf("Network client connected\n");
|
|
||||||
}
|
|
||||||
else if(sock == BootloaderServerSocket)
|
|
||||||
{
|
|
||||||
memset(BootloaderRxBuf,0,sizeof(BootloaderRxBuf));
|
|
||||||
// Get the accepted socket.
|
|
||||||
BootloaderSocket = pstrAccept->sock;
|
|
||||||
recv(BootloaderSocket, BootloaderRxBuf, sizeof(BootloaderRxBuf), 0);
|
|
||||||
printf("Bootloader client connected\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
printf("Socket %d : Accept Failed\n", sock);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
}
|
|
||||||
case SOCKET_MSG_RECV:
|
|
||||||
{
|
|
||||||
tstrSocketRecvMsg *pstrRecvMsg = (tstrSocketRecvMsg*)pvMsg;
|
|
||||||
if((pstrRecvMsg->pu8Buffer != NULL) && (pstrRecvMsg->s16BufferSize > 0))
|
|
||||||
{
|
|
||||||
// Process the received message
|
|
||||||
if(sock == TerminalSocket)
|
|
||||||
{
|
|
||||||
//Fwd data to Terminal...
|
|
||||||
recv(TerminalSocket, TerminalRxBuf, sizeof(TerminalRxBuf), 0);
|
|
||||||
RxTerminalBuf(TerminalRxBuf, pstrRecvMsg->s16BufferSize);
|
|
||||||
|
|
||||||
}
|
|
||||||
else if(sock == SyslogSocket)
|
|
||||||
{
|
|
||||||
//Fwd data to stdin...
|
|
||||||
recv(SyslogSocket, SyslogRxBuf, sizeof(SyslogRxBuf), 0);
|
|
||||||
//Syslog shall ignore data...
|
|
||||||
}
|
|
||||||
else if(sock == NetworkSocket)
|
|
||||||
{
|
|
||||||
//Fwd data to Network...
|
|
||||||
recv(NetworkSocket, NetworkRxBuf, sizeof(NetworkRxBuf), 0);
|
|
||||||
}
|
|
||||||
else if(sock == BootloaderSocket)
|
|
||||||
{
|
|
||||||
//Fwd data to Network...
|
|
||||||
|
|
||||||
if(recv(BootloaderSocket, BootloaderRxBuf, sizeof(BootloaderRxBuf), 0) != 0)
|
|
||||||
{
|
{
|
||||||
char toto;
|
memset(TerminalRxBuf,0,sizeof(TerminalRxBuf));
|
||||||
toto = 1;
|
// Get the accepted socket.
|
||||||
|
TerminalSocket = pstrAccept->sock;
|
||||||
|
recv(TerminalSocket, TerminalRxBuf, sizeof(TerminalRxBuf), 0);
|
||||||
|
SendTerminalData("Bienvenue au chalet!\nLe chalet parle en anglais comme Mr. Pepin\nIf you need help... type help\n\n",strlen("Bienvenue au chalet!\nLe chalet parle en anglais comme Mr. Pepin\nIf you need help... type help\n\n"));
|
||||||
|
// SendSyslogData("Terminal client connected\n",strlen("Terminal client connected\n"));
|
||||||
|
printf("Terminal client connected\n");
|
||||||
|
m2m_periph_gpio_set_val(M2M_PERIPH_GPIO4,1);
|
||||||
}
|
}
|
||||||
BootloaderProtocolProtocolAnalyzeNewData(pstrRecvMsg->pu8Buffer, pstrRecvMsg->s16BufferSize);
|
else if(sock == SyslogServerSocket)
|
||||||
|
{
|
||||||
|
memset(SyslogRxBuf,0,sizeof(SyslogRxBuf));
|
||||||
|
// Get the accepted socket.
|
||||||
|
SyslogSocket = pstrAccept->sock;
|
||||||
|
recv(SyslogSocket, SyslogRxBuf, sizeof(SyslogRxBuf), 0);
|
||||||
|
m2m_periph_gpio_set_val(M2M_PERIPH_GPIO4,1);
|
||||||
|
SendSyslogData("Syslog Welcome\n",strlen("Syslog Welcome\n"));
|
||||||
|
}
|
||||||
|
else if(sock == NetworkServerSocket)
|
||||||
|
{
|
||||||
|
memset(NetworkRxBuf,0,sizeof(NetworkRxBuf));
|
||||||
|
// Get the accepted socket.
|
||||||
|
NetworkSocket = pstrAccept->sock;
|
||||||
|
recv(NetworkSocket, NetworkRxBuf, sizeof(NetworkRxBuf), 0);
|
||||||
|
printf("Network client connected\n");
|
||||||
|
}
|
||||||
|
else if(sock == BootloaderServerSocket)
|
||||||
|
{
|
||||||
|
memset(BootloaderRxBuf,0,sizeof(BootloaderRxBuf));
|
||||||
|
// Get the accepted socket.
|
||||||
|
BootloaderSocket = pstrAccept->sock;
|
||||||
|
recv(BootloaderSocket, BootloaderRxBuf, sizeof(BootloaderRxBuf), 0);
|
||||||
|
printf("Bootloader client connected\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
printf("Socket %d : Accept Failed\n", sock);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
case SOCKET_MSG_RECV:
|
||||||
|
{
|
||||||
|
tstrSocketRecvMsg *pstrRecvMsg = (tstrSocketRecvMsg*)pvMsg;
|
||||||
|
if((pstrRecvMsg->pu8Buffer != NULL) && (pstrRecvMsg->s16BufferSize > 0))
|
||||||
|
{
|
||||||
|
// Process the received message
|
||||||
|
if(sock == TerminalSocket)
|
||||||
|
{
|
||||||
|
//Fwd data to Terminal...
|
||||||
|
recv(TerminalSocket, TerminalRxBuf, sizeof(TerminalRxBuf), 0);
|
||||||
|
RxTerminalBuf(TerminalRxBuf, pstrRecvMsg->s16BufferSize);
|
||||||
|
|
||||||
|
}
|
||||||
|
else if(sock == SyslogSocket)
|
||||||
|
{
|
||||||
|
//Fwd data to stdin...
|
||||||
|
recv(SyslogSocket, SyslogRxBuf, sizeof(SyslogRxBuf), 0);
|
||||||
|
//Syslog shall ignore data...
|
||||||
|
}
|
||||||
|
else if(sock == NetworkSocket)
|
||||||
|
{
|
||||||
|
//Fwd data to Network...
|
||||||
|
recv(NetworkSocket, NetworkRxBuf, sizeof(NetworkRxBuf), 0);
|
||||||
|
}
|
||||||
|
else if(sock == BootloaderSocket)
|
||||||
|
{
|
||||||
|
//Fwd data to Network...
|
||||||
|
|
||||||
|
if(recv(BootloaderSocket, BootloaderRxBuf, sizeof(BootloaderRxBuf), 0) != 0)
|
||||||
|
{
|
||||||
|
char toto;
|
||||||
|
toto = 1;
|
||||||
|
}
|
||||||
|
BootloaderProtocolProtocolAnalyzeNewData(pstrRecvMsg->pu8Buffer, pstrRecvMsg->s16BufferSize);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else //Socket must be closed.
|
||||||
|
{
|
||||||
|
if(sock == TerminalSocket)
|
||||||
|
{
|
||||||
|
close(TerminalSocket);
|
||||||
|
TerminalSocket = -1;
|
||||||
|
// SendSyslogData("Terminal client disconnected\n",strlen("Terminal client disconnected\n"));
|
||||||
|
printf("Terminal client disconnected\n");
|
||||||
|
m2m_periph_gpio_set_val(M2M_PERIPH_GPIO4,0);
|
||||||
|
}
|
||||||
|
else if(sock == SyslogSocket)
|
||||||
|
{
|
||||||
|
close(SyslogSocket);
|
||||||
|
SyslogSocket = -1;
|
||||||
|
m2m_periph_gpio_set_val(M2M_PERIPH_GPIO4,0);
|
||||||
|
}
|
||||||
|
else if(sock == NetworkSocket)
|
||||||
|
{
|
||||||
|
close(NetworkSocket);
|
||||||
|
NetworkSocket = -1;
|
||||||
|
printf("Network client disconnected\n");
|
||||||
|
}
|
||||||
|
else if(sock == BootloaderSocket)
|
||||||
|
{
|
||||||
|
close(BootloaderSocket);
|
||||||
|
BootloaderSocket = -1;
|
||||||
|
printf("Bootloader client disconnected\n");
|
||||||
|
BootloaderDeactivateBootloader();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case SOCKET_MSG_SEND:
|
||||||
|
{
|
||||||
|
if(sock == SyslogSocket)
|
||||||
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else //Socket must be closed.
|
|
||||||
{
|
|
||||||
if(sock == TerminalSocket)
|
|
||||||
{
|
|
||||||
close(TerminalSocket);
|
|
||||||
TerminalSocket = -1;
|
|
||||||
// SendSyslogData("Terminal client disconnected\n",strlen("Terminal client disconnected\n"));
|
|
||||||
printf("Terminal client disconnected\n");
|
|
||||||
m2m_periph_gpio_set_val(M2M_PERIPH_GPIO4,0);
|
|
||||||
}
|
|
||||||
else if(sock == SyslogSocket)
|
|
||||||
{
|
|
||||||
close(SyslogSocket);
|
|
||||||
SyslogSocket = -1;
|
|
||||||
m2m_periph_gpio_set_val(M2M_PERIPH_GPIO4,0);
|
|
||||||
}
|
|
||||||
else if(sock == NetworkSocket)
|
|
||||||
{
|
|
||||||
close(NetworkSocket);
|
|
||||||
NetworkSocket = -1;
|
|
||||||
printf("Network client disconnected\n");
|
|
||||||
}
|
|
||||||
else if(sock == BootloaderSocket)
|
|
||||||
{
|
|
||||||
close(BootloaderSocket);
|
|
||||||
BootloaderSocket = -1;
|
|
||||||
printf("Bootloader client disconnected\n");
|
|
||||||
BootloaderDeactivateBootloader();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case SOCKET_MSG_SEND:
|
|
||||||
{
|
|
||||||
if(sock == SyslogSocket)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -277,7 +283,7 @@ static void set_dev_name_to_mac(uint8 *name, uint8 *mac_addr)
|
|||||||
/* Name must be in the format WINC1500_00:00 */
|
/* Name must be in the format WINC1500_00:00 */
|
||||||
uint16 len;
|
uint16 len;
|
||||||
|
|
||||||
// len = m2m_strlen(name);
|
// len = m2m_strlen(name);
|
||||||
if (len >= 5) {
|
if (len >= 5) {
|
||||||
name[len - 1] = MAIN_HEX2ASCII((mac_addr[5] >> 0) & 0x0f);
|
name[len - 1] = MAIN_HEX2ASCII((mac_addr[5] >> 0) & 0x0f);
|
||||||
name[len - 2] = MAIN_HEX2ASCII((mac_addr[5] >> 4) & 0x0f);
|
name[len - 2] = MAIN_HEX2ASCII((mac_addr[5] >> 4) & 0x0f);
|
||||||
@ -297,71 +303,86 @@ static void set_dev_name_to_mac(uint8 *name, uint8 *mac_addr)
|
|||||||
static void wifi_cb(uint8 u8MsgType, void *pvMsg)
|
static void wifi_cb(uint8 u8MsgType, void *pvMsg)
|
||||||
{
|
{
|
||||||
switch (u8MsgType) {
|
switch (u8MsgType) {
|
||||||
case M2M_WIFI_RESP_CON_STATE_CHANGED: {
|
case M2M_WIFI_RESP_CON_STATE_CHANGED: {
|
||||||
tstrM2mWifiStateChanged *pstrWifiState = (tstrM2mWifiStateChanged *)pvMsg;
|
tstrM2mWifiStateChanged *pstrWifiState = (tstrM2mWifiStateChanged *)pvMsg;
|
||||||
if (pstrWifiState->u8CurrState == M2M_WIFI_CONNECTED)
|
if (pstrWifiState->u8CurrState == M2M_WIFI_CONNECTED)
|
||||||
{
|
{
|
||||||
printf("Wi-Fi connected\r\n");
|
printf("Wi-Fi connected\r\n");
|
||||||
|
|
||||||
#ifndef USE_STATIC_IP
|
if(mUseDHCP == true)
|
||||||
// m2m_wifi_request_dhcp_client();
|
{
|
||||||
#else
|
// m2m_wifi_request_dhcp_client();
|
||||||
m2m_wifi_set_static_ip(&mModuleIPConfig);
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m2m_wifi_set_static_ip(&mModuleIPConfig);
|
||||||
|
gbConnectedWifi = true;
|
||||||
|
mCurIPAddress = mModuleIPConfig.u32StaticIP;
|
||||||
|
}
|
||||||
|
|
||||||
|
//#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)
|
||||||
|
{
|
||||||
|
printf("Wi-Fi disconnected\r\n");
|
||||||
|
gbConnectedWifi = false;
|
||||||
|
mWiFiState = WIFI_DISCONNECTED_STATE;
|
||||||
|
CloseSockets();
|
||||||
|
m2m_periph_gpio_set_val(M2M_PERIPH_GPIO3,0);
|
||||||
|
mCurIPAddress = 0xFFFFFFFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case M2M_WIFI_REQ_DHCP_CONF:
|
||||||
|
{
|
||||||
|
tstrM2MIPConfig *IPConfig;
|
||||||
|
IPConfig = (tstrM2MIPConfig*)pvMsg;
|
||||||
|
// mCurIPAddress = *(uint32*)pvMsg;
|
||||||
|
|
||||||
|
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. */
|
||||||
|
// printf("Wi-Fi IP is %u.%u.%u.%u\r\n", pu8IPAddress[0], pu8IPAddress[1], pu8IPAddress[2], pu8IPAddress[3]);
|
||||||
gbConnectedWifi = true;
|
gbConnectedWifi = true;
|
||||||
mCurIPAddress = mModuleIPConfig.u32StaticIP;
|
/* Obtain the IP Address by network name */
|
||||||
#endif
|
gethostbyname((uint8 *)server_host_name);
|
||||||
mWiFiState = WIFI_CONNECTED_STATE;
|
break;
|
||||||
} else if (pstrWifiState->u8CurrState == M2M_WIFI_DISCONNECTED)
|
}
|
||||||
|
|
||||||
|
case M2M_WIFI_RESP_PROVISION_INFO:
|
||||||
{
|
{
|
||||||
printf("Wi-Fi disconnected\r\n");
|
tstrM2MProvisionInfo *pstrProvInfo = (tstrM2MProvisionInfo *)pvMsg;
|
||||||
gbConnectedWifi = false;
|
printf("wifi_cb: M2M_WIFI_RESP_PROVISION_INFO.\r\n");
|
||||||
mWiFiState = WIFI_DISCONNECTED_STATE;
|
|
||||||
CloseSockets();
|
if (pstrProvInfo->u8Status == M2M_SUCCESS) {
|
||||||
m2m_periph_gpio_set_val(M2M_PERIPH_GPIO3,0);
|
m2m_wifi_connect((char *)pstrProvInfo->au8SSID,
|
||||||
mCurIPAddress = 0xFFFFFFFF;
|
strlen((char *)pstrProvInfo->au8SSID),
|
||||||
|
pstrProvInfo->u8SecType,
|
||||||
|
pstrProvInfo->au8Password,
|
||||||
|
M2M_WIFI_CH_ALL);
|
||||||
|
} else {
|
||||||
|
printf("wifi_cb: Provision failed.\r\n");
|
||||||
|
}
|
||||||
|
} break;
|
||||||
|
|
||||||
|
default: {
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
case M2M_WIFI_REQ_DHCP_CONF:
|
|
||||||
{
|
|
||||||
// mCurIPAddress = *(uin32*)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);
|
|
||||||
|
|
||||||
|
|
||||||
/* Turn LED0 on to declare that IP address received. */
|
|
||||||
// printf("Wi-Fi IP is %u.%u.%u.%u\r\n", pu8IPAddress[0], pu8IPAddress[1], pu8IPAddress[2], pu8IPAddress[3]);
|
|
||||||
gbConnectedWifi = true;
|
|
||||||
/* Obtain the IP Address by network name */
|
|
||||||
gethostbyname((uint8 *)server_host_name);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
case M2M_WIFI_RESP_PROVISION_INFO:
|
|
||||||
{
|
|
||||||
tstrM2MProvisionInfo *pstrProvInfo = (tstrM2MProvisionInfo *)pvMsg;
|
|
||||||
printf("wifi_cb: M2M_WIFI_RESP_PROVISION_INFO.\r\n");
|
|
||||||
|
|
||||||
if (pstrProvInfo->u8Status == M2M_SUCCESS) {
|
|
||||||
m2m_wifi_connect((char *)pstrProvInfo->au8SSID,
|
|
||||||
strlen((char *)pstrProvInfo->au8SSID),
|
|
||||||
pstrProvInfo->u8SecType,
|
|
||||||
pstrProvInfo->au8Password,
|
|
||||||
M2M_WIFI_CH_ALL);
|
|
||||||
} else {
|
|
||||||
printf("wifi_cb: Provision failed.\r\n");
|
|
||||||
}
|
|
||||||
} break;
|
|
||||||
|
|
||||||
default: {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -377,33 +398,59 @@ int InitWiFi()
|
|||||||
|
|
||||||
char IP1,IP2,IP3,IP4,GW1,GW2,GW3,GW4;
|
char IP1,IP2,IP3,IP4,GW1,GW2,GW3,GW4;
|
||||||
|
|
||||||
|
//Load WiFi parameters from flash if present
|
||||||
if(SPIFlashIsPresent() == 1)
|
if(SPIFlashIsPresent() == 1)
|
||||||
{
|
{
|
||||||
char StoredIPConfig[8];
|
char StoredIPConfig[11];
|
||||||
if(SPIFlashReadBuffer(StoredIPConfig,8,FLASH_WIFI_IP_ADDRESS) != RET_ERROR)
|
if(SPIFlashReadBuffer(StoredIPConfig,11,FLASH_WIFI_IP_ADDRESS) != RET_ERROR)
|
||||||
{
|
{
|
||||||
IP1 = StoredIPConfig[0];
|
mUseDHCP = StoredIPConfig[8]; //Use DHCP
|
||||||
IP2 = StoredIPConfig[1];
|
//if(mUseDHCP == 0)
|
||||||
IP3 = StoredIPConfig[2];
|
|
||||||
IP4 = StoredIPConfig[3];
|
|
||||||
|
|
||||||
GW1 = StoredIPConfig[4];
|
|
||||||
GW2 = StoredIPConfig[5];
|
|
||||||
GW3 = StoredIPConfig[6];
|
|
||||||
GW4 = StoredIPConfig[7];
|
|
||||||
|
|
||||||
if((IP1 == (char)0xFF) && (IP2 == (char)0xFF) && (IP3 == (char)0xFF) && (IP4 == (char)0xFF) || \
|
|
||||||
((GW1 == (char)0xFF && GW2 == (char)0xFF && GW3 == (char)0xFF && GW4 == (char)0xFF)))
|
|
||||||
{
|
{
|
||||||
IP1 = STATIC_IP_ADDRESS_1;
|
IP1 = StoredIPConfig[0];
|
||||||
IP2 = STATIC_IP_ADDRESS_2;
|
IP2 = StoredIPConfig[1];
|
||||||
IP3 = STATIC_IP_ADDRESS_3;
|
IP3 = StoredIPConfig[2];
|
||||||
IP4 = STATIC_IP_ADDRESS_4;
|
IP4 = StoredIPConfig[3];
|
||||||
|
|
||||||
|
GW1 = StoredIPConfig[4];
|
||||||
|
GW2 = StoredIPConfig[5];
|
||||||
|
GW3 = StoredIPConfig[6];
|
||||||
|
GW4 = StoredIPConfig[7];
|
||||||
|
|
||||||
|
if((IP1 == (char)0xFF) && (IP2 == (char)0xFF) && (IP3 == (char)0xFF) && (IP4 == (char)0xFF) || \
|
||||||
|
((GW1 == (char)0xFF && GW2 == (char)0xFF && GW3 == (char)0xFF && GW4 == (char)0xFF)))
|
||||||
|
{
|
||||||
|
IP1 = STATIC_IP_ADDRESS_1;
|
||||||
|
IP2 = STATIC_IP_ADDRESS_2;
|
||||||
|
IP3 = STATIC_IP_ADDRESS_3;
|
||||||
|
IP4 = STATIC_IP_ADDRESS_4;
|
||||||
|
|
||||||
|
GW1 = GATEWAY_ADDRESS_1;
|
||||||
|
GW2 = GATEWAY_ADDRESS_2;
|
||||||
|
GW3 = GATEWAY_ADDRESS_3;
|
||||||
|
GW4 = GATEWAY_ADDRESS_4;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
GW1 = GATEWAY_ADDRESS_1;
|
|
||||||
GW2 = GATEWAY_ADDRESS_2;
|
|
||||||
GW3 = GATEWAY_ADDRESS_3;
|
|
||||||
GW4 = GATEWAY_ADDRESS_4;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -419,20 +466,29 @@ int InitWiFi()
|
|||||||
GW2 = GATEWAY_ADDRESS_2;
|
GW2 = GATEWAY_ADDRESS_2;
|
||||||
GW3 = GATEWAY_ADDRESS_3;
|
GW3 = GATEWAY_ADDRESS_3;
|
||||||
GW4 = GATEWAY_ADDRESS_4;
|
GW4 = GATEWAY_ADDRESS_4;
|
||||||
|
|
||||||
|
strcpy(mAPPassword,HOME_AP_PWD);
|
||||||
|
strcpy(mAPName,HOME_AP_NAME);
|
||||||
|
|
||||||
|
#ifdef USE_STATIC_IP
|
||||||
|
mUseDHCP = 0;
|
||||||
|
#else
|
||||||
|
mUseDHCP = 1;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
memset(&mModuleIPConfig,0,sizeof(mModuleIPConfig));
|
memset(&mModuleIPConfig,0,sizeof(mModuleIPConfig));
|
||||||
// mModuleIPConfig.u32StaticIP = IP_TO_U32(STATIC_IP_ADDRESS_1,STATIC_IP_ADDRESS_2,STATIC_IP_ADDRESS_3,STATIC_IP_ADDRESS_4);
|
// mModuleIPConfig.u32StaticIP = IP_TO_U32(STATIC_IP_ADDRESS_1,STATIC_IP_ADDRESS_2,STATIC_IP_ADDRESS_3,STATIC_IP_ADDRESS_4);
|
||||||
mModuleIPConfig.u32StaticIP = IP_TO_U32(IP1,IP2,IP3,IP4);
|
mModuleIPConfig.u32StaticIP = IP_TO_U32(IP1,IP2,IP3,IP4);
|
||||||
mModuleIPConfig.u32DNS = IP_TO_U32(DEFAULT_DNS_ADD_1,DEFAULT_DNS_ADD_2,DEFAULT_DNS_ADD_3,DEFAULT_DNS_ADD_4);
|
mModuleIPConfig.u32DNS = IP_TO_U32(DEFAULT_DNS_ADD_1,DEFAULT_DNS_ADD_2,DEFAULT_DNS_ADD_3,DEFAULT_DNS_ADD_4);
|
||||||
// mModuleIPConfig.u32AlternateDNS = IP_TO_U32(ALT_DNS_ADD_1,ALT_DNS_ADD_2,ALT_DNS_ADD_3,ALT_DNS_ADD_4);
|
// mModuleIPConfig.u32AlternateDNS = IP_TO_U32(ALT_DNS_ADD_1,ALT_DNS_ADD_2,ALT_DNS_ADD_3,ALT_DNS_ADD_4);
|
||||||
// mModuleIPConfig.u32Gateway = IP_TO_U32(GATEWAY_ADDRESS_1,GATEWAY_ADDRESS_2,GATEWAY_ADDRESS_3,GATEWAY_ADDRESS_4);
|
// mModuleIPConfig.u32Gateway = IP_TO_U32(GATEWAY_ADDRESS_1,GATEWAY_ADDRESS_2,GATEWAY_ADDRESS_3,GATEWAY_ADDRESS_4);
|
||||||
mModuleIPConfig.u32Gateway = IP_TO_U32(GW1,GW2,GW3,GW4);
|
mModuleIPConfig.u32Gateway = IP_TO_U32(GW1,GW2,GW3,GW4);
|
||||||
mModuleIPConfig.u32SubnetMask = IP_TO_U32(SUBNET_MASK_1,SUBNET_MASK_2,SUBNET_MASK_3,SUBNET_MASK_4);
|
mModuleIPConfig.u32SubnetMask = IP_TO_U32(SUBNET_MASK_1,SUBNET_MASK_2,SUBNET_MASK_3,SUBNET_MASK_4);
|
||||||
|
|
||||||
/* Initialize the BSP. */
|
/* Initialize the BSP. */
|
||||||
// nm_bsp_init();
|
// nm_bsp_init();
|
||||||
/* Initialize Wi-Fi parameters structure. */
|
/* Initialize Wi-Fi parameters structure. */
|
||||||
memset((uint8_t *)¶m, 0, sizeof(tstrWifiInitParam));
|
memset((uint8_t *)¶m, 0, sizeof(tstrWifiInitParam));
|
||||||
/* Initialize Wi-Fi driver with data and status callbacks. */
|
/* Initialize Wi-Fi driver with data and status callbacks. */
|
||||||
@ -466,16 +522,30 @@ int InitWiFi()
|
|||||||
//Use the MAC to define the SSID of the module
|
//Use the MAC to define the SSID of the module
|
||||||
set_dev_name_to_mac((uint8 *)gstrM2MAPConfig.au8SSID, gau8MacAddr);
|
set_dev_name_to_mac((uint8 *)gstrM2MAPConfig.au8SSID, gau8MacAddr);
|
||||||
|
|
||||||
// m2m_wifi_set_device_name((uint8 *)gacDeviceName, (uint8)m2m_strlen((uint8 *)gacDeviceName));
|
// m2m_wifi_set_device_name((uint8 *)gacDeviceName, (uint8)m2m_strlen((uint8 *)gacDeviceName));
|
||||||
|
|
||||||
#ifdef USE_STATIC_IP
|
//#ifdef USE_STATIC_IP
|
||||||
//Use static ip --> disable dhcp client before connecting
|
// //Use static ip --> disable dhcp client before connecting
|
||||||
m2m_wifi_enable_dhcp(0);
|
// m2m_wifi_enable_dhcp(0);
|
||||||
#endif
|
//#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(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);
|
||||||
|
}
|
||||||
|
if(m2m_wifi_connect(mAPName,strlen(mAPName),HOME_AP_SEC_TYPE,mAPPassword,M2M_WIFI_CH_ALL) != M2M_SUCCESS)
|
||||||
{
|
{
|
||||||
//wifi connect error...
|
//wifi connect error...
|
||||||
printf("error");
|
printf("Wifi Connect error");
|
||||||
}
|
}
|
||||||
|
|
||||||
tstrPerphInitParam tst;
|
tstrPerphInitParam tst;
|
||||||
@ -521,6 +591,7 @@ int TurnOFFWiFi()
|
|||||||
mWiFiInitOK = false;
|
mWiFiInitOK = false;
|
||||||
gbConnectedWifi = false;
|
gbConnectedWifi = false;
|
||||||
HEARTBEAT_LED_2_PIN = LED_OFF;
|
HEARTBEAT_LED_2_PIN = LED_OFF;
|
||||||
|
mCurIPAddress = 0xFFFFFFFF;
|
||||||
|
|
||||||
// WIFI
|
// WIFI
|
||||||
mWiFiState = WIFI_MODULE_OFF_STATE;
|
mWiFiState = WIFI_MODULE_OFF_STATE;
|
||||||
@ -563,6 +634,11 @@ char GetWiFiSate()
|
|||||||
return mWiFiState;
|
return mWiFiState;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint32 GetCurIPAddress()
|
||||||
|
{
|
||||||
|
return mCurIPAddress;
|
||||||
|
}
|
||||||
|
|
||||||
void TickWiFi()
|
void TickWiFi()
|
||||||
{
|
{
|
||||||
if(mWiFiInitOK == false)
|
if(mWiFiInitOK == false)
|
||||||
@ -574,7 +650,8 @@ void TickWiFi()
|
|||||||
if(IsTimerExpired(WIFI_RECONNECT_TIMER))
|
if(IsTimerExpired(WIFI_RECONNECT_TIMER))
|
||||||
{
|
{
|
||||||
//m2m_wifi_disconnect();
|
//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);
|
TimerStart(WIFI_RECONNECT_TIMER,WIFI_CONNECT_TIMEOUT);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -591,8 +668,8 @@ void TickWiFi()
|
|||||||
|
|
||||||
OpenTerminalServer();
|
OpenTerminalServer();
|
||||||
//OpenNetworkServer();
|
//OpenNetworkServer();
|
||||||
// OpenBootloaderServer();
|
// OpenBootloaderServer();
|
||||||
// BootloaderActivateBootloader();
|
// BootloaderActivateBootloader();
|
||||||
#ifdef USE_SYSLOG
|
#ifdef USE_SYSLOG
|
||||||
OpenSyslogServer();
|
OpenSyslogServer();
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@ -78,6 +78,7 @@ void TickWiFi();
|
|||||||
int TurnOFFWiFi();
|
int TurnOFFWiFi();
|
||||||
int CloseSockets();
|
int CloseSockets();
|
||||||
char GetWiFiSate();
|
char GetWiFiSate();
|
||||||
|
uint32 GetCurIPAddress();
|
||||||
|
|
||||||
int OpenTerminalServer();
|
int OpenTerminalServer();
|
||||||
void SendTerminalData(uint8 *data, int size);
|
void SendTerminalData(uint8 *data, int size);
|
||||||
@ -98,6 +99,8 @@ void SendBootloaderData(uint8 *data, int size);
|
|||||||
void SendBootloaderByte(uint8 data);
|
void SendBootloaderByte(uint8 data);
|
||||||
int IsBootloaderClientConnected();
|
int IsBootloaderClientConnected();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//#define USE_STATIC_IP
|
//#define USE_STATIC_IP
|
||||||
|
|
||||||
|
|
||||||
@ -166,9 +169,11 @@ int IsBootloaderClientConnected();
|
|||||||
//#define HOME_AP_PWD "12345fffff"
|
//#define HOME_AP_PWD "12345fffff"
|
||||||
|
|
||||||
#define HOME_AP_NAME "ChaletVilleEmard"
|
#define HOME_AP_NAME "ChaletVilleEmard"
|
||||||
|
//#define HOME_AP_NAME "ImprVilleEmard"
|
||||||
//#define HOME_AP_NAME "ElRouteurDuChalet"
|
//#define HOME_AP_NAME "ElRouteurDuChalet"
|
||||||
//#define HOME_AP_NAME "LeChalet"
|
//#define HOME_AP_NAME "LeChalet"
|
||||||
#define HOME_AP_PWD "Evinrude30"
|
#define HOME_AP_PWD "Evinrude30"
|
||||||
|
//#define HOME_AP_PWD "12345fffff"
|
||||||
|
|
||||||
#define TERMINAL_SERVER_PORT 85
|
#define TERMINAL_SERVER_PORT 85
|
||||||
#define NETWORK_SERVER_PORT 86
|
#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 uint8 gau8MacAddr[] = MAIN_MAC_ADDRESS;
|
||||||
static sint8 gacDeviceName[] = MAIN_M2M_SSID;
|
static sint8 gacDeviceName[] = MAIN_M2M_SSID;
|
||||||
|
char mAPName[64];
|
||||||
|
char mAPPassword[64];
|
||||||
|
char mUseDHCP;
|
||||||
|
|
||||||
#define MAIN_WAITING_TIME 3000
|
#define MAIN_WAITING_TIME 3000
|
||||||
#define MAIN_RETRY_COUNT 10
|
#define MAIN_RETRY_COUNT 10
|
||||||
|
|||||||
@ -156,9 +156,9 @@ enum eWiFiState
|
|||||||
//----------------------------
|
//----------------------------
|
||||||
#define NETWORK_UART_PORT UART_1
|
#define NETWORK_UART_PORT UART_1
|
||||||
|
|
||||||
#ifndef NO_WIFI
|
|
||||||
#define WIFI_MODULE_UART_PORT UART_2
|
#define LORA_MODULE_UART_PORT UART_2
|
||||||
#endif
|
|
||||||
|
|
||||||
//
|
//
|
||||||
//----------------------------
|
//----------------------------
|
||||||
|
|||||||
@ -18,9 +18,12 @@
|
|||||||
|
|
||||||
// include libraries
|
// include libraries
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <util/delay.h>
|
//#include <util/delay.h>
|
||||||
#include <avr/io.h>
|
//#include <avr/io.h>
|
||||||
|
#include "define.h"
|
||||||
|
#include "BoardCfg.h"
|
||||||
#include "hd44780.h"
|
#include "hd44780.h"
|
||||||
|
#include "timer.h"
|
||||||
|
|
||||||
// +---------------------------+
|
// +---------------------------+
|
||||||
// | Power on |
|
// | Power on |
|
||||||
@ -82,8 +85,8 @@
|
|||||||
*/
|
*/
|
||||||
void HD44780_DisplayClear (void)
|
void HD44780_DisplayClear (void)
|
||||||
{
|
{
|
||||||
// Diplay clear
|
// Diplay clear
|
||||||
HD44780_SendInstruction(HD44780_DISP_CLEAR);
|
HD44780_SendInstruction(HD44780_DISP_CLEAR);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -95,8 +98,8 @@ void HD44780_DisplayClear (void)
|
|||||||
*/
|
*/
|
||||||
void HD44780_DisplayOn (void)
|
void HD44780_DisplayOn (void)
|
||||||
{
|
{
|
||||||
// send instruction - display on
|
// send instruction - display on
|
||||||
HD44780_SendInstruction(HD44780_DISP_ON);
|
HD44780_SendInstruction(HD44780_DISP_ON);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -108,8 +111,8 @@ void HD44780_DisplayOn (void)
|
|||||||
*/
|
*/
|
||||||
void HD44780_CursorOn (void)
|
void HD44780_CursorOn (void)
|
||||||
{
|
{
|
||||||
// send instruction - cursor on
|
// send instruction - cursor on
|
||||||
HD44780_SendInstruction(HD44780_CURSOR_ON);
|
HD44780_SendInstruction(HD44780_CURSOR_ON);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -121,8 +124,8 @@ void HD44780_CursorOn (void)
|
|||||||
*/
|
*/
|
||||||
void HD44780_CursorOff (void)
|
void HD44780_CursorOff (void)
|
||||||
{
|
{
|
||||||
// send instruction - cursor on
|
// send instruction - cursor on
|
||||||
HD44780_SendInstruction(HD44780_CURSOR_OFF);
|
HD44780_SendInstruction(HD44780_CURSOR_OFF);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -134,8 +137,8 @@ void HD44780_CursorOff (void)
|
|||||||
*/
|
*/
|
||||||
void HD44780_CursorBlink (void)
|
void HD44780_CursorBlink (void)
|
||||||
{
|
{
|
||||||
// send instruction - Cursor blink
|
// send instruction - Cursor blink
|
||||||
HD44780_SendInstruction(HD44780_CURSOR_BLINK);
|
HD44780_SendInstruction(HD44780_CURSOR_BLINK);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -147,8 +150,8 @@ void HD44780_CursorBlink (void)
|
|||||||
*/
|
*/
|
||||||
void HD44780_DrawChar (char character)
|
void HD44780_DrawChar (char character)
|
||||||
{
|
{
|
||||||
// Diplay clear
|
// Diplay clear
|
||||||
HD44780_SendData(character);
|
HD44780_SendData(character);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -160,12 +163,12 @@ void HD44780_DrawChar (char character)
|
|||||||
*/
|
*/
|
||||||
void HD44780_DrawString (char *str)
|
void HD44780_DrawString (char *str)
|
||||||
{
|
{
|
||||||
unsigned char i = 0;
|
unsigned char i = 0;
|
||||||
// loop through 5 bytes
|
// loop through 5 bytes
|
||||||
while (str[i] != '\0') {
|
while (str[i] != '\0') {
|
||||||
//read characters and increment index
|
//read characters and increment index
|
||||||
HD44780_SendData(str[i++]);
|
HD44780_SendData(str[i++]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -178,20 +181,20 @@ void HD44780_DrawString (char *str)
|
|||||||
*/
|
*/
|
||||||
char HD44780_PositionXY (char x, char y)
|
char HD44780_PositionXY (char x, char y)
|
||||||
{
|
{
|
||||||
if (x > HD44780_COLS || y > HD44780_ROWS) {
|
if (x > HD44780_COLS || y > HD44780_ROWS) {
|
||||||
// error
|
// error
|
||||||
return ERROR;
|
return ERROR;
|
||||||
}
|
}
|
||||||
// check which row
|
// check which row
|
||||||
if (y == 0) {
|
if (y == 0) {
|
||||||
// send instruction 1st row
|
// send instruction 1st row
|
||||||
HD44780_SendInstruction(HD44780_POSITION | (HD44780_ROW1_START + x));
|
HD44780_SendInstruction(HD44780_POSITION | (HD44780_ROW1_START + x));
|
||||||
} else if (y == 1) {
|
} else if (y == 1) {
|
||||||
// send instruction 2nd row
|
// send instruction 2nd row
|
||||||
HD44780_SendInstruction(HD44780_POSITION | (HD44780_ROW2_START + x));
|
HD44780_SendInstruction(HD44780_POSITION | (HD44780_ROW2_START + x));
|
||||||
}
|
}
|
||||||
// success
|
// success
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -204,40 +207,40 @@ char HD44780_PositionXY (char x, char y)
|
|||||||
*/
|
*/
|
||||||
char HD44780_Shift (char item, char direction)
|
char HD44780_Shift (char item, char direction)
|
||||||
{
|
{
|
||||||
// check if item is cursor or display or direction is left or right
|
// check if item is cursor or display or direction is left or right
|
||||||
if ((item != HD44780_DISPLAY) && (item != HD44780_CURSOR)) {
|
if ((item != HD44780_DISPLAY) && (item != HD44780_CURSOR)) {
|
||||||
// error
|
// error
|
||||||
return ERROR;
|
return ERROR;
|
||||||
}
|
}
|
||||||
// check if direction is left or right
|
// check if direction is left or right
|
||||||
if ((direction != HD44780_RIGHT) && (direction != HD44780_LEFT)) {
|
if ((direction != HD44780_RIGHT) && (direction != HD44780_LEFT)) {
|
||||||
// error
|
// error
|
||||||
return ERROR;
|
return ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
// cursor shift
|
// cursor shift
|
||||||
if (item == HD44780_CURSOR) {
|
if (item == HD44780_CURSOR) {
|
||||||
// right shift
|
// right shift
|
||||||
if (direction == HD44780_RIGHT) {
|
if (direction == HD44780_RIGHT) {
|
||||||
// shit cursor / display to right / left
|
// shit cursor / display to right / left
|
||||||
HD44780_SendInstruction(HD44780_SHIFT | HD44780_CURSOR | HD44780_RIGHT);
|
HD44780_SendInstruction(HD44780_SHIFT | HD44780_CURSOR | HD44780_RIGHT);
|
||||||
} else {
|
} else {
|
||||||
// shit cursor / display to right / left
|
// shit cursor / display to right / left
|
||||||
HD44780_SendInstruction(HD44780_SHIFT | HD44780_CURSOR | HD44780_LEFT);
|
HD44780_SendInstruction(HD44780_SHIFT | HD44780_CURSOR | HD44780_LEFT);
|
||||||
}
|
}
|
||||||
// display shift
|
// display shift
|
||||||
} else {
|
} else {
|
||||||
// right shift
|
// right shift
|
||||||
if (direction == HD44780_RIGHT) {
|
if (direction == HD44780_RIGHT) {
|
||||||
// shit cursor / display to right / left
|
// shit cursor / display to right / left
|
||||||
HD44780_SendInstruction(HD44780_SHIFT | HD44780_DISPLAY | HD44780_RIGHT);
|
HD44780_SendInstruction(HD44780_SHIFT | HD44780_DISPLAY | HD44780_RIGHT);
|
||||||
} else {
|
} else {
|
||||||
// shit cursor / display to right / left
|
// shit cursor / display to right / left
|
||||||
HD44780_SendInstruction(HD44780_SHIFT | HD44780_DISPLAY | HD44780_LEFT);
|
HD44780_SendInstruction(HD44780_SHIFT | HD44780_DISPLAY | HD44780_LEFT);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// success
|
// success
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -249,62 +252,73 @@ char HD44780_Shift (char item, char direction)
|
|||||||
*/
|
*/
|
||||||
void HD44780_Init (void)
|
void HD44780_Init (void)
|
||||||
{
|
{
|
||||||
// set E as output
|
// set E as output
|
||||||
SETBIT(HD44780_DDR_E, HD44780_E);
|
//SETBIT(HD44780_DDR_E, HD44780_E);
|
||||||
// set RS as output
|
// set RS as output
|
||||||
SETBIT(HD44780_DDR_RS, HD44780_RS);
|
//SETBIT(HD44780_DDR_RS, HD44780_RS);
|
||||||
// set RW as output
|
// set RW as output
|
||||||
SETBIT(HD44780_DDR_RW, HD44780_RW);
|
//SETBIT(HD44780_DDR_RW, HD44780_RW);
|
||||||
|
|
||||||
// set DB7-DB4 as output
|
// set DB7-DB4 as output
|
||||||
HD44780_SetDDR_DATA4to7();
|
// HD44780_SetDDR_DATA4to7();
|
||||||
|
|
||||||
// clear RS
|
// clear RS
|
||||||
CLRBIT(HD44780_PORT_RS, HD44780_RS);
|
// CLRBIT(HD44780_PORT_RS, HD44780_RS);
|
||||||
// clear RW
|
LCD_RS_PIN = 0;
|
||||||
CLRBIT(HD44780_PORT_RW, HD44780_RW);
|
// clear RW
|
||||||
// clear E
|
// CLRBIT(HD44780_PORT_RW, HD44780_RW);
|
||||||
CLRBIT(HD44780_PORT_E, HD44780_E);
|
LCD_RW_PIN = 0;
|
||||||
|
// clear E
|
||||||
|
// CLRBIT(HD44780_PORT_E, HD44780_E);
|
||||||
|
LCD_E_PIN = 0;
|
||||||
|
|
||||||
// delay > 15ms
|
// delay > 15ms
|
||||||
_delay_ms(16);
|
_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);
|
|
||||||
// delay > 4.1ms
|
|
||||||
_delay_ms(5);
|
|
||||||
|
|
||||||
// pulse E
|
// Busy Flag (BF) cannot be checked in these instructions
|
||||||
HD44780_PulseE();
|
// ---------------------------------------------------------------------
|
||||||
// delay > 100us
|
// Initial sequence 0x30 - send 4 bits in 4 bit mode
|
||||||
_delay_us(110);
|
// HD44780_SendInstruction(HD44780_INIT_SEQ);JFM
|
||||||
|
HD44780_Send4bitsIn4bitMode(HD44780_INIT_SEQ);
|
||||||
|
// delay > 4.1ms
|
||||||
|
_delay_ms(5);
|
||||||
|
|
||||||
// pulse E
|
|
||||||
HD44780_PulseE();
|
|
||||||
// delay > 45us (=37+4 * 270/250)
|
|
||||||
_delay_us(50);
|
|
||||||
|
|
||||||
// 4 bit mode 0x20 - send 4 bits in 4 bit mode
|
// pulse E
|
||||||
HD44780_Send4bitsIn4bitMode(HD44780_4BIT_MODE);
|
//HD44780_PulseE();
|
||||||
// pulse E
|
// delay > 100us
|
||||||
HD44780_PulseE();
|
_delay_us(110);
|
||||||
// delay > 45us (=37+4 * 270/250)
|
|
||||||
_delay_us(50);
|
|
||||||
// ----------------------------------------------------------------------
|
|
||||||
|
|
||||||
// 4-bit & 2-lines & 5x8-dots 0x28 - send 8 bits in 4 bit mode
|
HD44780_Send4bitsIn4bitMode(HD44780_INIT_SEQ);
|
||||||
HD44780_SendInstruction(HD44780_4BIT_MODE | HD44780_2_ROWS | HD44780_FONT_5x8);
|
|
||||||
|
|
||||||
// display off 0x08 - send 8 bits in 4 bit mode
|
|
||||||
HD44780_SendInstruction(HD44780_DISP_OFF);
|
|
||||||
|
|
||||||
// display clear 0x01 - send 8 bits in 4 bit mode
|
// pulse E
|
||||||
HD44780_SendInstruction(HD44780_DISP_CLEAR);
|
// HD44780_PulseE();
|
||||||
|
// delay > 45us (=37+4 * 270/250)
|
||||||
|
_delay_us(50);
|
||||||
|
|
||||||
// entry mode set 0x06 - send 8 bits in 4 bit mode
|
|
||||||
HD44780_SendInstruction(HD44780_ENTRY_MODE);
|
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();
|
||||||
|
// delay > 45us (=37+4 * 270/250)
|
||||||
|
_delay_us(50);
|
||||||
|
// ----------------------------------------------------------------------
|
||||||
|
|
||||||
|
// 4-bit & 2-lines & 5x8-dots 0x28 - send 8 bits in 4 bit mode
|
||||||
|
HD44780_SendInstruction(HD44780_4BIT_MODE | HD44780_2_ROWS | HD44780_FONT_5x8);
|
||||||
|
|
||||||
|
// display off 0x08 - send 8 bits in 4 bit mode
|
||||||
|
HD44780_SendInstruction(HD44780_DISP_OFF);
|
||||||
|
|
||||||
|
// display clear 0x01 - send 8 bits in 4 bit mode
|
||||||
|
HD44780_SendInstruction(HD44780_DISP_CLEAR);
|
||||||
|
|
||||||
|
// entry mode set 0x06 - send 8 bits in 4 bit mode
|
||||||
|
HD44780_SendInstruction(HD44780_ENTRY_MODE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -316,69 +330,83 @@ void HD44780_Init (void)
|
|||||||
*/
|
*/
|
||||||
void HD44780_CheckBFin4bitMode (void)
|
void HD44780_CheckBFin4bitMode (void)
|
||||||
{
|
{
|
||||||
unsigned char input = 0;
|
unsigned char input = 0;
|
||||||
|
|
||||||
// clear DB7-DB4 as input
|
Sleep(5);
|
||||||
HD44780_ClearDDR_DATA4to7();
|
return;
|
||||||
// set pull-up resistors for DB7-DB4
|
|
||||||
HD44780_SetPORT_DATA4to7();
|
|
||||||
|
|
||||||
// clear RS
|
// clear DB7-DB4 as input
|
||||||
CLRBIT(HD44780_PORT_RS, HD44780_RS);
|
HD44780_ClearDDR_DATA4to7();
|
||||||
// set RW - read instruction
|
// set pull-up resistors for DB7-DB4
|
||||||
SETBIT(HD44780_PORT_RW, HD44780_RW);
|
// HD44780_SetPORT_DATA4to7();
|
||||||
|
|
||||||
// test HIGH level on PIN DB7
|
// clear RS
|
||||||
// after clear PIN DB7 should continue
|
// CLRBIT(HD44780_PORT_RS, HD44780_RS);
|
||||||
// -------------------------------------
|
LCD_RS_PIN = 0;
|
||||||
// us: 0.5|0.5|0.5
|
// set RW - read instruction
|
||||||
// ___ ___
|
// SETBIT(HD44780_PORT_RW, HD44780_RW);
|
||||||
// E: ___/ \___/ \__
|
LCD_RW_PIN = 1;
|
||||||
// ___ ___
|
|
||||||
// DB7: \___/ \___/ \__
|
|
||||||
//
|
|
||||||
while (1) {
|
|
||||||
|
|
||||||
// Read upper nibble
|
// test HIGH level on PIN DB7
|
||||||
// --------------------------------
|
// after clear PIN DB7 should continue
|
||||||
// Set E
|
// -------------------------------------
|
||||||
SETBIT(HD44780_PORT_E, HD44780_E);
|
// us: 0.5|0.5|0.5
|
||||||
// PWeh > 0.5us
|
// ___ ___
|
||||||
_delay_us(0.5);
|
// E: ___/ \___/ \__
|
||||||
// read upper nibble (tDDR > 360ns)
|
// ___ ___
|
||||||
input = HD44780_PIN_DATA;
|
// DB7: \___/ \___/ \__
|
||||||
// Clear E
|
//
|
||||||
CLRBIT(HD44780_PORT_E, HD44780_E);
|
while (1) {
|
||||||
// TcycE > 1000ns -> delay depends on PWeh delay time
|
|
||||||
// delay = TcycE - PWeh = 1000 - 500 = 500ns
|
|
||||||
_delay_us(0.5);
|
|
||||||
|
|
||||||
// Read lower nibble
|
// Read upper nibble
|
||||||
// --------------------------------
|
// --------------------------------
|
||||||
// Set E
|
// Set E
|
||||||
SETBIT(HD44780_PORT_E, HD44780_E);
|
// SETBIT(HD44780_PORT_E, HD44780_E);
|
||||||
// PWeh > 0.5us
|
LCD_E_PIN = 1;
|
||||||
_delay_us(0.5);
|
// PWeh > 0.5us
|
||||||
// read lower nibble (tDDR > 360ns)
|
_delay_us(0.5);
|
||||||
input |= HD44780_PIN_DATA >> 4;
|
// read upper nibble (tDDR > 360ns)
|
||||||
// Clear E
|
input = HD44780_PIN_DATA;
|
||||||
CLRBIT(HD44780_PORT_E, HD44780_E);
|
// Clear E
|
||||||
// TcycE > 1000ns -> delay depends on PWeh delay time
|
// CLRBIT(HD44780_PORT_E, HD44780_E);
|
||||||
// delay = TcycE - PWeh = 1000 - 500 = 500ns
|
LCD_E_PIN = 0;
|
||||||
_delay_us(0.5);
|
// TcycE > 1000ns -> delay depends on PWeh delay time
|
||||||
|
// delay = TcycE - PWeh = 1000 - 500 = 500ns
|
||||||
|
_delay_us(0.5);
|
||||||
|
|
||||||
// check if DB7 is cleared
|
// Read lower nibble
|
||||||
if (!(input & (1 << HD44780_DATA7))) {
|
// --------------------------------
|
||||||
// if BF cleared -> end loop
|
// Set E
|
||||||
break;
|
// SETBIT(HD44780_PORT_E, HD44780_E);
|
||||||
}
|
LCD_E_PIN = 1;
|
||||||
}
|
// PWeh > 0.5us
|
||||||
|
_delay_us(0.5);
|
||||||
|
// read lower nibble (tDDR > 360ns)
|
||||||
|
//input |= (unsigned char)(HD44780_PIN_DATA >> 4);
|
||||||
|
char IsBusy = (HD44780_DATA7 == 1);
|
||||||
|
|
||||||
// clear RW
|
// Clear E
|
||||||
CLRBIT(HD44780_PORT_RW, HD44780_RW);
|
// 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);
|
||||||
|
|
||||||
// set DB7-DB4 as output
|
// // check if DB7 is cleared
|
||||||
HD44780_SetDDR_DATA4to7();
|
// if (!(input & (1 << HD44780_DATA7)))
|
||||||
|
if (IsBusy == 0)
|
||||||
|
{
|
||||||
|
// if BF cleared -> end loop
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// clear RW
|
||||||
|
// CLRBIT(HD44780_PORT_RW, HD44780_RW);
|
||||||
|
LCD_RW_PIN = 0;
|
||||||
|
|
||||||
|
// set DB7-DB4 as output
|
||||||
|
HD44780_SetDDR_DATA4to7();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -400,24 +428,25 @@ void HD44780_CheckBFin8bitMode (void)
|
|||||||
*/
|
*/
|
||||||
void HD44780_SendInstruction (unsigned short int data)
|
void HD44780_SendInstruction (unsigned short int data)
|
||||||
{
|
{
|
||||||
// Clear RS
|
// Clear RS
|
||||||
HD44780_PORT_RS &= ~(1 << HD44780_RS);
|
// HD44780_PORT_RS &= ~(1 << HD44780_RS);
|
||||||
|
LCD_RS_PIN = 0;
|
||||||
|
|
||||||
// 4bit mode
|
// 4bit mode
|
||||||
// ------------------------------------------
|
// ------------------------------------------
|
||||||
if (HD44780_MODE == HD44780_4BIT_MODE) {
|
if (HD44780_MODE == HD44780_4BIT_MODE) {
|
||||||
// send required data in required mode
|
// send required data in required mode
|
||||||
HD44780_Send8bitsIn4bitMode(data);
|
HD44780_Send8bitsIn4bitMode(data);
|
||||||
// check busy flag
|
// check busy flag
|
||||||
HD44780_CheckBFin4bitMode();
|
HD44780_CheckBFin4bitMode();
|
||||||
// 8 bit mode
|
// 8 bit mode
|
||||||
// ------------------------------------------
|
// ------------------------------------------
|
||||||
} else if (HD44780_MODE == HD44780_8BIT_MODE) {
|
} else if (HD44780_MODE == HD44780_8BIT_MODE) {
|
||||||
// send required data in required mode
|
// send required data in required mode
|
||||||
HD44780_Send8bitsIn8bitMode(data);
|
HD44780_Send8bitsIn8bitMode(data);
|
||||||
// check busy flag
|
// check busy flag
|
||||||
HD44780_CheckBFin8bitMode();
|
HD44780_CheckBFin8bitMode();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -429,27 +458,29 @@ void HD44780_SendInstruction (unsigned short int data)
|
|||||||
*/
|
*/
|
||||||
void HD44780_SendData (unsigned short int data)
|
void HD44780_SendData (unsigned short int data)
|
||||||
{
|
{
|
||||||
// Set RS
|
// Set RS
|
||||||
SETBIT(HD44780_PORT_RS, HD44780_RS);
|
// SETBIT(HD44780_PORT_RS, HD44780_RS);
|
||||||
|
LCD_RS_PIN = 1;
|
||||||
|
|
||||||
// 4bit mode
|
// 4bit mode
|
||||||
// ------------------------------------------
|
// ------------------------------------------
|
||||||
if (HD44780_MODE == HD44780_4BIT_MODE) {
|
if (HD44780_MODE == HD44780_4BIT_MODE) {
|
||||||
// send required data in required mode
|
// send required data in required mode
|
||||||
HD44780_Send8bitsIn4bitMode(data);
|
HD44780_Send8bitsIn4bitMode(data);
|
||||||
// check busy flag
|
// check busy flag
|
||||||
HD44780_CheckBFin4bitMode();
|
HD44780_CheckBFin4bitMode();
|
||||||
// 8 bit mode
|
// 8 bit mode
|
||||||
// ------------------------------------------
|
// ------------------------------------------
|
||||||
} else if (HD44780_MODE == HD44780_8BIT_MODE) {
|
} else if (HD44780_MODE == HD44780_8BIT_MODE) {
|
||||||
// send required data in required mode
|
// send required data in required mode
|
||||||
HD44780_Send8bitsIn8bitMode(data);
|
HD44780_Send8bitsIn8bitMode(data);
|
||||||
// check busy flag
|
// check busy flag
|
||||||
HD44780_CheckBFin8bitMode();
|
HD44780_CheckBFin8bitMode();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Clear RS
|
// Clear RS
|
||||||
CLRBIT(HD44780_PORT_RS, HD44780_RS);
|
// CLRBIT(HD44780_PORT_RS, HD44780_RS);
|
||||||
|
LCD_RS_PIN = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -461,17 +492,19 @@ void HD44780_SendData (unsigned short int data)
|
|||||||
*/
|
*/
|
||||||
void HD44780_Send4bitsIn4bitMode (unsigned short int data)
|
void HD44780_Send4bitsIn4bitMode (unsigned short int data)
|
||||||
{
|
{
|
||||||
// Set E
|
// Set E
|
||||||
SETBIT(HD44780_PORT_E, HD44780_E);
|
// SETBIT(HD44780_PORT_E, HD44780_E);
|
||||||
// send data to LCD
|
LCD_E_PIN = 1;
|
||||||
HD44780_SetUppNibble(data);
|
// send data to LCD
|
||||||
// PWeh delay time > 450ns
|
HD44780_SetUppNibble(data);
|
||||||
_delay_us(0.5);
|
// PWeh delay time > 450ns
|
||||||
// Clear E
|
_delay_us(0.5);
|
||||||
CLRBIT(HD44780_PORT_E, HD44780_E);
|
// Clear E
|
||||||
// TcycE > 1000ns -> delay depends on PWeh delay time
|
// CLRBIT(HD44780_PORT_E, HD44780_E);
|
||||||
// delay = TcycE - PWeh = 1000 - 500 = 500ns
|
LCD_E_PIN = 0;
|
||||||
_delay_us(0.5);
|
// TcycE > 1000ns -> delay depends on PWeh delay time
|
||||||
|
// delay = TcycE - PWeh = 1000 - 500 = 500ns
|
||||||
|
_delay_us(0.5);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -483,33 +516,37 @@ void HD44780_Send4bitsIn4bitMode (unsigned short int data)
|
|||||||
*/
|
*/
|
||||||
void HD44780_Send8bitsIn4bitMode (unsigned short int data)
|
void HD44780_Send8bitsIn4bitMode (unsigned short int data)
|
||||||
{
|
{
|
||||||
// Send upper nibble
|
// Send upper nibble
|
||||||
// ----------------------------------
|
// ----------------------------------
|
||||||
// Set E
|
// Set E
|
||||||
SETBIT(HD44780_PORT_E, HD44780_E);
|
// SETBIT(HD44780_PORT_E, HD44780_E);
|
||||||
// send data to LCD
|
LCD_E_PIN = 1;
|
||||||
HD44780_SetUppNibble(data);
|
// send data to LCD
|
||||||
// PWeh delay time > 450ns
|
HD44780_SetUppNibble(data);
|
||||||
_delay_us(0.5);
|
// PWeh delay time > 450ns
|
||||||
// Clear E
|
_delay_us(0.5);
|
||||||
CLRBIT(HD44780_PORT_E, HD44780_E);
|
// Clear E
|
||||||
// TcycE > 1000ns -> delay depends on PWeh delay time
|
// CLRBIT(HD44780_PORT_E, HD44780_E);
|
||||||
// delay = TcycE - PWeh = 1000 - 500 = 500ns
|
LCD_E_PIN = 0;
|
||||||
_delay_us(0.5);
|
// TcycE > 1000ns -> delay depends on PWeh delay time
|
||||||
|
// delay = TcycE - PWeh = 1000 - 500 = 500ns
|
||||||
|
_delay_us(0.5);
|
||||||
|
|
||||||
// Send lower nibble
|
// Send lower nibble
|
||||||
// ----------------------------------
|
// ----------------------------------
|
||||||
// Set E
|
// Set E
|
||||||
SETBIT(HD44780_PORT_E, HD44780_E);
|
// SETBIT(HD44780_PORT_E, HD44780_E);
|
||||||
// send data to LCD
|
LCD_E_PIN = 1;
|
||||||
HD44780_SetUppNibble(data << 4);
|
// send data to LCD
|
||||||
// PWeh delay time > 450ns
|
HD44780_SetUppNibble(data << 4);
|
||||||
_delay_us(0.5);
|
// PWeh delay time > 450ns
|
||||||
// Clear E
|
_delay_us(0.5);
|
||||||
CLRBIT(HD44780_PORT_E, HD44780_E);
|
// Clear E
|
||||||
// TcycE > 1000ns -> delay depends on PWeh delay time
|
// CLRBIT(HD44780_PORT_E, HD44780_E);
|
||||||
// delay = TcycE - PWeh = 1000 - 500 = 500ns
|
LCD_E_PIN = 0;
|
||||||
_delay_us(0.5);
|
// TcycE > 1000ns -> delay depends on PWeh delay time
|
||||||
|
// delay = TcycE - PWeh = 1000 - 500 = 500ns
|
||||||
|
_delay_us(0.5);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -521,19 +558,19 @@ void HD44780_Send8bitsIn4bitMode (unsigned short int data)
|
|||||||
*/
|
*/
|
||||||
void HD44780_Send8bitsIn8bitMode (unsigned short int data)
|
void HD44780_Send8bitsIn8bitMode (unsigned short int data)
|
||||||
{
|
{
|
||||||
// Set E
|
// Set E
|
||||||
SETBIT(HD44780_PORT_E, HD44780_E);
|
SETBIT(HD44780_PORT_E, HD44780_E);
|
||||||
// send data to LCD
|
// send data to LCD
|
||||||
HD44780_SetUppNibble(data);
|
HD44780_SetUppNibble(data);
|
||||||
// send data to LCD
|
// send data to LCD
|
||||||
HD44780_SetLowNibble(data);
|
HD44780_SetLowNibble(data);
|
||||||
// PWeh delay time > 450ns
|
// PWeh delay time > 450ns
|
||||||
_delay_us(0.5);
|
_delay_us(0.5);
|
||||||
// Clear E
|
// Clear E
|
||||||
CLRBIT(HD44780_PORT_E, HD44780_E);
|
CLRBIT(HD44780_PORT_E, HD44780_E);
|
||||||
// TcycE > 1000ns -> delay depends on PWeh delay time
|
// TcycE > 1000ns -> delay depends on PWeh delay time
|
||||||
// delay = TcycE - PWeh = 1000 - 500 = 500ns
|
// delay = TcycE - PWeh = 1000 - 500 = 500ns
|
||||||
_delay_us(0.5);
|
_delay_us(0.5);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -545,16 +582,57 @@ void HD44780_Send8bitsIn8bitMode (unsigned short int data)
|
|||||||
*/
|
*/
|
||||||
void HD44780_SetUppNibble (unsigned short int data)
|
void HD44780_SetUppNibble (unsigned short int data)
|
||||||
{
|
{
|
||||||
// clear bits DB7-DB4
|
|
||||||
CLRBIT(HD44780_PORT_DATA, HD44780_DATA7);
|
// LCD_DB4_PIN = 0;
|
||||||
CLRBIT(HD44780_PORT_DATA, HD44780_DATA6);
|
// LCD_DB5_PIN = 0;
|
||||||
CLRBIT(HD44780_PORT_DATA, HD44780_DATA5);
|
// LCD_DB6_PIN = 0;
|
||||||
CLRBIT(HD44780_PORT_DATA, HD44780_DATA4);
|
// LCD_DB7_PIN = 0;
|
||||||
// set DB7-DB4 if corresponding bit is set
|
unsigned short test = data;
|
||||||
if (data & 0x80) { SETBIT(HD44780_PORT_DATA, HD44780_DATA7); }
|
|
||||||
if (data & 0x40) { SETBIT(HD44780_PORT_DATA, HD44780_DATA6); }
|
if (data & 0x80)
|
||||||
if (data & 0x20) { SETBIT(HD44780_PORT_DATA, HD44780_DATA5); }
|
{
|
||||||
if (data & 0x10) { SETBIT(HD44780_PORT_DATA, HD44780_DATA4); }
|
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); }
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -566,16 +644,16 @@ void HD44780_SetUppNibble (unsigned short int data)
|
|||||||
*/
|
*/
|
||||||
void HD44780_SetLowNibble (unsigned short int data)
|
void HD44780_SetLowNibble (unsigned short int data)
|
||||||
{
|
{
|
||||||
// clear bits DB7-DB4
|
// clear bits DB7-DB4
|
||||||
CLRBIT(HD44780_PORT_DATA, HD44780_DATA3);
|
CLRBIT(HD44780_PORT_DATA, HD44780_DATA3);
|
||||||
CLRBIT(HD44780_PORT_DATA, HD44780_DATA2);
|
CLRBIT(HD44780_PORT_DATA, HD44780_DATA2);
|
||||||
CLRBIT(HD44780_PORT_DATA, HD44780_DATA1);
|
CLRBIT(HD44780_PORT_DATA, HD44780_DATA1);
|
||||||
CLRBIT(HD44780_PORT_DATA, HD44780_DATA0);
|
CLRBIT(HD44780_PORT_DATA, HD44780_DATA0);
|
||||||
// set DB7-DB4 if corresponding bit is set
|
// set DB7-DB4 if corresponding bit is set
|
||||||
if (data & 0x08) { SETBIT(HD44780_PORT_DATA, HD44780_DATA3); }
|
if (data & 0x08) { SETBIT(HD44780_PORT_DATA, HD44780_DATA3); }
|
||||||
if (data & 0x04) { SETBIT(HD44780_PORT_DATA, HD44780_DATA2); }
|
if (data & 0x04) { SETBIT(HD44780_PORT_DATA, HD44780_DATA2); }
|
||||||
if (data & 0x02) { SETBIT(HD44780_PORT_DATA, HD44780_DATA1); }
|
if (data & 0x02) { SETBIT(HD44780_PORT_DATA, HD44780_DATA1); }
|
||||||
if (data & 0x01) { SETBIT(HD44780_PORT_DATA, HD44780_DATA0); }
|
if (data & 0x01) { SETBIT(HD44780_PORT_DATA, HD44780_DATA0); }
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -587,15 +665,17 @@ void HD44780_SetLowNibble (unsigned short int data)
|
|||||||
*/
|
*/
|
||||||
void HD44780_PulseE (void)
|
void HD44780_PulseE (void)
|
||||||
{
|
{
|
||||||
// Set E
|
// Set E
|
||||||
SETBIT(HD44780_PORT_E, HD44780_E);
|
// SETBIT(HD44780_PORT_E, HD44780_E);
|
||||||
// PWeh delay time > 450ns
|
LCD_E_PIN = 1;
|
||||||
_delay_us(0.5);
|
// PWeh delay time > 450ns
|
||||||
// Clear E
|
_delay_us(0.5);
|
||||||
CLRBIT(HD44780_PORT_E, HD44780_E);
|
// Clear E
|
||||||
// TcycE > 1000ns -> delay depends on PWeh delay time
|
// CLRBIT(HD44780_PORT_E, HD44780_E);
|
||||||
// delay = TcycE - PWeh = 1000 - 500 = 500ns
|
LCD_E_PIN = 0;
|
||||||
_delay_us(0.5);
|
// TcycE > 1000ns -> delay depends on PWeh delay time
|
||||||
|
// delay = TcycE - PWeh = 1000 - 500 = 500ns
|
||||||
|
_delay_us(0.5);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -607,11 +687,16 @@ void HD44780_PulseE (void)
|
|||||||
*/
|
*/
|
||||||
void HD44780_SetPORT_DATA4to7 (void)
|
void HD44780_SetPORT_DATA4to7 (void)
|
||||||
{
|
{
|
||||||
// set DB4-DB7
|
// set DB4-DB7
|
||||||
SETBIT(HD44780_PORT_DATA, HD44780_DATA4);
|
LCD_DB4_PIN = 1;
|
||||||
SETBIT(HD44780_PORT_DATA, HD44780_DATA5);
|
LCD_DB5_PIN = 1;
|
||||||
SETBIT(HD44780_PORT_DATA, HD44780_DATA6);
|
LCD_DB6_PIN = 1;
|
||||||
SETBIT(HD44780_PORT_DATA, HD44780_DATA7);
|
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
|
* @return void
|
||||||
*/
|
*/
|
||||||
void HD44780_ClearDDR_DATA4to7 (void)
|
void HD44780_SetDDR_DATA4to7 (void)
|
||||||
{
|
{
|
||||||
// set DB4-DB7
|
// set DB4-DB7
|
||||||
CLRBIT(HD44780_DDR_DATA, HD44780_DATA4);
|
LCD_DB4_PIN_DIR = PIN_OUTPUT;
|
||||||
CLRBIT(HD44780_DDR_DATA, HD44780_DATA5);
|
LCD_DB5_PIN_DIR = PIN_OUTPUT;
|
||||||
CLRBIT(HD44780_DDR_DATA, HD44780_DATA6);
|
LCD_DB6_PIN_DIR = PIN_OUTPUT;
|
||||||
CLRBIT(HD44780_DDR_DATA, HD44780_DATA7);
|
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
|
* @return void
|
||||||
*/
|
*/
|
||||||
void HD44780_SetDDR_DATA4to7 (void)
|
void HD44780_ClearDDR_DATA4to7 (void)
|
||||||
{
|
{
|
||||||
// set DB7-DB4 as output
|
LCD_DB4_PIN_DIR = PIN_INPUT;
|
||||||
SETBIT(HD44780_DDR_DATA, HD44780_DATA4);
|
LCD_DB5_PIN_DIR = PIN_INPUT;
|
||||||
SETBIT(HD44780_DDR_DATA, HD44780_DATA5);
|
LCD_DB6_PIN_DIR = PIN_INPUT;
|
||||||
SETBIT(HD44780_DDR_DATA, HD44780_DATA6);
|
LCD_DB7_PIN_DIR = PIN_INPUT;
|
||||||
SETBIT(HD44780_DDR_DATA, HD44780_DATA7);
|
// SETBIT(HD44780_DDR_DATA, HD44780_DATA4);
|
||||||
|
// SETBIT(HD44780_DDR_DATA, HD44780_DATA5);
|
||||||
|
// SETBIT(HD44780_DDR_DATA, HD44780_DATA6);
|
||||||
|
// SETBIT(HD44780_DDR_DATA, HD44780_DATA7);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -36,82 +36,85 @@
|
|||||||
#define _FCPU 16000000
|
#define _FCPU 16000000
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(__AVR_ATmega16__)
|
//#if defined(__AVR_ATmega16__)
|
||||||
|
|
||||||
// E port
|
// E port
|
||||||
// --------------------------------------
|
// --------------------------------------
|
||||||
#ifndef HD44780_DDR_E
|
#ifndef HD44780_DDR_E
|
||||||
#define HD44780_DDR_E DDRD
|
#define HD44780_DDR_E TRISB
|
||||||
#endif
|
#endif
|
||||||
#ifndef HD44780_PORT_E
|
#ifndef HD44780_PORT_E
|
||||||
#define HD44780_PORT_E PORTD
|
#define HD44780_PORT_E PORTB
|
||||||
#endif
|
#endif
|
||||||
#ifndef HD44780_E
|
#ifndef HD44780_E
|
||||||
#define HD44780_E 3
|
#define HD44780_E 12
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// RW port
|
// RW port
|
||||||
// --------------------------------------
|
// --------------------------------------
|
||||||
#ifndef HD44780_DDR_RW
|
#ifndef HD44780_DDR_RW
|
||||||
#define HD44780_DDR_RW DDRD
|
#define HD44780_DDR_RW TRISB
|
||||||
#endif
|
#endif
|
||||||
#ifndef HD44780_PORT_RW
|
#ifndef HD44780_PORT_RW
|
||||||
#define HD44780_PORT_RW PORTD
|
#define HD44780_PORT_RW PORTB
|
||||||
#endif
|
#endif
|
||||||
#ifndef HD44780_RW
|
#ifndef HD44780_RW
|
||||||
#define HD44780_RW 2
|
#define HD44780_RW 13
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// RS port
|
// RS port
|
||||||
// --------------------------------------
|
// --------------------------------------
|
||||||
#ifndef HD44780_DDR_RS
|
#ifndef HD44780_DDR_RS
|
||||||
#define HD44780_DDR_RS DDRD
|
#define HD44780_DDR_RS TRISD
|
||||||
#endif
|
#endif
|
||||||
#ifndef HD44780_PORT_RS
|
#ifndef HD44780_PORT_RS
|
||||||
#define HD44780_PORT_RS PORTD
|
#define HD44780_PORT_RS PORTD
|
||||||
#endif
|
#endif
|
||||||
#ifndef HD44780_RS
|
#ifndef HD44780_RS
|
||||||
#define HD44780_RS 1
|
#define HD44780_RS 5
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// DATA port / pin
|
// DATA port / pin
|
||||||
// --------------------------------------
|
// --------------------------------------
|
||||||
#ifndef HD44780_DDR_DATA
|
#ifndef HD44780_DDR_DATA
|
||||||
#define HD44780_DDR_DATA DDRD
|
#define HD44780_DDR_DATA TRISB
|
||||||
#endif
|
#endif
|
||||||
#ifndef HD44780_PORT_DATA
|
#ifndef HD44780_PORT_DATA
|
||||||
#define HD44780_PORT_DATA PORTD
|
#define HD44780_PORT_DATA PORTB
|
||||||
#endif
|
#endif
|
||||||
#ifndef HD44780_PIN_DATA
|
#ifndef HD44780_PIN_DATA
|
||||||
#define HD44780_PIN_DATA PIND
|
#define HD44780_PIN_DATA PORTB
|
||||||
#endif
|
#endif
|
||||||
// pins
|
// pins
|
||||||
#ifndef HD44780_DATA7
|
#ifndef HD44780_DATA7
|
||||||
#define HD44780_DATA7 7 // LCD PORT DB7
|
#define HD44780_DATA7 PORTBbits.RB11 // LCD PORT DB7
|
||||||
#endif
|
#endif
|
||||||
#ifndef HD44780_DATA6
|
#ifndef HD44780_DATA6
|
||||||
#define HD44780_DATA6 6 // LCD PORT DB6
|
#define HD44780_DATA6 10 // LCD PORT DB6
|
||||||
#endif
|
#endif
|
||||||
#ifndef HD44780_DATA5
|
#ifndef HD44780_DATA5
|
||||||
#define HD44780_DATA5 5 // LCD PORT DB5
|
#define HD44780_DATA5 9 // LCD PORT DB5
|
||||||
#endif
|
#endif
|
||||||
#ifndef HD44780_DATA4
|
#ifndef HD44780_DATA4
|
||||||
#define HD44780_DATA4 4 // LCD PORT DB4
|
#define HD44780_DATA4 3 // LCD PORT DB4
|
||||||
#endif
|
#endif
|
||||||
#ifndef HD44780_DATA3
|
#ifndef HD44780_DATA3
|
||||||
#define HD44780_DATA3 3 // LCD PORT DB3
|
#define HD44780_DATA3 0 // LCD PORT DB3
|
||||||
#endif
|
#endif
|
||||||
#ifndef HD44780_DATA2
|
#ifndef HD44780_DATA2
|
||||||
#define HD44780_DATA2 2 // LCD PORT DB2
|
#define HD44780_DATA2 0 // LCD PORT DB2
|
||||||
#endif
|
#endif
|
||||||
#ifndef HD44780_DATA1
|
#ifndef HD44780_DATA1
|
||||||
#define HD44780_DATA1 1 // LCD PORT DB1
|
#define HD44780_DATA1 0 // LCD PORT DB1
|
||||||
#endif
|
#endif
|
||||||
#ifndef HD44780_DATA0
|
#ifndef HD44780_DATA0
|
||||||
#define HD44780_DATA0 0 // LCD PORT DB0
|
#define HD44780_DATA0 0 // LCD PORT DB0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
// #endif
|
||||||
|
|
||||||
|
#define _delay_ms(x) Sleep(x)
|
||||||
|
#define _delay_us(x) Sleep(1)
|
||||||
|
|
||||||
#define BIT7 0x80
|
#define BIT7 0x80
|
||||||
#define BIT6 0x40
|
#define BIT6 0x40
|
||||||
|
|||||||
@ -41,9 +41,12 @@
|
|||||||
#include "SPI_Flash.h"
|
#include "SPI_Flash.h"
|
||||||
#include "TemperatureSensor.h"
|
#include "TemperatureSensor.h"
|
||||||
#include "LoraWatchdog.h"
|
#include "LoraWatchdog.h"
|
||||||
|
#include "LCDCtrl.h"
|
||||||
|
|
||||||
#include "BootloaderInterface.h"
|
#include "BootloaderInterface.h"
|
||||||
|
|
||||||
|
#include "hd44780.h"
|
||||||
|
|
||||||
|
|
||||||
//#define NO_WIFI
|
//#define NO_WIFI
|
||||||
#ifndef NO_WIFI
|
#ifndef NO_WIFI
|
||||||
@ -102,6 +105,10 @@ int main(void)
|
|||||||
InitLoraWatchdog();
|
InitLoraWatchdog();
|
||||||
|
|
||||||
InitSPIFlash();
|
InitSPIFlash();
|
||||||
|
InitLCDCtrl();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef USE_SYSLOG
|
#ifdef USE_SYSLOG
|
||||||
InitSyslog();
|
InitSyslog();
|
||||||
@ -182,6 +189,8 @@ int main(void)
|
|||||||
KickWatchdog();
|
KickWatchdog();
|
||||||
mRetCode = 1;
|
mRetCode = 1;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
while(mRetCode == 1)
|
while(mRetCode == 1)
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -198,11 +207,20 @@ int main(void)
|
|||||||
TickTempSensor();
|
TickTempSensor();
|
||||||
BootloaderInterfaceTick();
|
BootloaderInterfaceTick();
|
||||||
TickLoraWatchdog();
|
TickLoraWatchdog();
|
||||||
|
TickLCDCtrl();
|
||||||
|
|
||||||
if(IsTimerExpired(HEARTBEAT_LED_TMR))
|
if(IsTimerExpired(HEARTBEAT_LED_TMR))
|
||||||
{
|
{
|
||||||
HEARTBEAT_LED_2_PIN = ~HEARTBEAT_LED_2_PIN;
|
HEARTBEAT_LED_2_PIN = ~HEARTBEAT_LED_2_PIN;
|
||||||
TimerStart(HEARTBEAT_LED_TMR,HEARTBEAT_LED_TIMEOUT);
|
TimerStart(HEARTBEAT_LED_TMR,HEARTBEAT_LED_TIMEOUT);
|
||||||
|
|
||||||
|
// HD44780_DisplayClear();
|
||||||
|
// HD44780_PositionXY(0, 0);
|
||||||
|
// // send char
|
||||||
|
// HD44780_DrawString("DISPLAY ON");
|
||||||
|
// // display clear
|
||||||
|
// HD44780_DisplayOn();
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -50,6 +50,7 @@ typedef enum
|
|||||||
TEMP_SENSOR_REFRESH_TIMER,
|
TEMP_SENSOR_REFRESH_TIMER,
|
||||||
BOOTLOADER_FLASH_POLL_TIMER,
|
BOOTLOADER_FLASH_POLL_TIMER,
|
||||||
LORA_WATCHDOG_TIMER,
|
LORA_WATCHDOG_TIMER,
|
||||||
|
LCD_CTRL_TIMER,
|
||||||
TIMER_MAX_ID
|
TIMER_MAX_ID
|
||||||
}eTimerID;
|
}eTimerID;
|
||||||
|
|
||||||
|
|||||||
@ -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.
|
//Force DHCP instead of static IP.
|
||||||
|
|
||||||
//#define VERSIONNUMBER "CHALET_V01.00.1" //shall be 15 chars...
|
//#define VERSIONNUMBER "CHALET_V01.00.1" //shall be 15 chars...
|
||||||
|
|||||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -57,17 +57,17 @@ OBJECTDIR=build/${CND_CONF}/${IMAGE_TYPE}
|
|||||||
DISTDIR=dist/${CND_CONF}/${IMAGE_TYPE}
|
DISTDIR=dist/${CND_CONF}/${IMAGE_TYPE}
|
||||||
|
|
||||||
# Source Files Quoted if spaced
|
# Source Files Quoted if spaced
|
||||||
SOURCEFILES_QUOTED_IF_SPACED=Source/ChaletduinoV2Board.c Source/winc3400_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
|
# 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
|
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/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
|
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
|
# 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
|
# 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)
|
${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}../
|
@${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
|
${OBJECTDIR}/Source/ChaletPowerRelay.o: Source/ChaletPowerRelay.c nbproject/Makefile-${CND_CONF}.mk
|
||||||
@${MKDIR} "${OBJECTDIR}/Source"
|
@${MKDIR} "${OBJECTDIR}/Source"
|
||||||
@${RM} ${OBJECTDIR}/Source/ChaletPowerRelay.o.d
|
@${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)
|
${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}../
|
@${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
|
else
|
||||||
${OBJECTDIR}/Source/ChaletduinoV2Board.o: Source/ChaletduinoV2Board.c nbproject/Makefile-${CND_CONF}.mk
|
${OBJECTDIR}/Source/ChaletduinoV2Board.o: Source/ChaletduinoV2Board.c nbproject/Makefile-${CND_CONF}.mk
|
||||||
@${MKDIR} "${OBJECTDIR}/Source"
|
@${MKDIR} "${OBJECTDIR}/Source"
|
||||||
@ -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)
|
${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}../
|
@${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
|
${OBJECTDIR}/Source/ChaletPowerRelay.o: Source/ChaletPowerRelay.c nbproject/Makefile-${CND_CONF}.mk
|
||||||
@${MKDIR} "${OBJECTDIR}/Source"
|
@${MKDIR} "${OBJECTDIR}/Source"
|
||||||
@${RM} ${OBJECTDIR}/Source/ChaletPowerRelay.o.d
|
@${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)
|
${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}../
|
@${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
|
endif
|
||||||
|
|
||||||
# ------------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------------
|
||||||
|
|||||||
@ -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
|
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=bbb83c38cec5eb460692a21d7e609f51
|
configurations-xml=0c2531fe6384a27ba14d2623d2a8c07a
|
||||||
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
|
||||||
|
|||||||
@ -94,6 +94,8 @@
|
|||||||
<itemPath>Source/FlashMapping.h</itemPath>
|
<itemPath>Source/FlashMapping.h</itemPath>
|
||||||
<itemPath>Source/checksum.h</itemPath>
|
<itemPath>Source/checksum.h</itemPath>
|
||||||
<itemPath>Source/LoraWatchdog.h</itemPath>
|
<itemPath>Source/LoraWatchdog.h</itemPath>
|
||||||
|
<itemPath>Source/hd44780.h</itemPath>
|
||||||
|
<itemPath>Source/LCDCtrl.h</itemPath>
|
||||||
</logicalFolder>
|
</logicalFolder>
|
||||||
<logicalFolder name="LinkerScript"
|
<logicalFolder name="LinkerScript"
|
||||||
displayName="Linker Files"
|
displayName="Linker Files"
|
||||||
@ -172,7 +174,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>
|
||||||
@ -187,6 +188,9 @@
|
|||||||
<itemPath>Source/BootloaderProtocol.c</itemPath>
|
<itemPath>Source/BootloaderProtocol.c</itemPath>
|
||||||
<itemPath>Source/crc32.c</itemPath>
|
<itemPath>Source/crc32.c</itemPath>
|
||||||
<itemPath>Source/LoraWatchdog.c</itemPath>
|
<itemPath>Source/LoraWatchdog.c</itemPath>
|
||||||
|
<itemPath>Source/hd44780.c</itemPath>
|
||||||
|
<itemPath>Source/LCDCtrl.c</itemPath>
|
||||||
|
<itemPath>Source/LoraNetworkInterface.c</itemPath>
|
||||||
</logicalFolder>
|
</logicalFolder>
|
||||||
<logicalFolder name="ExternalFiles"
|
<logicalFolder name="ExternalFiles"
|
||||||
displayName="Important Files"
|
displayName="Important Files"
|
||||||
@ -1328,6 +1332,38 @@
|
|||||||
<C32Global>
|
<C32Global>
|
||||||
</C32Global>
|
</C32Global>
|
||||||
</item>
|
</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">
|
<item path="Source/winc1500_config.h" ex="true" overriding="false">
|
||||||
<C32>
|
<C32>
|
||||||
</C32>
|
</C32>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project-private xmlns="http://www.netbeans.org/ns/project-private/1">
|
<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>
|
<file>
|
||||||
<url>Source/BootloaderInterface.c</url>
|
<url>Source/BootloaderInterface.c</url>
|
||||||
<bookmark id="5">
|
<bookmark id="5">
|
||||||
@ -14,6 +14,14 @@
|
|||||||
<key/>
|
<key/>
|
||||||
</bookmark>
|
</bookmark>
|
||||||
</file>
|
</file>
|
||||||
|
<file>
|
||||||
|
<url>Source/hd44780.c</url>
|
||||||
|
<bookmark id="7">
|
||||||
|
<name/>
|
||||||
|
<line>340</line>
|
||||||
|
<key/>
|
||||||
|
</bookmark>
|
||||||
|
</file>
|
||||||
</editor-bookmarks>
|
</editor-bookmarks>
|
||||||
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
|
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
|
||||||
<group/>
|
<group/>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user