| @@ -11,3 +11,11 @@ | |||
| /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/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> | |||
| 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 | |||
| }; | |||
| int InitAudioConsoleInterface(void); | |||
| int AudioConsoleIFConnectToMasterCtrl(void); | |||
| int AudioConsoleInterfaceInit(void); | |||
| void TickAudioConsoleInterface(void); | |||
| 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); | |||
| @@ -29,7 +29,7 @@ unsigned int BootloaderCRC = 0; | |||
| unsigned int BtldrComputedCRC = CRC_START_32; | |||
| unsigned char *BootloaderRxPtr; | |||
| unsigned char BootloaderCommand = 0; | |||
| unsigned char BootloaderState = RxHeader1; | |||
| unsigned char BootloaderState = BLRxHeader1; | |||
| const unsigned char *BootloaderDataStartPtr = &BootloaderBuffer[9]; | |||
| @@ -45,17 +45,17 @@ void BootloaderProtocolStateMachine(unsigned char Data) | |||
| { | |||
| switch(BootloaderState) | |||
| { | |||
| case Initialization: //Reset all pointers and data... | |||
| case BLInitialization: //Reset all pointers and data... | |||
| { | |||
| BootloaderDataSize = 0; | |||
| BootloaderBufPtr = 0; | |||
| BootloaderCommand = 0; | |||
| BootloaderCRC = 0; | |||
| BootloaderState = RxHeader1; | |||
| BootloaderState = BLRxHeader1; | |||
| BtldrComputedCRC = CRC_START_32; | |||
| break; | |||
| } | |||
| case RxHeader1: //Wait for data header... | |||
| case BLRxHeader1: //Wait for data header... | |||
| { | |||
| BootloaderHeader <<= 8; | |||
| BootloaderHeader += Data; //0xDE | |||
| @@ -63,7 +63,7 @@ void BootloaderProtocolStateMachine(unsigned char Data) | |||
| if(Data == BOOTLOADER_FRAME_HEADER_1) | |||
| { | |||
| BootloaderState = RxHeader2; | |||
| BootloaderState = BLRxHeader2; | |||
| } | |||
| else | |||
| { | |||
| @@ -71,7 +71,7 @@ void BootloaderProtocolStateMachine(unsigned char Data) | |||
| } | |||
| break; | |||
| } | |||
| case RxHeader2: //Wait for data header... | |||
| case BLRxHeader2: //Wait for data header... | |||
| { | |||
| BootloaderHeader <<= 8; | |||
| BootloaderHeader += Data; //0xAD | |||
| @@ -79,7 +79,7 @@ void BootloaderProtocolStateMachine(unsigned char Data) | |||
| if(Data == BOOTLOADER_FRAME_HEADER_2) | |||
| { | |||
| BootloaderState = RxHeader3; | |||
| BootloaderState = BLRxHeader3; | |||
| } | |||
| else | |||
| { | |||
| @@ -87,7 +87,7 @@ void BootloaderProtocolStateMachine(unsigned char Data) | |||
| } | |||
| break; | |||
| } | |||
| case RxHeader3: //Wait for data header... | |||
| case BLRxHeader3: //Wait for data header... | |||
| { | |||
| BootloaderHeader <<= 8; | |||
| BootloaderHeader += Data; //0xBE | |||
| @@ -95,7 +95,7 @@ void BootloaderProtocolStateMachine(unsigned char Data) | |||
| if(Data == BOOTLOADER_FRAME_HEADER_3) | |||
| { | |||
| BootloaderState = RxHeader4; | |||
| BootloaderState = BLRxHeader4; | |||
| } | |||
| else | |||
| { | |||
| @@ -103,7 +103,7 @@ void BootloaderProtocolStateMachine(unsigned char Data) | |||
| } | |||
| break; | |||
| } | |||
| case RxHeader4: //Wait for data header... | |||
| case BLRxHeader4: //Wait for data header... | |||
| { | |||
| BootloaderHeader <<= 8; | |||
| BootloaderHeader += Data; //0xEF | |||
| @@ -117,44 +117,44 @@ void BootloaderProtocolStateMachine(unsigned char Data) | |||
| } | |||
| else | |||
| { | |||
| BootloaderState = RxCmd; | |||
| BootloaderState = BLRxCmd; | |||
| } | |||
| break; | |||
| } | |||
| case RxCmd: | |||
| case BLRxCmd: | |||
| { | |||
| BootloaderCommand = Data; | |||
| BootloaderState = RxPayloadSize1; | |||
| BootloaderState = BLRxPayloadSize1; | |||
| BtldrComputedCRC = update_crc_32(BtldrComputedCRC,Data); | |||
| break; | |||
| } | |||
| case RxPayloadSize1: | |||
| case BLRxPayloadSize1: | |||
| { | |||
| BootloaderDataSize = Data; | |||
| BootloaderState = RxPayloadSize2; | |||
| BootloaderState = BLRxPayloadSize2; | |||
| BtldrComputedCRC = update_crc_32(BtldrComputedCRC,Data); | |||
| break; | |||
| } | |||
| case RxPayloadSize2: | |||
| case BLRxPayloadSize2: | |||
| { | |||
| BootloaderDataSize <<= 8; | |||
| BootloaderDataSize += Data; | |||
| BtldrComputedCRC = update_crc_32(BtldrComputedCRC,Data); | |||
| BootloaderState = RxPayloadSize3; | |||
| BootloaderState = BLRxPayloadSize3; | |||
| break; | |||
| } | |||
| case RxPayloadSize3: | |||
| case BLRxPayloadSize3: | |||
| { | |||
| BootloaderDataSize <<= 8; | |||
| BootloaderDataSize += Data; | |||
| BtldrComputedCRC = update_crc_32(BtldrComputedCRC,Data); | |||
| BootloaderState = RxPayloadSize4; | |||
| BootloaderState = BLRxPayloadSize4; | |||
| break; | |||
| } | |||
| case RxPayloadSize4: | |||
| case BLRxPayloadSize4: | |||
| { | |||
| BootloaderDataSize <<= 8; | |||
| BootloaderDataSize += Data; | |||
| @@ -169,15 +169,15 @@ void BootloaderProtocolStateMachine(unsigned char Data) | |||
| if(BootloaderDataSize == 0) | |||
| { | |||
| BootloaderState = RxCRC1; | |||
| BootloaderState = BLRxCRC1; | |||
| } | |||
| else | |||
| { | |||
| BootloaderState = RxPayload; | |||
| BootloaderState = BLRxPayload; | |||
| } | |||
| break; | |||
| } | |||
| case RxPayload: //Data size | |||
| case BLRxPayload: //Data size | |||
| { | |||
| *BootloaderRxPtr = Data; | |||
| BootloaderRxPtr++; | |||
| @@ -187,33 +187,33 @@ void BootloaderProtocolStateMachine(unsigned char Data) | |||
| if(BootloaderDataCtr == BootloaderDataSize) | |||
| { | |||
| BootloaderState = RxCRC1; | |||
| BootloaderState = BLRxCRC1; | |||
| break; | |||
| } | |||
| break; | |||
| } | |||
| case RxCRC1: //Data size | |||
| case BLRxCRC1: //Data size | |||
| { | |||
| BootloaderCRC = Data; | |||
| BootloaderState = RxCRC2; | |||
| BootloaderState = BLRxCRC2; | |||
| break; | |||
| } | |||
| case RxCRC2: //Data size | |||
| case BLRxCRC2: //Data size | |||
| { | |||
| BootloaderCRC <<= 8; | |||
| BootloaderCRC += Data; | |||
| BootloaderState = RxCRC3; | |||
| BootloaderState = BLRxCRC3; | |||
| break; | |||
| } | |||
| case RxCRC3: //Data size | |||
| case BLRxCRC3: //Data size | |||
| { | |||
| BootloaderCRC <<= 8; | |||
| BootloaderCRC += Data; | |||
| BootloaderState = RxCRC4; | |||
| BootloaderState = BLRxCRC4; | |||
| break; | |||
| } | |||
| case RxCRC4: //Data size | |||
| case BLRxCRC4: //Data size | |||
| { | |||
| BootloaderCRC <<= 8; | |||
| BootloaderCRC += Data; | |||
| @@ -257,7 +257,7 @@ void BootloaderProtocolResetStateMachine() | |||
| BootloaderBufPtr = 0; | |||
| BootloaderCommand = 0; | |||
| BootloaderCRC = 0; | |||
| BootloaderState = RxHeader1; | |||
| BootloaderState = BLRxHeader1; | |||
| BootloaderDataCtr = 0; | |||
| BtldrComputedCRC = CRC_START_32; | |||
| BootloaderRxPtr = &BootloaderBuffer[0]; | |||
| @@ -26,23 +26,23 @@ jean-francois.martel@polymtl.ca | |||
| #define BOOTLOADER_FRAME_HEADER_4 0xEF | |||
| #define PROTOCOL_INFO_DATA_SIZE 13 //Header + Cmd + Size + CRC = 13 bytes | |||
| //State Machine states | |||
| enum States | |||
| enum BLStates | |||
| { | |||
| Initialization, | |||
| RxHeader1, | |||
| RxHeader2, | |||
| RxHeader3, | |||
| RxHeader4, | |||
| RxCmd, | |||
| RxPayloadSize1, | |||
| RxPayloadSize2, | |||
| RxPayloadSize3, | |||
| RxPayloadSize4, | |||
| RxPayload, | |||
| RxCRC1, | |||
| RxCRC2, | |||
| RxCRC3, | |||
| RxCRC4 | |||
| BLInitialization, | |||
| BLRxHeader1, | |||
| BLRxHeader2, | |||
| BLRxHeader3, | |||
| BLRxHeader4, | |||
| BLRxCmd, | |||
| BLRxPayloadSize1, | |||
| BLRxPayloadSize2, | |||
| BLRxPayloadSize3, | |||
| BLRxPayloadSize4, | |||
| BLRxPayload, | |||
| BLRxCRC1, | |||
| BLRxCRC2, | |||
| BLRxCRC3, | |||
| BLRxCRC4 | |||
| }; | |||
| enum eBootloaderProtocolDataTransferError | |||
| @@ -27,8 +27,8 @@ static char MyDeviceID = ID_SPRINKLER_DEVICE; | |||
| char mFrameData[MAX_MESSAGE_SIZE+10]; | |||
| ProtocolData_t mLoraProtocolData; | |||
| ProtocolData_t mLTEProtocolData; | |||
| ProtocolData_t mAudioConsoleIFProtocolData; | |||
| ProtocolData_t mMasterCtrlIFData; | |||
| void ProtocolInit(int User) | |||
| @@ -36,14 +36,14 @@ void ProtocolInit(int User) | |||
| ProtocolData_t *DataStruct; | |||
| switch(User) | |||
| { | |||
| case NETWORK_PROTOCOL_USER_LORA: | |||
| case NETWORK_PROTOCOL_USER_AUDIO_CONSOLE_IF: | |||
| { | |||
| DataStruct = &mLoraProtocolData; | |||
| DataStruct = &mAudioConsoleIFProtocolData; | |||
| break; | |||
| } | |||
| case NETWORK_PROTOCOL_USER_LTE: | |||
| case NETWORK_PROTOCOL_USER_MASTER_CTRL_IF: | |||
| { | |||
| DataStruct = &mLTEProtocolData; | |||
| DataStruct = &mMasterCtrlIFData; | |||
| break; | |||
| } | |||
| default: | |||
| @@ -214,11 +214,11 @@ void StateMachine(unsigned char Data,ProtocolData_t *ProtocolData ) | |||
| break; | |||
| } | |||
| // NewMasterMessageReceived(mRxData); | |||
| if(ProtocolData == &mLoraProtocolData) | |||
| if(ProtocolData == &mAudioConsoleIFProtocolData) | |||
| { | |||
| // ExecuteLoraMasterCommand(ProtocolData->Command,ProtocolMsgDataPtr(ProtocolData),ProtocolData->DataSize); | |||
| } | |||
| else if(ProtocolData == &mLTEProtocolData) | |||
| else if(ProtocolData == &mMasterCtrlIFData) | |||
| { | |||
| // 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) | |||
| { | |||
| ProtocolData_t *DataStruct; | |||
| switch(User) | |||
| { | |||
| case NETWORK_PROTOCOL_USER_LORA: | |||
| case NETWORK_PROTOCOL_USER_AUDIO_CONSOLE_IF: | |||
| { | |||
| DataStruct = &mLoraProtocolData; | |||
| DataStruct = &mAudioConsoleIFProtocolData; | |||
| break; | |||
| } | |||
| case NETWORK_PROTOCOL_USER_LTE: | |||
| case NETWORK_PROTOCOL_USER_MASTER_CTRL_IF: | |||
| { | |||
| DataStruct = &mLTEProtocolData; | |||
| DataStruct = &mMasterCtrlIFData; | |||
| break; | |||
| } | |||
| default: | |||
| @@ -14,7 +14,9 @@ jean-francois.martel@polymtl.ca | |||
| #ifndef BOOTLOADERINTERFACE_H | |||
| #define BOOTLOADERINTERFACE_H | |||
| #define BOOTLOADERINTERFACE_H | |||
| #ifndef NETWORKPROTOCOL_H | |||
| #define NETWORKPROTOCOL_H | |||
| //Protocol buffer specific definitions | |||
| #include "ProtocolDefs.h" | |||
| @@ -26,8 +28,8 @@ jean-francois.martel@polymtl.ca | |||
| enum eProtocolUser | |||
| { | |||
| NETWORK_PROTOCOL_USER_LORA, | |||
| NETWORK_PROTOCOL_USER_LTE | |||
| NETWORK_PROTOCOL_USER_AUDIO_CONSOLE_IF, | |||
| NETWORK_PROTOCOL_USER_MASTER_CTRL_IF | |||
| }; | |||
| //State Machine states | |||
| @@ -91,6 +93,7 @@ unsigned char *BmpDataPtr; | |||
| void ProtocolInit(int User); | |||
| void StateMachine(unsigned char STATE, ProtocolData_t *ProtocolData); | |||
| void ProtocolAnalyzeNewData(unsigned char RxByte, int User); | |||
| void ProtocolAnalyzeBuffer(unsigned char *Data, int size, int User); | |||
| void ResetStateMachine(ProtocolData_t *ProtocolData); | |||
| void ProtocolExecCmd(void); | |||
| 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 *ProtocolMsgDataPtr(ProtocolData_t *ProtocolData); | |||
| #endif | |||
| #endif | |||
| @@ -247,16 +247,26 @@ enum AV_RECEIVER_INTERFACE_CMDS | |||
| AV_RECEIVER_INTERFACE_GENERAL_STATUS_RESPONSE, | |||
| AV_RECEIVER_INTERFACE_SET_MAIN_POWER_REQUEST, | |||
| AV_RECEIVER_INTERFACE_SET_MAIN_POWER_RESPONSE, | |||
| AV_RECEIVER_INTERFACE_SET_SPEAKERB_REQUEST, | |||
| AV_RECEIVER_INTERFACE_SET_SPEAKERB_RESPONSE, | |||
| AV_RECEIVER_INTERFACE_SET_SPEAKERA_REQUEST, | |||
| AV_RECEIVER_INTERFACE_SET_SPEAKERA_RESPONSE, | |||
| AV_RECEIVER_INTERFACE_SET_ZONE2_REQUEST, | |||
| AV_RECEIVER_INTERFACE_SET_ZONE2_RESPONSE, | |||
| AV_RECEIVER_INTERFACE_SET_MAIN_ZONE_REQUEST, | |||
| AV_RECEIVER_INTERFACE_SET_MAIN_ZONE_RESPONSE, | |||
| AV_RECEIVER_INTERFACE_SET_SPEAKERS_REQUEST, | |||
| AV_RECEIVER_INTERFACE_SET_SPEAKERS_RESPONSE, | |||
| AV_RECEIVER_INTERFACE_SEND_DIRECT_CMD_REQUEST, | |||
| 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 | |||
| }; | |||
| @@ -12,6 +12,7 @@ | |||
| #include "BootloaderProtocol.h" | |||
| #include "SPI_Flash.h" | |||
| #include "FlashMapping.h" | |||
| #include "NetworkProtocol.h" | |||
| /** IP address of host. */ | |||
| @@ -241,13 +242,10 @@ static void socket_cb(SOCKET sock, uint8 u8Msg, void *pvMsg) | |||
| } | |||
| 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; | |||
| @@ -256,6 +254,12 @@ static void socket_cb(SOCKET sock, uint8 u8Msg, void *pvMsg) | |||
| 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. | |||
| { | |||
| @@ -286,6 +290,12 @@ static void socket_cb(SOCKET sock, uint8 u8Msg, void *pvMsg) | |||
| printf("Bootloader client disconnected\n"); | |||
| BootloaderDeactivateBootloader(); | |||
| } | |||
| else if(sock == AudioConsoleIFSocket) | |||
| { | |||
| close(AudioConsoleIFSocket); | |||
| AudioConsoleIFSocket = -1; | |||
| printf("Audio Console Interface with Master Ctrl disconnected\n"); | |||
| } | |||
| } | |||
| break; | |||
| } | |||
| @@ -657,6 +667,11 @@ char GetWiFiSate() | |||
| return mWiFiState; | |||
| } | |||
| bool IsWiFiConnected() | |||
| { | |||
| return mWiFiState == WIFI_CONNECTED_STATE; | |||
| } | |||
| uint32 GetCurIPAddress() | |||
| { | |||
| return mCurIPAddress; | |||
| @@ -886,6 +901,11 @@ int IsBootloaderClientConnected() | |||
| int ConnectAudioInterface() | |||
| { | |||
| if(IsWiFiConnected() == false) | |||
| { | |||
| return 0; | |||
| } | |||
| struct sockaddr_in strAddr; | |||
| AudioConsoleIFSocket = socket(AF_INET, SOCK_STREAM,0); | |||
| @@ -79,6 +79,7 @@ int TurnOFFWiFi(); | |||
| int CloseSockets(); | |||
| char GetWiFiSate(); | |||
| uint32 GetCurIPAddress(); | |||
| bool IsWiFiConnected(); | |||
| int OpenTerminalServer(); | |||
| void SendTerminalData(uint8 *data, int size); | |||
| @@ -13,7 +13,7 @@ build/ChaletDuinoV2_795F512H_/production/Source/WiFiCtrl.o: \ | |||
| Source/Terminal.h Source/winc3400_142/driver/include/m2m_periph.h \ | |||
| Source/ProtocolDefs.h Source/BoardCfg.h Source/BoardCfg_ChaletduinoV2.h \ | |||
| Source/timer.h Source/BootloaderProtocol.h Source/SPI_Flash.h \ | |||
| Source/FlashMapping.h | |||
| Source/FlashMapping.h Source/NetworkProtocol.h | |||
| Source/WiFiCtrl.h: | |||
| @@ -58,3 +58,5 @@ Source/BootloaderProtocol.h: | |||
| Source/SPI_Flash.h: | |||
| Source/FlashMapping.h: | |||
| Source/NetworkProtocol.h: | |||
| @@ -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 | |||
| default.languagetoolchain.dir=C\:\\Program Files\\Microchip\\xc32\\v1.33\\bin | |||
| 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"> | |||
| <group> | |||
| <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/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/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/Terminal.c</file> | |||
| <file>file:/D:/Main/PicDev/Projets/AudioConsole/AudioConsole.X/Source/WiFiCtrl.h</file> | |||
| </group> | |||
| </open-files> | |||