@@ -2174,6 +2174,303 @@ int bt_audio_codec_cap_meta_set_vendor(struct bt_audio_codec_cap *codec_cap,
21742174
21752175/** @} */ /* End of bt_audio_codec_cap */
21762176
2177+ /**
2178+ * @brief Assigned numbers to string API
2179+ * @defgroup bt_audio_to_str Assigned numbers to string API
2180+ *
2181+ * Functions to return string representation of Bluetooth Audio assigned number values.
2182+ *
2183+ * @{
2184+ */
2185+
2186+ /**
2187+ * @brief Returns a string representation of a specific @ref bt_audio_context bit
2188+ *
2189+ * If @p context contains multiple bits, it will return "Unknown context"
2190+ *
2191+ * @param context A single context bit
2192+ *
2193+ * @return String representation of the supplied bit
2194+ */
2195+ static inline char * bt_audio_context_bit_to_str (enum bt_audio_context context )
2196+ {
2197+ switch (context ) {
2198+ case BT_AUDIO_CONTEXT_TYPE_PROHIBITED :
2199+ return "Prohibited" ;
2200+ case BT_AUDIO_CONTEXT_TYPE_UNSPECIFIED :
2201+ return "Unspecified" ;
2202+ case BT_AUDIO_CONTEXT_TYPE_CONVERSATIONAL :
2203+ return "Conversational" ;
2204+ case BT_AUDIO_CONTEXT_TYPE_MEDIA :
2205+ return "Media" ;
2206+ case BT_AUDIO_CONTEXT_TYPE_GAME :
2207+ return "Game" ;
2208+ case BT_AUDIO_CONTEXT_TYPE_INSTRUCTIONAL :
2209+ return "Instructional" ;
2210+ case BT_AUDIO_CONTEXT_TYPE_VOICE_ASSISTANTS :
2211+ return "Voice assistant" ;
2212+ case BT_AUDIO_CONTEXT_TYPE_LIVE :
2213+ return "Live" ;
2214+ case BT_AUDIO_CONTEXT_TYPE_SOUND_EFFECTS :
2215+ return "Sound effects" ;
2216+ case BT_AUDIO_CONTEXT_TYPE_NOTIFICATIONS :
2217+ return "Notifications" ;
2218+ case BT_AUDIO_CONTEXT_TYPE_RINGTONE :
2219+ return "Ringtone" ;
2220+ case BT_AUDIO_CONTEXT_TYPE_ALERTS :
2221+ return "Alerts" ;
2222+ case BT_AUDIO_CONTEXT_TYPE_EMERGENCY_ALARM :
2223+ return "Emergency alarm" ;
2224+ default :
2225+ return "Unknown context" ;
2226+ }
2227+ }
2228+
2229+ /**
2230+ * @brief Returns a string representation of a @ref bt_audio_parental_rating value
2231+ *
2232+ * @param parental_rating The parental rating value
2233+ *
2234+ * @return String representation of the supplied parental rating value
2235+ */
2236+ static inline char * bt_audio_parental_rating_to_str (enum bt_audio_parental_rating parental_rating )
2237+ {
2238+ switch (parental_rating ) {
2239+ case BT_AUDIO_PARENTAL_RATING_NO_RATING :
2240+ return "No rating" ;
2241+ case BT_AUDIO_PARENTAL_RATING_AGE_ANY :
2242+ return "Any" ;
2243+ case BT_AUDIO_PARENTAL_RATING_AGE_5_OR_ABOVE :
2244+ return "Age 5 or above" ;
2245+ case BT_AUDIO_PARENTAL_RATING_AGE_6_OR_ABOVE :
2246+ return "Age 6 or above" ;
2247+ case BT_AUDIO_PARENTAL_RATING_AGE_7_OR_ABOVE :
2248+ return "Age 7 or above" ;
2249+ case BT_AUDIO_PARENTAL_RATING_AGE_8_OR_ABOVE :
2250+ return "Age 8 or above" ;
2251+ case BT_AUDIO_PARENTAL_RATING_AGE_9_OR_ABOVE :
2252+ return "Age 9 or above" ;
2253+ case BT_AUDIO_PARENTAL_RATING_AGE_10_OR_ABOVE :
2254+ return "Age 10 or above" ;
2255+ case BT_AUDIO_PARENTAL_RATING_AGE_11_OR_ABOVE :
2256+ return "Age 11 or above" ;
2257+ case BT_AUDIO_PARENTAL_RATING_AGE_12_OR_ABOVE :
2258+ return "Age 12 or above" ;
2259+ case BT_AUDIO_PARENTAL_RATING_AGE_13_OR_ABOVE :
2260+ return "Age 13 or above" ;
2261+ case BT_AUDIO_PARENTAL_RATING_AGE_14_OR_ABOVE :
2262+ return "Age 14 or above" ;
2263+ case BT_AUDIO_PARENTAL_RATING_AGE_15_OR_ABOVE :
2264+ return "Age 15 or above" ;
2265+ case BT_AUDIO_PARENTAL_RATING_AGE_16_OR_ABOVE :
2266+ return "Age 16 or above" ;
2267+ case BT_AUDIO_PARENTAL_RATING_AGE_17_OR_ABOVE :
2268+ return "Age 17 or above" ;
2269+ case BT_AUDIO_PARENTAL_RATING_AGE_18_OR_ABOVE :
2270+ return "Age 18 or above" ;
2271+ default :
2272+ return "Unknown rating" ;
2273+ }
2274+ }
2275+
2276+ /**
2277+ * @brief Returns a string representation of a @ref bt_audio_active_state value
2278+ *
2279+ * @param state The active state value
2280+ *
2281+ * @return String representation of the supplied active state value
2282+ */
2283+ static inline char * bt_audio_active_state_to_str (enum bt_audio_active_state state )
2284+ {
2285+ switch (state ) {
2286+ case BT_AUDIO_ACTIVE_STATE_DISABLED :
2287+ return "Disabled" ;
2288+ case BT_AUDIO_ACTIVE_STATE_ENABLED :
2289+ return "Enabled" ;
2290+ default :
2291+ return "Unknown active state" ;
2292+ }
2293+ }
2294+
2295+ /**
2296+ * @brief Returns a string representation of a specific @ref bt_audio_codec_cap_freq bit
2297+ *
2298+ * If @p freq contains multiple bits, it will return "Unknown supported frequency"
2299+ *
2300+ * @param freq A single frequency bit
2301+ *
2302+ * @return String representation of the supplied bit
2303+ */
2304+ static inline char * bt_audio_codec_cap_freq_bit_to_str (enum bt_audio_codec_cap_freq freq )
2305+ {
2306+ switch (freq ) {
2307+ case BT_AUDIO_CODEC_CAP_FREQ_8KHZ :
2308+ return "8000 Hz" ;
2309+ case BT_AUDIO_CODEC_CAP_FREQ_11KHZ :
2310+ return "11025 Hz" ;
2311+ case BT_AUDIO_CODEC_CAP_FREQ_16KHZ :
2312+ return "16000 Hz" ;
2313+ case BT_AUDIO_CODEC_CAP_FREQ_22KHZ :
2314+ return "22050 Hz" ;
2315+ case BT_AUDIO_CODEC_CAP_FREQ_24KHZ :
2316+ return "24000 Hz" ;
2317+ case BT_AUDIO_CODEC_CAP_FREQ_32KHZ :
2318+ return "32000 Hz" ;
2319+ case BT_AUDIO_CODEC_CAP_FREQ_44KHZ :
2320+ return "44100 Hz" ;
2321+ case BT_AUDIO_CODEC_CAP_FREQ_48KHZ :
2322+ return "48000 Hz" ;
2323+ case BT_AUDIO_CODEC_CAP_FREQ_88KHZ :
2324+ return "88200 Hz" ;
2325+ case BT_AUDIO_CODEC_CAP_FREQ_96KHZ :
2326+ return "96000 Hz" ;
2327+ case BT_AUDIO_CODEC_CAP_FREQ_176KHZ :
2328+ return "176400 Hz" ;
2329+ case BT_AUDIO_CODEC_CAP_FREQ_192KHZ :
2330+ return "192000 Hz" ;
2331+ case BT_AUDIO_CODEC_CAP_FREQ_384KHZ :
2332+ return "384000 Hz" ;
2333+ default :
2334+ return "Unknown supported frequency" ;
2335+ }
2336+ }
2337+
2338+ /**
2339+ * @brief Returns a string representation of a specific @ref bt_audio_codec_cap_frame_dur bit
2340+ *
2341+ * If @p frame_dur contains multiple bits, it will return "Unknown frame duration"
2342+ *
2343+ * @param frame_dur A single frame duration bit
2344+ *
2345+ * @return String representation of the supplied bit
2346+ */
2347+ static inline char *
2348+ bt_audio_codec_cap_frame_dur_bit_to_str (enum bt_audio_codec_cap_frame_dur frame_dur )
2349+ {
2350+ switch (frame_dur ) {
2351+ case BT_AUDIO_CODEC_CAP_DURATION_7_5 :
2352+ return "7.5 ms" ;
2353+ case BT_AUDIO_CODEC_CAP_DURATION_10 :
2354+ return "10 ms" ;
2355+ case BT_AUDIO_CODEC_CAP_DURATION_PREFER_7_5 :
2356+ return "7.5 ms preferred" ;
2357+ case BT_AUDIO_CODEC_CAP_DURATION_PREFER_10 :
2358+ return "10 ms preferred" ;
2359+ default :
2360+ return "Unknown frame duration" ;
2361+ }
2362+ }
2363+
2364+ /**
2365+ * @brief Returns a string representation of a specific @ref bt_audio_codec_cap_chan_count bit
2366+ *
2367+ * If @p chan_count contains multiple bits, it will return "Unknown channel count"
2368+ *
2369+ * @param chan_count A single frame channel count bit
2370+ *
2371+ * @return String representation of the supplied bit
2372+ */
2373+ static inline char *
2374+ bt_audio_codec_cap_chan_count_bit_to_str (enum bt_audio_codec_cap_chan_count chan_count )
2375+ {
2376+ switch (chan_count ) {
2377+ case BT_AUDIO_CODEC_CAP_CHAN_COUNT_1 :
2378+ return "1 channel" ;
2379+ case BT_AUDIO_CODEC_CAP_CHAN_COUNT_2 :
2380+ return "2 channels" ;
2381+ case BT_AUDIO_CODEC_CAP_CHAN_COUNT_3 :
2382+ return "3 channels" ;
2383+ case BT_AUDIO_CODEC_CAP_CHAN_COUNT_4 :
2384+ return "4 channels" ;
2385+ case BT_AUDIO_CODEC_CAP_CHAN_COUNT_5 :
2386+ return "5 channels" ;
2387+ case BT_AUDIO_CODEC_CAP_CHAN_COUNT_6 :
2388+ return "6 channels" ;
2389+ case BT_AUDIO_CODEC_CAP_CHAN_COUNT_7 :
2390+ return "7 channels" ;
2391+ case BT_AUDIO_CODEC_CAP_CHAN_COUNT_8 :
2392+ return "8 channels" ;
2393+ default :
2394+ return "Unknown channel count" ;
2395+ }
2396+ }
2397+
2398+ /**
2399+ * @brief Returns a string representation of a specific @ref bt_audio_location bit
2400+ *
2401+ * If @p location contains multiple bits, it will return "Unknown location"
2402+ *
2403+ * @param location A single location bit
2404+ *
2405+ * @return String representation of the supplied bit
2406+ */
2407+ static inline char * bt_audio_location_bit_to_str (enum bt_audio_location location )
2408+ {
2409+ switch (location ) {
2410+ case BT_AUDIO_LOCATION_MONO_AUDIO :
2411+ return "Mono" ;
2412+ case BT_AUDIO_LOCATION_FRONT_LEFT :
2413+ return "Front left" ;
2414+ case BT_AUDIO_LOCATION_FRONT_RIGHT :
2415+ return "Front right" ;
2416+ case BT_AUDIO_LOCATION_FRONT_CENTER :
2417+ return "Front center" ;
2418+ case BT_AUDIO_LOCATION_LOW_FREQ_EFFECTS_1 :
2419+ return "Low frequency effects 1" ;
2420+ case BT_AUDIO_LOCATION_BACK_LEFT :
2421+ return "Back left" ;
2422+ case BT_AUDIO_LOCATION_BACK_RIGHT :
2423+ return "Back right" ;
2424+ case BT_AUDIO_LOCATION_FRONT_LEFT_OF_CENTER :
2425+ return "Front left of center" ;
2426+ case BT_AUDIO_LOCATION_FRONT_RIGHT_OF_CENTER :
2427+ return "Front right of center" ;
2428+ case BT_AUDIO_LOCATION_BACK_CENTER :
2429+ return "Back center" ;
2430+ case BT_AUDIO_LOCATION_LOW_FREQ_EFFECTS_2 :
2431+ return "Low frequency effects 2" ;
2432+ case BT_AUDIO_LOCATION_SIDE_LEFT :
2433+ return "Side left" ;
2434+ case BT_AUDIO_LOCATION_SIDE_RIGHT :
2435+ return "Side right" ;
2436+ case BT_AUDIO_LOCATION_TOP_FRONT_LEFT :
2437+ return "Top front left" ;
2438+ case BT_AUDIO_LOCATION_TOP_FRONT_RIGHT :
2439+ return "Top front right" ;
2440+ case BT_AUDIO_LOCATION_TOP_FRONT_CENTER :
2441+ return "Top front center" ;
2442+ case BT_AUDIO_LOCATION_TOP_CENTER :
2443+ return "Top center" ;
2444+ case BT_AUDIO_LOCATION_TOP_BACK_LEFT :
2445+ return "Top back left" ;
2446+ case BT_AUDIO_LOCATION_TOP_BACK_RIGHT :
2447+ return "Top back right" ;
2448+ case BT_AUDIO_LOCATION_TOP_SIDE_LEFT :
2449+ return "Top side left" ;
2450+ case BT_AUDIO_LOCATION_TOP_SIDE_RIGHT :
2451+ return "Top side right" ;
2452+ case BT_AUDIO_LOCATION_TOP_BACK_CENTER :
2453+ return "Top back center" ;
2454+ case BT_AUDIO_LOCATION_BOTTOM_FRONT_CENTER :
2455+ return "Bottom front center" ;
2456+ case BT_AUDIO_LOCATION_BOTTOM_FRONT_LEFT :
2457+ return "Bottom front left" ;
2458+ case BT_AUDIO_LOCATION_BOTTOM_FRONT_RIGHT :
2459+ return "Bottom front right" ;
2460+ case BT_AUDIO_LOCATION_FRONT_LEFT_WIDE :
2461+ return "Front left wide" ;
2462+ case BT_AUDIO_LOCATION_FRONT_RIGHT_WIDE :
2463+ return "Front right wde" ;
2464+ case BT_AUDIO_LOCATION_LEFT_SURROUND :
2465+ return "Left surround" ;
2466+ case BT_AUDIO_LOCATION_RIGHT_SURROUND :
2467+ return "Right surround" ;
2468+ default :
2469+ return "Unknown location" ;
2470+ }
2471+ }
2472+
2473+ /** @} */ /* End of bt_audio_to_str */
21772474#ifdef __cplusplus
21782475}
21792476#endif
0 commit comments