Status OS_ShellCmdMMPlayHandler(const U32 argc, ConstStrP argv[]) { static OS_QueueHd mmplay_stdin_qhd; const char* file_path_str_p = (char*)argv[0]; OS_SignalId signal_id = OS_SIG_UNDEF; Status s = S_UNDEF; if (0 == OS_StrCmp("play", file_path_str_p)) { signal_id = OS_SIG_MMPLAY_PLAY; } else if (!OS_StrCmp("pause", file_path_str_p)) { signal_id = OS_SIG_MMPLAY_PAUSE; } else if (!OS_StrCmp("resume",file_path_str_p)) { signal_id = OS_SIG_MMPLAY_RESUME; } else if (!OS_StrCmp("stop", file_path_str_p)) { signal_id = OS_SIG_MMPLAY_STOP; } else if (!OS_StrCmp("seek", file_path_str_p)) { signal_id = OS_SIG_MMPLAY_SEEK; } else { IF_OK(s = OS_TaskCreate(file_path_str_p, &task_mmplay_cfg, &mmplay_thd)) { mmplay_stdin_qhd = OS_TaskStdInGet(mmplay_thd); if (OS_NULL == mmplay_stdin_qhd) { OS_TaskDelete(mmplay_thd); s = S_INVALID_QUEUE; } } }
/***************************************************************************** * FUNCTION * sdpdba_handler_inject_msg * DESCRIPTION * * PARAMETERS * string [IN] * RETURNS * void *****************************************************************************/ void sdpdba_handler_inject_msg(char *string) { #ifdef __LINUX_SUPPRESS_ERROR__ #else kal_trace(TRACE_GROUP_1, SDPDBA_RX_CMD_STRING); if (OS_StrCmp(string, "regopp") == 0) { bt_sdpdb_register_req_struct *req_msg; kal_trace(TRACE_GROUP_1, REGOPP); req_msg = (bt_sdpdb_register_req_struct*) construct_local_para(sizeof(bt_sdpdb_register_req_struct), TD_UL); req_msg->uuid = (U32) SC_OBEX_OBJECT_PUSH; sdpdba_sendMsg(MSG_ID_BT_SDPDB_REGISTER_REQ, MOD_BT, BT_APP_SAP, (local_para_struct*) req_msg, NULL); } else if (OS_StrCmp(string, "deregopp") == 0) { bt_sdpdb_deregister_req_struct *req_msg; kal_trace(TRACE_GROUP_1, DEREGOPP); req_msg = (bt_sdpdb_deregister_req_struct*) construct_local_para(sizeof(bt_sdpdb_deregister_req_struct), TD_UL); req_msg->uuid = (U32) SC_OBEX_OBJECT_PUSH; sdpdba_sendMsg(MSG_ID_BT_SDPDB_DEREGISTER_REQ, MOD_BT, BT_APP_SAP, (local_para_struct*) req_msg, NULL); } else if (OS_StrCmp(string, "regftp") == 0) { bt_sdpdb_register_req_struct *req_msg; kal_trace(TRACE_GROUP_1, REGFTP); req_msg = (bt_sdpdb_register_req_struct*) construct_local_para(sizeof(bt_sdpdb_register_req_struct), TD_UL); req_msg->uuid = (U32) SC_OBEX_FILE_TRANSFER; sdpdba_sendMsg(MSG_ID_BT_SDPDB_REGISTER_REQ, MOD_BT, BT_APP_SAP, (local_para_struct*) req_msg, NULL); } else if (OS_StrCmp(string, "deregftp") == 0) { bt_sdpdb_deregister_req_struct *req_msg; kal_trace(TRACE_GROUP_1, DEREGFTP); req_msg = (bt_sdpdb_deregister_req_struct*) construct_local_para(sizeof(bt_sdpdb_deregister_req_struct), TD_UL); req_msg->uuid = (U32) SC_OBEX_FILE_TRANSFER; sdpdba_sendMsg(MSG_ID_BT_SDPDB_DEREGISTER_REQ, MOD_BT, BT_APP_SAP, (local_para_struct*) req_msg, NULL); } else if (OS_StrCmp(string, "getoppchn") == 0) { U8 server_channel = 0; server_channel = ObexSdpDB_GetServChn((U32) SC_OBEX_OBJECT_PUSH, 0); kal_trace(TRACE_GROUP_1, OPP_SERV_CHANNELx02X, server_channel); } else if (OS_StrCmp(string, "getftpchn") == 0) { U8 server_channel = 0; server_channel = ObexSdpDB_GetServChn((U32) SC_OBEX_FILE_TRANSFER, 0); kal_trace(TRACE_GROUP_1, FTP_SERV_CHANNELx02X, server_channel); } #endif }
Status OSAL_DriversCreate(void) { Status s; //Create, init and open system drivers; { const OS_DriverConfig drv_cfg = { .name = "USART6", .itf_p = drv_stdio_p, .prio_power = OS_PWR_PRIO_MAX - 1, }; OS_DriverHd drv_stdio; IF_STATUS(s = OS_DriverCreate(&drv_cfg, (OS_DriverHd*)&drv_stdio)) { return s; } HAL_DriverItf drv_itf; OS_MemMov(&drv_itf, drv_stdio_p, sizeof(drv_itf)); drv_itf.Write = USART6_DMA_Write; IF_STATUS(s = OS_DriverItfSet(drv_stdio, &drv_itf)) { return s; } IF_STATUS(s = OS_DriverInit(drv_stdio, OS_NULL)) { return s; } IF_STATUS(s = OS_DriverOpen(drv_stdio, OS_NULL)) { return s; } os_env.drv_stdin = drv_stdio; os_env.drv_stdout= os_env.drv_stdin; } { const OS_DriverConfig drv_cfg = { .name = "RTC", .itf_p = drv_rtc_v[DRV_ID_RTC], .prio_power = OS_PWR_PRIO_DEFAULT }; IF_STATUS(s = OS_DriverCreate(&drv_cfg, (OS_DriverHd*)&os_env.drv_rtc)) { return s; } IF_STATUS(s = OS_DriverInit(os_env.drv_rtc, OS_NULL)) { return s; } IF_STATUS(s = OS_DriverOpen(os_env.drv_rtc, OS_NULL)) { return s; } } return s; } /******************************************************************************/ void OS_SystemTickStart(void) { } /******************************************************************************/ void OS_SystemTickStop(void) { } ///******************************************************************************/ OS_PowerState OS_PowerStateGet(void) { return os_env.hal_env_p->power; } /******************************************************************************/ OS_DriverHd OS_DriverStdInGet(void) { return os_env.drv_stdin; } /******************************************************************************/ OS_DriverHd OS_DriverStdOutGet(void) { return os_env.drv_stdout; } /******************************************************************************/ OS_DriverHd OS_DriverRtcGet(void) { return os_env.drv_rtc; } #if (OS_AUDIO_ENABLED) /******************************************************************************/ OS_AudioVolume OS_VolumeGet(void) { return os_env.volume; } /******************************************************************************/ Status OS_VolumeSet(ConstStrP volume_p) { os_env.volume = (OS_AudioVolume)OS_StrToUL((const char*)volume_p, OS_NULL, 10); OS_AudioDeviceHd dev_hd = OS_AudioDeviceDefaultGet(DIR_OUT); if (OS_NULL == dev_hd) { return S_INVALID_PTR; } return OS_AudioVolumeSet(dev_hd, os_env.volume); } #endif //(OS_AUDIO_ENABLED) /******************************************************************************/ Locale OS_LocaleGet(void) { return os_env.hal_env_p->locale; } /******************************************************************************/ Status OS_LocaleSet(ConstStrP locale_p) { if (OS_NULL == locale_p) { return S_INVALID_PTR; } if (!OS_StrCmp(HAL_LOCALE_STRING_EN, (char const*)locale_p)) { os_env.hal_env_p->locale = LOC_EN; } else if (!OS_StrCmp(HAL_LOCALE_STRING_RU, (char const*)locale_p)) { os_env.hal_env_p->locale = LOC_RU; } else { return S_INVALID_VALUE; } return S_OK; } /******************************************************************************/ const HAL_DriverItf* OS_StdIoGet(void) { return os_env.hal_env_p->stdio_p; } /******************************************************************************/ Status OS_StdIoSet(ConstStrP drv_name_p) { if (OS_NULL == drv_name_p) { return S_INVALID_PTR; } OS_DriverHd dhd = OS_DriverByNameGet(drv_name_p); if (OS_NULL == dhd) { return S_INVALID_DRIVER; } os_env.hal_env_p->stdio_p = OS_DriverItfGet(dhd); return S_OK; } /******************************************************************************/ OS_LogLevel OS_LogLevelGet(void) { return (OS_LogLevel)os_env.hal_env_p->log_level; } /******************************************************************************/ Status OS_LogLevelSet(ConstStrP log_level_p) { ConstStr none_str[] = "none"; ConstStr critical_str[] = "critical"; ConstStr warning_str[] = "warning"; ConstStr info_str[] = "info"; ConstStr debug_str[] = "debug"; OS_LogLevel level = D_NONE; if (OS_NULL == log_level_p) { return S_INVALID_PTR; } if (!OS_StrCmp((const char*)none_str, (const char*)log_level_p)) { } else if (!OS_StrCmp((const char*)critical_str, (const char*)log_level_p)) { level = D_CRITICAL; } else if (!OS_StrCmp((const char*)warning_str, (const char*)log_level_p)) { level = D_WARNING; } else if (!OS_StrCmp((const char*)info_str, (const char*)log_level_p)) { level = D_INFO; } else if (!OS_StrCmp((const char*)debug_str, (const char*)log_level_p)) { level = D_DEBUG; } else { return S_INVALID_VALUE; } os_env.hal_env_p->log_level = (LogLevel)level; return S_OK; }