コード例 #1
0
//--------------------------------------------------------------------------------------------------
void pa_gnssSimu_ReportEvent
(
    void
)
{
    // Build the data for the user's event handler.
    pa_Gnss_Position_t* posDataPtr = le_mem_ForceAlloc(PositionEventDataPool);
    memcpy(posDataPtr, &GnssPositionData, sizeof(pa_Gnss_Position_t));
    le_event_ReportWithRefCounting(GnssEventId, posDataPtr);
    char* strDataPtr = le_mem_ForceAlloc(NmeaEventDataPool);
    strncpy(strDataPtr, "nmea", NMEA_STR_LEN);
    le_event_ReportWithRefCounting(NmeaEventId, strDataPtr);
}
コード例 #2
0
ファイル: pa_mdc.c プロジェクト: H-H-bin/legato-af
//--------------------------------------------------------------------------------------------------
static void CGEVUnsolHandler
(
    void* reportPtr
)
{
    atmgr_UnsolResponse_t* unsolPtr = reportPtr;
    uint32_t  numParam=0;
    pa_mdc_SessionStateData_t *sessionStatePtr=NULL;

    LE_DEBUG("Handler received -%s-",unsolPtr->line);

    if ( ( FIND_STRING("+CGEV: NW DEACT", unsolPtr->line) )
        ||
         ( FIND_STRING("+CGEV: ME DEACT", unsolPtr->line) )
       )
    {
        numParam = atcmd_CountLineParameter(unsolPtr->line);

        if (numParam == 4) {
            sessionStatePtr = le_mem_ForceAlloc(NewSessionStatePool);
            sessionStatePtr->profileIndex = atoi(atcmd_GetLineParameter(unsolPtr->line,4));
            sessionStatePtr->newState = LE_MDC_DISCONNECTED;

            SetCurrentDataSessionIndex(INVALID_PROFILE_INDEX);

            LE_DEBUG("Send Event for %d with state %d",
                        sessionStatePtr->profileIndex,sessionStatePtr->newState);
            le_event_ReportWithRefCounting(NewSessionStateEvent,sessionStatePtr);
        } else {
            LE_WARN("this Response pattern is not expected -%s-",unsolPtr->line);
        }
    }
}
コード例 #3
0
ファイル: le_ips.c プロジェクト: H-H-bin/legato-af
//--------------------------------------------------------------------------------------------------
static void VoltageChangeHandler
(
    le_ips_ThresholdStatus_t* thresholdEventPtr
)
{
    // Notify all the registered client's handlers
    le_event_ReportWithRefCounting(VoltageThresholdEventId, thresholdEventPtr);
}
コード例 #4
0
ファイル: le_temp.c プロジェクト: mbarazzouq/legato-af
//--------------------------------------------------------------------------------------------------
static void TemperatureChangeHandler
(
    le_temp_ThresholdStatus_t* thresholdEventPtr
)
{
    // Notify all the registered client's handlers
    le_event_ReportWithRefCounting(TemperatureThresholdEventId, thresholdEventPtr);
}
コード例 #5
0
ファイル: le_mrc.c プロジェクト: hakanernam/legato-af
//--------------------------------------------------------------------------------------------------
static void NewRegStateHandler
(
    le_mrc_NetRegState_t* regStatePtr
)
{
    LE_DEBUG("Handler Function called with regStat %d", *regStatePtr);

    // Notify all the registered client's handlers
    le_event_ReportWithRefCounting(NewNetRegStateId, regStatePtr);
}
コード例 #6
0
ファイル: pa_sim.c プロジェクト: hakanernam/legato-af
//--------------------------------------------------------------------------------------------------
static void ReportStatus
(
    uint32_t        simCard,  ///< [IN] Sim Card Number
    le_sim_States_t simState  ///< [IN] Sim Card Status
)
{
    pa_sim_Event_t* eventPtr = le_mem_ForceAlloc(SimEventPoolRef);
    eventPtr->num   = simCard;
    eventPtr->state = simState;

    LE_DEBUG("Send Event SIM number %d, SIM state %d",eventPtr->num,eventPtr->state);
    le_event_ReportWithRefCounting(EventNewSimStateId,eventPtr);
}
コード例 #7
0
//--------------------------------------------------------------------------------------------------
void pa_lptSimu_ReportEDrxParamsChange
(
    le_lpt_EDrxRat_t rat,       ///< [IN] Radio Access Technology.
    le_onoff_t activation,      ///< [IN] eDRX activation state.
    uint8_t eDrxValue,          ///< [IN] eDRX cycle value, defined in 3GPP
                                ///<      TS 24.008 Rel-13 section 10.5.5.32.
    uint8_t pagingTimeWindow    ///< [IN] Paging Time Window, defined in 3GPP
                                ///<      TS 24.008 Rel-13 section 10.5.5.32.
)
{
    pa_lpt_EDrxParamsIndication_t* eDrxParamsChangeIndPtr;

    eDrxParamsChangeIndPtr = le_mem_ForceAlloc(EDrxParamsChangeIndPool);
    eDrxParamsChangeIndPtr->rat = rat;
    eDrxParamsChangeIndPtr->activation = activation;
    eDrxParamsChangeIndPtr->eDrxValue = eDrxValue;
    eDrxParamsChangeIndPtr->pagingTimeWindow = pagingTimeWindow;

    le_event_ReportWithRefCounting(EDrxParamsChangeEventId, eDrxParamsChangeIndPtr);
}
コード例 #8
0
ファイル: pa_mrc.c プロジェクト: andreasanna/legato-af
//--------------------------------------------------------------------------------------------------
static void CREGUnsolHandler(void* reportPtr) {
    atmgr_UnsolResponse_t* unsolPtr = reportPtr;
    uint32_t  numParam=0;
    le_mrc_NetRegState_t  *statePtr;

    LE_DEBUG("Handler received -%s-",unsolPtr->line);

    numParam = atcmd_CountLineParameter(unsolPtr->line);

    if ( ThisMode == PA_MRC_ENABLE_REG_NOTIFICATION )
    {
        if (numParam == 2) {
            statePtr = le_mem_ForceAlloc(RegStatePoolRef);
            switch(atoi(atcmd_GetLineParameter(unsolPtr->line,2)))
            {
                case 0:
                    *statePtr = LE_MRC_REG_NONE;
                    break;
                case 1:
                    *statePtr = LE_MRC_REG_HOME;
                    break;
                case 2:
                    *statePtr = LE_MRC_REG_SEARCHING;
                    break;
                case 3:
                    *statePtr = LE_MRC_REG_DENIED;
                    break;
                case 4:
                    *statePtr = LE_MRC_REG_UNKNOWN;
                    break;
                case 5:
                    *statePtr = LE_MRC_REG_ROAMING;
                    break;
                default:
                    *statePtr = LE_MRC_REG_UNKNOWN;
                    break;
            }
            LE_DEBUG("Send Event with state %d",*statePtr);
            le_event_ReportWithRefCounting(EventNewRcStatusId,statePtr);
        } else {
            LE_WARN("this Response pattern is not expected -%s-",unsolPtr->line);
        }
    } else if (ThisMode == PA_MRC_ENABLE_REG_LOC_NOTIFICATION)
    {
        if (numParam == 5) {
            statePtr = le_mem_ForceAlloc(RegStatePoolRef);
            switch(atoi(atcmd_GetLineParameter(unsolPtr->line,2)))
            {
                case 0:
                    *statePtr = LE_MRC_REG_NONE;
                    break;
                case 1:
                    *statePtr = LE_MRC_REG_HOME;
                    break;
                case 2:
                    *statePtr = LE_MRC_REG_SEARCHING;
                    break;
                case 3:
                    *statePtr = LE_MRC_REG_DENIED;
                    break;
                case 4:
                    *statePtr = LE_MRC_REG_UNKNOWN;
                    break;
                case 5:
                    *statePtr = LE_MRC_REG_ROAMING;
                    break;
                default:
                    *statePtr = LE_MRC_REG_UNKNOWN;
                    break;
            }
            LE_DEBUG("Send Event with state %d",*statePtr);
            le_event_ReportWithRefCounting(EventNewRcStatusId,statePtr);
        } else {
            LE_WARN("this Response pattern is not expected -%s-",unsolPtr->line);
        }
    }
}