2 Replies Latest reply on Apr 19, 2015 5:30 PM by ArvindS_76

    These methods represent the meaning?

      Hi sir ,

      Can tell me blecm_XXXXConMux methods meaning ?

       

      111.jpg

       

      Thanks Sir !

        • 1. Re: These methods represent the meaning?
          MichaelF_56

          Do you mean how these functions are used?  What they are used for, etc.?

           

          What are you trying to use them for?

          • 2. Re: These methods represent the meaning?
            ArvindS_76

            The next SDK release has these documented in the header. See hello_client for usage. In the meantime,

             

            // The stack/app architecture supports only one connection at any point of time.

            // Since the stack and app are event driven, a software mux is used to switch the

            // app and stack connection context when some event/action needs to be performed on

            // different connections. These functions provide the means to switch between different

            // connection contexts.

             

            // Internal function used by the stack to check if the connection context needs to be changed.

            INT32  blecm_needToConMux( void );

             

            /**

            * Enable connection muxing. This needs to be done once by the app in the create function.

            */

            void   blecm_enableConMux( void );

             

            /**

            * Disable connection muxing. Generally never done.

            */

            void   blecm_disableConMux( void );

             

            /**

            * Initialize connection mux. This nees to be done once by the app in the create function.

            * \param con_num The max number of connections that can be active at any point in time.

            */

            void   blecm_ConMuxInit(INT32 con_num);

             

            /**

            * Add the connection to the list of known connections we can mux between. Typically done on connection up.

            * \param index The index into which to add the connection information.

            * \param con_handle The connection handle of this connection. This handle

            *                    is used to look up the connection info structure.

            * \param db_size  The size of the GATT DB to be associated with the connection.

            * \param p_db The pointer to the GATT DB to be associated with this connection.

            * \param dev_pinfo Device information in EMCONINFO_DEVINFO for this connection.

            * \param smp_pinfo The SMP information from LESMP_INFO for this connection.

            */

            void   blecm_AddConMux(INT32 index, UINT16 con_handle, UINT16 db_size, void *p_db,

                                void *dev_pinfo, void *smp_pinfo);

             

            /**

            * Delete the connection mux/context at the given index. Typically done on connection down.

            * \param index The index of the connection information to delete.

            */

            void   blecm_DelConMux(int index);

             

            /**

            * Find a free connection mux/context slot.

            * \return Index of the first unused connection info structure or -1 when none are free.

            */

            INT32  blecm_FindFreeConMux(void);

             

            /**

            * Look up the connection information structure given a handle.

            * \param con_handle Connection handle of the connection to look up for.

            * \return Index of the connection info structure or -1 when not found.

            */

            INT32  blecm_FindConMux(UINT16 con_handle);

             

            /**

            * Get the GATT DB size given a connection handle.

            * \param con_handle Connection handle of the connection to look up for.

            * \return GATT DB size or 0 when not found.

            */

            UINT16 blecm_GetDbSizeConMux(UINT16 con_handle);

             

            /**

            * Get the GATT DB  given a connection handle.

            * \param con_handle Connection handle of the connection to look up for.

            * \return GATT DB or NULL when not found.

            */

            void   *blecm_GetDbConMux(UINT16 con_handle);

             

            /**

            * Get the device information given a connection handle.

            * \param con_handle Connection handle of the connection to look up for.

            * \return Device information pointer or NULL when not found.

            */

            void   *blecm_GetDevConMux(UINT16 con_handle);

             

            /**

            * Get the SMP information given a connection handle.

            * \param con_handle Connection handle of the connection to look up for.

            * \return SMP information pointer or NULL when not found.

            */

            void   *blecm_GetSmpConMux(UINT16 con_handle);

             

            /**

            * Reset the connection context.

            */

            void   blecm_ResetPtrConMux(void);

             

            /**

            * Set all the connection contexts to the one for the given connection.

            * This is used by the stack to switch connection contexts.

            */

            void   blecm_SetPtrConMux(UINT16 con_handle);

             

            // Internal function to check if 8-bitor 16-bit length is used in the app's GATT DB.

            INT32  blecm_needToGATTDB16( void );

             

            /**

            * Enable 16-bit length fields in application GATT DB. This needs to be invoked before the first

            * access to GATT DB occurs (early in create function). The GATT DB provided in the set_cfg function

            * should use 16-bit lengths.

            */

            void   blecm_enableGATTDB16( void );

             

            /**

            * Disable 16-bit length fields in app GATT DB.

            */

            void   blecm_disableGATTDB16( void );

            1 of 1 people found this helpful