Esempio n. 1
0
void gprs_close_handler(void)
{
#if GPRS_DEBUG
    serial_write(HAL_UART_2, GPRS_CLOSEING, sizeof(GPRS_CLOSEING)-1); 
#endif
    
    gprs_switch();
    gprs_flush_receive_buf();
    
    while (GPRS_QUEUE_HAVE_DATA)         //清空发送缓冲区
    {
        queue_receive(&gprs_queue, &n_item);
    }
    
    gprs_restart_cnt    = 0;
    gprs_cmd_send_cnt   = 0;
    gprs_send_data_cnt  = 0;
    gprs_cmd_send_cpin  = 0; 
    gprs_cmd_send_cipstart = 0;
    gprs_cmd_send_cgatt = 0;
    
    gprs_mode = GPRS_CLOSE;
    gprs_cmd_type = GPRS_CMD_NULL;
    osel_post(GPRS_POLL_EVENT, NULL, OSEL_EVENT_PRIO_LOW);
}
Esempio n. 2
0
void gprs_open_handler(void)
{
#if GPRS_DEBUG
    serial_write(HAL_UART_2, GPRS_OPENING, sizeof(GPRS_OPENING)-1); 
#endif    
    
    gprs_switch();
    
    if(gprs_open_timer == NULL)
    {
        HAL_TIMER_SET_REL(MS_TO_TICK(GPRS_RESPONSE_TIME_1S),   
                          gprs_open_timer_cb,
                          NULL,
                          gprs_open_timer);
        DBG_ASSERT(gprs_open_timer != NULL __DBG_LINE); 
    }
    
    gprs_mode = GPRS_RUN;
    
    gprs_restart_cnt    = 0;
    gprs_cmd_send_cnt   = 0;
    gprs_send_data_cnt  = 0;
    gprs_cmd_send_cpin  = 0; 
    gprs_cmd_send_cipstart = 0;
    gprs_cmd_send_cgatt = 0;  
    
    gprs_flush_receive_buf();
    hal_uart_recv_enable(HAL_UART_4);
}
Esempio n. 3
0
static void gprs_task(void *p)
{
	esn_msg_t esn_msg;
	osel_memset(&esn_msg, 0, sizeof(esn_msg_t));
	while (1)
	{
		xQueueReceive(gprs_queue,        //*< the handle of received queue
					  &esn_msg,          //*< pointer to data received
					  portMAX_DELAY);   //*< time out
		
		switch (esn_msg.event)
		{
		case GPRS_EVENT:
			{
				gprs_switch();
			}
			break;
		default:
			break;
		}
	}
}
Esempio n. 4
0
static void gprs_restart(void)
{
    gprs_switch(); 
    delay_ms(800);
    gprs_switch();
}