ML302 shell使用方法

ML302 shell使用方法

引言

首先感谢letter shell作者开源了简单好用的shell工具,详情可以访问作者的GitHub获取。

其次感谢rt-thread团队的dbg着色支持,更多rtthread的资料,请访问官网
获取。

使用

1 需要串口打印log信息

在需要log打印的*.c文件头部包含dbg头文件,如下所示:

#define DBG_TAG "MAIN"
#define DBG_LVL DBG_LOG
#include "shell/dbg.h"

然后就可以在当前文件中使用LOG_D LOG_W LOG_I LOGE打印不同等级的log,如下:

   LOG_D("\r\nML302 OpenCPU Starts\n");
   LOG_D("Boot Cause:%d\n",onemo_sys_get_boot_cause());
   onemo_sys_get_sdk_swver(buf,50);
   LOG_D("SDK VERSION:%s\n",buf);
   onemo_sys_get_base_swver(buf,50);
   LOG_D("BASELINE VERSION:%s\n",buf);

串口打印输出:

letter:/$ [I/MAIN] 
ML302 OpenCPU Starts

[I/MAIN] Boot Cause:2

[I/MAIN] SDK VERSION:V1.1.0

[I/MAIN] BASELINE VERSION:8910_MODULE_V1_W20.11.1_CMIOT

如果在调试阶段,推荐将DBG_LVL设置为DBG_LOG 打印所有调试信息,当发布的时候,可以将相应的调试等级调高。

2 调试函数

比如我们想使用ML302的虚拟AT功能,则可以定义如下函数在onemo_vir_at_demo.c

void onemo_test_send_at(int argc, char *agrv[])
{
    if (argc != 2)
    {
        LOG_E("error, argc = %d, usage: AT+CGSN=1", argc);
    }
    else
    {
        onemo_clear_virt_at_buffer();
        unsigned char p[100] = {0};
        sprintf(p, "%s\r\n", agrv[1]);
        LOG_I("[VIRT_AT]:%d\n", onemo_vir_at_send(p));
    }
}

void onemo_test_dump_at(int argc, char *agrv[])
{
    int i;
    LOG_I("[DUMP_AT]:Start\n");
    for (i = 0; i < virt_at_len; i++)
    {
        onemo_printf("%c", virt_at_buffer[i]);
    }
}

然后在shell_cmd_list.c中导入刚才的函数,如下:

extern void onemo_test_send_at(int argc, char *agrv[]);
extern void onemo_test_dump_at(int argc, char *agrv[]);
        SHELL_CMD_ITEM(
            SHELL_CMD_PERMISSION(0) | SHELL_CMD_TYPE(SHELL_TYPE_CMD_FUNC) | SHELL_CMD_DISABLE_RETURN,
            cls, shellClear, clear console),
            SHELL_CMD_PERMISSION(0) | SHELL_CMD_TYPE(SHELL_TYPE_CMD_MAIN) | SHELL_CMD_DISABLE_RETURN,
            send_at, onemo_test_send_at, vir at send),
        SHELL_CMD_ITEM(
            SHELL_CMD_PERMISSION(0) | SHELL_CMD_TYPE(SHELL_TYPE_CMD_MAIN) | SHELL_CMD_DISABLE_RETURN,
            dump_at, onemo_test_dump_at, at dump),

然后编译下载测试:

letter:/$ 
letter:/$ send_at AT+CSQ
[I/VIR_AT] [VIRT_AT]:8


letter:/$ dump_at
[I/VIR_AT] [DUMP_AT]:Start

AT+CSQ

+CSQ: 28,99

OK

letter:/$ 

这样就可以方便的做AT测试,其他的demo也可以使用同样的方法来做测试,这里就不再赘述。

最后,点击这里获取最新SDK。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Ubuntu20.04上安装OpenCV,可以按照以下步骤进行: 1.更新Ubuntu软件包 ```shell sudo apt-get update sudo apt-get upgrade ``` 2.安装依赖项 ```shell sudo apt-get install build-essential cmake git pkg-config libgtk-3-dev \ libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \ libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev \ gfortran openexr libatlas-base-dev python3-dev python3-numpy \ libtbb2 libtbb-dev libdc1394-22-dev libopenexr-dev \ libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev ``` 3.下载OpenCV源代码 ```shell cd ~/ git clone https://github.com/opencv/opencv.git cd opencv git checkout 4.5.2 ``` 4.下载OpenCV_contrib源代码 ```shell cd ~/ git clone https://github.com/opencv/opencv_contrib.git cd opencv_contrib git checkout 4.5.2 ``` 5.编译和安装OpenCV ```shell cd ~/opencv mkdir build cd build cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D WITH_TBB=ON \ -D WITH_OPENEXR=ON \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \ -D BUILD_EXAMPLES=ON \ -D BUILD_opencv_python2=OFF \ -D BUILD_opencv_python3=ON \ -D PYTHON_DEFAULT_EXECUTABLE=$(which python3) \ -D BUILD_TESTS=OFF \ -D BUILD_PERF_TESTS=OFF \ -D BUILD_DOCS=OFF \ -D BUILD_JAVA=OFF \ -D BUILD_opencv_java=OFF \ -D BUILD_opencv_python_bindings_generator=OFF .. make -j$(nproc) sudo make install ``` 以上步骤包括下载源代码、配置编译环境、编译和安装OpenCV,其中第5步是最关键的步骤。 如果遇到最后一步报错"Package opencv was not found in the pkg-config search path.",可以按照以下步骤解决: 1.切换到/usr/local/lib/pkgconfig目录 ```shell cd /usr/local/lib/pkgconfig ``` 2.在该目录下创建opencv.pc文件 ```shell sudo touch opencv.pc ``` 3.使用vim编辑opencv.pc文件 ```shell sudo vim opencv.pc ``` 4.将以下内容粘贴到opencv.pc文件中并保存 ``` prefix=/usr/local exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${prefix}/include/opencv4 Name: OpenCV Description: Open Source Computer Vision Library Version: 4.5.2 Libs: -L${libdir} -lopencv_gapi -lopencv_stitching -lopencv_alphamat -lopencv_objdetect -lopencv_androidcamera -lopencv_optflow -lopencv_aruco -lopencv_bgsegm -lopencv_bioinspired -lopencv_ccalib -lopencv_dnn_objdetect -lopencv_dnn_superres -lopencv_dpm -lopencv_face -lopencv_freetype -lopencv_fuzzy -lopencv_hdf -lopencv_hfs -lopencv_img_hash -lopencv_line_descriptor -lopencv_quality -lopencv_reg -lopencv_rgbd -lopencv_saliency -lopencv_sfm -lopencv_stereo -lopencv_structured_light -lopencv_phase_unwrapping -lopencv_superres -lopencv_surface_matching -lopencv_tracking -lopencv_datasets -lopencv_text -lopencv_face3d -lopencv_plot -lopencv_videostab -lopencv_video -lopencv_ml -lopencv_ximgproc -lopencv_videoio -lopencv_flann -lopencv_xobjdetect -lopencv_objdetect -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_video -I${includedir} ``` 5.重新执行最后一步即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值