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; } } }
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; } } }
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); } } } } }
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; } } }