#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include "bbmagic_lib.h"
#include "src_actions/button_action.c"
#include "src_actions/flood_action.c"
#include "src_actions/magneto_action.c"
#include "src_actions/meteo_action.c"
#include "src_actions/motion_action.c"

//-Main point
int main(void)
{
    //-zmienne BBMagic
    unsigned char bbm_buf[100] ;
    unsigned int bbm_cnt =0, second =0 ;
    int bbm_id ;

    printf("\n\t**** BBMagic Smart Home v0.1 ***\n") ;
    printf("\t****     www.bbmagic.net     ***\n\n") ;

    bbm_id = bbm_bt_lib_version() ;
    printf("bbm_lib_version: %0.4X - ",bbm_id) ;
    if(bbm_id >= 0x0200) printf("ok\n") ;
    else
    {
        printf("Niewłaściwa wersja biblioteki bbmagic_lib.h - przerwanie programu") ;
        exit(1) ;
    }

    //-otwórz komunikację BBMagic przez Bluetooth Smart
    bbm_id = bbm_bt_open(0, 0, 0, LIB_SHOW_CONFIG | LIB_SHOW_SENSORS) ;
    if(bbm_id) exit(2) ;

    //-pętla główna
    do
    {
        //-odczytaj wiadomość od modułów BBMagic
        bbm_id = bbm_bt_read(bbm_buf) ;
            switch( bbm_id )
		{
		    case BBMAGIC_M_BUTTON:
			button_action( bbm_buf ) ;
		    break ;

		    case BBMAGIC_M_FLOOD:
			flood_action( bbm_buf ) ;
		    break ;

		    case BBMAGIC_M_MAGNETO:
			magneto_action( bbm_buf ) ;
		    break ;

		    case BBMAGIC_M_METEO:
			meteo_action( bbm_buf ) ;
		    break ;

		    case BBMAGIC_M_MOTION:
			motion_action( bbm_buf ) ;
		    break ;

		    default:
		    break ;
		} ;

        bbm_sleep_ms(100) ;
    }

    while(bbm_id != -1) ;

    bbm_bt_close() ;

    exit(0) ;
}
