Bluetooth hc05 library

Dependents:   Nucleo_bt

hc05.cpp

Committer:
rainerraul
Date:
2018-08-17
Revision:
1:8d4296aafa55
Parent:
0:15a264bf1590
Child:
2:38f1fb034a75

File content as of revision 1:8d4296aafa55:

#include "mbed.h"
#include "at.h"
#include "hc05.h"


void bt_modul_hc05::initUART(UART num, unsigned long baudrate, _IRQ interrupt)
{
    switch(num)  {
        case UART1 :
            at0.device_init(baudrate, interrupt);
            t_interrupt = interrupt;
            break;
        case UART6 :
            at1.device_init1(baudrate, interrupt);
            t_interrupt1 = interrupt;
            break;
    }

}

char *bt_modul_hc05::get_version(UART num)
{
    switch(num)  {
        case UART1 :
            at0.at_send("AT+VERSION?\r\n", "");
            if(t_interrupt == OFF)  {
                return at0.getAnswer(3);
            } else  {
                return at0.buffer;
            }

        case UART6 :
            at1.at_send1("AT+VERSION?\r\n", "");
            if(t_interrupt1 == OFF)  {
                return at1.getAnswer(3);
            } else  {
                return at1.buffer;
            }

    }
    return 0;
}

char *bt_modul_hc05::set_reset(UART num)
{
    switch(num)  {
        case UART1 :
            at0.at_send("AT+RESET\r\n", "");
            if(t_interrupt == OFF)  {
                return at0.getAnswer(3);
            } else  {
                return at0.buffer;
            }

        case UART6 :
            at1.at_send1("AT+RESET\r\n", "");
            if(t_interrupt1 == OFF)  {
                return at1.getAnswer(3);
            } else  {
                return at1.buffer;
            }

    }
    return 0;
}

char *bt_modul_hc05::set_default_settings(UART num)
{
    switch(num)  {
        case UART1 :
            at0.at_send("AT+ORGL\r\n", "");
            if(t_interrupt == OFF)  {
                return at0.getAnswer(3);
            } else  {
                return at0.buffer;
            }

        case UART6 :
            at1.at_send1("AT+ORGL\r\n", "");
            if(t_interrupt1 == OFF)  {
                return at1.getAnswer(3);
            } else  {
                return at1.buffer;
            }

    }
    return 0;

}

char *bt_modul_hc05::get_modul_address(UART num)
{
    switch(num)  {
        case UART1 :
            at0.at_send("AT+ADDR?\r\n", "");
            if(t_interrupt == OFF)  {
                return at0.getAnswer(1);
            } else  {
                return at0.buffer;
            }

        case UART6 :
            at1.at_send1("AT+ADDR?\r\n", "");
            if(t_interrupt1 == OFF)  {
                return at1.getAnswer(1);
            } else  {
                return at1.buffer;
            }

    }
    return 0;

}

char *bt_modul_hc05::get_modul_name(UART num)
{
    switch(num)  {
        case UART1 :
            at0.at_send("AT+NAME?\r\n", "");
            if(t_interrupt == OFF)  {
                return at0.getAnswer(3);
            } else  {
                return at0.buffer;
            }

        case UART6 :
            at1.at_send1("AT+NAME?\r\n", "");
            if(t_interrupt1 == OFF)  {
                return at1.getAnswer(3);
            } else  {
                return at1.buffer;
            }

    }
    return 0;

}

char *bt_modul_hc05::get_device_name(UART num)
{
    switch(num)  {
        case UART1 :
            at0.at_send("AT+RNAME?\r\n", "");
            if(t_interrupt == OFF)  {
                return at0.getAnswer(3);
            } else  {
                return at0.buffer;
            }

        case UART6 :
            at1.at_send1("AT+RNAME?\r\n", "");
            if(t_interrupt1 == OFF)  {
                return at1.getAnswer(3);
            } else  {
                return at1.buffer;
            }

    }
    return 0;

}

char *bt_modul_hc05::get_modul_role(UART num)
{
    switch(num)  {
        case UART1 :
            at0.at_send("AT+ROLE?\r\n", "");
            if(t_interrupt == OFF)  {
                return at0.getAnswer(3);
            } else  {
                return at0.buffer;
            }

        case UART6 :
            at1.at_send1("AT+ROLE?\r\n", "");
            if(t_interrupt1 == OFF)  {
                return at1.getAnswer(3);
            } else  {
                return at1.buffer;
            }

    }
    return 0;

}

char *bt_modul_hc05::get_device_class(UART num)
{
    switch(num)  {
        case UART1 :
            at0.at_send("AT+CLASS?\r\n", "");
            if(t_interrupt == OFF)  {
                return at0.getAnswer(3);
            } else  {
                return at0.buffer;
            }

        case UART6 :
            at1.at_send1("AT+CLASS?\r\n", "");
            if(t_interrupt1 == OFF)  {
                return at1.getAnswer(3);
            } else  {
                return at1.buffer;
            }

    }
    return 0;

}

char *bt_modul_hc05::get_modul_giac(UART num)
{
    switch(num)  {
        case UART1 :
            at0.at_send("AT+IAC?\r\n", "");
            if(t_interrupt == OFF)  {
                return at0.getAnswer(3);
            } else  {
                return at0.buffer;
            }

        case UART6 :
            at1.at_send1("AT+IAC?\r\n", "");
            if(t_interrupt1 == OFF)  {
                return at1.getAnswer(3);
            } else  {
                return at1.buffer;
            }

    }
    return 0;

}

char *bt_modul_hc05::get_modul_inquiry(UART num)
{
    switch(num)  {
        case UART1 :
            at0.at_send("AT+INQM?\r\n", "");
            if(t_interrupt == OFF)  {
                return at0.getAnswer(3);
            } else  {
                return at0.buffer;
            }

        case UART6 :
            at1.at_send1("AT+INQM?\r\n", "");
            if(t_interrupt1 == OFF)  {
                return at1.getAnswer(3);
            } else  {
                return at1.buffer;
            }

    }
    return 0;

}

char *bt_modul_hc05::get_modul_pincode(UART num)
{
    switch(num)  {
        case UART1 :
            at0.at_send("AT+PSWD?\r\n", "");
            if(t_interrupt == OFF)  {
                return at0.getAnswer(1);
            } else  {
                return at0.buffer;
            }

        case UART6 :
            at1.at_send1("AT+PSWD?\r\n", "");
            if(t_interrupt1 == OFF)  {
                return at1.getAnswer(1);
            } else  {
                return at1.buffer;
            }

    }
    return 0;

}

char *bt_modul_hc05::get_modul_uart(UART num)
{
    switch(num)  {
        case UART1 :
            at0.at_send("AT+UART?\r\n", "");
            if(t_interrupt == OFF)  {
                return at0.getAnswer(3);
            } else  {
                return at0.buffer;
            }

        case UART6 :
            at1.at_send1("AT+UART?\r\n", "");
            if(t_interrupt1 == OFF)  {
                return at1.getAnswer(3);
            } else  {
                return at1.buffer;
            }

    }
    return 0;

}

char *bt_modul_hc05::get_modul_inqm(UART num)
{
    switch(num)  {
        case UART1 :
            at0.at_send("AT+INQ?\r\n", "");

            if(t_interrupt == OFF)  {
                return at0.getAnswer(3);
            } else  {
                return at0.buffer;
            }


        case UART6 :
            at1.at_send1("AT+INQ?\r\n", "");

            if(t_interrupt1 == OFF)  {
                return at1.getAnswer(3);
            } else  {
                return at1.buffer;
            }

    }
    return 0;

}

char *bt_modul_hc05::get_modul_init(UART num)
{
    switch(num)  {
        case UART1 :
            at0.at_send("AT+INIT\r\n", "");

            if(t_interrupt == OFF)  {
                return at0.getAnswer(2);
            } else  {
                return at0.buffer;
            }


        case UART6 :
            at1.at_send("AT+INIT\r\n", "");

            if(t_interrupt1 == OFF)  {
                return at1.getAnswer(2);
            } else  {
                return at1.buffer;
            }


    }
    return 0;

}

char *bt_modul_hc05::get_modul_state(UART num)
{
    switch(num)  {
        case UART1 :
            at0.at_send("AT+STATE?\r\n", "");
            if(t_interrupt == OFF)  {
                return at0.getAnswer(3);
            } else  {
                return at0.buffer;
            }

        case UART6 :
            at1.at_send1("AT+STATE?\r\n", "");
            if(t_interrupt1 == OFF)  {
                return at1.getAnswer(3);
            } else  {
                return at1.buffer;
            }

    }
    return 0;

}

char *bt_modul_hc05::get_addr_mode(UART num)
{
    switch(num)  {
        case UART1 :
            at0.at_send("AT+CMODE?\r\n", "");
            if(t_interrupt == OFF)  {
                return at0.getAnswer(3);
            } else  {
                return at0.buffer;
            }

        case UART6 :
            at1.at_send1("AT+CMODE?\r\n", "");
            if(t_interrupt1 == OFF)  {
                return at1.getAnswer(3);
            } else  {
                return at1.buffer;
            }

    }
    return 0;

}

char *bt_modul_hc05::get_fixed_addr(UART num)
{
    switch(num)  {
        case UART1 :
            at0.at_send("AT+BIND?\r\n", "");
            if(t_interrupt == OFF)  {
                return at0.getAnswer(3);
            } else  {
                return at0.buffer;
            }

        case UART6 :
            at1.at_send1("AT+BIND?\r\n", "");
            if(t_interrupt1 == OFF)  {
                return at1.getAnswer(3);
            } else  {
                return at1.buffer;
            }

    }
    return 0;

}

char *bt_modul_hc05::set_modul_address(UART num, char *addr)
{

    switch(num)  {
        case UART1 :
            at0.at_send1("AT+ADDR=%s\r\n", addr);
            if(t_interrupt == OFF)  {
                return at0.getAnswer(3);
            } else  {
                return at0.buffer;
            }

        case UART6 :
            at0.at_send1("AT+ADDR=%s\r\n", addr);
            if(t_interrupt1 == OFF)  {
                return at1.getAnswer(3);
            } else  {
                return at1.buffer;
            }

    }
    return 0;

}

char *bt_modul_hc05::set_modul_name(UART num, char *name)
{
    switch(num)  {
        case UART1 :
            at0.at_send("AT+NAME=%s\r\n", name);
            if(t_interrupt == OFF)  {
                return at0.getAnswer(3);
            } else  {
                return at0.buffer;
            }

        case UART6 :
            at1.at_send1("AT+NAME=%s\r\n", name);
            if(t_interrupt1 == OFF)  {
                return at1.getAnswer(3);
            } else  {
                return at1.buffer;
            }

    }
    return 0;

}