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;
            }
        }
    }
Beispiel #2
0
/*****************************************************************************
 * 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
}
Beispiel #3
0
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;
}