From f1d0ed7d4aa08cb627106f2c65edda5cc92d7c22 Mon Sep 17 00:00:00 2001 From: jfmartel Date: Sun, 11 Dec 2022 13:49:23 -0500 Subject: [PATCH] Dev --- ChaletLora.X/Source/BatteryMonitor.c | 37 +- ChaletLora.X/Source/BatteryMonitor.h | 3 +- ChaletLora.X/Source/BoardCfg_ChaletduinoV2.h | 36 +- ChaletLora.X/Source/ChaletduinoV2Board.c | 15 +- ChaletLora.X/Source/FlashMapping.h | 6 + ChaletLora.X/Source/LCDCtrl.c | 108 + ChaletLora.X/Source/LCDCtrl.h | 21 + ChaletLora.X/Source/LoraNetworkInterface.c | 64 +- ChaletLora.X/Source/LoraNetworkInterface.h | 2 +- ChaletLora.X/Source/NetworkProtocol.c | 2 +- ChaletLora.X/Source/ProtocolDefs.h | 9 +- ChaletLora.X/Source/Terminal.c | 6 +- ChaletLora.X/Source/WiFiCtrl.c | 569 +- ChaletLora.X/Source/WiFiCtrl.h | 8 + ChaletLora.X/Source/define.h | 6 +- ChaletLora.X/Source/hd44780.c | 736 +- ChaletLora.X/Source/hd44780.h | 43 +- ChaletLora.X/Source/main.c | 18 + ChaletLora.X/Source/timer.h | 1 + ChaletLora.X/Source/versionbuild.h | 2 +- .../production/ChaletLora.X.production.elf | Bin 979604 -> 1004201 bytes .../production/ChaletLora.X.production.hex | 16402 ++++++++-------- .../production/ChaletLora.X.production.map | 4344 ++-- .../Makefile-ChaletDuinoV2_795F512H_.mk | 66 +- .../nbproject/Makefile-genesis.properties | 4 +- ChaletLora.X/nbproject/configurations.xml | 38 +- ChaletLora.X/nbproject/private/private.xml | 10 +- 27 files changed, 11761 insertions(+), 10795 deletions(-) create mode 100644 ChaletLora.X/Source/LCDCtrl.c create mode 100644 ChaletLora.X/Source/LCDCtrl.h diff --git a/ChaletLora.X/Source/BatteryMonitor.c b/ChaletLora.X/Source/BatteryMonitor.c index abe30c7..2a67a9c 100644 --- a/ChaletLora.X/Source/BatteryMonitor.c +++ b/ChaletLora.X/Source/BatteryMonitor.c @@ -13,7 +13,7 @@ int mBatterySOC; float mVoltageMeanSum; int mVoltageMeanCount; -int mCurrentMeanSum; +unsigned int mCurrentMeanSum; int mCurrentMeanCount; bool mCurrentModuleOK; @@ -90,6 +90,16 @@ void BatteryMonitorTick() } else { + unsigned int Ref = 0; + AD1CHSbits.CH0SA = 0; //AN0 + AD1CON1bits.SAMP = 0; + while(AD1CON1bits.DONE == 0); + Ref = ADC1BUF0; + AD1CON1bits.SAMP = 1; + + + + AD1CHSbits.CH0SA = 2; //AN2 AD1CON1bits.SAMP = 0; while(AD1CON1bits.DONE == 0); @@ -97,12 +107,12 @@ void BatteryMonitorTick() AD1CON1bits.SAMP = 1; // adc &= 0xFFFE; - //40mV/A + adc -= Ref; conv = (double)adc * 1.0; conv /= 1023; conv *= 3.3; //Volts - conv /= 0.04; //Amps (40mV/A) + conv /= 0.05; //Amps (50mV/A) raw = conv; @@ -110,7 +120,7 @@ void BatteryMonitorTick() //This could go for a long time but 5000 samples is too much anyways. if(mCurrentMeanCount >= 500) { - mCurrentMeanCount = 0; + mCurrentMeanCount = 1; mCurrentMeanSum = adc; } else @@ -122,16 +132,20 @@ void BatteryMonitorTick() mBatteryCurrent = adc; + //mBatteryCurrent = mCurrentMeanSum / mCurrentMeanCount; } } } -float GetBatteryVoltage() +float GetBatteryVoltage(int Reset) { - mBatteryVoltage = (mVoltageMeanSum/mVoltageMeanCount); - mVoltageMeanSum = 0.0; - mVoltageMeanCount = 0; + if(Reset == 1) + { + mBatteryVoltage = (mVoltageMeanSum/mVoltageMeanCount); + mVoltageMeanSum = 0.0; + mVoltageMeanCount = 0; + } return mBatteryVoltage; @@ -141,11 +155,16 @@ float GetBatteryVoltage() int GetSolarPanelCurrent() { //mBatteryCurrent = (mCurrentMeanSum/mCurrentMeanCount); - mVoltageMeanCount = 0; + //mVoltageMeanCount = 0; mCurrentMeanSum = 0.0; return mBatteryCurrent; } +float GetConvertedSolarPanelCurrent() +{ + float Cur = (mBatteryCurrent - 2) * (3.3/1023); + return Cur; +} int GetBatterySOC() { diff --git a/ChaletLora.X/Source/BatteryMonitor.h b/ChaletLora.X/Source/BatteryMonitor.h index e4a6596..a8dd7bb 100644 --- a/ChaletLora.X/Source/BatteryMonitor.h +++ b/ChaletLora.X/Source/BatteryMonitor.h @@ -15,11 +15,12 @@ void InitBatteryMonitor(); void BatteryMonitorTick(); -float GetBatteryVoltage(); +float GetBatteryVoltage(int Reset); int GetSolarPanelCurrent(); int GetBatterySOC(); int SendNetworkBatteryData(); bool GetCurrentModuleOK(); +float GetConvertedSolarPanelCurrent(); #endif /* BATTERYMONITOR_H */ diff --git a/ChaletLora.X/Source/BoardCfg_ChaletduinoV2.h b/ChaletLora.X/Source/BoardCfg_ChaletduinoV2.h index 7c0afa9..489c0fd 100644 --- a/ChaletLora.X/Source/BoardCfg_ChaletduinoV2.h +++ b/ChaletLora.X/Source/BoardCfg_ChaletduinoV2.h @@ -41,12 +41,12 @@ extern "C" { #define HEARTBEAT_LED_1_CLEAR_REG LATECLR #define HEARTBEAT_LED_1_TOGGLE_MASK _LATE_LATE5_MASK -#define LORA_ACTIVITY_LED_PIN_DIR TRISFbits.TRISF1 -#define LORA_ACTIVITY_LED_PIN LATFbits.LATF1 -#define LORA_ACTIVITY_LED_TOGGLE_REG LATFINV -#define LORA_ACTIVITY_LED_SET_REG LATFSET -#define LORA_ACTIVITY_LED_CLEAR_REG LATFCLR -#define LORA_ACTIVITY_LED_TOGGLE_MASK _LATE_LATF1_MASK +//#define LORA_ACTIVITY_LED_PIN_DIR TRISFbits.TRISF1 +//#define LORA_ACTIVITY_LED_PIN LATFbits.LATF1 +//#define LORA_ACTIVITY_LED_TOGGLE_REG LATFINV +//#define LORA_ACTIVITY_LED_SET_REG LATFSET +//#define LORA_ACTIVITY_LED_CLEAR_REG LATFCLR +//#define LORA_ACTIVITY_LED_TOGGLE_MASK _LATE_LATF1_MASK // #define GP_DEBUG_1_PIN_DIR TRISEbits.TRISE5 // #define GP_DEBUG_1_PIN LATEbits.LATE5 @@ -123,17 +123,22 @@ extern "C" { //LoRa #define LORA_MODULE_RELAY_PIN_DIR TRISDbits.TRISD11 #define LORA_MODULE_RELAY_PIN LATDbits.LATD11 -#define LORA_MODULE_M0_PIN_DIR TRISEbits.TRISE7 //FUCK, double assignation avec Inverter ON -#define LORA_MODULE_M0_PIN LATEbits.LATE7 +#define LORA_MODULE_M0_PIN_DIR TRISDbits.TRISD3 //V2 +#define LORA_MODULE_M0_PIN LATDbits.LATD3 #define LORA_MODULE_M1_PIN_DIR TRISDbits.TRISD9 #define LORA_MODULE_M1_PIN LATDbits.LATD9 #define LORA_MODULE_INT_PIN_DIR TRISDbits.TRISD8 -#define LORA_MODULE_INT_PIN PORTDits.RD8 -#define LORA_MODULE_RX_LED_PIN_DIR TRISCbits.TRISC14 -#define LORA_MODULE_RX_LED_PIN LATCbits.LATC14 -#define LORA_MODULE_TX_LED_PIN_DIR TRISCbits.TRISC13 -#define LORA_MODULE_TX_LED_PIN LATCbits.LATC13 +#define LORA_MODULE_INT_PIN PORTDbits.RD8 +//#define LORA_MODULE_RX_LED_PIN_DIR TRISCbits.TRISC14 +//#define LORA_MODULE_RX_LED_PIN LATCbits.LATC14 +//#define LORA_MODULE_TX_LED_PIN_DIR TRISCbits.TRISC13 +//#define LORA_MODULE_TX_LED_PIN LATCbits.LATC13 +#define LORA_MODULE_RX_LED_PIN_DIR TRISBbits.TRISB4 +#define LORA_MODULE_RX_LED_PIN LATBbits.LATB4 +#define LORA_MODULE_TX_LED_PIN_DIR TRISFbits.TRISF1 +#define LORA_MODULE_TX_LED_PIN LATFbits.LATF1 + //LCD Screen #define LCD_RS_PIN_DIR TRISDbits.TRISD5 #define LCD_RS_PIN LATDbits.LATD5 @@ -149,9 +154,8 @@ extern "C" { #define LCD_DB6_PIN LATBbits.LATB10 #define LCD_DB7_PIN_DIR TRISBbits.TRISB11 #define LCD_DB7_PIN LATBbits.LATB11 - - //#define LCD_SCROLL_BTN_PIN_DIR TRISCbits.TRISC13 - //#define LCD_SCROLL_BTN_PIN PORTCbits.PORTC13 +#define LCD_SCROLL_BTN_PIN_DIR TRISBbits.TRISB5 +#define LCD_SCROLL_BTN_PIN PORTBbits.RB5 /* ************************************************************************** */ /* Prototypes */ diff --git a/ChaletLora.X/Source/ChaletduinoV2Board.c b/ChaletLora.X/Source/ChaletduinoV2Board.c index 1fcc161..8fc193c 100644 --- a/ChaletLora.X/Source/ChaletduinoV2Board.c +++ b/ChaletLora.X/Source/ChaletduinoV2Board.c @@ -2,14 +2,17 @@ int InitBoard() { + + DDPCONbits.JTAGEN = 0; + HEARTBEAT_LED_1_PIN_DIR = PIN_OUTPUT; HEARTBEAT_LED_2_PIN_DIR = PIN_OUTPUT; HEARTBEAT_LED_2_PIN = LED_OFF; HEARTBEAT_LED_1_PIN = LED_ON; - LORA_ACTIVITY_LED_PIN_DIR = PIN_OUTPUT; - LORA_ACTIVITY_LED_PIN = LED_OFF; +// LORA_ACTIVITY_LED_PIN_DIR = PIN_OUTPUT; +// LORA_ACTIVITY_LED_PIN = LED_OFF; // GP_DEBUG_1_PIN_DIR = PIN_OUTPUT; // GP_DEBUG_1_PIN = 0; @@ -158,8 +161,10 @@ int InitBoard() LCD_DB6_PIN = 0; LCD_DB7_PIN_DIR = PIN_OUTPUT; LCD_DB7_PIN = 0; - -// LCD_SCROLL_BTN_PIN_DIR = PIN_INPUT; + + LCD_SCROLL_BTN_PIN_DIR = PIN_INPUT; + + @@ -198,7 +203,7 @@ int InitBoard() // OC3CONbits.ON = 1; - + RTCCONbits.ON = 1; return RET_OK; } diff --git a/ChaletLora.X/Source/FlashMapping.h b/ChaletLora.X/Source/FlashMapping.h index db98898..298ef57 100644 --- a/ChaletLora.X/Source/FlashMapping.h +++ b/ChaletLora.X/Source/FlashMapping.h @@ -23,6 +23,12 @@ #define FLASH_BTLDR_FLAGS_ADDRESS 0x000000 #define FLASH_WIFI_IP_ADDRESS 0X00000C #define FLASH_WIFI_GATEWAY_ADDRESS 0x000010 +#define FLASH_USE_DHCP_FLAG_ADDRESS 0x000014 +#define FLASH_WIFI_ACCESS_PT_NAME_LENGTH_ADDRESS 0X000015 +#define FLASH_WIFI_ACCESS_PT_NAME_ADDRESS 0x000016 +#define FLASH_WIFI_ACCESS_PT_PASSWD_LENGTH_ADDRESS 0x000056 +#define FLASH_WIFI_ACCESS_PT_PASSWD_ADDRESS 0x000057 +#define FLASH_LAST_ADDRESS 0X000097 diff --git a/ChaletLora.X/Source/LCDCtrl.c b/ChaletLora.X/Source/LCDCtrl.c new file mode 100644 index 0000000..9879246 --- /dev/null +++ b/ChaletLora.X/Source/LCDCtrl.c @@ -0,0 +1,108 @@ +//#include + +#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); + } +} \ No newline at end of file diff --git a/ChaletLora.X/Source/LCDCtrl.h b/ChaletLora.X/Source/LCDCtrl.h new file mode 100644 index 0000000..05019ea --- /dev/null +++ b/ChaletLora.X/Source/LCDCtrl.h @@ -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 */ + diff --git a/ChaletLora.X/Source/LoraNetworkInterface.c b/ChaletLora.X/Source/LoraNetworkInterface.c index 972abfb..9eda879 100644 --- a/ChaletLora.X/Source/LoraNetworkInterface.c +++ b/ChaletLora.X/Source/LoraNetworkInterface.c @@ -14,6 +14,7 @@ #include "FlashMapping.h" #include "LoraWatchdog.h" #include "versionbuild.h" +#include "WiFiCtrl.h" //#include "WiFiCtrl.h" // @@ -28,14 +29,16 @@ unsigned char mLoraPreamble[3]={0x00,LORA_MASTER_ADDRESS,LORA_CHANNEL}; static const char mFirmwareVersion[15] = VERSIONNUMBER; +unsigned int mTotalMasterNbRequests = 0; -void ExecuteMasterCommand(int Command, unsigned char *Data) +void ExecuteMasterCommand(int Command, unsigned char *Data, int DataSize) { //Whatever was the command, we are online... LORA_MODULE_RX_LED_PIN = LED_OFF; KickLoraWatchdog(); // printf("EXEC\n\n"); ChaletPowerRelayKickTimer(); + mTotalMasterNbRequests++; switch(Command) { case CHALET_INTERFACE_ACK: @@ -44,7 +47,7 @@ void ExecuteMasterCommand(int Command, unsigned char *Data) } case CHALET_GENERAL_STATUS_REQUEST: { - float FloatVoltage = GetBatteryVoltage(); + float FloatVoltage = GetBatteryVoltage(1); float FloatTemperature = TempSensorGetTemp(); unsigned int BattVoltage = *((int*)&FloatVoltage); unsigned int Temperature = *((int*)&FloatTemperature); @@ -52,7 +55,7 @@ void ExecuteMasterCommand(int Command, unsigned char *Data) int SOC = GetBatterySOC(); char GeneralStatus = 0; - char ChaletStatus[14]; + char ChaletStatus[18]; if(GetChaletPowerRelayState() == CHALET_POWER_RELAY_ON_STATE) { @@ -65,6 +68,7 @@ void ExecuteMasterCommand(int Command, unsigned char *Data) ChaletStatus[0] = GeneralStatus; //General Status ChaletStatus[1] = GetWiFiSate(); //Wifi Module state + ChaletStatus[2] = (char)(BattVoltage & 0x000000FF); //Battery Voltage 1 BattVoltage >>= 8; ChaletStatus[3] = (char)(BattVoltage & 0x000000FF); //Battery Voltage 2 @@ -72,23 +76,35 @@ void ExecuteMasterCommand(int Command, unsigned char *Data) ChaletStatus[4] = (char)(BattVoltage & 0x000000FF); //Battery Voltage 3 BattVoltage >>= 8; ChaletStatus[5] = (char)(BattVoltage & 0x000000FF); //Battery Voltage 4 + ChaletStatus[6] = (char)(SolarPanelCurrent & 0x000000FF); //Solar panel Current 1 SolarPanelCurrent >>= 8; ChaletStatus[7] = (char)(SolarPanelCurrent & 0x000000FF); //Solar panel Current 2 + ChaletStatus[8] = (char)(SOC & 0x000000FF); //Battery SOC 1 SolarPanelCurrent >>= 8; ChaletStatus[9] = (char)(SolarPanelCurrent & 0x000000FF); //Battery SOC 2 - ChaletStatus[10] = (char)(Temperature & 0x000000FF); //Battery Voltage 1 + + ChaletStatus[10] = (char)(Temperature & 0x000000FF); //Temperature 1 Temperature >>= 8; - ChaletStatus[11] = (char)(Temperature & 0x000000FF); //Battery Voltage 2 + ChaletStatus[11] = (char)(Temperature & 0x000000FF); //Temperature 2 Temperature >>= 8; - ChaletStatus[12] = (char)(Temperature & 0x000000FF); //Battery Voltage 3 + ChaletStatus[12] = (char)(Temperature & 0x000000FF); //BTemperature 3 Temperature >>= 8; - ChaletStatus[13] = (char)(Temperature & 0x000000FF); //Battery Voltage 4 + ChaletStatus[13] = (char)(Temperature & 0x000000FF); //Temperature 4 + int tmp = mTotalMasterNbRequests; + ChaletStatus[14] = (char)(mTotalMasterNbRequests & 0x000000FF); //Total Nb Requests 1 + mTotalMasterNbRequests >>= 8; + ChaletStatus[15] = (char)(mTotalMasterNbRequests & 0x000000FF); //Total Nb Requests 2 + mTotalMasterNbRequests >>= 8; + ChaletStatus[16] = (char)(mTotalMasterNbRequests & 0x000000FF); //Total Nb Requests 3 + mTotalMasterNbRequests >>= 8; + ChaletStatus[17] = (char)(mTotalMasterNbRequests & 0x000000FF); //Total Nb Requests 4 + mTotalMasterNbRequests = tmp; + - - SendLoraNetworkCommand(CHALET_GENERAL_STATUS_RESPONSE,ChaletStatus,14); + SendLoraNetworkCommand(CHALET_GENERAL_STATUS_RESPONSE,ChaletStatus,18); HEARTBEAT_LED_1_PIN = ~HEARTBEAT_LED_1_PIN; @@ -125,10 +141,20 @@ void ExecuteMasterCommand(int Command, unsigned char *Data) } case CHALET_BATTERY_VOLTAGE_REQUEST: { + break; } case CHALET_WIFI_STATUS_REQUEST: { + char response[5]; + uint32 IPAddress = GetCurIPAddress(); + + response[0] = GetWiFiSate(); //Wifi Module state + response[1] = IPV4_BYTE(IPAddress,0); + response[2] = IPV4_BYTE(IPAddress,1); + response[3] = IPV4_BYTE(IPAddress,2); + response[4] = IPV4_BYTE(IPAddress,3); + SendLoraNetworkCommand(CHALET_WIFI_STATUS_RESPONSE,(unsigned char*)&response,5); break; } case CHALET_WIFI_SET_STATE_REQUEST: @@ -207,15 +233,20 @@ void ExecuteMasterCommand(int Command, unsigned char *Data) } case CHALET_GET_STORED_WIFI_SETTINGS_REQUEST: { - char response[8]; - SPIFlashReadBuffer(response,8,FLASH_WIFI_IP_ADDRESS); - SendLoraNetworkCommand(CHALET_GET_STORED_WIFI_SETTINGS_RESPONSE,response,8); + char response[140]; + char WifiDataSize; + SPIFlashReadBuffer(response,11,FLASH_WIFI_IP_ADDRESS); + WifiDataSize = 11 + response[9] + response[10]; + if(WifiDataSize > 140) + break; + SPIFlashReadBuffer(response,WifiDataSize,FLASH_WIFI_IP_ADDRESS); + SendLoraNetworkCommand(CHALET_GET_STORED_WIFI_SETTINGS_RESPONSE,response,WifiDataSize); break; } case CHALET_SET_STORED_WIFI_SETTINGS_REQUEST: { char response = 0; - if(SPIFlashWriteBuffer(Data,8,FLASH_WIFI_IP_ADDRESS) == 1) + if(SPIFlashWriteBuffer(Data,DataSize,FLASH_WIFI_IP_ADDRESS) == 1) { response = 1; } @@ -228,6 +259,13 @@ void ExecuteMasterCommand(int Command, unsigned char *Data) SendLoraNetworkCommand(CHALET_GET_FIRMWARE_VERSION_RESPONSE,(unsigned char*)mFirmwareVersion,15); break; } + case CHALET_CLEAR_COMMS_STATISTICS_REQUEST: + { + char response = 1; + mTotalMasterNbRequests = 0; + SendLoraNetworkCommand(CHALET_CLEAR_COMMS_STATISTICS_RESPONSE,&response,1); + break; + } } } diff --git a/ChaletLora.X/Source/LoraNetworkInterface.h b/ChaletLora.X/Source/LoraNetworkInterface.h index c28f7da..44c68ad 100644 --- a/ChaletLora.X/Source/LoraNetworkInterface.h +++ b/ChaletLora.X/Source/LoraNetworkInterface.h @@ -8,7 +8,7 @@ #define LORA_CHALET_STATUS_POWER_RELAY_MASK 0x01 #define LORA_CHALET_STATUS_CUR_SENSOR_MASK 0x02 -void ExecuteMasterCommand(int Command, unsigned char *Data); +void ExecuteMasterCommand(int Command, unsigned char *Data, int DataSize); void SendLoraNetworkCommand(int Command, unsigned char *Data, unsigned int DataSize); void SendLoraNetworkCommandBlocking(int Command, unsigned char *Data, unsigned int DataSize); //USE WITH CARE diff --git a/ChaletLora.X/Source/NetworkProtocol.c b/ChaletLora.X/Source/NetworkProtocol.c index 9f4e8cd..4991f9d 100644 --- a/ChaletLora.X/Source/NetworkProtocol.c +++ b/ChaletLora.X/Source/NetworkProtocol.c @@ -204,7 +204,7 @@ void StateMachine(unsigned char Data) break; } // NewMasterMessageReceived(mRxData); - ExecuteMasterCommand(Command,ProtocolMsgDataPtr()); + ExecuteMasterCommand(Command,ProtocolMsgDataPtr(),DataSize); ResetStateMachine(); break; } diff --git a/ChaletLora.X/Source/ProtocolDefs.h b/ChaletLora.X/Source/ProtocolDefs.h index 9d2a9ce..c06bb08 100644 --- a/ChaletLora.X/Source/ProtocolDefs.h +++ b/ChaletLora.X/Source/ProtocolDefs.h @@ -298,6 +298,13 @@ enum CHALET_CMDS CHALET_SET_STORED_WIFI_SETTINGS_RESPONSE, CHALET_GET_FIRMWARE_VERSION_REQUEST, CHALET_GET_FIRMWARE_VERSION_RESPONSE, + CHALET_CLEAR_COMMS_STATISTICS_REQUEST, + CHALET_CLEAR_COMMS_STATISTICS_RESPONSE, + CHALET_REGISTER_FRIENDLY_DEVICE_REQUEST, + CHALET_REGISTER_FRIENDLY_DEVICE_RESPONSE, + CHALET_FWD_DEVICE_MESSAGE_REQUEST, + CHALET_FWD_DEVICE_MESSAGE_RESPONSE, + MAX_CHALET_CMD }; @@ -331,7 +338,7 @@ enum BOOTLOADER_CMDS BOOTLOADER_CHECK_FLASH_FIRMW_INTEGRITY_RESPONSE, BOOTLOADER_GET_STORED_FIRMWARE_INFO_REQUEST, BOOTLOADER_GET_STORED_FIRMWARE_INFO_RESPONSE, - + MAX_BOOTLOADER_CMD }; #endif diff --git a/ChaletLora.X/Source/Terminal.c b/ChaletLora.X/Source/Terminal.c index b6f215d..de78d44 100644 --- a/ChaletLora.X/Source/Terminal.c +++ b/ChaletLora.X/Source/Terminal.c @@ -275,7 +275,7 @@ void ParseNewBuffer(void) if(strlen(mDataString1) == 0) { char voltage[15]; - sprintf(voltage,"%f",GetBatteryVoltage()); + sprintf(voltage,"%f",GetBatteryVoltage(0)); TerminalPrintString("Battery Voltage: "); TerminalPrintString(voltage); TerminalPrintString("\n"); @@ -290,7 +290,7 @@ void ParseNewBuffer(void) if(strncmp(mDataString1,"voltage",strlen("voltage")) == 0) { char voltage[15]; - sprintf(voltage,"%f",GetBatteryVoltage()); + sprintf(voltage,"%f",GetBatteryVoltage(0)); TerminalPrintString("Battery Voltage: "); TerminalPrintString(voltage); TerminalPrintString("\n"); @@ -363,7 +363,7 @@ void ParseNewBuffer(void) char voltage[15]; memset(voltage,0,15); - sprintf(voltage,"%.2f",GetBatteryVoltage()); + sprintf(voltage,"%.2f",GetBatteryVoltage(0)); TerminalPrintString("Battery Voltage: "); TerminalPrintString(voltage); TerminalPrintString("V\n"); diff --git a/ChaletLora.X/Source/WiFiCtrl.c b/ChaletLora.X/Source/WiFiCtrl.c index 33086b1..dcdc03c 100644 --- a/ChaletLora.X/Source/WiFiCtrl.c +++ b/ChaletLora.X/Source/WiFiCtrl.c @@ -77,6 +77,12 @@ static void resolve_cb(uint8 *hostName, uint32 hostIp) { gu32HostIp = hostIp; gbHostIpByName = true; + char IP1,IP2,IP3,IP4; + IP1 = IPV4_BYTE(hostIp, 0); + IP2 = IPV4_BYTE(hostIp, 1); + IP3 = IPV4_BYTE(hostIp, 2); + IP4 = IPV4_BYTE(hostIp, 3); + printf("Host IP is %d.%d.%d.%d\r\n", (int)IPV4_BYTE(hostIp, 0), (int)IPV4_BYTE(hostIp, 1), @@ -95,178 +101,178 @@ static void socket_cb(SOCKET sock, uint8 u8Msg, void *pvMsg) { switch(u8Msg) { - case SOCKET_MSG_BIND: - { - tstrSocketBindMsg *pstrBind = (tstrSocketBindMsg*)pvMsg; - if(pstrBind->status == 0) + case SOCKET_MSG_BIND: { - 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; } - if(sock == SyslogServerSocket) + case SOCKET_MSG_LISTEN: { - m2m_periph_gpio_set_val(M2M_PERIPH_GPIO3,1); - } - - break; - } - case SOCKET_MSG_ACCEPT: - { - // New Socket is accepted. - tstrSocketAcceptMsg *pstrAccept = (tstrSocketAcceptMsg *)pvMsg; - if(pstrAccept->sock >= 0) - { - if(sock == TerminalServerSocket) + + tstrSocketListenMsg *pstrListen = (tstrSocketListenMsg*)pvMsg; + if(pstrListen->status != 0) { - memset(TerminalRxBuf,0,sizeof(TerminalRxBuf)); - // 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); + printf("socket %d listen Failed. Error: %d\n",(int)sock, pstrListen->status); + break; } - else if(sock == SyslogServerSocket) + 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"); + m2m_periph_gpio_set_val(M2M_PERIPH_GPIO3,1); } + break; } - else + case SOCKET_MSG_ACCEPT: { - 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) + // New Socket is accepted. + tstrSocketAcceptMsg *pstrAccept = (tstrSocketAcceptMsg *)pvMsg; + if(pstrAccept->sock >= 0) { - //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) + if(sock == TerminalServerSocket) { - char toto; - toto = 1; + memset(TerminalRxBuf,0,sizeof(TerminalRxBuf)); + // 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"); } - BootloaderProtocolProtocolAnalyzeNewData(pstrRecvMsg->pu8Buffer, pstrRecvMsg->s16BufferSize); } - } - else //Socket must be closed. - { - if(sock == TerminalSocket) + else { - 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); + printf("Socket %d : Accept Failed\n", sock); } - 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) - { + 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) + { + + } + } } } @@ -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 */ uint16 len; -// len = m2m_strlen(name); + // len = m2m_strlen(name); if (len >= 5) { name[len - 1] = MAIN_HEX2ASCII((mac_addr[5] >> 0) & 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) { switch (u8MsgType) { - case M2M_WIFI_RESP_CON_STATE_CHANGED: { - tstrM2mWifiStateChanged *pstrWifiState = (tstrM2mWifiStateChanged *)pvMsg; - if (pstrWifiState->u8CurrState == M2M_WIFI_CONNECTED) - { - printf("Wi-Fi connected\r\n"); + case M2M_WIFI_RESP_CON_STATE_CHANGED: { + tstrM2mWifiStateChanged *pstrWifiState = (tstrM2mWifiStateChanged *)pvMsg; + if (pstrWifiState->u8CurrState == M2M_WIFI_CONNECTED) + { + printf("Wi-Fi connected\r\n"); + + if(mUseDHCP == true) + { + // m2m_wifi_request_dhcp_client(); + } + 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; + } -#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) + break; + } + + case M2M_WIFI_REQ_DHCP_CONF: { - printf("Wi-Fi disconnected\r\n"); - gbConnectedWifi = false; - mWiFiState = WIFI_DISCONNECTED_STATE; - CloseSockets(); - m2m_periph_gpio_set_val(M2M_PERIPH_GPIO3,0); - mCurIPAddress = 0xFFFFFFFF; + 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; + /* Obtain the IP Address by network name */ + gethostbyname((uint8 *)server_host_name); + break; } - break; - } - - case M2M_WIFI_REQ_DHCP_CONF: - { -// mCurIPAddress = *(uin32*)pvMsg; + 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; -// 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"); + default: { + break; } - } break; - - default: { - break; - } } } @@ -376,34 +397,60 @@ int InitWiFi() mCurIPAddress = 0xFFFFFFFF; char IP1,IP2,IP3,IP4,GW1,GW2,GW3,GW4; - + + //Load WiFi parameters from flash if present if(SPIFlashIsPresent() == 1) { - char StoredIPConfig[8]; - if(SPIFlashReadBuffer(StoredIPConfig,8,FLASH_WIFI_IP_ADDRESS) != RET_ERROR) + char StoredIPConfig[11]; + if(SPIFlashReadBuffer(StoredIPConfig,11,FLASH_WIFI_IP_ADDRESS) != RET_ERROR) { - IP1 = StoredIPConfig[0]; - IP2 = StoredIPConfig[1]; - 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))) + mUseDHCP = StoredIPConfig[8]; //Use DHCP + //if(mUseDHCP == 0) { - IP1 = STATIC_IP_ADDRESS_1; - IP2 = STATIC_IP_ADDRESS_2; - IP3 = STATIC_IP_ADDRESS_3; - IP4 = STATIC_IP_ADDRESS_4; + IP1 = StoredIPConfig[0]; + IP2 = StoredIPConfig[1]; + 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; + 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; GW3 = GATEWAY_ADDRESS_3; GW4 = GATEWAY_ADDRESS_4; + + strcpy(mAPPassword,HOME_AP_PWD); + strcpy(mAPName,HOME_AP_NAME); + +#ifdef USE_STATIC_IP + mUseDHCP = 0; +#else + mUseDHCP = 1; +#endif } 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.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.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.u32SubnetMask = IP_TO_U32(SUBNET_MASK_1,SUBNET_MASK_2,SUBNET_MASK_3,SUBNET_MASK_4); /* Initialize the BSP. */ -// nm_bsp_init(); + // nm_bsp_init(); /* Initialize Wi-Fi parameters structure. */ memset((uint8_t *)¶m, 0, sizeof(tstrWifiInitParam)); /* Initialize Wi-Fi driver with data and status callbacks. */ @@ -466,18 +522,32 @@ int InitWiFi() //Use the MAC to define the SSID of the module 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 - //Use static ip --> disable dhcp client before connecting - m2m_wifi_enable_dhcp(0); -#endif - if(m2m_wifi_connect(HOME_AP_NAME,sizeof(HOME_AP_NAME),HOME_AP_SEC_TYPE,HOME_AP_PWD,M2M_WIFI_CH_ALL) != M2M_SUCCESS) +//#ifdef USE_STATIC_IP +// //Use static ip --> disable dhcp client before connecting +// m2m_wifi_enable_dhcp(0); +//#endif +// if(m2m_wifi_connect(HOME_AP_NAME,sizeof(HOME_AP_NAME),HOME_AP_SEC_TYPE,HOME_AP_PWD,M2M_WIFI_CH_ALL) != M2M_SUCCESS) +// { +// //wifi connect error... +// printf("error"); +// } + + if(mUseDHCP == 1) + { + m2m_wifi_enable_dhcp(1); + } + else + { + m2m_wifi_enable_dhcp(0); + } + if(m2m_wifi_connect(mAPName,strlen(mAPName),HOME_AP_SEC_TYPE,mAPPassword,M2M_WIFI_CH_ALL) != M2M_SUCCESS) { //wifi connect error... - printf("error"); + printf("Wifi Connect error"); } - + tstrPerphInitParam tst; m2m_periph_init(&tst); @@ -521,6 +591,7 @@ int TurnOFFWiFi() mWiFiInitOK = false; gbConnectedWifi = false; HEARTBEAT_LED_2_PIN = LED_OFF; + mCurIPAddress = 0xFFFFFFFF; // WIFI mWiFiState = WIFI_MODULE_OFF_STATE; @@ -563,6 +634,11 @@ char GetWiFiSate() return mWiFiState; } +uint32 GetCurIPAddress() +{ + return mCurIPAddress; +} + void TickWiFi() { if(mWiFiInitOK == false) @@ -574,7 +650,8 @@ void TickWiFi() if(IsTimerExpired(WIFI_RECONNECT_TIMER)) { //m2m_wifi_disconnect(); - m2m_wifi_connect(HOME_AP_NAME,sizeof(HOME_AP_NAME),HOME_AP_SEC_TYPE,HOME_AP_PWD,M2M_WIFI_CH_ALL); + //m2m_wifi_connect(HOME_AP_NAME,sizeof(HOME_AP_NAME),HOME_AP_SEC_TYPE,HOME_AP_PWD,M2M_WIFI_CH_ALL); + m2m_wifi_connect(mAPName,strlen(mAPName),HOME_AP_SEC_TYPE,mAPPassword,M2M_WIFI_CH_ALL); TimerStart(WIFI_RECONNECT_TIMER,WIFI_CONNECT_TIMEOUT); } } @@ -591,8 +668,8 @@ void TickWiFi() OpenTerminalServer(); //OpenNetworkServer(); - // OpenBootloaderServer(); - // BootloaderActivateBootloader(); + // OpenBootloaderServer(); + // BootloaderActivateBootloader(); #ifdef USE_SYSLOG OpenSyslogServer(); #endif diff --git a/ChaletLora.X/Source/WiFiCtrl.h b/ChaletLora.X/Source/WiFiCtrl.h index 0ce3d53..c26966a 100644 --- a/ChaletLora.X/Source/WiFiCtrl.h +++ b/ChaletLora.X/Source/WiFiCtrl.h @@ -78,6 +78,7 @@ void TickWiFi(); int TurnOFFWiFi(); int CloseSockets(); char GetWiFiSate(); +uint32 GetCurIPAddress(); int OpenTerminalServer(); void SendTerminalData(uint8 *data, int size); @@ -98,6 +99,8 @@ void SendBootloaderData(uint8 *data, int size); void SendBootloaderByte(uint8 data); int IsBootloaderClientConnected(); + + //#define USE_STATIC_IP @@ -166,9 +169,11 @@ int IsBootloaderClientConnected(); //#define HOME_AP_PWD "12345fffff" #define HOME_AP_NAME "ChaletVilleEmard" +//#define HOME_AP_NAME "ImprVilleEmard" //#define HOME_AP_NAME "ElRouteurDuChalet" //#define HOME_AP_NAME "LeChalet" #define HOME_AP_PWD "Evinrude30" +//#define HOME_AP_PWD "12345fffff" #define TERMINAL_SERVER_PORT 85 #define NETWORK_SERVER_PORT 86 @@ -253,6 +258,9 @@ static const char gacHttpProvDomainName[] = MAIN_HTTP_PROV_SERVER_DOMAIN_NAME; static uint8 gau8MacAddr[] = MAIN_MAC_ADDRESS; static sint8 gacDeviceName[] = MAIN_M2M_SSID; +char mAPName[64]; +char mAPPassword[64]; +char mUseDHCP; #define MAIN_WAITING_TIME 3000 #define MAIN_RETRY_COUNT 10 diff --git a/ChaletLora.X/Source/define.h b/ChaletLora.X/Source/define.h index 644168b..c8d83f6 100644 --- a/ChaletLora.X/Source/define.h +++ b/ChaletLora.X/Source/define.h @@ -156,9 +156,9 @@ enum eWiFiState //---------------------------- #define NETWORK_UART_PORT UART_1 -#ifndef NO_WIFI -#define WIFI_MODULE_UART_PORT UART_2 -#endif + +#define LORA_MODULE_UART_PORT UART_2 + // //---------------------------- diff --git a/ChaletLora.X/Source/hd44780.c b/ChaletLora.X/Source/hd44780.c index ed4ca14..75cc8ae 100644 --- a/ChaletLora.X/Source/hd44780.c +++ b/ChaletLora.X/Source/hd44780.c @@ -18,9 +18,12 @@ // include libraries #include -#include -#include +//#include +//#include +#include "define.h" +#include "BoardCfg.h" #include "hd44780.h" +#include "timer.h" // +---------------------------+ // | Power on | @@ -82,8 +85,8 @@ */ void HD44780_DisplayClear (void) { - // Diplay clear - HD44780_SendInstruction(HD44780_DISP_CLEAR); + // Diplay clear + HD44780_SendInstruction(HD44780_DISP_CLEAR); } /** @@ -95,8 +98,8 @@ void HD44780_DisplayClear (void) */ void HD44780_DisplayOn (void) { - // send instruction - display on - HD44780_SendInstruction(HD44780_DISP_ON); + // send instruction - display on + HD44780_SendInstruction(HD44780_DISP_ON); } /** @@ -108,8 +111,8 @@ void HD44780_DisplayOn (void) */ void HD44780_CursorOn (void) { - // send instruction - cursor on - HD44780_SendInstruction(HD44780_CURSOR_ON); + // send instruction - cursor on + HD44780_SendInstruction(HD44780_CURSOR_ON); } /** @@ -121,8 +124,8 @@ void HD44780_CursorOn (void) */ void HD44780_CursorOff (void) { - // send instruction - cursor on - HD44780_SendInstruction(HD44780_CURSOR_OFF); + // send instruction - cursor on + HD44780_SendInstruction(HD44780_CURSOR_OFF); } /** @@ -134,8 +137,8 @@ void HD44780_CursorOff (void) */ void HD44780_CursorBlink (void) { - // send instruction - Cursor blink - HD44780_SendInstruction(HD44780_CURSOR_BLINK); + // send instruction - Cursor blink + HD44780_SendInstruction(HD44780_CURSOR_BLINK); } /** @@ -147,8 +150,8 @@ void HD44780_CursorBlink (void) */ void HD44780_DrawChar (char character) { - // Diplay clear - HD44780_SendData(character); + // Diplay clear + HD44780_SendData(character); } /** @@ -160,12 +163,12 @@ void HD44780_DrawChar (char character) */ void HD44780_DrawString (char *str) { - unsigned char i = 0; - // loop through 5 bytes - while (str[i] != '\0') { - //read characters and increment index - HD44780_SendData(str[i++]); - } + unsigned char i = 0; + // loop through 5 bytes + while (str[i] != '\0') { + //read characters and increment index + HD44780_SendData(str[i++]); + } } /** @@ -178,20 +181,20 @@ void HD44780_DrawString (char *str) */ char HD44780_PositionXY (char x, char y) { - if (x > HD44780_COLS || y > HD44780_ROWS) { - // error - return ERROR; - } - // check which row - if (y == 0) { - // send instruction 1st row - HD44780_SendInstruction(HD44780_POSITION | (HD44780_ROW1_START + x)); - } else if (y == 1) { - // send instruction 2nd row - HD44780_SendInstruction(HD44780_POSITION | (HD44780_ROW2_START + x)); - } - // success - return 0; + if (x > HD44780_COLS || y > HD44780_ROWS) { + // error + return ERROR; + } + // check which row + if (y == 0) { + // send instruction 1st row + HD44780_SendInstruction(HD44780_POSITION | (HD44780_ROW1_START + x)); + } else if (y == 1) { + // send instruction 2nd row + HD44780_SendInstruction(HD44780_POSITION | (HD44780_ROW2_START + x)); + } + // success + return 0; } /** @@ -204,40 +207,40 @@ char HD44780_PositionXY (char x, char y) */ char HD44780_Shift (char item, char direction) { - // check if item is cursor or display or direction is left or right - if ((item != HD44780_DISPLAY) && (item != HD44780_CURSOR)) { - // error - return ERROR; - } - // check if direction is left or right - if ((direction != HD44780_RIGHT) && (direction != HD44780_LEFT)) { - // error - return ERROR; - } - - // cursor shift - if (item == HD44780_CURSOR) { - // right shift - if (direction == HD44780_RIGHT) { - // shit cursor / display to right / left - HD44780_SendInstruction(HD44780_SHIFT | HD44780_CURSOR | HD44780_RIGHT); - } else { - // shit cursor / display to right / left - HD44780_SendInstruction(HD44780_SHIFT | HD44780_CURSOR | HD44780_LEFT); - } - // display shift - } else { - // right shift - if (direction == HD44780_RIGHT) { - // shit cursor / display to right / left - HD44780_SendInstruction(HD44780_SHIFT | HD44780_DISPLAY | HD44780_RIGHT); - } else { - // shit cursor / display to right / left - HD44780_SendInstruction(HD44780_SHIFT | HD44780_DISPLAY | HD44780_LEFT); - } - } - // success - return 0; + // check if item is cursor or display or direction is left or right + if ((item != HD44780_DISPLAY) && (item != HD44780_CURSOR)) { + // error + return ERROR; + } + // check if direction is left or right + if ((direction != HD44780_RIGHT) && (direction != HD44780_LEFT)) { + // error + return ERROR; + } + + // cursor shift + if (item == HD44780_CURSOR) { + // right shift + if (direction == HD44780_RIGHT) { + // shit cursor / display to right / left + HD44780_SendInstruction(HD44780_SHIFT | HD44780_CURSOR | HD44780_RIGHT); + } else { + // shit cursor / display to right / left + HD44780_SendInstruction(HD44780_SHIFT | HD44780_CURSOR | HD44780_LEFT); + } + // display shift + } else { + // right shift + if (direction == HD44780_RIGHT) { + // shit cursor / display to right / left + HD44780_SendInstruction(HD44780_SHIFT | HD44780_DISPLAY | HD44780_RIGHT); + } else { + // shit cursor / display to right / left + HD44780_SendInstruction(HD44780_SHIFT | HD44780_DISPLAY | HD44780_LEFT); + } + } + // success + return 0; } /** @@ -249,62 +252,73 @@ char HD44780_Shift (char item, char direction) */ void HD44780_Init (void) { - // set E as output - SETBIT(HD44780_DDR_E, HD44780_E); - // set RS as output - SETBIT(HD44780_DDR_RS, HD44780_RS); - // set RW as output - SETBIT(HD44780_DDR_RW, HD44780_RW); + // set E as output + //SETBIT(HD44780_DDR_E, HD44780_E); + // set RS as output + //SETBIT(HD44780_DDR_RS, HD44780_RS); + // set RW as output + //SETBIT(HD44780_DDR_RW, HD44780_RW); + + // set DB7-DB4 as output +// HD44780_SetDDR_DATA4to7(); + + // clear RS + // CLRBIT(HD44780_PORT_RS, HD44780_RS); + LCD_RS_PIN = 0; + // clear RW + // CLRBIT(HD44780_PORT_RW, HD44780_RW); + LCD_RW_PIN = 0; + // clear E + // CLRBIT(HD44780_PORT_E, HD44780_E); + LCD_E_PIN = 0; + + // delay > 15ms + _delay_ms(16); + + + // Busy Flag (BF) cannot be checked in these instructions + // --------------------------------------------------------------------- + // Initial sequence 0x30 - send 4 bits in 4 bit mode +// HD44780_SendInstruction(HD44780_INIT_SEQ);JFM + HD44780_Send4bitsIn4bitMode(HD44780_INIT_SEQ); + // delay > 4.1ms + _delay_ms(5); + + + // pulse E + //HD44780_PulseE(); + // delay > 100us + _delay_us(110); + + HD44780_Send4bitsIn4bitMode(HD44780_INIT_SEQ); - // set DB7-DB4 as output - HD44780_SetDDR_DATA4to7(); - - // clear RS - CLRBIT(HD44780_PORT_RS, HD44780_RS); - // clear RW - CLRBIT(HD44780_PORT_RW, HD44780_RW); - // clear E - CLRBIT(HD44780_PORT_E, HD44780_E); - - // delay > 15ms - _delay_ms(16); - - // Busy Flag (BF) cannot be checked in these instructions - // --------------------------------------------------------------------- - // Initial sequence 0x30 - send 4 bits in 4 bit mode - HD44780_SendInstruction(HD44780_INIT_SEQ); - // delay > 4.1ms - _delay_ms(5); - - // pulse E - HD44780_PulseE(); - // delay > 100us - _delay_us(110); - - // pulse E - HD44780_PulseE(); - // delay > 45us (=37+4 * 270/250) - _delay_us(50); - - // 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); + + // pulse E +// HD44780_PulseE(); + // delay > 45us (=37+4 * 270/250) + _delay_us(50); + + + HD44780_Send4bitsIn4bitMode(HD44780_INIT_SEQ); + // 4 bit mode 0x20 - send 4 bits in 4 bit mode + HD44780_Send4bitsIn4bitMode(HD44780_4BIT_MODE); + // pulse E + //HD44780_PulseE(); + // 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) { - unsigned char input = 0; - - // clear DB7-DB4 as input - HD44780_ClearDDR_DATA4to7(); - // set pull-up resistors for DB7-DB4 - HD44780_SetPORT_DATA4to7(); - - // clear RS - CLRBIT(HD44780_PORT_RS, HD44780_RS); - // set RW - read instruction - SETBIT(HD44780_PORT_RW, HD44780_RW); - - // test HIGH level on PIN DB7 - // after clear PIN DB7 should continue - // ------------------------------------- - // us: 0.5|0.5|0.5 - // ___ ___ - // E: ___/ \___/ \__ - // ___ ___ - // DB7: \___/ \___/ \__ - // - while (1) { - - // Read upper nibble - // -------------------------------- - // Set E - SETBIT(HD44780_PORT_E, HD44780_E); - // PWeh > 0.5us - _delay_us(0.5); - // read upper nibble (tDDR > 360ns) - input = HD44780_PIN_DATA; - // Clear E - CLRBIT(HD44780_PORT_E, HD44780_E); - // TcycE > 1000ns -> delay depends on PWeh delay time - // delay = TcycE - PWeh = 1000 - 500 = 500ns - _delay_us(0.5); - - // Read lower nibble - // -------------------------------- - // Set E - SETBIT(HD44780_PORT_E, HD44780_E); - // PWeh > 0.5us - _delay_us(0.5); - // read lower nibble (tDDR > 360ns) - input |= HD44780_PIN_DATA >> 4; - // Clear E - CLRBIT(HD44780_PORT_E, HD44780_E); - // TcycE > 1000ns -> delay depends on PWeh delay time - // delay = TcycE - PWeh = 1000 - 500 = 500ns - _delay_us(0.5); - - // check if DB7 is cleared - if (!(input & (1 << HD44780_DATA7))) { - // if BF cleared -> end loop - break; - } - } - - // clear RW - CLRBIT(HD44780_PORT_RW, HD44780_RW); - - // set DB7-DB4 as output - HD44780_SetDDR_DATA4to7(); + unsigned char input = 0; + + Sleep(5); + return; + + // clear DB7-DB4 as input + HD44780_ClearDDR_DATA4to7(); + // set pull-up resistors for DB7-DB4 +// HD44780_SetPORT_DATA4to7(); + + // clear RS +// CLRBIT(HD44780_PORT_RS, HD44780_RS); + LCD_RS_PIN = 0; + // set RW - read instruction +// SETBIT(HD44780_PORT_RW, HD44780_RW); + LCD_RW_PIN = 1; + + // test HIGH level on PIN DB7 + // after clear PIN DB7 should continue + // ------------------------------------- + // us: 0.5|0.5|0.5 + // ___ ___ + // E: ___/ \___/ \__ + // ___ ___ + // DB7: \___/ \___/ \__ + // + while (1) { + + // Read upper nibble + // -------------------------------- + // Set E +// SETBIT(HD44780_PORT_E, HD44780_E); + LCD_E_PIN = 1; + // PWeh > 0.5us + _delay_us(0.5); + // read upper nibble (tDDR > 360ns) + input = HD44780_PIN_DATA; + // Clear E +// CLRBIT(HD44780_PORT_E, HD44780_E); + LCD_E_PIN = 0; + // TcycE > 1000ns -> delay depends on PWeh delay time + // delay = TcycE - PWeh = 1000 - 500 = 500ns + _delay_us(0.5); + + // Read lower nibble + // -------------------------------- + // Set E +// 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 E +// CLRBIT(HD44780_PORT_E, HD44780_E); + LCD_E_PIN = 0; + // TcycE > 1000ns -> delay depends on PWeh delay time + // delay = TcycE - PWeh = 1000 - 500 = 500ns + _delay_us(0.5); + +// // check if DB7 is cleared +// if (!(input & (1 << HD44780_DATA7))) + 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) { - // Clear RS - HD44780_PORT_RS &= ~(1 << HD44780_RS); - - // 4bit mode - // ------------------------------------------ - if (HD44780_MODE == HD44780_4BIT_MODE) { - // send required data in required mode - HD44780_Send8bitsIn4bitMode(data); - // check busy flag - HD44780_CheckBFin4bitMode(); - // 8 bit mode - // ------------------------------------------ - } else if (HD44780_MODE == HD44780_8BIT_MODE) { - // send required data in required mode - HD44780_Send8bitsIn8bitMode(data); - // check busy flag - HD44780_CheckBFin8bitMode(); - } + // Clear RS +// HD44780_PORT_RS &= ~(1 << HD44780_RS); + LCD_RS_PIN = 0; + + // 4bit mode + // ------------------------------------------ + if (HD44780_MODE == HD44780_4BIT_MODE) { + // send required data in required mode + HD44780_Send8bitsIn4bitMode(data); + // check busy flag + HD44780_CheckBFin4bitMode(); + // 8 bit mode + // ------------------------------------------ + } else if (HD44780_MODE == HD44780_8BIT_MODE) { + // send required data in required mode + HD44780_Send8bitsIn8bitMode(data); + // check busy flag + HD44780_CheckBFin8bitMode(); + } } /** @@ -429,27 +458,29 @@ void HD44780_SendInstruction (unsigned short int data) */ void HD44780_SendData (unsigned short int data) { - // Set RS - SETBIT(HD44780_PORT_RS, HD44780_RS); - - // 4bit mode - // ------------------------------------------ - if (HD44780_MODE == HD44780_4BIT_MODE) { - // send required data in required mode - HD44780_Send8bitsIn4bitMode(data); - // check busy flag - HD44780_CheckBFin4bitMode(); - // 8 bit mode - // ------------------------------------------ - } else if (HD44780_MODE == HD44780_8BIT_MODE) { - // send required data in required mode - HD44780_Send8bitsIn8bitMode(data); - // check busy flag - HD44780_CheckBFin8bitMode(); - } - - // Clear RS - CLRBIT(HD44780_PORT_RS, HD44780_RS); + // Set RS +// SETBIT(HD44780_PORT_RS, HD44780_RS); + LCD_RS_PIN = 1; + + // 4bit mode + // ------------------------------------------ + if (HD44780_MODE == HD44780_4BIT_MODE) { + // send required data in required mode + HD44780_Send8bitsIn4bitMode(data); + // check busy flag + HD44780_CheckBFin4bitMode(); + // 8 bit mode + // ------------------------------------------ + } else if (HD44780_MODE == HD44780_8BIT_MODE) { + // send required data in required mode + HD44780_Send8bitsIn8bitMode(data); + // check busy flag + HD44780_CheckBFin8bitMode(); + } + + // Clear 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) { - // Set E - SETBIT(HD44780_PORT_E, HD44780_E); - // send data to LCD - HD44780_SetUppNibble(data); - // PWeh delay time > 450ns - _delay_us(0.5); - // Clear E - CLRBIT(HD44780_PORT_E, HD44780_E); - // TcycE > 1000ns -> delay depends on PWeh delay time - // delay = TcycE - PWeh = 1000 - 500 = 500ns - _delay_us(0.5); + // Set E +// SETBIT(HD44780_PORT_E, HD44780_E); + LCD_E_PIN = 1; + // send data to LCD + HD44780_SetUppNibble(data); + // PWeh delay time > 450ns + _delay_us(0.5); + // Clear E +// CLRBIT(HD44780_PORT_E, HD44780_E); + LCD_E_PIN = 0; + // 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) { - // Send upper nibble - // ---------------------------------- - // Set E - SETBIT(HD44780_PORT_E, HD44780_E); - // send data to LCD - HD44780_SetUppNibble(data); - // PWeh delay time > 450ns - _delay_us(0.5); - // Clear E - CLRBIT(HD44780_PORT_E, HD44780_E); - // TcycE > 1000ns -> delay depends on PWeh delay time - // delay = TcycE - PWeh = 1000 - 500 = 500ns - _delay_us(0.5); - - // Send lower nibble - // ---------------------------------- - // Set E - SETBIT(HD44780_PORT_E, HD44780_E); - // send data to LCD - HD44780_SetUppNibble(data << 4); - // PWeh delay time > 450ns - _delay_us(0.5); - // Clear E - CLRBIT(HD44780_PORT_E, HD44780_E); - // TcycE > 1000ns -> delay depends on PWeh delay time - // delay = TcycE - PWeh = 1000 - 500 = 500ns - _delay_us(0.5); + // Send upper nibble + // ---------------------------------- + // Set E +// SETBIT(HD44780_PORT_E, HD44780_E); + LCD_E_PIN = 1; + // send data to LCD + HD44780_SetUppNibble(data); + // PWeh delay time > 450ns + _delay_us(0.5); + // Clear E +// CLRBIT(HD44780_PORT_E, HD44780_E); + LCD_E_PIN = 0; + // TcycE > 1000ns -> delay depends on PWeh delay time + // delay = TcycE - PWeh = 1000 - 500 = 500ns + _delay_us(0.5); + + // Send lower nibble + // ---------------------------------- + // Set E +// SETBIT(HD44780_PORT_E, HD44780_E); + LCD_E_PIN = 1; + // send data to LCD + HD44780_SetUppNibble(data << 4); + // PWeh delay time > 450ns + _delay_us(0.5); + // Clear E +// CLRBIT(HD44780_PORT_E, HD44780_E); + LCD_E_PIN = 0; + // 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) { - // Set E - SETBIT(HD44780_PORT_E, HD44780_E); - // send data to LCD - HD44780_SetUppNibble(data); - // send data to LCD - HD44780_SetLowNibble(data); - // PWeh delay time > 450ns - _delay_us(0.5); - // Clear E - CLRBIT(HD44780_PORT_E, HD44780_E); - // TcycE > 1000ns -> delay depends on PWeh delay time - // delay = TcycE - PWeh = 1000 - 500 = 500ns - _delay_us(0.5); + // Set E + SETBIT(HD44780_PORT_E, HD44780_E); + // send data to LCD + HD44780_SetUppNibble(data); + // send data to LCD + HD44780_SetLowNibble(data); + // PWeh delay time > 450ns + _delay_us(0.5); + // Clear E + CLRBIT(HD44780_PORT_E, HD44780_E); + // TcycE > 1000ns -> delay depends on PWeh delay time + // delay = TcycE - PWeh = 1000 - 500 = 500ns + _delay_us(0.5); } /** @@ -545,16 +582,57 @@ void HD44780_Send8bitsIn8bitMode (unsigned short int data) */ void HD44780_SetUppNibble (unsigned short int data) { - // 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); } + +// LCD_DB4_PIN = 0; +// LCD_DB5_PIN = 0; +// LCD_DB6_PIN = 0; +// LCD_DB7_PIN = 0; + unsigned short test = data; + + if (data & 0x80) + { + LCD_DB7_PIN = 1; + } + else + { + LCD_DB7_PIN = 0; + } + if (data & 0x40) + { + LCD_DB6_PIN = 1; + } + else + { + LCD_DB6_PIN = 0; + } + if (data & 0x20) + { + LCD_DB5_PIN = 1; + } + else + { + LCD_DB5_PIN = 0; + } + if (data & 0x10) + { + LCD_DB4_PIN = 1; + } + else + { + LCD_DB4_PIN = 0; + } + + + // clear bits DB7-DB4 +// CLRBIT(HD44780_PORT_DATA, HD44780_DATA7); +// CLRBIT(HD44780_PORT_DATA, HD44780_DATA6); +// CLRBIT(HD44780_PORT_DATA, HD44780_DATA5); +// CLRBIT(HD44780_PORT_DATA, HD44780_DATA4); +// // set DB7-DB4 if corresponding bit is set +// if (data & 0x80) { SETBIT(HD44780_PORT_DATA, HD44780_DATA7); } +// if (data & 0x40) { SETBIT(HD44780_PORT_DATA, HD44780_DATA6); } +// if (data & 0x20) { SETBIT(HD44780_PORT_DATA, HD44780_DATA5); } +// if (data & 0x10) { SETBIT(HD44780_PORT_DATA, HD44780_DATA4); } } /** @@ -566,16 +644,16 @@ void HD44780_SetUppNibble (unsigned short int data) */ void HD44780_SetLowNibble (unsigned short int data) { - // clear bits DB7-DB4 - CLRBIT(HD44780_PORT_DATA, HD44780_DATA3); - CLRBIT(HD44780_PORT_DATA, HD44780_DATA2); - CLRBIT(HD44780_PORT_DATA, HD44780_DATA1); - CLRBIT(HD44780_PORT_DATA, HD44780_DATA0); - // set DB7-DB4 if corresponding bit is set - if (data & 0x08) { SETBIT(HD44780_PORT_DATA, HD44780_DATA3); } - if (data & 0x04) { SETBIT(HD44780_PORT_DATA, HD44780_DATA2); } - if (data & 0x02) { SETBIT(HD44780_PORT_DATA, HD44780_DATA1); } - if (data & 0x01) { SETBIT(HD44780_PORT_DATA, HD44780_DATA0); } + // clear bits DB7-DB4 + CLRBIT(HD44780_PORT_DATA, HD44780_DATA3); + CLRBIT(HD44780_PORT_DATA, HD44780_DATA2); + CLRBIT(HD44780_PORT_DATA, HD44780_DATA1); + CLRBIT(HD44780_PORT_DATA, HD44780_DATA0); + // set DB7-DB4 if corresponding bit is set + if (data & 0x08) { SETBIT(HD44780_PORT_DATA, HD44780_DATA3); } + if (data & 0x04) { SETBIT(HD44780_PORT_DATA, HD44780_DATA2); } + if (data & 0x02) { SETBIT(HD44780_PORT_DATA, HD44780_DATA1); } + if (data & 0x01) { SETBIT(HD44780_PORT_DATA, HD44780_DATA0); } } /** @@ -587,15 +665,17 @@ void HD44780_SetLowNibble (unsigned short int data) */ void HD44780_PulseE (void) { - // Set E - SETBIT(HD44780_PORT_E, HD44780_E); - // PWeh delay time > 450ns - _delay_us(0.5); - // Clear E - CLRBIT(HD44780_PORT_E, HD44780_E); - // TcycE > 1000ns -> delay depends on PWeh delay time - // delay = TcycE - PWeh = 1000 - 500 = 500ns - _delay_us(0.5); + // Set E + // SETBIT(HD44780_PORT_E, HD44780_E); + LCD_E_PIN = 1; + // PWeh delay time > 450ns + _delay_us(0.5); + // Clear E + // CLRBIT(HD44780_PORT_E, HD44780_E); + LCD_E_PIN = 0; + // 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) { - // set DB4-DB7 - SETBIT(HD44780_PORT_DATA, HD44780_DATA4); - SETBIT(HD44780_PORT_DATA, HD44780_DATA5); - SETBIT(HD44780_PORT_DATA, HD44780_DATA6); - SETBIT(HD44780_PORT_DATA, HD44780_DATA7); + // set DB4-DB7 + LCD_DB4_PIN = 1; + LCD_DB5_PIN = 1; + LCD_DB6_PIN = 1; + LCD_DB7_PIN = 1; + + // SETBIT(HD44780_PORT_DATA, HD44780_DATA4); + // SETBIT(HD44780_PORT_DATA, HD44780_DATA5); + // SETBIT(HD44780_PORT_DATA, HD44780_DATA6); + // SETBIT(HD44780_PORT_DATA, HD44780_DATA7); } /** @@ -621,13 +706,17 @@ void HD44780_SetPORT_DATA4to7 (void) * * @return void */ -void HD44780_ClearDDR_DATA4to7 (void) +void HD44780_SetDDR_DATA4to7 (void) { - // set DB4-DB7 - CLRBIT(HD44780_DDR_DATA, HD44780_DATA4); - CLRBIT(HD44780_DDR_DATA, HD44780_DATA5); - CLRBIT(HD44780_DDR_DATA, HD44780_DATA6); - CLRBIT(HD44780_DDR_DATA, HD44780_DATA7); + // set DB4-DB7 + LCD_DB4_PIN_DIR = PIN_OUTPUT; + LCD_DB5_PIN_DIR = PIN_OUTPUT; + LCD_DB6_PIN_DIR = PIN_OUTPUT; + LCD_DB7_PIN_DIR = PIN_OUTPUT; + // CLRBIT(HD44780_DDR_DATA, HD44780_DATA4); + // CLRBIT(HD44780_DDR_DATA, HD44780_DATA5); + // CLRBIT(HD44780_DDR_DATA, HD44780_DATA6); + // CLRBIT(HD44780_DDR_DATA, HD44780_DATA7); } /** @@ -637,11 +726,14 @@ void HD44780_ClearDDR_DATA4to7 (void) * * @return void */ -void HD44780_SetDDR_DATA4to7 (void) +void HD44780_ClearDDR_DATA4to7 (void) { - // set DB7-DB4 as output - SETBIT(HD44780_DDR_DATA, HD44780_DATA4); - SETBIT(HD44780_DDR_DATA, HD44780_DATA5); - SETBIT(HD44780_DDR_DATA, HD44780_DATA6); - SETBIT(HD44780_DDR_DATA, HD44780_DATA7); + LCD_DB4_PIN_DIR = PIN_INPUT; + LCD_DB5_PIN_DIR = PIN_INPUT; + LCD_DB6_PIN_DIR = PIN_INPUT; + LCD_DB7_PIN_DIR = PIN_INPUT; + // SETBIT(HD44780_DDR_DATA, HD44780_DATA4); + // SETBIT(HD44780_DDR_DATA, HD44780_DATA5); + // SETBIT(HD44780_DDR_DATA, HD44780_DATA6); + // SETBIT(HD44780_DDR_DATA, HD44780_DATA7); } diff --git a/ChaletLora.X/Source/hd44780.h b/ChaletLora.X/Source/hd44780.h index eec03c9..3025258 100644 --- a/ChaletLora.X/Source/hd44780.h +++ b/ChaletLora.X/Source/hd44780.h @@ -36,82 +36,85 @@ #define _FCPU 16000000 #endif - #if defined(__AVR_ATmega16__) + //#if defined(__AVR_ATmega16__) // E port // -------------------------------------- #ifndef HD44780_DDR_E - #define HD44780_DDR_E DDRD + #define HD44780_DDR_E TRISB #endif #ifndef HD44780_PORT_E - #define HD44780_PORT_E PORTD + #define HD44780_PORT_E PORTB #endif #ifndef HD44780_E - #define HD44780_E 3 + #define HD44780_E 12 #endif // RW port // -------------------------------------- #ifndef HD44780_DDR_RW - #define HD44780_DDR_RW DDRD + #define HD44780_DDR_RW TRISB #endif #ifndef HD44780_PORT_RW - #define HD44780_PORT_RW PORTD + #define HD44780_PORT_RW PORTB #endif #ifndef HD44780_RW - #define HD44780_RW 2 + #define HD44780_RW 13 #endif // RS port // -------------------------------------- #ifndef HD44780_DDR_RS - #define HD44780_DDR_RS DDRD + #define HD44780_DDR_RS TRISD #endif #ifndef HD44780_PORT_RS #define HD44780_PORT_RS PORTD #endif #ifndef HD44780_RS - #define HD44780_RS 1 + #define HD44780_RS 5 #endif // DATA port / pin // -------------------------------------- #ifndef HD44780_DDR_DATA - #define HD44780_DDR_DATA DDRD + #define HD44780_DDR_DATA TRISB #endif #ifndef HD44780_PORT_DATA - #define HD44780_PORT_DATA PORTD + #define HD44780_PORT_DATA PORTB #endif #ifndef HD44780_PIN_DATA - #define HD44780_PIN_DATA PIND + #define HD44780_PIN_DATA PORTB #endif // pins #ifndef HD44780_DATA7 - #define HD44780_DATA7 7 // LCD PORT DB7 + #define HD44780_DATA7 PORTBbits.RB11 // LCD PORT DB7 #endif #ifndef HD44780_DATA6 - #define HD44780_DATA6 6 // LCD PORT DB6 + #define HD44780_DATA6 10 // LCD PORT DB6 #endif #ifndef HD44780_DATA5 - #define HD44780_DATA5 5 // LCD PORT DB5 + #define HD44780_DATA5 9 // LCD PORT DB5 #endif #ifndef HD44780_DATA4 - #define HD44780_DATA4 4 // LCD PORT DB4 + #define HD44780_DATA4 3 // LCD PORT DB4 #endif #ifndef HD44780_DATA3 - #define HD44780_DATA3 3 // LCD PORT DB3 + #define HD44780_DATA3 0 // LCD PORT DB3 #endif #ifndef HD44780_DATA2 - #define HD44780_DATA2 2 // LCD PORT DB2 + #define HD44780_DATA2 0 // LCD PORT DB2 #endif #ifndef HD44780_DATA1 - #define HD44780_DATA1 1 // LCD PORT DB1 + #define HD44780_DATA1 0 // LCD PORT DB1 #endif #ifndef HD44780_DATA0 #define HD44780_DATA0 0 // LCD PORT DB0 #endif - #endif + // #endif + +#define _delay_ms(x) Sleep(x) +#define _delay_us(x) Sleep(1) #define BIT7 0x80 #define BIT6 0x40 diff --git a/ChaletLora.X/Source/main.c b/ChaletLora.X/Source/main.c index 4b0c5d4..08fd0d4 100644 --- a/ChaletLora.X/Source/main.c +++ b/ChaletLora.X/Source/main.c @@ -41,9 +41,12 @@ #include "SPI_Flash.h" #include "TemperatureSensor.h" #include "LoraWatchdog.h" +#include "LCDCtrl.h" #include "BootloaderInterface.h" +#include "hd44780.h" + //#define NO_WIFI #ifndef NO_WIFI @@ -102,6 +105,10 @@ int main(void) InitLoraWatchdog(); InitSPIFlash(); + InitLCDCtrl(); + + + #ifdef USE_SYSLOG InitSyslog(); @@ -181,6 +188,8 @@ int main(void) EnableWatchdog(); KickWatchdog(); mRetCode = 1; + + while(mRetCode == 1) { @@ -198,11 +207,20 @@ int main(void) TickTempSensor(); BootloaderInterfaceTick(); TickLoraWatchdog(); + TickLCDCtrl(); if(IsTimerExpired(HEARTBEAT_LED_TMR)) { HEARTBEAT_LED_2_PIN = ~HEARTBEAT_LED_2_PIN; TimerStart(HEARTBEAT_LED_TMR,HEARTBEAT_LED_TIMEOUT); + +// HD44780_DisplayClear(); +// HD44780_PositionXY(0, 0); +// // send char +// HD44780_DrawString("DISPLAY ON"); +// // display clear +// HD44780_DisplayOn(); + } } diff --git a/ChaletLora.X/Source/timer.h b/ChaletLora.X/Source/timer.h index e2cd076..722970e 100644 --- a/ChaletLora.X/Source/timer.h +++ b/ChaletLora.X/Source/timer.h @@ -50,6 +50,7 @@ typedef enum TEMP_SENSOR_REFRESH_TIMER, BOOTLOADER_FLASH_POLL_TIMER, LORA_WATCHDOG_TIMER, + LCD_CTRL_TIMER, TIMER_MAX_ID }eTimerID; diff --git a/ChaletLora.X/Source/versionbuild.h b/ChaletLora.X/Source/versionbuild.h index ac6b02b..b5fc123 100644 --- a/ChaletLora.X/Source/versionbuild.h +++ b/ChaletLora.X/Source/versionbuild.h @@ -1,4 +1,4 @@ -#define VERSIONNUMBER "CHALET_V01.00.2" //shall be 15 chars... +#define VERSIONNUMBER "CHALET_V01.00.3" //shall be 15 chars... //Force DHCP instead of static IP. //#define VERSIONNUMBER "CHALET_V01.00.1" //shall be 15 chars... diff --git a/ChaletLora.X/dist/ChaletDuinoV2_795F512H_/production/ChaletLora.X.production.elf b/ChaletLora.X/dist/ChaletDuinoV2_795F512H_/production/ChaletLora.X.production.elf index 4443bce24ad99fdffbd0ab8759251c67cacf5ae1..88bf4ccaba831fb07a4802e205a8b91b47025f4f 100644 GIT binary patch delta 272649 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

8P@=Tj0l*bF;~p9AN~`r&?fT0d)H#=lL!j}VY4 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 delta 246713 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%0DRXWfDs5MYN{K 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/FlashMapping.h Source/checksum.h Source/LoraWatchdog.h + Source/hd44780.h + Source/LCDCtrl.h Source/timer.c Source/WiFiCtrl.c Source/SPI.c - Source/LoraNetworkInterface.c Source/ChaletPowerRelay.c Source/HarakiriRelay.c Source/BatteryMonitor.c @@ -187,6 +188,9 @@ Source/BootloaderProtocol.c Source/crc32.c Source/LoraWatchdog.c + Source/hd44780.c + Source/LCDCtrl.c + Source/LoraNetworkInterface.c + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ChaletLora.X/nbproject/private/private.xml b/ChaletLora.X/nbproject/private/private.xml index 371fb63..5e10070 100644 --- a/ChaletLora.X/nbproject/private/private.xml +++ b/ChaletLora.X/nbproject/private/private.xml @@ -1,6 +1,6 @@ - + Source/BootloaderInterface.c @@ -14,6 +14,14 @@ + + Source/hd44780.c + + + 340 + + +