Example #1
0
BOOL RELAYER_start(int serial_port, int serial_speed)
{

    if (EM_BT_init()){
        DBG("BT device power on success\n");
    }
    else {
        ERR("BT device power on failed\n");
        return FALSE;
    }
    
    uart_fd = init_uart2pc(serial_port, serial_speed);
    if (uart_fd < 0){
        ERR("Initialize serial port to PC failed\n");
        EM_BT_deinit();
        return FALSE;
    }
    
    /* Create Tx monitor thread */
    pthread_create(&txThread, NULL, bt_tx_monitor, (void*)NULL);
    /* Create RX monitor thread */
    pthread_create(&rxThread, NULL, bt_rx_monitor, (void*)NULL);
    
    DBG("BT Relayer mode start\n");
    fExit = FALSE;
    
    return TRUE;
}
Example #2
0
void RELAYER_exit()
{
    fExit = TRUE;
    /* Wait until thread exist */
    pthread_join(txThread, NULL);
    pthread_join(rxThread, NULL);
    
    close(uart_fd);
    uart_fd = -1;
    
    EM_BT_deinit();           	
}
void RELAYER_exit()
{
    TRC();
    
    /* Wait until thread exit */
    pthread_kill(txThread, SIGRTMIN);
    pthread_join(txThread, NULL);
    pthread_kill(rxThread, SIGRTMIN);
    pthread_join(rxThread, NULL);
    
    close(serial_fd);
    serial_fd = -1;
    
    EM_BT_deinit();           	
}