/* 
 * File:   LTENetworkInterface.h
 * Author: JF
 *
 * Created on December 28, 2024, 8:05 AM
 */

#ifndef LTENETWORKINTERFACE_H
#define	LTENETWORKINTERFACE_H

#define LTE_NWI_MASTER_CONNECT_POLL_INTERVAL 5000

enum  eLTENWISMStates
{
    LTE_NWI_INIT_STATE,
    LTE_NWI_WAIT_FOR_LTE_STATE,
    LTE_NWI_CONNECT_TO_MASTER_STATE,
    LTE_NWI_OPERATE_STATE,
    
    LTE_NWI_MAX_STATE
};

enum eLTENWISMEvents
{
    LTE_NWI_TICK_EVENT,
    LTE_NWI_MASTER_CONNECTED_EVENT,
    
    LTE_NWI_MAX_EVENT
};


void LTENetworkInterfaceInit();
void ExecuteLTEMasterCommand(int SenderID, int Command, unsigned char *Data, int DataSize);

void TickLTENetworkInterface();
void LTENetworInterfaceExecSM(int Event);
void SendLTENetworkCommand(int Command, unsigned char *Data, unsigned int DataSize);

#endif	/* LTENETWORKINTERFACE_H */

