Home | History | Annotate | Download | only in mllite
      1 /*
      2  $License:
      3     Copyright (C) 2011-2012 InvenSense Corporation, All Rights Reserved.
      4     See included License.txt for License information.
      5  $
      6  */
      7 /**
      8  *   @defgroup  MPL mpl
      9  *   @brief     Motion Library - Start Point
     10  *              Initializes MPL.
     11  *
     12  *   @{
     13  *       @file  mpl.c
     14  *       @brief MPL start point.
     15  */
     16 
     17 #include "storage_manager.h"
     18 #include "log.h"
     19 #include "mpl.h"
     20 #include "start_manager.h"
     21 #include "data_builder.h"
     22 #include "results_holder.h"
     23 #include "mlinclude.h"
     24 
     25 /**
     26  * @brief  Initializes the MPL. Should be called first and once
     27  * @return Returns INV_SUCCESS if successful or an error code if not.
     28  */
     29 inv_error_t inv_init_mpl(void)
     30 {
     31     inv_init_storage_manager();
     32 
     33     /* initialize the start callback manager */
     34     INV_ERROR_CHECK(inv_init_start_manager());
     35 
     36     /* initialize the data builder */
     37     INV_ERROR_CHECK(inv_init_data_builder());
     38 
     39     INV_ERROR_CHECK(inv_enable_results_holder());
     40 
     41     return INV_SUCCESS;
     42 }
     43 
     44 const char ml_ver[] = "InvenSense MPL 5.1.2 beta RC9";
     45 
     46 /**
     47  *  @brief  used to get the MPL version.
     48  *  @param  version     a string where the MPL version gets stored.
     49  *  @return INV_SUCCESS if successful or a non-zero error code otherwise.
     50  */
     51 inv_error_t inv_get_version(char **version)
     52 {
     53     INVENSENSE_FUNC_START;
     54     /* cast out the const */
     55     *version = (char *)&ml_ver;
     56     return INV_SUCCESS;
     57 }
     58 
     59 /**
     60  *  @brief  Starts the MPL. Typically called after inv_init_mpl() or after a
     61  *          inv_stop_mpl() to start the MPL back up an running.
     62  *  @return INV_SUCCESS if successful or a non-zero error code otherwise.
     63  */
     64 inv_error_t inv_start_mpl(void)
     65 {
     66     INV_ERROR_CHECK(inv_execute_mpl_start_notification());
     67     return INV_SUCCESS;
     68 }
     69 
     70 /**
     71  * @}
     72  */
     73