Version en service lors de la fermeture du chalet

This commit is contained in:
jfmartel 2021-10-27 19:11:44 -04:00
parent cff11a8401
commit 997f9d29cb
13 changed files with 8977 additions and 8889 deletions

View File

@ -13,6 +13,8 @@ int mBatterySOC;
float mVoltageMeanSum; float mVoltageMeanSum;
int mVoltageMeanCount; int mVoltageMeanCount;
int mCurrentMeanSum;
int mCurrentMeanCount;
bool mCurrentModuleOK; bool mCurrentModuleOK;
void InitBatteryMonitor() void InitBatteryMonitor()
@ -20,6 +22,8 @@ void InitBatteryMonitor()
mBatteryVoltage = 0; mBatteryVoltage = 0;
mBatteryCurrent = 0; mBatteryCurrent = 0;
mBatterySOC = 0; mBatterySOC = 0;
mVoltageMeanCount = 0;
mCurrentMeanCount = 0;
mCurrentModuleOK = true; mCurrentModuleOK = true;
TimerStart(BATTERY_MONITOR_TIMER,100); TimerStart(BATTERY_MONITOR_TIMER,100);
@ -43,9 +47,10 @@ void BatteryMonitorTick()
static int NetworkSendCounter; //Every second (10 counts) we want to send the battery data. static int NetworkSendCounter; //Every second (10 counts) we want to send the battery data.
if(IsTimerExpired(BATTERY_MONITOR_TIMER)) if(IsTimerExpired(BATTERY_MONITOR_TIMER))
{ {
int adc; unsigned int adc;
float conv, raw; double conv, raw;
AD1CHSbits.CH0SA = 1; //AN1
AD1CON1bits.SAMP = 0; AD1CON1bits.SAMP = 0;
while(AD1CON1bits.DONE == 0); while(AD1CON1bits.DONE == 0);
adc = ADC1BUF0; adc = ADC1BUF0;
@ -83,14 +88,43 @@ void BatteryMonitorTick()
mCurrentModuleOK = false; mCurrentModuleOK = false;
} }
} }
else
{
AD1CHSbits.CH0SA = 2; //AN2
AD1CON1bits.SAMP = 0;
while(AD1CON1bits.DONE == 0);
adc = ADC1BUF0;
AD1CON1bits.SAMP = 1;
// adc &= 0xFFFE;
// if(NetworkSendCounter++ == 10) //40mV/A
// {
// NetworkSendCounter = 0; conv = (double)adc * 1.0;
// SendNetworkBatteryData(); conv /= 1023;
// } conv *= 3.3; //Volts
conv /= 0.04; //Amps (40mV/A)
raw = conv;
//avoid rollovers in case the LORA network gets disconnected.
//This could go for a long time but 5000 samples is too much anyways.
if(mCurrentMeanCount >= 500)
{
mCurrentMeanCount = 0;
mCurrentMeanSum = adc;
}
else
{
mCurrentMeanCount++;
mCurrentMeanSum += adc;
} }
mBatteryCurrent = adc;
}
}
} }
float GetBatteryVoltage() float GetBatteryVoltage()
@ -99,12 +133,17 @@ float GetBatteryVoltage()
mVoltageMeanSum = 0.0; mVoltageMeanSum = 0.0;
mVoltageMeanCount = 0; mVoltageMeanCount = 0;
return mBatteryVoltage; return mBatteryVoltage;
} }
int GetSolarPanelCurrent() int GetSolarPanelCurrent()
{ {
//mBatteryCurrent = (mCurrentMeanSum/mCurrentMeanCount);
mVoltageMeanCount = 0;
mCurrentMeanSum = 0.0;
return mBatteryCurrent; return mBatteryCurrent;
} }

View File

@ -84,7 +84,9 @@ int InitBoard()
AD1PCFG = 0xFFFF; //Sart with I/O pins configured as digital I/O AD1PCFG = 0xFFFF; //Sart with I/O pins configured as digital I/O
AD1PCFGbits.PCFG1 = 0; AD1PCFGbits.PCFG1 = 0;
AD1PCFGbits.PCFG2 = 0;
TRISBbits.TRISB1 = PIN_INPUT; TRISBbits.TRISB1 = PIN_INPUT;
TRISBbits.TRISB2 = PIN_INPUT;
AD1CON1 = 0; AD1CON1 = 0;
AD1CON2 = 0; AD1CON2 = 0;

View File

@ -13,6 +13,7 @@
#include "SPI_Flash.h" #include "SPI_Flash.h"
#include "FlashMapping.h" #include "FlashMapping.h"
#include "LoraWatchdog.h" #include "LoraWatchdog.h"
#include "versionbuild.h"
//#include "WiFiCtrl.h" //#include "WiFiCtrl.h"
// //
@ -26,6 +27,7 @@
//}; //};
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;
void ExecuteMasterCommand(int Command, unsigned char *Data) void ExecuteMasterCommand(int Command, unsigned char *Data)
{ {
@ -221,6 +223,11 @@ void ExecuteMasterCommand(int Command, unsigned char *Data)
SendLoraNetworkCommand(CHALET_SET_STORED_WIFI_SETTINGS_RESPONSE,&response,1); SendLoraNetworkCommand(CHALET_SET_STORED_WIFI_SETTINGS_RESPONSE,&response,1);
break; break;
} }
case CHALET_GET_FIRMWARE_VERSION_REQUEST:
{
SendLoraNetworkCommand(CHALET_GET_FIRMWARE_VERSION_RESPONSE,(unsigned char*)mFirmwareVersion,15);
break;
}
} }
} }

View File

@ -296,6 +296,8 @@ enum CHALET_CMDS
CHALET_GET_STORED_WIFI_SETTINGS_RESPONSE, CHALET_GET_STORED_WIFI_SETTINGS_RESPONSE,
CHALET_SET_STORED_WIFI_SETTINGS_REQUEST, CHALET_SET_STORED_WIFI_SETTINGS_REQUEST,
CHALET_SET_STORED_WIFI_SETTINGS_RESPONSE, CHALET_SET_STORED_WIFI_SETTINGS_RESPONSE,
CHALET_GET_FIRMWARE_VERSION_REQUEST,
CHALET_GET_FIRMWARE_VERSION_RESPONSE,
MAX_CHALET_CMD MAX_CHALET_CMD
}; };

View File

@ -61,7 +61,7 @@ struct sockaddr_in addr_in;
tstrM2MIPConfig mModuleIPConfig; tstrM2MIPConfig mModuleIPConfig;
bool mWiFiInitOK = false; bool mWiFiInitOK = false;
char mWiFiState = WIFI_UNKNOWN_STATE; char mWiFiState = WIFI_MODULE_OFF_STATE; //JFM wifi module is always OFF at boot...
/** /**
@ -324,6 +324,11 @@ static void wifi_cb(uint8 u8MsgType, void *pvMsg)
case M2M_WIFI_REQ_DHCP_CONF: case M2M_WIFI_REQ_DHCP_CONF:
{ {
uint8 *pu8IPAddress = (uint8 *)pvMsg; uint8 *pu8IPAddress = (uint8 *)pvMsg;
// unsigned char ip1,ip2,ip3,ip4;
// ip1 = pu8IPAddress[0];
// ip2 = pu8IPAddress[1];
// ip3 = pu8IPAddress[2];
// ip4 = pu8IPAddress[3];
/* Turn LED0 on to declare that IP address received. */ /* 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]); printf("Wi-Fi IP is %u.%u.%u.%u\r\n", pu8IPAddress[0], pu8IPAddress[1], pu8IPAddress[2], pu8IPAddress[3]);
gbConnectedWifi = true; gbConnectedWifi = true;
@ -584,7 +589,7 @@ void TickWiFi()
OpenTerminalServer(); OpenTerminalServer();
//OpenNetworkServer(); //OpenNetworkServer();
// OpenBootloaderServer(); // OpenBootloaderServer();
BootloaderActivateBootloader(); // BootloaderActivateBootloader();
#ifdef USE_SYSLOG #ifdef USE_SYSLOG
OpenSyslogServer(); OpenSyslogServer();
#endif #endif

View File

@ -101,11 +101,13 @@ int IsBootloaderClientConnected();
//Acces Point settings //Acces Point settings
#define HOME_AP_SEC_TYPE M2M_WIFI_SEC_WPA_PSK #define HOME_AP_SEC_TYPE M2M_WIFI_SEC_WPA_PSK
#define HOME_AP_NAME "ImprVEmard" //#define HOME_AP_NAME "ImprVEmard"
#define HOME_AP_PWD "12345fffff" //#define HOME_AP_PWD "12345fffff"
//#define HOME_AP_NAME "ChaletVilleEmard" //#define HOME_AP_NAME "ChaletVilleEmard"
//#define HOME_AP_NAME "LeChalet" //#define HOME_AP_NAME "ElRouteurDuChalet"
//#define HOME_AP_PWD "Evinrude30" #define HOME_AP_NAME "LeChalet"
#define HOME_AP_PWD "Evinrude30"
#define TERMINAL_SERVER_PORT 85 #define TERMINAL_SERVER_PORT 85
#define NETWORK_SERVER_PORT 86 #define NETWORK_SERVER_PORT 86

View File

@ -137,7 +137,7 @@ int main(void)
#ifndef NO_WIFI #ifndef NO_WIFI
InitTerminal(); InitTerminal();
InitWiFi(); // InitWiFi();
#endif #endif

View File

@ -1,2 +1,2 @@
#define VERSIONNUMBER "ENG00.01" #define VERSIONNUMBER "CHALET_V01.00.1" //shall be 15 chars...
#define BUILDNUMBER "1" //#define VERSIONNUMBER "-__--TEST--__" //shall be 15 chars...

View File

@ -1,5 +1,5 @@
# #
#Tue Oct 12 11:25:56 EDT 2021 #Wed Oct 20 12:56:19 EDT 2021
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

View File

@ -17,10 +17,10 @@
</editor-bookmarks> </editor-bookmarks>
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2"> <open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
<group> <group>
<file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/main.c</file> <file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/ProtocolDefs.h</file>
<file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/LoraWatchdog.c</file>
<file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/LoraNetworkInterface.c</file> <file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/LoraNetworkInterface.c</file>
<file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/LoraWatchdog.h</file> <file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/WiFiCtrl.h</file>
<file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/versionbuild.h</file>
</group> </group>
</open-files> </open-files>
</project-private> </project-private>