/*********************************************************************
*                     SEGGER Microcontroller GmbH                    *
*        Solutions for real time microcontroller applications        *
**********************************************************************
*                                                                    *
*        (c) 1996 - 2021  SEGGER Microcontroller GmbH                *
*                                                                    *
*        Internet: www.segger.com    Support:  support@segger.com    *
*                                                                    *
**********************************************************************
----------------------------------------------------------------------
File        : Application.h
Purpose     : Content to be managed by customer
---------------------------END-OF-HEADER------------------------------
*/

#ifndef APPLICATION_H
#define APPLICATION_H

#include "stdint.h"


//extern #define configIP_ADDR0
//extern #define configIP_ADDR1
//extern #define configIP_ADDR2
//extern #define configIP_ADDR3
//
///* Netmask configuration. */
//extern #define configNET_MASK0
//extern #define configNET_MASK1
//extern #define configNET_MASK2
//extern #define configNET_MASK3
//
///* Gateway address configuration. */
//extern #define configGW_ADDR0
//extern #define configGW_ADDR1
//extern #define configGW_ADDR2
//extern #define configGW_ADDR3

#define gui_ACTIVE_DESC 		"ACTIVE"
#define gui_STANDBY_DESC		"STAND BY"
#define gui_NORMAL_DESC			"NORMAL"
#define gui_FAULT_DESC			"FAULT"
#define gui_HEALTHY_DESC		"OK"
#define gui_UNHEALTHY_DESC		"NOT OK"
#define gui_ON_DESC				"ON"
#define gui_OFF_DESC			"OFF"
#define gui_INTERNAL_DESC    	"INTERNAL"
#define gui_EXTERNAL_DESC		"EXTERNAL"
#define gui_ACTIVE_DESC    		"ACTIVE"
#define gui_SLEEP_DESC			"SLEEP"

extern uint8_t configIP_ADDR0,configIP_ADDR1,configIP_ADDR2,configIP_ADDR3;
extern uint8_t configNET_MASK0,configNET_MASK1,configNET_MASK2,configNET_MASK3;
extern uint8_t configGW_ADDR0,configGW_ADDR1,configGW_ADDR2,configGW_ADDR3;

extern uint8_t config_IP_BUC_ADDR0,config_IP_BUC_ADDR1,config_IP_BUC_ADDR2,config_IP_BUC_ADDR3;
extern uint8_t config_NET_BUC_MASK0,config_NET_BUC_MASK1,config_NET_BUC_MASK2,config_NET_BUC_MASK3;
extern uint8_t config_GW_BUC_ADDR0,config_GW_BUC_ADDR1,config_GW_BUC_ADDR2,config_GW_BUC_ADDR3;

extern uint8_t Ethernet_Update_Flag;
//extern int BUC_Ping_Status;

extern int g_SYS_ID_VALUE_INT,g_SYS_ID_VALUE_INT_P1,g_SYS_ID_VALUE_INT_P2,g_SYS_ID_VALUE_INT_P3;
extern char g_SYS_ID_VALUE_STR_P1[10];
extern char g_SYS_ID_VALUE_STR[10];
extern char g_RF_FWD_POWER[10];
extern char gui_HHC_SW_VER_P1[10];
extern char gui_HHC_FW_VER_P1[10];
extern char g_Rx_SYS_FW_VER[10];
extern uint32_t g_Rx_PS_ON_OFF_CTRL;
extern char g_Rx_PS_ON_OFF_CTRL_STR[10];
extern uint32_t g_TxPktCnt,g_TxPktCnt_Prev;
extern int Buc_Ctrl_SAVE_Flag;
extern int Sys_Sett_Save_Flag;



//System Information Screen Parameters
extern char gui_System_ID[10],gui_Buc_Status[10],gui_RF_FWD_POWER[10],gui_Sys_Fault_Status[10];
extern char gui_SYS_SW_VER_P1[10],gui_SYS_SW_VER_P2[10],gui_SYS_SW_VER_P3[10];
extern char gui_SYS_FW_VER_P1[10],gui_SYS_FW_VER_P2[10],gui_SYS_FW_VER_P3[10];

//BUC Information Screen Parameters

extern uint8_t gui_BUC_ID1[15];
extern int BUC_Info_Buc_ID_Save_Flag;
extern char gui_BUC_Info_ID[20];
extern char gui_BUC_Serial_Num_P1[5],gui_BUC_Serial_Num_P2[5],gui_BUC_Serial_Num_P3[5];
extern char gui_BUC_SW_VER_P1[5],gui_BUC_SW_VER_P2[10],gui_BUC_SW_VER_P3[5],gui_BUC_SW_VER_P4[10],gui_BUC_SW_VER_P5[5];
extern char gui_BUC_FW_VER_P1[5],gui_BUC_FW_VER_P2[10],gui_BUC_FW_VER_P3[5],gui_BUC_FW_VER_P4[10],gui_BUC_FW_VER_P5[5];
extern char gui_BUC_Manuf_Date_P1[15],gui_BUC_Manuf_Date_P2[5],gui_BUC_Manuf_Date_P3[5],gui_BUC_Manuf_Date_P4[5],gui_BUC_Manuf_Date_P5[5];
extern char gui_BUC_Manuf_Date_P6[5],gui_BUC_Manuf_Date_P7[5],gui_BUC_Manuf_Date_P8[5],gui_BUC_Manuf_Date_P9[5],gui_BUC_Manuf_Date_P10[5];
extern char gui_BUC_Manuf_Date_P11[5],gui_BUC_Manuf_Date_P12[5];

//BUC Control Screen Parameters
extern char gui_attenution_ctrl[10],gui_Ext_10MHz_Ref_Src[5],gui_RF_Mute_Ctrl[5];
extern int gui_attenution_ctrl_int;
extern uint8_t RF_Mute_Switch_Value,Ext_Ref_Src_10MHz_Switch_Value;
extern int  udp_Ext_10MHz_Ref_Src,udp_RF_Mute_Ctrl;

//BUC Status Screen Parameters
extern char gui_RF_FWD_Power_Status_P1[10],gui_Ext_10Mhz_Src_Status[10],gui_Reset_Status[5];
extern int Ext_10Mhz_Src_Status_Screen_Value,RF_Mute_Status_Screen_Value;

//BUC Health Screen Parameters
//BUC Health Screen Parameters
extern char gui_RF_FWD_Power_Alarm_Health[10],gui_Input_Power_Health[10],gui_PLO_Lock_Status_Health[10];
extern char gui_LO_Power_Level_Health[10],gui_L_Band_Input_OverDrive_Health[10],gui_Fan_Health[10];
extern char gui_VSWR_Alarm_Health[10],gui_DC_24V_health[10],gui_Sequence_Health[10],gui_Temp_HPD_Health[10];

extern char gui_Screen_Param_Default[10];
//BUC Maintainance Screen Parameters
extern char gui_Low_Power_Sel_Switch[5],gui_RF_Mute_Status[5],gui_BUC_Status[5];
extern char gui_DC_Input_Current_P1[10],gui_DC_Input_Current_P2[5],gui_DC_Input_Current_P3[5],gui_DC_Input_Current_P4[5],gui_DC_Input_Current_P5[5];
extern char gui_Temp_HPD_P1[10],gui_Temp_HPD_P2[5],gui_Temp_HPD_P3[5],gui_Temp_HPD_P4[5],gui_Temp_HPD_P5[5];
extern char gui_Temp_PS_P1[10],gui_Temp_PS_P2[5],gui_Temp_PS_P3[5],gui_Temp_PS_P4[5],gui_Temp_PS_P5[5];

//BUC Network Settings Screen Parameters
extern char gui_BUC_IP_Addr1[20],gui_BUC_IP_Addr2[5],gui_BUC_IP_Addr3[5],gui_BUC_IP_Addr4[5],gui_BUC_IP_Addr5[5];
extern char gui_BUC_IP_Addr6[5],gui_BUC_IP_Addr7[5],gui_BUC_IP_Addr8[5],gui_BUC_IP_Addr9[5],gui_BUC_IP_Addr10[5];
extern char gui_BUC_IP_Addr11[5],gui_BUC_IP_Addr12[5],gui_BUC_IP_Addr13[5],gui_BUC_IP_Addr14[5],gui_BUC_IP_Addr15[5];

extern char gui_BUC_Subnet_Addr1[20],gui_BUC_Subnet_Addr2[5],gui_BUC_Subnet_Addr3[5],gui_BUC_Subnet_Addr4[5],gui_BUC_Subnet_Addr5[5];
extern char gui_BUC_Subnet_Addr6[5],gui_BUC_Subnet_Addr7[5],gui_BUC_Subnet_Addr8[5],gui_BUC_Subnet_Addr9[5],gui_BUC_Subnet_Addr10[5];
extern char gui_BUC_Subnet_Addr11[5],gui_BUC_Subnet_Addr12[5],gui_BUC_Subnet_Addr13[5],gui_BUC_Subnet_Addr14[5],gui_BUC_Subnet_Addr15[5];

extern char gui_BUC_Gateway_Addr1[20],gui_BUC_Gateway_Addr2[5],gui_BUC_Gateway_Addr3[5],gui_BUC_Gateway_Addr4[5],gui_BUC_Gateway_Addr5[5];
extern char gui_BUC_Gateway_Addr6[5],gui_BUC_Gateway_Addr7[5],gui_BUC_Gateway_Addr8[5],gui_BUC_Gateway_Addr9[5],gui_BUC_Gateway_Addr10[5];
extern char gui_BUC_Gateway_Addr11[5],gui_BUC_Gateway_Addr12[5],gui_BUC_Gateway_Addr13[5],gui_BUC_Gateway_Addr14[5],gui_BUC_Gateway_Addr15[5];

//BUC User Login Screen Parameters
extern char gui_BUC_UserName[15],gui_BUC_Password[15];

//BUC Sys Info Screen Parameters
extern char gui_BUC_SelfMaster[5],gui_BUC_Reboot[5],gui_BUC_SaveConfig[5];

//HHT Network Settings Parameters
extern char gui_HHT_IP_Addr1[10],gui_HHT_IP_Addr2[10],gui_HHT_IP_Addr3[10],gui_HHT_IP_Addr4[10];
extern char gui_HHT_Subnet_Addr1[10],gui_HHT_Subnet_Addr2[10],gui_HHT_Subnet_Addr3[10],gui_HHT_Subnet_Addr4[10];
extern char gui_HHT_Gateway_Addr1[10],gui_HHT_Gateway_Addr2[10],gui_HHT_Gateway_Addr3[10],gui_HHT_Gateway_Addr4[10];

//BUC User Login Screen Parameters
extern char gui_BUC_UserName[15],gui_BUC_Password[15];

//General Settings Screen Parameters
extern char gui_HHT_Battery[5],gui_HHT_Display[5],gui_HHT_Reboot[5],gui_HHT_Factory_Reset[5];
extern char gui_Date_Day[10],gui_Date_Month[10],gui_Date_Year[10];
extern char gui_Time_Hour[10],gui_Time_Min[10],gui_Time_Sec[10];

extern char g_Rx_HHT_IP_Addr[20];

extern int BUC_Status_Reset_GUI_Flag, BUC_Status_Reset_GUI_Value,Buc_Ctrl_SAVE_Flag;
extern uint8_t Buc_ctrl_RF_attn_ctrl_save_flag,Buc_ctrl_RF_attn_ctrl_value;
extern int Buc_ctrl_Ext_10MHz_Ref_Src_save_flag,Buc_ctrl_Ext_10MHz_Ref_Src_switch_value;
extern int Buc_ctrl_RF_Mute_save_flag,Buc_ctrl_RF_Mute_switch_value;
extern int BUC_Status_Reset_GUI_Flag,BUC_Status_Reset_GUI_Value;

extern int BUC_Net_Sett_Save_Flag,BUC_Net_Sett_Save_Value,BUC_Net_Validate_Flag;
extern char gui_update_Buc_net_IP_Addr[20],gui_update_Buc_net_SubNet_Addr[20],gui_update_Buc_net_gateway_Addr[20];
extern char gui_update_Buc_net_IP_Addr_validate[20],gui_update_Buc_net_SubNet_Addr_validate[20],gui_update_Buc_net_gateway_Addr_validate[20];
extern uint8_t Buc_extract_ipAddr[4],Buc_extract_SubNet_Addr[4],Buc_extract_Gateway_Addr[4];

extern int BUC_User_Login_Save_Flag,BUC_User_Login_Save_Value;
extern int BUC_Sys_Self_Master_Flag,BUC_Sys_Self_Master_Value;
extern int BUC_Sys_Reboot_Flag,BUC_Sys_Reboot_Value;
extern int BUC_Sys_SaveConfig_Flag,BUC_Sys_SaveConfig_Value;

extern int HHT_Net_Sett_Save_Flag,HHT_Net_Sett_Save_Value,HHT_Net_Validate_Flag;
extern char gui_update_HHT_net_IP_Addr[20],gui_update_HHT_net_SubNet_Addr[20],gui_update_HHT_net_gateway_Addr[20];
extern char gui_update_HHT_net_IP_Addr_validate[20],gui_update_HHT_net_SubNet_Addr_validate[20],gui_update_HHT_net_gateway_Addr_validate[20];
extern uint8_t HHT_extract_ipAddr[4],HHT_extract_SubNet_Addr[4],HHT_extract_Gateway_Addr[4];

extern int HHT_Gen_Save_Flag,HHT_Gen_Save_Value;
extern int HHT_Reboot_Flag,HHT_Reboot_Value;
extern int HHT_Factory_Reset_Flag,HHT_Factory_Reset_Value;

extern int BUC_Sys_Self_Master_Value_counter,Buc_ctrl_Ext_10MHz_Ref_Src_switch_value_counter,Buc_ctrl_RF_Mute_switch_value_counter;

extern int g_Rx_Param_from_BUC_Pkt_Cnt;
//Backup Buffer Data Structures
extern uint8_t Backup_gui_BUC_ID1[15];
extern char Backup_gui_BUC_Serial_Num[5];
extern char Backup_gui_BUC_SW_VER_P1[10],Backup_gui_BUC_FW_VER_P1[10],Backup_gui_BUC_Manuf_Date[15];

extern char Backup_gui_attenution_ctrl[10];
extern char Backup_gui_RF_FWD_Power_Status_P1[10],Backup_gui_Ext_10Mhz_Src_Status[10];

//BUC Health Screen Parameters
extern char Backup_gui_RF_FWD_Power_Alarm_Health[15],Backup_gui_Input_Power_Health[15],Backup_gui_PLO_Lock_Status_Health[15];
extern char Backup_gui_LO_Power_Level_Health[15],Backup_gui_L_Band_Input_OverDrive_Health[15],Backup_gui_Fan_Health[15];
extern char Backup_gui_VSWR_Alarm_Health[15],Backup_gui_DC_24V_health[15],Backup_gui_Sequence_Health[15],Backup_gui_Temp_HPD_Health[15];

//BUC Maintainance Screen Parameters
extern char Backup_gui_Low_Power_Sel_Switch[10],Backup_gui_RF_Mute_Status[10],Backup_gui_BUC_Status[10];
extern char Backup_gui_DC_Input_Current[10],Backup_gui_Temp_HPD[10],Backup_gui_Temp_PS[10];

//BUC Net Settings Screen Parameters
extern char Backup_gui_BUC_IP_Addr1[15],Backup_gui_BUC_Subnet_Addr1[15],Backup_gui_BUC_Gateway_Addr1[15];

extern uint32_t g_TxPktCnt,g_Tx_Updated_PktCnt,g_RxPktCnt_Total,g_TxPktCnt_Prev;
extern int Parameter_UDP_Pkt_from_BUC_Received,Parameter_UDP_Pkt_from_BUC_Stopped,g_Rx_ACK_from_BUC_Pkt;
extern int ACK_UDP_Pkt_from_BUC_Received,UDP_Pkt_Received;

#define g_BUC_ID "123"
#define g_BUC_ONLINE_STATE "ONLINE"
#define g_BUC_SW_VER "1.2.1"
#define g_BUC_FW_VER "2.2.2"

extern char gui_BUC_Info_ID_Default[20];
extern int Ethernet_Link_Status;
extern int Battery_Percentage;
extern char str_Battery_Percentage[5];
extern char gui_Screen_Param_Default_number[10];
extern int Buc_health_Status_button_clicked,udp_Self_Master_Enable_Disable_Status;
/*
#define g_Sys_SW_Ver "1.1.1"
#define g_Sys_FW_Ver "1.1.2"
#define g_SYS_ID_VALUE "1.2.3"
#define g_RF_FWD_POWER "30"*/



#endif  // RESOURCE_H

/*************************** End of file ****************************/
