Dev
This commit is contained in:
parent
b15e0a8de3
commit
989b66940d
8
.gitignore
vendored
8
.gitignore
vendored
@ -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
|
||||||
|
|||||||
@ -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:
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -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);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -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];
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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:
|
||||||
|
|||||||
@ -15,6 +15,8 @@ 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);
|
||||||
@ -100,3 +103,4 @@ unsigned char ProtocolIsReceiving(void);
|
|||||||
unsigned char *ProtocolMsgDataPtr(ProtocolData_t *ProtocolData);
|
unsigned char *ProtocolMsgDataPtr(ProtocolData_t *ProtocolData);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
@ -247,14 +247,24 @@ 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
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -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:
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -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
|
||||||
|
|||||||
@ -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>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user