This commit is contained in:
jfmartel 2025-02-19 18:23:12 -05:00
parent b15e0a8de3
commit 989b66940d
23 changed files with 7457 additions and 7261 deletions

8
.gitignore vendored
View File

@ -11,3 +11,11 @@
/AudioConsole.X/build/ChaletDuinoV2_795F512H_/production/Source/Terminal.o /AudioConsole.X/build/ChaletDuinoV2_795F512H_/production/Source/Terminal.o
/AudioConsole.X/build/ChaletDuinoV2_795F512H_/production/Source/WiFiCtrl.o /AudioConsole.X/build/ChaletDuinoV2_795F512H_/production/Source/WiFiCtrl.o
/AudioConsole.X/build/ChaletDuinoV2_795F512H_/production/Source/BootloaderInterface.o /AudioConsole.X/build/ChaletDuinoV2_795F512H_/production/Source/BootloaderInterface.o
/AudioConsole.X/build/ChaletDuinoV2_795F512H_/production/Source/BootloaderInterface.o
/AudioConsole.X/build/ChaletDuinoV2_795F512H_/production/Source/BootloaderProtocol.o
/AudioConsole.X/build/ChaletDuinoV2_795F512H_/production/Source/main.o
/AudioConsole.X/build/ChaletDuinoV2_795F512H_/production/Source/NetworkProtocol.o
/AudioConsole.X/build/ChaletDuinoV2_795F512H_/production/Source/Syslog.o
/AudioConsole.X/build/ChaletDuinoV2_795F512H_/production/Source/Terminal.o
/AudioConsole.X/build/ChaletDuinoV2_795F512H_/production/Source/WiFiCtrl.o
/AudioConsole.X/build/ChaletDuinoV2_795F512H_/production/Source/WiFiCtrl.o.d

View File

@ -8,3 +8,94 @@
#include <stdio.h> #include <stdio.h>
void AudioConsoleIFExecuteMasterCommand(int SenderID, int Command, unsigned char *Data, int DataSize)
{
switch(Command)
{
case AV_RECEIVER_INTERFACE_ACK:
{
break;
}
case AV_RECEIVER_INTERFACE_GENERAL_STATUS_RESPONSE:
{
break;
}
case AV_RECEIVER_INTERFACE_SET_MAIN_POWER_RESPONSE:
{
break;
}
case AV_RECEIVER_INTERFACE_SET_ZONE2_RESPONSE:
{
break;
}
case AV_RECEIVER_INTERFACE_SET_MAIN_ZONE_RESPONSE:
{
break;
}
case AV_RECEIVER_INTERFACE_SET_SPEAKERS_RESPONSE:
{
break;
}
case AV_RECEIVER_INTERFACE_SEND_DIRECT_CMD_RESPONSE:
{
break;
}
case AV_RECEIVER_INTERFACE_SELECT_SCENE_RESPONSE:
{
break;
}
case AV_RECEIVER_INTERFACE_SET_MAIN_VOLUME_RESPONSE:
{
break;
}
case AV_RECEIVER_INTERFACE_SET_ZONE2_VOLUME_RESPONSE:
{
break;
}
case AV_RECEIVER_INTERFACE_SET_ZONE2_INPUT_RESPONSE:
{
break;
}
case AV_RECEIVER_INTERFACE_SET_SYNC_Z2_WITH_Z1_RESPONSE:
{
break;
}
case ETH_NETWK_DEVICE_INFO_REQUEST:
{
char data[2];
data[0] = ID_AVRECEIVER_CONSOLE_INTERFACE;
data[1] = MY_DEVICE_ADDRESS;
int PayloadSize;
unsigned char *response = ProtocolGetFrame(ID_MASTER,MASTER_ADDRESS,ID_ETHERNET_VIRTUAL,ETH_NETWK_DEVICE_INFO_RESPONSE, data,2,0, &PayloadSize);
SendAudioInterfaceData((char*)response,PayloadSize);
break;
}
case ETH_NETWK_SET_DEVICE_INFO_ACK:
{
// LTENetworInterfaceExecSM(LTE_NWI_MASTER_CONNECTED_EVENT);
break;
}
case ETH_NETWK_CONNECTION_REFUSED:
{
break;
}
case AV_RECEIVER_INTERFACE_GENERAL_STATUS_REQUEST:
case AV_RECEIVER_INTERFACE_SET_MAIN_POWER_REQUEST:
case AV_RECEIVER_INTERFACE_SET_ZONE2_REQUEST:
case AV_RECEIVER_INTERFACE_SET_MAIN_ZONE_REQUEST:
case AV_RECEIVER_INTERFACE_SET_SPEAKERS_REQUEST:
case AV_RECEIVER_INTERFACE_SEND_DIRECT_CMD_REQUEST:
case AV_RECEIVER_INTERFACE_SELECT_SCENE_REQUEST:
case AV_RECEIVER_INTERFACE_SET_MAIN_VOLUME_REQUEST:
case AV_RECEIVER_INTERFACE_SET_ZONE2_VOLUME_REQUEST:
case AV_RECEIVER_INTERFACE_SET_ZONE2_INPUT_REQUEST:
case AV_RECEIVER_INTERFACE_SET_SYNC_Z2_WITH_Z1_REQUEST:
default:
{
}
}
}

View File

@ -15,11 +15,10 @@ enum eAudioConsoleIFConnectionStates
AUDIO_CONSOLE_IF_CONNECTED AUDIO_CONSOLE_IF_CONNECTED
}; };
int InitAudioConsoleInterface(void); int AudioConsoleInterfaceInit(void);
int AudioConsoleIFConnectToMasterCtrl(void);
void TickAudioConsoleInterface(void); void TickAudioConsoleInterface(void);
void AudioConsoleInterfaceSM(int Event); void AudioConsoleInterfaceSM(int Event);
void NewAudioConsoleIFMsgReceived(char* Message); void AudioConsoleIFExecuteMasterCommand(int SenderID, int Command, unsigned char *Data, int DataSize);
//bool SendFrame(unsigned char DestDevice,unsigned char DestAddress, unsigned char SenderDevice, unsigned char Cmd, unsigned char *Data,unsigned int Size,unsigned char Flags); //bool SendFrame(unsigned char DestDevice,unsigned char DestAddress, unsigned char SenderDevice, unsigned char Cmd, unsigned char *Data,unsigned int Size,unsigned char Flags);

View File

@ -29,7 +29,7 @@ unsigned int BootloaderCRC = 0;
unsigned int BtldrComputedCRC = CRC_START_32; unsigned int BtldrComputedCRC = CRC_START_32;
unsigned char *BootloaderRxPtr; unsigned char *BootloaderRxPtr;
unsigned char BootloaderCommand = 0; unsigned char BootloaderCommand = 0;
unsigned char BootloaderState = RxHeader1; unsigned char BootloaderState = BLRxHeader1;
const unsigned char *BootloaderDataStartPtr = &BootloaderBuffer[9]; const unsigned char *BootloaderDataStartPtr = &BootloaderBuffer[9];
@ -45,17 +45,17 @@ void BootloaderProtocolStateMachine(unsigned char Data)
{ {
switch(BootloaderState) switch(BootloaderState)
{ {
case Initialization: //Reset all pointers and data... case BLInitialization: //Reset all pointers and data...
{ {
BootloaderDataSize = 0; BootloaderDataSize = 0;
BootloaderBufPtr = 0; BootloaderBufPtr = 0;
BootloaderCommand = 0; BootloaderCommand = 0;
BootloaderCRC = 0; BootloaderCRC = 0;
BootloaderState = RxHeader1; BootloaderState = BLRxHeader1;
BtldrComputedCRC = CRC_START_32; BtldrComputedCRC = CRC_START_32;
break; break;
} }
case RxHeader1: //Wait for data header... case BLRxHeader1: //Wait for data header...
{ {
BootloaderHeader <<= 8; BootloaderHeader <<= 8;
BootloaderHeader += Data; //0xDE BootloaderHeader += Data; //0xDE
@ -63,7 +63,7 @@ void BootloaderProtocolStateMachine(unsigned char Data)
if(Data == BOOTLOADER_FRAME_HEADER_1) if(Data == BOOTLOADER_FRAME_HEADER_1)
{ {
BootloaderState = RxHeader2; BootloaderState = BLRxHeader2;
} }
else else
{ {
@ -71,7 +71,7 @@ void BootloaderProtocolStateMachine(unsigned char Data)
} }
break; break;
} }
case RxHeader2: //Wait for data header... case BLRxHeader2: //Wait for data header...
{ {
BootloaderHeader <<= 8; BootloaderHeader <<= 8;
BootloaderHeader += Data; //0xAD BootloaderHeader += Data; //0xAD
@ -79,7 +79,7 @@ void BootloaderProtocolStateMachine(unsigned char Data)
if(Data == BOOTLOADER_FRAME_HEADER_2) if(Data == BOOTLOADER_FRAME_HEADER_2)
{ {
BootloaderState = RxHeader3; BootloaderState = BLRxHeader3;
} }
else else
{ {
@ -87,7 +87,7 @@ void BootloaderProtocolStateMachine(unsigned char Data)
} }
break; break;
} }
case RxHeader3: //Wait for data header... case BLRxHeader3: //Wait for data header...
{ {
BootloaderHeader <<= 8; BootloaderHeader <<= 8;
BootloaderHeader += Data; //0xBE BootloaderHeader += Data; //0xBE
@ -95,7 +95,7 @@ void BootloaderProtocolStateMachine(unsigned char Data)
if(Data == BOOTLOADER_FRAME_HEADER_3) if(Data == BOOTLOADER_FRAME_HEADER_3)
{ {
BootloaderState = RxHeader4; BootloaderState = BLRxHeader4;
} }
else else
{ {
@ -103,7 +103,7 @@ void BootloaderProtocolStateMachine(unsigned char Data)
} }
break; break;
} }
case RxHeader4: //Wait for data header... case BLRxHeader4: //Wait for data header...
{ {
BootloaderHeader <<= 8; BootloaderHeader <<= 8;
BootloaderHeader += Data; //0xEF BootloaderHeader += Data; //0xEF
@ -117,44 +117,44 @@ void BootloaderProtocolStateMachine(unsigned char Data)
} }
else else
{ {
BootloaderState = RxCmd; BootloaderState = BLRxCmd;
} }
break; break;
} }
case RxCmd: case BLRxCmd:
{ {
BootloaderCommand = Data; BootloaderCommand = Data;
BootloaderState = RxPayloadSize1; BootloaderState = BLRxPayloadSize1;
BtldrComputedCRC = update_crc_32(BtldrComputedCRC,Data); BtldrComputedCRC = update_crc_32(BtldrComputedCRC,Data);
break; break;
} }
case RxPayloadSize1: case BLRxPayloadSize1:
{ {
BootloaderDataSize = Data; BootloaderDataSize = Data;
BootloaderState = RxPayloadSize2; BootloaderState = BLRxPayloadSize2;
BtldrComputedCRC = update_crc_32(BtldrComputedCRC,Data); BtldrComputedCRC = update_crc_32(BtldrComputedCRC,Data);
break; break;
} }
case RxPayloadSize2: case BLRxPayloadSize2:
{ {
BootloaderDataSize <<= 8; BootloaderDataSize <<= 8;
BootloaderDataSize += Data; BootloaderDataSize += Data;
BtldrComputedCRC = update_crc_32(BtldrComputedCRC,Data); BtldrComputedCRC = update_crc_32(BtldrComputedCRC,Data);
BootloaderState = RxPayloadSize3; BootloaderState = BLRxPayloadSize3;
break; break;
} }
case RxPayloadSize3: case BLRxPayloadSize3:
{ {
BootloaderDataSize <<= 8; BootloaderDataSize <<= 8;
BootloaderDataSize += Data; BootloaderDataSize += Data;
BtldrComputedCRC = update_crc_32(BtldrComputedCRC,Data); BtldrComputedCRC = update_crc_32(BtldrComputedCRC,Data);
BootloaderState = RxPayloadSize4; BootloaderState = BLRxPayloadSize4;
break; break;
} }
case RxPayloadSize4: case BLRxPayloadSize4:
{ {
BootloaderDataSize <<= 8; BootloaderDataSize <<= 8;
BootloaderDataSize += Data; BootloaderDataSize += Data;
@ -169,15 +169,15 @@ void BootloaderProtocolStateMachine(unsigned char Data)
if(BootloaderDataSize == 0) if(BootloaderDataSize == 0)
{ {
BootloaderState = RxCRC1; BootloaderState = BLRxCRC1;
} }
else else
{ {
BootloaderState = RxPayload; BootloaderState = BLRxPayload;
} }
break; break;
} }
case RxPayload: //Data size case BLRxPayload: //Data size
{ {
*BootloaderRxPtr = Data; *BootloaderRxPtr = Data;
BootloaderRxPtr++; BootloaderRxPtr++;
@ -187,33 +187,33 @@ void BootloaderProtocolStateMachine(unsigned char Data)
if(BootloaderDataCtr == BootloaderDataSize) if(BootloaderDataCtr == BootloaderDataSize)
{ {
BootloaderState = RxCRC1; BootloaderState = BLRxCRC1;
break; break;
} }
break; break;
} }
case RxCRC1: //Data size case BLRxCRC1: //Data size
{ {
BootloaderCRC = Data; BootloaderCRC = Data;
BootloaderState = RxCRC2; BootloaderState = BLRxCRC2;
break; break;
} }
case RxCRC2: //Data size case BLRxCRC2: //Data size
{ {
BootloaderCRC <<= 8; BootloaderCRC <<= 8;
BootloaderCRC += Data; BootloaderCRC += Data;
BootloaderState = RxCRC3; BootloaderState = BLRxCRC3;
break; break;
} }
case RxCRC3: //Data size case BLRxCRC3: //Data size
{ {
BootloaderCRC <<= 8; BootloaderCRC <<= 8;
BootloaderCRC += Data; BootloaderCRC += Data;
BootloaderState = RxCRC4; BootloaderState = BLRxCRC4;
break; break;
} }
case RxCRC4: //Data size case BLRxCRC4: //Data size
{ {
BootloaderCRC <<= 8; BootloaderCRC <<= 8;
BootloaderCRC += Data; BootloaderCRC += Data;
@ -257,7 +257,7 @@ void BootloaderProtocolResetStateMachine()
BootloaderBufPtr = 0; BootloaderBufPtr = 0;
BootloaderCommand = 0; BootloaderCommand = 0;
BootloaderCRC = 0; BootloaderCRC = 0;
BootloaderState = RxHeader1; BootloaderState = BLRxHeader1;
BootloaderDataCtr = 0; BootloaderDataCtr = 0;
BtldrComputedCRC = CRC_START_32; BtldrComputedCRC = CRC_START_32;
BootloaderRxPtr = &BootloaderBuffer[0]; BootloaderRxPtr = &BootloaderBuffer[0];

View File

@ -26,23 +26,23 @@ jean-francois.martel@polymtl.ca
#define BOOTLOADER_FRAME_HEADER_4 0xEF #define BOOTLOADER_FRAME_HEADER_4 0xEF
#define PROTOCOL_INFO_DATA_SIZE 13 //Header + Cmd + Size + CRC = 13 bytes #define PROTOCOL_INFO_DATA_SIZE 13 //Header + Cmd + Size + CRC = 13 bytes
//State Machine states //State Machine states
enum States enum BLStates
{ {
Initialization, BLInitialization,
RxHeader1, BLRxHeader1,
RxHeader2, BLRxHeader2,
RxHeader3, BLRxHeader3,
RxHeader4, BLRxHeader4,
RxCmd, BLRxCmd,
RxPayloadSize1, BLRxPayloadSize1,
RxPayloadSize2, BLRxPayloadSize2,
RxPayloadSize3, BLRxPayloadSize3,
RxPayloadSize4, BLRxPayloadSize4,
RxPayload, BLRxPayload,
RxCRC1, BLRxCRC1,
RxCRC2, BLRxCRC2,
RxCRC3, BLRxCRC3,
RxCRC4 BLRxCRC4
}; };
enum eBootloaderProtocolDataTransferError enum eBootloaderProtocolDataTransferError

View File

@ -27,8 +27,8 @@ static char MyDeviceID = ID_SPRINKLER_DEVICE;
char mFrameData[MAX_MESSAGE_SIZE+10]; char mFrameData[MAX_MESSAGE_SIZE+10];
ProtocolData_t mLoraProtocolData; ProtocolData_t mAudioConsoleIFProtocolData;
ProtocolData_t mLTEProtocolData; ProtocolData_t mMasterCtrlIFData;
void ProtocolInit(int User) void ProtocolInit(int User)
@ -36,14 +36,14 @@ void ProtocolInit(int User)
ProtocolData_t *DataStruct; ProtocolData_t *DataStruct;
switch(User) switch(User)
{ {
case NETWORK_PROTOCOL_USER_LORA: case NETWORK_PROTOCOL_USER_AUDIO_CONSOLE_IF:
{ {
DataStruct = &mLoraProtocolData; DataStruct = &mAudioConsoleIFProtocolData;
break; break;
} }
case NETWORK_PROTOCOL_USER_LTE: case NETWORK_PROTOCOL_USER_MASTER_CTRL_IF:
{ {
DataStruct = &mLTEProtocolData; DataStruct = &mMasterCtrlIFData;
break; break;
} }
default: default:
@ -214,11 +214,11 @@ void StateMachine(unsigned char Data,ProtocolData_t *ProtocolData )
break; break;
} }
// NewMasterMessageReceived(mRxData); // NewMasterMessageReceived(mRxData);
if(ProtocolData == &mLoraProtocolData) if(ProtocolData == &mAudioConsoleIFProtocolData)
{ {
// ExecuteLoraMasterCommand(ProtocolData->Command,ProtocolMsgDataPtr(ProtocolData),ProtocolData->DataSize); // ExecuteLoraMasterCommand(ProtocolData->Command,ProtocolMsgDataPtr(ProtocolData),ProtocolData->DataSize);
} }
else if(ProtocolData == &mLTEProtocolData) else if(ProtocolData == &mMasterCtrlIFData)
{ {
// ExecuteLTEMasterCommand(ProtocolData->SenderID, ProtocolData->Command,ProtocolMsgDataPtr(ProtocolData),ProtocolData->DataSize); // ExecuteLTEMasterCommand(ProtocolData->SenderID, ProtocolData->Command,ProtocolMsgDataPtr(ProtocolData),ProtocolData->DataSize);
} }
@ -232,20 +232,28 @@ void StateMachine(unsigned char Data,ProtocolData_t *ProtocolData )
} }
} }
} }
void ProtocolAnalyzeBuffer(unsigned char *Data, int size, int User)
{
int i = 0;
for(i = 0; i < size; i++)
{
ProtocolAnalyzeNewData(Data[i],User);
}
}
void ProtocolAnalyzeNewData(unsigned char Data, int User) void ProtocolAnalyzeNewData(unsigned char Data, int User)
{ {
ProtocolData_t *DataStruct; ProtocolData_t *DataStruct;
switch(User) switch(User)
{ {
case NETWORK_PROTOCOL_USER_LORA: case NETWORK_PROTOCOL_USER_AUDIO_CONSOLE_IF:
{ {
DataStruct = &mLoraProtocolData; DataStruct = &mAudioConsoleIFProtocolData;
break; break;
} }
case NETWORK_PROTOCOL_USER_LTE: case NETWORK_PROTOCOL_USER_MASTER_CTRL_IF:
{ {
DataStruct = &mLTEProtocolData; DataStruct = &mMasterCtrlIFData;
break; break;
} }
default: default:

View File

@ -14,7 +14,9 @@ jean-francois.martel@polymtl.ca
#ifndef BOOTLOADERINTERFACE_H #ifndef BOOTLOADERINTERFACE_H
#define BOOTLOADERINTERFACE_H #define BOOTLOADERINTERFACE_H
#ifndef NETWORKPROTOCOL_H
#define NETWORKPROTOCOL_H
//Protocol buffer specific definitions //Protocol buffer specific definitions
#include "ProtocolDefs.h" #include "ProtocolDefs.h"
@ -26,8 +28,8 @@ jean-francois.martel@polymtl.ca
enum eProtocolUser enum eProtocolUser
{ {
NETWORK_PROTOCOL_USER_LORA, NETWORK_PROTOCOL_USER_AUDIO_CONSOLE_IF,
NETWORK_PROTOCOL_USER_LTE NETWORK_PROTOCOL_USER_MASTER_CTRL_IF
}; };
//State Machine states //State Machine states
@ -91,6 +93,7 @@ unsigned char *BmpDataPtr;
void ProtocolInit(int User); void ProtocolInit(int User);
void StateMachine(unsigned char STATE, ProtocolData_t *ProtocolData); void StateMachine(unsigned char STATE, ProtocolData_t *ProtocolData);
void ProtocolAnalyzeNewData(unsigned char RxByte, int User); void ProtocolAnalyzeNewData(unsigned char RxByte, int User);
void ProtocolAnalyzeBuffer(unsigned char *Data, int size, int User);
void ResetStateMachine(ProtocolData_t *ProtocolData); void ResetStateMachine(ProtocolData_t *ProtocolData);
void ProtocolExecCmd(void); void ProtocolExecCmd(void);
void ProtocolAcknowledge(unsigned char Answer,unsigned char Cmd, unsigned char Data); void ProtocolAcknowledge(unsigned char Answer,unsigned char Cmd, unsigned char Data);
@ -99,4 +102,5 @@ unsigned char ProtocolCalcCrc(unsigned char* Buffer,unsigned char size);
unsigned char ProtocolIsReceiving(void); unsigned char ProtocolIsReceiving(void);
unsigned char *ProtocolMsgDataPtr(ProtocolData_t *ProtocolData); unsigned char *ProtocolMsgDataPtr(ProtocolData_t *ProtocolData);
#endif
#endif #endif

View File

@ -247,16 +247,26 @@ enum AV_RECEIVER_INTERFACE_CMDS
AV_RECEIVER_INTERFACE_GENERAL_STATUS_RESPONSE, AV_RECEIVER_INTERFACE_GENERAL_STATUS_RESPONSE,
AV_RECEIVER_INTERFACE_SET_MAIN_POWER_REQUEST, AV_RECEIVER_INTERFACE_SET_MAIN_POWER_REQUEST,
AV_RECEIVER_INTERFACE_SET_MAIN_POWER_RESPONSE, AV_RECEIVER_INTERFACE_SET_MAIN_POWER_RESPONSE,
AV_RECEIVER_INTERFACE_SET_SPEAKERB_REQUEST, AV_RECEIVER_INTERFACE_SET_ZONE2_REQUEST,
AV_RECEIVER_INTERFACE_SET_SPEAKERB_RESPONSE, AV_RECEIVER_INTERFACE_SET_ZONE2_RESPONSE,
AV_RECEIVER_INTERFACE_SET_SPEAKERA_REQUEST, AV_RECEIVER_INTERFACE_SET_MAIN_ZONE_REQUEST,
AV_RECEIVER_INTERFACE_SET_SPEAKERA_RESPONSE, AV_RECEIVER_INTERFACE_SET_MAIN_ZONE_RESPONSE,
AV_RECEIVER_INTERFACE_SET_SPEAKERS_REQUEST, AV_RECEIVER_INTERFACE_SET_SPEAKERS_REQUEST,
AV_RECEIVER_INTERFACE_SET_SPEAKERS_RESPONSE, AV_RECEIVER_INTERFACE_SET_SPEAKERS_RESPONSE,
AV_RECEIVER_INTERFACE_SEND_DIRECT_CMD_REQUEST, AV_RECEIVER_INTERFACE_SEND_DIRECT_CMD_REQUEST,
AV_RECEIVER_INTERFACE_SEND_DIRECT_CMD_RESPONSE, AV_RECEIVER_INTERFACE_SEND_DIRECT_CMD_RESPONSE,
AV_RECEIVER_INTERFACE_SELECT_SCENE_REQUEST,
AV_RECEIVER_INTERFACE_SELECT_SCENE_RESPONSE,
AV_RECEIVER_INTERFACE_SET_MAIN_VOLUME_REQUEST,
AV_RECEIVER_INTERFACE_SET_MAIN_VOLUME_RESPONSE,
AV_RECEIVER_INTERFACE_SET_ZONE2_VOLUME_REQUEST,
AV_RECEIVER_INTERFACE_SET_ZONE2_VOLUME_RESPONSE,
AV_RECEIVER_INTERFACE_SET_ZONE2_INPUT_REQUEST,
AV_RECEIVER_INTERFACE_SET_ZONE2_INPUT_RESPONSE,
AV_RECEIVER_INTERFACE_SET_SYNC_Z2_WITH_Z1_REQUEST,
AV_RECEIVER_INTERFACE_SET_SYNC_Z2_WITH_Z1_RESPONSE,
MAX_AV_RECEIVER_INTERFACE_CMD MAX_AV_RECEIVER_INTERFACE_CMD
}; };

View File

@ -12,6 +12,7 @@
#include "BootloaderProtocol.h" #include "BootloaderProtocol.h"
#include "SPI_Flash.h" #include "SPI_Flash.h"
#include "FlashMapping.h" #include "FlashMapping.h"
#include "NetworkProtocol.h"
/** IP address of host. */ /** IP address of host. */
@ -241,13 +242,10 @@ static void socket_cb(SOCKET sock, uint8 u8Msg, void *pvMsg)
} }
else if(sock == NetworkSocket) else if(sock == NetworkSocket)
{ {
//Fwd data to Network...
recv(NetworkSocket, NetworkRxBuf, sizeof(NetworkRxBuf), 0); recv(NetworkSocket, NetworkRxBuf, sizeof(NetworkRxBuf), 0);
} }
else if(sock == BootloaderSocket) else if(sock == BootloaderSocket)
{ {
//Fwd data to Network...
if(recv(BootloaderSocket, BootloaderRxBuf, sizeof(BootloaderRxBuf), 0) != 0) if(recv(BootloaderSocket, BootloaderRxBuf, sizeof(BootloaderRxBuf), 0) != 0)
{ {
char toto; char toto;
@ -256,6 +254,12 @@ static void socket_cb(SOCKET sock, uint8 u8Msg, void *pvMsg)
BootloaderProtocolProtocolAnalyzeNewData(pstrRecvMsg->pu8Buffer, pstrRecvMsg->s16BufferSize); BootloaderProtocolProtocolAnalyzeNewData(pstrRecvMsg->pu8Buffer, pstrRecvMsg->s16BufferSize);
} }
else if(sock == AudioConsoleIFSocket)
{
recv(AudioConsoleIFSocket, AudioConsoleIFRxBuf, sizeof(AudioConsoleIFRxBuf), 0);
ProtocolAnalyzeBuffer(AudioConsoleIFRxBuf, pstrRecvMsg->s16BufferSize,NETWORK_PROTOCOL_USER_AUDIO_CONSOLE_IF);
}
} }
else //Socket must be closed. else //Socket must be closed.
{ {
@ -286,6 +290,12 @@ static void socket_cb(SOCKET sock, uint8 u8Msg, void *pvMsg)
printf("Bootloader client disconnected\n"); printf("Bootloader client disconnected\n");
BootloaderDeactivateBootloader(); BootloaderDeactivateBootloader();
} }
else if(sock == AudioConsoleIFSocket)
{
close(AudioConsoleIFSocket);
AudioConsoleIFSocket = -1;
printf("Audio Console Interface with Master Ctrl disconnected\n");
}
} }
break; break;
} }
@ -657,6 +667,11 @@ char GetWiFiSate()
return mWiFiState; return mWiFiState;
} }
bool IsWiFiConnected()
{
return mWiFiState == WIFI_CONNECTED_STATE;
}
uint32 GetCurIPAddress() uint32 GetCurIPAddress()
{ {
return mCurIPAddress; return mCurIPAddress;
@ -886,6 +901,11 @@ int IsBootloaderClientConnected()
int ConnectAudioInterface() int ConnectAudioInterface()
{ {
if(IsWiFiConnected() == false)
{
return 0;
}
struct sockaddr_in strAddr; struct sockaddr_in strAddr;
AudioConsoleIFSocket = socket(AF_INET, SOCK_STREAM,0); AudioConsoleIFSocket = socket(AF_INET, SOCK_STREAM,0);

View File

@ -79,6 +79,7 @@ int TurnOFFWiFi();
int CloseSockets(); int CloseSockets();
char GetWiFiSate(); char GetWiFiSate();
uint32 GetCurIPAddress(); uint32 GetCurIPAddress();
bool IsWiFiConnected();
int OpenTerminalServer(); int OpenTerminalServer();
void SendTerminalData(uint8 *data, int size); void SendTerminalData(uint8 *data, int size);

View File

@ -13,7 +13,7 @@ build/ChaletDuinoV2_795F512H_/production/Source/WiFiCtrl.o: \
Source/Terminal.h Source/winc3400_142/driver/include/m2m_periph.h \ Source/Terminal.h Source/winc3400_142/driver/include/m2m_periph.h \
Source/ProtocolDefs.h Source/BoardCfg.h Source/BoardCfg_ChaletduinoV2.h \ Source/ProtocolDefs.h Source/BoardCfg.h Source/BoardCfg_ChaletduinoV2.h \
Source/timer.h Source/BootloaderProtocol.h Source/SPI_Flash.h \ Source/timer.h Source/BootloaderProtocol.h Source/SPI_Flash.h \
Source/FlashMapping.h Source/FlashMapping.h Source/NetworkProtocol.h
Source/WiFiCtrl.h: Source/WiFiCtrl.h:
@ -58,3 +58,5 @@ Source/BootloaderProtocol.h:
Source/SPI_Flash.h: Source/SPI_Flash.h:
Source/FlashMapping.h: Source/FlashMapping.h:
Source/NetworkProtocol.h:

View File

@ -1,5 +1,5 @@
# #
#Tue Feb 18 14:45:13 EST 2025 #Wed Feb 19 17:06:21 EST 2025
ChaletDuinoV2_795F512H_.languagetoolchain.dir=C\:\\Program Files\\Microchip\\xc32\\v1.33\\bin ChaletDuinoV2_795F512H_.languagetoolchain.dir=C\:\\Program Files\\Microchip\\xc32\\v1.33\\bin
default.languagetoolchain.dir=C\:\\Program Files\\Microchip\\xc32\\v1.33\\bin default.languagetoolchain.dir=C\:\\Program Files\\Microchip\\xc32\\v1.33\\bin
proj.dir=D\:\\Main\\PicDev\\Projets\\AudioConsole\\AudioConsole.X proj.dir=D\:\\Main\\PicDev\\Projets\\AudioConsole\\AudioConsole.X

View File

@ -49,13 +49,10 @@
<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/AudioConsole/AudioConsole.X/Source/WiFiCtrl.c</file> <file>file:/D:/Main/PicDev/Projets/AudioConsole/AudioConsole.X/Source/WiFiCtrl.c</file>
<file>file:/D:/Main/PicDev/Projets/AudioConsole/AudioConsole.X/Source/main.c</file>
<file>file:/D:/Main/PicDev/Projets/AudioConsole/AudioConsole.X/Source/AudioConsoleInterface.h</file> <file>file:/D:/Main/PicDev/Projets/AudioConsole/AudioConsole.X/Source/AudioConsoleInterface.h</file>
<file>file:/D:/Main/PicDev/Projets/AudioConsole/AudioConsole.X/Source/NetworkProtocol.c</file>
<file>file:/D:/Main/PicDev/Projets/AudioConsole/AudioConsole.X/Source/AudioConsoleInterface.c</file> <file>file:/D:/Main/PicDev/Projets/AudioConsole/AudioConsole.X/Source/AudioConsoleInterface.c</file>
<file>file:/D:/Main/PicDev/Projets/AudioConsole/AudioConsole.X/Source/winc3400_142/socket/source/socket.c</file>
<file>file:/D:/Main/PicDev/Projets/AudioConsole/AudioConsole.X/Source/winc3400_142/socket/include/socket.h</file>
<file>file:/D:/Main/PicDev/Projets/AudioConsole/AudioConsole.X/Source/ProtocolDefs.h</file> <file>file:/D:/Main/PicDev/Projets/AudioConsole/AudioConsole.X/Source/ProtocolDefs.h</file>
<file>file:/D:/Main/PicDev/Projets/AudioConsole/AudioConsole.X/Source/Terminal.c</file>
<file>file:/D:/Main/PicDev/Projets/AudioConsole/AudioConsole.X/Source/WiFiCtrl.h</file> <file>file:/D:/Main/PicDev/Projets/AudioConsole/AudioConsole.X/Source/WiFiCtrl.h</file>
</group> </group>
</open-files> </open-files>