94 lines
2.4 KiB
C
94 lines
2.4 KiB
C
#include "NetworkInterface.h"
|
|
#include "ProtocolDefs.h"
|
|
#include "NetworkProtocol.h"
|
|
#include "InternalUart.h"
|
|
#include "define.h"
|
|
#include "BoardCfg.h"
|
|
#include "Uart.h"
|
|
#include "SPI_Flash.h"
|
|
#include "FlashMapping.h"
|
|
#include "versionbuild.h"
|
|
#include "WiFiCtrl.h"
|
|
#include "LoraInterface.h"
|
|
//
|
|
|
|
//enum eWiFiState
|
|
//{
|
|
// WIFI_MODULE_OFF_STATE = 0,
|
|
// WIFI_CONNECTED_STATE,
|
|
// WIFI_DISCONNECTED_STATE,
|
|
// WIFI_INIT_ERROR_STATE,
|
|
// WIFI_UNKNOWN_STATE
|
|
//};
|
|
unsigned char mLoraPreamble[3]={0x00,LORA_MASTER_ADDRESS,LORA_CHANNEL};
|
|
|
|
static const char mFirmwareVersion[15] = VERSIONNUMBER;
|
|
unsigned int mTotalMasterNbRequests = 0;
|
|
|
|
void ExecuteMasterCommand(int Command, unsigned char *Data, int DataSize)
|
|
{
|
|
//Whatever was the command, we are online...
|
|
LORA_MODULE_RX_LED_PIN = LED_OFF;
|
|
// KickLoraWatchdog();
|
|
// printf("EXEC\n\n");
|
|
// ChaletPowerRelayKickTimer();
|
|
mTotalMasterNbRequests++;
|
|
switch(Command)
|
|
{
|
|
case LORA_IF_GET_STATUS_REQUEST:
|
|
{
|
|
char ModuleModel = LORA_MODULE_MODEL;
|
|
|
|
SendNetworkCommand(LORA_IF_GET_STATUS_RESPONSE,&ModuleModel,1);
|
|
break;
|
|
}
|
|
case LORA_IF_SEND_FRAME_REQUEST:
|
|
{
|
|
break;
|
|
}
|
|
case LORA_IF_GET_MODULE_CONFIG_REQUEST:
|
|
{
|
|
break;
|
|
}
|
|
case LORA_IF_GET_RSSI_REQUEST:
|
|
{
|
|
break;
|
|
}
|
|
case LORA_IF_SET_MODULE_CONFIG_REQUEST:
|
|
{
|
|
break;
|
|
}
|
|
case LORA_IF_SET_MODULE_CONFIG_RESPONSE:
|
|
case LORA_IF_GET_RSSI_RESPONSE:
|
|
case LORA_IF_GET_MODULE_CONFIG_RESPONSE:
|
|
case LORA_IF_NEW_FRAME_RESPONSE:
|
|
case LORA_IF_SEND_FRAME_RESPONSE:
|
|
case LORA_IF_GET_STATUS_RESPONSE:
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
void SendNetworkCommand(int Command, unsigned char *Data, unsigned int DataSize)
|
|
{
|
|
unsigned char *Payload;
|
|
unsigned int PayloadSize;
|
|
Payload = ProtocolGetFrame(ID_MASTER,MASTER_ADDRESS,ID_LORA_INTERFACE,Command,Data,DataSize,0,&PayloadSize);
|
|
|
|
UartTransmitData(NETWORK_UART_PORT,Payload,PayloadSize);
|
|
|
|
}
|
|
|
|
void SendNetworkCommandBlocking(int Command, unsigned char *Data, unsigned int DataSize)
|
|
{
|
|
unsigned char *Payload;
|
|
unsigned int PayloadSize;
|
|
//unsigned char DestDevice,unsigned char DestAddress, unsigned char SenderDevice, unsigned char Cmd, unsigned char *Data,unsigned int Size,unsigned char Flags, int *FrameSize)
|
|
Payload = ProtocolGetFrame(ID_MASTER,MASTER_ADDRESS,ID_LORA_INTERFACE,Command,Data,DataSize,0,&PayloadSize);
|
|
|
|
SendInternalUartDataBlocking(Payload,PayloadSize,NETWORK_UART_PORT);
|
|
}
|
|
|