void ql_entry()
{
    bool                    keepGoing = TRUE;
    QlEventBuffer   flSignalBuffer;
    s32 period = 10;
    char buffer[100];
    char *pData, *p;

    Ql_SetDebugMode(BASIC_MODE);   
    Ql_DebugTrace("keyboard: ql_entry\r\n");
    Ql_OpenModemPort(ql_md_port1);	   

    queryPinStatus();
    
    while(keepGoing)
    {
        Ql_GetEvent(&flSignalBuffer);
        switch(flSignalBuffer.eventType)
        {
            case EVENT_KEY:
            {
                Key_Event* pKeyEvt = &flSignalBuffer.eventData.key_evt;
                Ql_sprintf(buffer, "\r\nEVENT_KEY: key_val(%x), isPressed=%d\r\n", pKeyEvt->key_val, pKeyEvt->isPressed);
                Ql_SendToUart(ql_uart_port1, (u8*)buffer, Ql_strlen(buffer));  
                break;
            }

            case EVENT_POWERKEY:
            {
                Powerkey_Event* pPwrkeyEvt = &flSignalBuffer.eventData.powerkey_evt;
                char* pwrKeyOn = "POWERKEY_ON";
                char* pwrKeyOff = "POWERKEY_OFF";
                if (POWERKEY_ON == pPwrkeyEvt->powerkey)
                {
                    Ql_sprintf(buffer, "\r\nEVENT_KEY: POWERKEY_ON");
                }
                else
                {
                    Ql_sprintf(buffer, "\r\nEVENT_KEY: POWERKEY_OFF");
                }
                if (pPwrkeyEvt->isPressed)
                {
                    Ql_sprintf(buffer + Ql_strlen(buffer), ", Press Key Down\r\n");
                }
                else
                {
                    Ql_sprintf(buffer + Ql_strlen(buffer), ", Release Key\r\n");
                }
                Ql_SendToUart(ql_uart_port1, (u8*)buffer, Ql_strlen(buffer));  
                break;
            }

            default:
                break;
        }
    }
}
Esempio n. 2
0
void custom_at_handler(void)
{
    char *p=NULL;
    AT_Response response = INVAT;
    u8 off;

    if (!pData)
        return;

    p = pData;
    response = parse_at_response(&off);
    p+=off;

    switch(response)
    {
        case CPIN:
        {
            if (Ql_strncmp(p," READY",6)==0)
            {
                Ql_sprintf((char *)buffer,"\r\nCPIN is ready\r\n");
                Ql_SendToUart(ql_uart_port1, (u8*)buffer,Ql_strlen(buffer));
                Ql_sprintf((char *)buffer,"\r\nSet timer for 5 second\r\n");
                Ql_SendToUart(ql_uart_port1, (u8*)buffer,Ql_strlen(buffer));
                
                timer.timeoutPeriod = Ql_SecondToTicks(5);
                Ql_StartTimer(&timer);
                
            }else if (Ql_strncmp(p," SIM PIN",8)==0)
            {
                Ql_sprintf((char *)buffer,"\r\nSIM PIN is needed\r\n");
                Ql_SendToUart(ql_uart_port1, (u8*)buffer,Ql_strlen(buffer));
                
                Ql_memset(atbuffer,0,100);
                Ql_sprintf((char *)atbuffer,"AT+CPIN=1234\n");
                Ql_SendToModem(ql_md_port1,atbuffer,Ql_strlen((char *)atbuffer));    
            }
            break;
        }
        
        default:
            break;
    }
}
void queryPinStatus()
{
    QlPinSubscribe subscribe;
    QlPinMode wrkMode;
    QlPinParameter pinParam;
    ST_Pin pins[10];
    char notes[100];
    int i;

    // Fill in pins
    Ql_sprintf(pins[0].pinName, "QL_PINNAME_KBR0");
    pins[0].pinNo= QL_PINNAME_KBR0;
    Ql_sprintf(pins[1].pinName, "QL_PINNAME_KBR1");
    pins[1].pinNo= QL_PINNAME_KBR1;
    Ql_sprintf(pins[2].pinName, "QL_PINNAME_KBR2");
    pins[2].pinNo= QL_PINNAME_KBR2;
    Ql_sprintf(pins[3].pinName, "QL_PINNAME_KBR3");
    pins[3].pinNo= QL_PINNAME_KBR3;
    Ql_sprintf(pins[4].pinName, "QL_PINNAME_KBR4");
    pins[4].pinNo= QL_PINNAME_KBR4;
    Ql_sprintf(pins[5].pinName, "QL_PINNAME_KBC0");
    pins[5].pinNo= QL_PINNAME_KBC0;
    Ql_sprintf(pins[6].pinName, "QL_PINNAME_KBC1");
    pins[6].pinNo= QL_PINNAME_KBC1;
    Ql_sprintf(pins[7].pinName, "QL_PINNAME_KBC2");
    pins[7].pinNo= QL_PINNAME_KBC2;
    Ql_sprintf(pins[8].pinName, "QL_PINNAME_KBC3");
    pins[8].pinNo= QL_PINNAME_KBC3;
    Ql_sprintf(pins[9].pinName, "QL_PINNAME_KBC4");
    pins[9].pinNo= QL_PINNAME_KBC4;

    // Query the status of all multifunction pins
    for (i = 0; i <  (sizeof(pins) / sizeof(pins[0])); i++)
    {
        Ql_pinQueryMode(pins[i].pinNo, &subscribe, &wrkMode, &pinParam);
        Ql_sprintf(notes, "%s: subscribe:%d, pinMode:%d\r\n", pins[i].pinName, subscribe, wrkMode);
        Ql_SendToUart(ql_uart_port1, (u8*)notes, Ql_strlen(notes));  
    }
}
void ql_entry()
{
    bool           keepGoing = TRUE;
    QlEventBuffer  flSignalBuffer;
    s32 period = 10;

    Ql_SetDebugMode(BASIC_MODE);   
    Ql_DebugTrace("transpass: ql_entry\r\n");
    Ql_OpenModemPort(ql_md_port1);       

    while(keepGoing)
    {    
        Ql_GetEvent(&flSignalBuffer);
        switch(flSignalBuffer.eventType)
        {
            case EVENT_MODEMDATA:
            {                
                Ql_DebugTrace("\r\nEVENT_MODEMDATA type=%d \r\n",flSignalBuffer.eventData.modemdata_evt.type);
                Ql_DebugTrace("\r\nmodemdata =%s\r\n",flSignalBuffer.eventData.uartdata_evt.data);    
                //if (flSignalBuffer.eventData.modemdata_evt.type==DATA_AT)
                Ql_SendToUart(ql_uart_port1,(u8*)flSignalBuffer.eventData.uartdata_evt.data,flSignalBuffer.eventData.uartdata_evt.len);    
                break;
            }

            case EVENT_UARTDATA:
            {            
                Ql_DebugTrace("\r\nEVENT_UARTDATA PORT=%d\r\n",flSignalBuffer.eventData.uartdata_evt.port);
                Ql_DebugTrace("\r\nuart data =%s\r\n",flSignalBuffer.eventData.uartdata_evt.data);    
                Ql_SendToModem(ql_md_port1,(u8*)flSignalBuffer.eventData.uartdata_evt.data,flSignalBuffer.eventData.uartdata_evt.len);    
                break;            
            }
            
            default:
                break;
        }
    }
}
Esempio n. 5
0
void ql_entry()
{
    bool           keepGoing = TRUE;
    QlEventBuffer  flSignalBuffer;
    s32 period = 10;

    Ql_DebugTrace("at: ql_entry\r\n");
    
    Ql_SetDebugMode(BASIC_MODE);   
    Ql_OpenModemPort(ql_md_port1);       

    Ql_memset(atbuffer,0,100);
    //Ql_sprintf((char *)atbuffer,"AT+QLOCPU=0\n");
    Ql_sprintf((char *)atbuffer,"AT+CPIN?\n");
    Ql_SendToModem(ql_md_port1,atbuffer,Ql_strlen((char*)atbuffer));    
         
    while(keepGoing)
    {    
        Ql_GetEvent(&flSignalBuffer);
        switch(flSignalBuffer.eventType)
        {
            case EVENT_TIMER:
            {
                Ql_sprintf((char *)buffer,"\r\nTimer expired\r\n");
                Ql_SendToUart(ql_uart_port1, (u8*)buffer,Ql_strlen(buffer));

                Ql_memset(atbuffer,0,100);
                Ql_sprintf((char *)atbuffer,"AT+QAUDCH=1\n");
                Ql_SendToModem(ql_md_port1,atbuffer,Ql_strlen((char *)atbuffer));
                //Ql_PlayAudio(QL_AUDIO_EMS_TADA,0);    
                
                break;
            }
            
            case EVENT_MODEMDATA:
            {                
                Ql_DebugTrace("\r\nEVENT_MODEMDATA type=%d \r\n",flSignalBuffer.eventData.modemdata_evt.type);
                if (flSignalBuffer.eventData.modemdata_evt.type==DATA_AT)
                {
                    pData = (char*)flSignalBuffer.eventData.modemdata_evt.data;
                    custom_at_handler();            
                }
                break;
            }
            
            case EVENT_UARTDATA:
            {            
                Ql_DebugTrace("\r\nEVENT_UARTDATA PORT=%d\r\n",flSignalBuffer.eventData.uartdata_evt.port);
                Ql_DebugTrace("\r\nuart data =%s\r\n",flSignalBuffer.eventData.uartdata_evt.data);        
                break;            
            }
            
            case EVENT_SERIALSTATUS:
            {
                bool val = flSignalBuffer.eventData.portstatus_evt.val;
                u8 port = flSignalBuffer.eventData.portstatus_evt.port;
                u8 type = flSignalBuffer.eventData.portstatus_evt.type;

                Ql_DebugTrace("EVENT_SERIALSTATUS port=%d type=%d val=%d\r\n",port,type,val);
                break;
            }
            
            default:
                break;
        }
    }
}
void CallBack_socket_read(u8 contexid, s8 sock, bool result, s32 error){
    u8 len=0;
    s32 index=0;
    s32 ret=0;
    //OUTLOG("resive from socket:%d",sock);
    //Ql_memset(__socketBuffer,0,LEN_SOCKET_BUFFER);
    //len=Ql_SocketRecv(sock,(u8*)&__socketBuffer[0],LEN_SOCKET_BUFFER);
	//if (len>0) {
		if (sock==__est_connector_socket) {
            Ql_memset(__socketBuffer,0,LEN_SOCKET_BUFFER);
            len=Ql_SocketRecv(sock,(u8*)&__socketBuffer[0],LEN_SOCKET_BUFFER);
            if (len>0) {
                unreplace(&__socketBuffer[0],len);
                if (!__waitConfirm){
                    nSTATE = STATE_SOCKET_SEND; 
                    __toSend=0;
                  Ql_StopGPTimer();
                }
                 __countRepeat=0;
                 __start_empty_tmr=Ql_GetRelativeTime();
            }
         }
        else{
           // __socketBuffer[len] = '\0'; 
           //read_request((char*)__socketBuffer, sock); 
            index=findClientBySockid(sock);

            ret=__client[index].read_handle_callback(contexid,sock,result,error,index);
            //OUTD("size recive:%d",ret);
            if (ret>0) {
                  if (__client[index].protocol==HTTP) {
                    if (parse_header((char*)__client[index].recvBuffer,(u32)__client[index].pRecvCurrentPos)) {
                        //OUTD("header:%s",__client[index].recvBuffer);
                        if (__header.method==GET) {
                           if (!__header.authorization) {
                                    Ql_strcpy(__header.action,"autorize");
                           }
                           page_response(); 
                            __client[index].send_handle(sock,__s_buf);
                        }
                        else if (__header.method==POST) {
                                OUTD("len:%d",__header.length);
                          }
                      }
                   }
                   else if (__client[index].protocol==STREAM) {
                       OUTD("stream",NULL);
                        Ql_SendToUart(ql_uart_port3,__client[index].recvBuffer,ret);
                    }
                   else if ( __client[index].protocol==UPGRADE) {
                        s32 init=0;
                        int pp=(u16)(__client[index].pRecvCurrentPos);
                        if (Ql_strstr((char*)&__client[index].recvBuffer[pp-3],"END")) {
                            OUTD("end file is:%s",&__client[index].recvBuffer[pp]);
                            init = Ql_Fota_App_Write_Data(ret-3, (s8 *)__client[index].recvBuffer);
                            OUTD("write fota:%d", init); 
                            init=Ql_Fota_App_Finish();
                            __client[index].send_handle(sock,init==0 ? "0":"1");
                            OUTD("finish write:%d", init); 
                            if (init==0) {
                                init=Ql_Fota_Update();
                            }
                        }
                        else{
                            init = Ql_Fota_App_Write_Data(ret, (s8 *)__client[index].recvBuffer);
                            __client[index].send_handle(sock,init==0 ? "0":"1");
                            OUTD("fota write:%d", init); 
                        }
                }
            }
        }
}
Esempio n. 7
0
void ql_entry()
{
    bool keepGoing = TRUE;
    QlEventBuffer flSignalBuffer;
    s32 period = 10;
    char buffer[100];
    char *pData, *p;

    Ql_SetDebugMode(BASIC_MODE);   
    Ql_DebugTrace("pwm: ql_entry\r\n");
    Ql_OpenModemPort(ql_md_port1);       

    while(keepGoing)
    {    
        Ql_GetEvent(&flSignalBuffer);
        switch(flSignalBuffer.eventType)
        {
            case EVENT_UARTDATA:
            {
                if (flSignalBuffer.eventData.uartdata_evt.len>0)
                {
                    s32 pin;
                    s32 mod = 0;
                    s32 pinpullenable = 0;
                    s32 pindirection = 0;
                    s32 pinlevel = 0;
                    s32 iret;

                    pData = (char*)flSignalBuffer.eventData.uartdata_evt.data;

                    //command-->select QL_PINNAME_BUZZER pin function to mode1, it is Net light function
                    p = Ql_strstr(pData,"1");
                    if (p)
                    {
                        iret = Ql_pinSubscribe(QL_PINNAME_BUZZER, QL_PINMODE_1, NULL);    
                        Ql_sprintf(buffer, "\r\nSubscribe(%d),pin=%d,mod=%d\r\n",iret,QL_PINNAME_BUZZER,QL_PINMODE_1);
                        Ql_SendToUart(ql_uart_port1,(u8*)buffer,Ql_strlen(buffer));  
                        break;
                    }
                    
                    //command-->select QL_PINNAME_BUZZER pin function to mode3, it is pwm function
                    p = Ql_strstr(pData,"3");
                    if (p)
                    {
                        QlPinParameter pinparameter;
                        pinparameter.pinconfigversion = QL_PIN_VERSION;
                        pinparameter.pinparameterunion.pwmparameter.pwmsource = QL_PWMSOURCE_32K;
                        pinparameter.pinparameterunion.pwmparameter.pwmclkdiv = QL_PWMSOURCE_DIV8;
                        pinparameter.pinparameterunion.pwmparameter.lowpulesnumber = 4000;
                        pinparameter.pinparameterunion.pwmparameter.highpulesnumber = 8000;
                        iret = Ql_pinSubscribe(QL_PINNAME_BUZZER, QL_PINMODE_3, &pinparameter);    
                        Ql_sprintf(buffer, "\r\nSubscribe(%d),pin=%d,mod=%d\r\n",iret,QL_PINNAME_BUZZER,QL_PINMODE_3);
                        Ql_SendToUart(ql_uart_port1,(u8*)buffer,Ql_strlen(buffer));  
                        break;
                    }   
                    
                    //command-->unsubscribe
                    p = Ql_strstr(pData,"u");
                    if (p)
                    {
                        iret = Ql_pinUnSubscribe(QL_PINNAME_BUZZER);
                        Ql_sprintf(buffer, "\r\nUnSubscribe(%d),pin=%d\r\n",iret,QL_PINNAME_BUZZER);
                        Ql_SendToUart(ql_uart_port1,(u8*)buffer,Ql_strlen(buffer));  
                        break;
                    } 
                    
                    //command-->control start pwm
                    p = Ql_strstr(pData,"s");
                    if (p)
                    {
                        iret = Ql_pinControl(QL_PINNAME_BUZZER, QL_PINCONTROL_START);
                        Ql_sprintf(buffer, "\r\nStart(%d),pin=%d\r\n",iret,QL_PINNAME_BUZZER);
                        Ql_SendToUart(ql_uart_port1,(u8*)buffer,Ql_strlen(buffer));  
                        break;
                    }
                    
                    //command-->control stop pwm
                    p = Ql_strstr(pData,"t");
                    if (p)
                    {
                        iret = Ql_pinControl(QL_PINNAME_BUZZER, QL_PINCONTROL_STOP);
                        Ql_sprintf(buffer, "\r\nStop(%d),pin=%d\r\n",iret,QL_PINNAME_BUZZER);
                        Ql_SendToUart(ql_uart_port1,(u8*)buffer,Ql_strlen(buffer));  
                        break;
                    }  
                }
                break;            
            }
            
            default:
                break;
        }
    }
}
/******************************************************************
* Please refer to how to configure the constant 
* 'Customer_user_qlconfig' in ql_customer_config.c
*******************************************************************/
void ql_entry()
{
    bool           keepGoing = TRUE;
    QlEventBuffer  flSignalBuffer;
    s32 period = 10;
    char buffer[100];
    char *pData, *p;
    QlAudioPlayPath path;

    Ql_SetDebugMode(BASIC_MODE);   
    Ql_DebugTrace("headset: ql_entry\r\n");
    Ql_OpenModemPort(ql_md_port1);       
     
    while(keepGoing)
    {    
        Ql_GetEvent(&flSignalBuffer);
        switch(flSignalBuffer.eventType)
        {
            case EVENT_POWERKEY:
            {
                if(flSignalBuffer.eventData.powerkey_evt.powerkey == POWERKEY_ON)
                {
                    Ql_PowerOnAck();
                    Ql_sprintf(buffer, "\r\nNow, Power on System\r\n");
                    Ql_SendToUart(ql_uart_port1,(u8*)buffer,Ql_strlen(buffer));  
                    path = Ql_VoiceCallGetCurrentPath();
                    Ql_sprintf(buffer, "\r\nCurrent Voice call path is %d\r\n",path);
                    Ql_SendToUart(ql_uart_port1,(u8*)buffer,Ql_strlen(buffer));  
                    Ql_VoiceCallChangePath(QL_AUDIO_PATH_LOUDSPEAKER);
                    if(path == QL_AUDIO_PATH_NORMAL)
                    {
                        Ql_sprintf(buffer, "\r\nnow change to QL_AUDIO_PATH_LOUDSPEAKER\r\n");
                        Ql_SendToUart(ql_uart_port1,(u8*)buffer,Ql_strlen(buffer));  
                    }
                }
                else if(flSignalBuffer.eventData.powerkey_evt.powerkey == POWERKEY_OFF)
                {
                    if( flSignalBuffer.eventData.powerkey_evt.isPressed)
                    {
                        Ql_sprintf(buffer, "\r\nNow, Press PWRKEY\r\n");
                        Ql_SendToUart(ql_uart_port1,(u8*)buffer,Ql_strlen(buffer));  
                    }
                    else
                    {
                        Ql_sprintf(buffer, "\r\nNow, Release PWRKEY\r\n");
                        Ql_SendToUart(ql_uart_port1,(u8*)buffer,Ql_strlen(buffer));  
                    }
                }
                break;
            }
                    
            case EVENT_HEADSET:
            {                
                switch(flSignalBuffer.eventData.headset_evt.headsettype)
                {
                    case HEADSET_PLUGOUT:
                        Ql_sprintf(buffer, "\r\nHEADSET_PLUGOUT");
                        Ql_SendToUart(ql_uart_port1,(u8*)buffer,Ql_strlen(buffer));  
                        path = Ql_VoiceCallGetCurrentPath();
                        Ql_sprintf(buffer, "\r\nCurrent Voice call path is %d\r\n",path);
                        Ql_SendToUart(ql_uart_port1,(u8*)buffer,Ql_strlen(buffer));  

                    #if 1                                           
                        if(path != QL_AUDIO_PATH_LOUDSPEAKER)
                        {
                            Ql_sprintf(buffer, "\r\nnow change to QL_AUDIO_PATH_LOUDSPEAKER\r\n");
                            Ql_SendToUart(ql_uart_port1,(u8*)buffer,Ql_strlen(buffer));  
                            Ql_VoiceCallChangePath(QL_AUDIO_PATH_LOUDSPEAKER);
                        }                                            
                    #endif
                    
                        break;
                    case HEADSET_PLUGIN:
                        Ql_sprintf(buffer, "\r\nHEADSET_PLUGIN");
                        Ql_SendToUart(ql_uart_port1,(u8*)buffer,Ql_strlen(buffer));  
                        path = Ql_VoiceCallGetCurrentPath();
                        Ql_sprintf(buffer, "\r\nCurrent Voice call path is %d\r\n",path);
                        Ql_SendToUart(ql_uart_port1,(u8*)buffer,Ql_strlen(buffer));

                    #if 1                                            
                        if(path != QL_AUDIO_PATH_HEADSET)
                        {
                            Ql_sprintf(buffer, "\r\nnow change to QL_AUDIO_PATH_HEADSET\r\n");
                            Ql_SendToUart(ql_uart_port1,(u8*)buffer,Ql_strlen(buffer));  
                            Ql_VoiceCallChangePath(QL_AUDIO_PATH_HEADSET);
                        }                                            
                    #endif
                    
                        break;
                    case HEADSET_KEYPRESS:
                        Ql_sprintf(buffer, "\r\nHEADSET_KEYPRESS");
                        Ql_SendToUart(ql_uart_port1,(u8*)buffer,Ql_strlen(buffer));  
                       break;
                    case HEADSET_KEYRELEASE:
                        Ql_sprintf(buffer, "\r\nHEADSET_KEYRELEASE");
                        Ql_SendToUart(ql_uart_port1,(u8*)buffer,Ql_strlen(buffer));  
                        break;
                    case HEADSET_ADC:
                        Ql_sprintf(buffer, "\r\nHEADSET_ADC:%d",flSignalBuffer.eventData.headset_evt.data1);
                        Ql_SendToUart(ql_uart_port1,(u8*)buffer,Ql_strlen(buffer));  
                        break;
                }
                 break;    
            }
            
            case EVENT_MODEMDATA:
            {                
                //Ql_DebugTrace("\r\nEVENT_MODEMDATA type=%d \r\n",flSignalBuffer.eventData.modemdata_evt.type);
                //Ql_DebugTrace("\r\nmodemdata =%s\r\n",flSignalBuffer.eventData.uartdata_evt.data);    
                //if (flSignalBuffer.eventData.modemdata_evt.type==DATA_AT)
                Ql_SendToUart(ql_uart_port1,(u8*)flSignalBuffer.eventData.uartdata_evt.data,flSignalBuffer.eventData.uartdata_evt.len);    
                break;
            }
            case EVENT_UARTDATA:
            {            
                //Ql_DebugTrace("\r\nEVENT_UARTDATA PORT=%d\r\n",flSignalBuffer.eventData.uartdata_evt.port);
                //Ql_DebugTrace("\r\nuart data =%s\r\n",flSignalBuffer.eventData.uartdata_evt.data);    
                Ql_SendToModem(ql_md_port1,(u8*)flSignalBuffer.eventData.uartdata_evt.data,flSignalBuffer.eventData.uartdata_evt.len);    
                break;                        
            }
            
            default:
                break;
        }
    }
}