Giter VIP home page Giter VIP logo

serialtool's People

Contributors

hogc avatar skiars avatar taotieren avatar tumuyan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

serialtool's Issues

显示不出串口收到的数据

调 RT-Thread finsh 控制台 msh ,用 PuTTY 和 sscom 都可以,但用这个就是不显示任何回传内容,怎么回事呢?

实现命令行终端界面

实现一个类似Windows CMD或者Linux终端的界面。用于支持交互操作。

这个界面应该实现简单的高亮功能。暂时不考虑优化。

在Windows11下不能运行

如题,在两台Win11 22H2的机器上,打开只会在任务栏出现一个任务,但不能打开,鼠标移上去会预览到一个白色的窗口。兼容性设置无效。只有运行兼容模式疑难解答和QT构建项目时能打开,但是Option会显示空白,不能调设置,并且默认英语。确定兼容性设置或者运行编译好的软件依然是失败。

Qt5.9编译函数调用错误是什么原因

SendScintilla(SCI_SETKEYWORDS, (unsigned long)0, g_szKeywords);// 设置关键字

219: error: call of overloaded 'SendScintilla(QsciScintillaBase::, long unsigned int, const char*&)' is ambiguous
SendScintilla(SCI_SETKEYWORDS, (unsigned long)0, g_szKeywords);// 璁剧疆鍏抽敭瀛

下载编译不过,不知道问题在什么地方

1>E:\private\JGSW\SerialTool-master\SerialTool\src\toolbox\vediobox\vediobox.cpp(1,1): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
1>E:\private\JGSW\SerialTool-master\SerialTool\src\views\filetransmit\xmodem.h(1,1): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 (编译源文件 src\views\filetransmit\filethread.cpp)
1>E:\private\JGSW\SerialTool-master\SerialTool\src\views\filetransmit\filethread.cpp(20,1): error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
1>E:\private\JGSW\SerialTool-master\SerialTool\src\views\filetransmit\filethread.cpp(70,1): error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
1>E:\private\JGSW\SerialTool-master\SerialTool\src\views\filetransmit\filethread.cpp(86,1): error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
1>E:\private\JGSW\SerialTool-master\SerialTool\src\views\filetransmit\filethread.cpp(135,9): error C2046: 非法的 case
1>E:\private\JGSW\SerialTool-master\SerialTool\src\views\filetransmit\filethread.cpp(138,9): error C2047: 非法的 default
1>E:\private\JGSW\SerialTool-master\SerialTool\src\views\filetransmit\filethread.cpp(137,13): error C2043: 非法 break
1>E:\private\JGSW\SerialTool-master\SerialTool\src\views\filetransmit\filethread.cpp(139,13): error C2043: 非法 break
1>E:\private\JGSW\SerialTool-master\SerialTool\src\views\filetransmit\filethread.cpp(141,7): error C2059: 语法错误:“else”
1>E:\private\JGSW\SerialTool-master\SerialTool\src\views\filetransmit\filethread.cpp(141,42): error C2143: 语法错误: 缺少“;”(在“{”的前面)
1>E:\private\JGSW\SerialTool-master\SerialTool\src\views\filetransmit\filethread.cpp(141,42): error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
1>E:\private\JGSW\SerialTool-master\SerialTool\src\views\filetransmit\filethread.cpp(151,5): error C2059: 语法错误:“if”
1>E:\private\JGSW\SerialTool-master\SerialTool\src\views\filetransmit\filethread.cpp(151,17): error C2143: 语法错误: 缺少“;”(在“{”的前面)
1>E:\private\JGSW\SerialTool-master\SerialTool\src\views\filetransmit\filethread.cpp(151,17): error C2447: “{”: 缺少函数标题(是否是老式的形式表?)

v1.4.0Alpha安装包无法在线升级

下载V1.4.0安装包以后点击Update直接提示Network* error. *
如图所示:
image
添加动态库:libssl-1_1.dll ssleay32.dll, libeay32.dll后方可检测在线升级,效果如下:
image
添加动态库列表如下:
image

基于JSON的设置界面

新的设置界面使用JSON来进行页面布局,从而在增加新的设置项时不用去修改Options对话框的C++代码。

这项工作已经基本完成。

通道别名

波形接收的界面,CH1~CH16是否能临时定义一个别名?这样便于截图或者通道多的时候便于自己识别

波形屏幕显示不完整

波形显示的界面上,最右边会有一小段无显示的区域,必须调整x轴的点数后才会刷新上去

波形接收时闪退

一直处于波形接收状态,不做别的操作,大概十几分钟后软件会闪退,不管是否看开启硬件加速

library not found for -lqscintilla2_qt5_debug while compiling

run with qt creator
Compile output as below

15:35:46: Running steps for project SerialTool... 15:35:46: Configuration unchanged, skipping qmake step. 15:35:46: Starting: "/usr/bin/make" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -stdlib=libc++ -fno-pie -no-pie -headerpad_max_install_names -arch x86_64 -Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -mmacosx-version-min=10.10 -Wl,-rpath,@executable_path/Frameworks -Wl,-rpath,/Users/hb08499/Qt5.10.1/5.10.1/clang_64/lib -o SerialTool.app/Contents/MacOS/SerialTool aboutbox.o main.o mainwindow.o controller.o portsetbox.o defaultconfig.o updatedialog.o portmanager.o tcpudpport.o serialport.o viewmanager.o scriptextensionview.o textedit.o texttrview.o terminalview.o qvtchar.o qvtcharformat.o qvterminal.o qvtlayout.o qvtline.o oscilloscopeview.o channelitem.o oscopetimestamp.o pointdatabuffer.o plotview.o wavedecode.o filetransmitview.o filethread.o xmodem.o toolboxmanager.o vediobox.o valuedisplay.o optionsdialog.o settingswidget.o settingswidgets.o translate.o qrc_serialtool.o moc_mainwindow.o moc_controller.o moc_portsetbox.o moc_updatedialog.o moc_portmanager.o moc_abstractport.o moc_tcpudpport.o moc_serialport.o moc_viewmanager.o moc_abstractview.o moc_scriptextensionview.o moc_textedit.o moc_texttrview.o moc_terminalview.o moc_qvterminal.o moc_oscilloscopeview.o moc_channelitem.o moc_filetransmitview.o moc_filethread.o moc_toolboxmanager.o moc_abstracttoolbox.o moc_vediobox.o moc_valuedisplay.o moc_optionsdialog.o moc_settingswidget.o moc_settingswidgets.o -F/Users/hb08499/Qt5.10.1/5.10.1/clang_64/lib -L/Users/hb08499/Qt5.10.1/5.10.1/clang_64/lib -lqscintilla2_qt5_debug -framework QtCharts -framework QtWidgets -framework QtGui -framework QtCore -framework DiskArbitration -framework IOKit -lQt5UiTools_debug -framework OpenGL -framework AGL -framework QtPrintSupport -framework QtMacExtras -framework QtSerialPort -framework QtNetwork -framework QtScript clang: warning: argument unused during compilation: '-nopie' [-Wunused-command-line-argument] ld: library not found for -lqscintilla2_qt5_debug clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [SerialTool.app/Contents/MacOS/SerialTool] Error 1 15:35:46: The process "/usr/bin/make" exited with code 2. Error while building/deploying project SerialTool (kit: Desktop Qt 5.10.1 clang 64bit) When executing step "Make" 15:35:46: Elapsed time: 00:00.

Record data problem 记录数据的问题

现在保存数据只能手动保存,而且不知道这个缓存有多大。、
现在想24小时传感器记录数据,数据用串口保存的PC里,现在需要将数据可靠完整地保存到硬盘中。现在只能手动保存。而且不知道缓存有多大,如果开机24小时或者240小时,缓存应该会清空吧?
如果可以添加实时写入文件的功能就更好了。

插件系统

新的SerialTool将会具有一个插件系统,目前计划的插件系统将有以下特性:

  • 动态链接库插件
  • 脚本插件

SerialTool的每个插件都是一个视图卡片,也是SerialTool的基本功能单元。我们希望新的插件系统能够帮助用户在不必理解SerialTool代码的情况下能快速开发适合自己需求的插件。

如果条件允许我们还会实现通信端口协议的插件支持。

功能建议

使用过一些串口工具,这款工具挺简洁的,很喜欢,有一些功能可能可以加到新版本的软件之中

1、串口发送界面添加 发送新行功能,勾选后发送的字串自动添加\r\n
2、添加时间戳显示显示功能
3、添加发送数据回显功能,发送数据和接收数据使用不同的颜色进行区分;

Plot 数据显示异常(异常的毛刺)

Snipaste_2023-11-05_16-42-25
/* 定义各通道 */
#define     CH1     0
#define     CH2     1
#define     CH3     2
#define     CH4     3
#define     CH5     4
#define     CH6     5
#define     CH7     6
#define     CH8     7
#define     CH9     8
#define     CH10    9
#define     CH11    10
#define     CH12    11
#define     CH13    12
#define     CH14    13
#define     CH15    14
#define     CH16    15

/* 信息帧数据结构定义 */
typedef struct {
    uint8_t year;           // 0~99 -> 2000 ~ 2099, 7 bit
    uint8_t month;          // 1 ~ 12, 4 bit
    uint8_t day;            // 1 ~ 31, 5 bit
    uint8_t hour;           // 0 ~ 23, 5 bit
    uint8_t min;            // 0 ~ 59, 6 bit
    uint8_t sec;            // 0 ~ 59, 6 bit
    uint16_t msec;          // 0 ~ 999, 10 bit
    uint32_t sampleRate;    // 0 ~ 2000000, 21 bit
} ws_timestamp_t;

/* 公共函数声明 */
char ws_point_int8(char *buffer, char channel, int8_t value);
char ws_point_int16(char *buffer, char channel, int16_t value);
char ws_point_int32(char *buffer, char channel, int32_t value);
char ws_point_float(char *buffer, char channel, float value);
void ws_frame_init(char *buffer);
char ws_frame_length(const char *buffer);
char ws_add_int8(char *buffer, char channel, int8_t value);
char ws_add_int16(char *buffer, char channel, int16_t value);
char ws_add_int32(char *buffer, char channel, int32_t value);
char ws_add_float(char *buffer, char channel, float value);
char ws_send_timestamp(char *buffer, ws_timestamp_t* ts);
/*****************************************************************************
 * 文件名: sendwave.c
 *   版本: V1.2
 *   作者: 官文亮
 *   日期: 2018/9/2
 *   说明: 本文件属于SerialTool软件的波形显示功能的下位机参考代码, 作用是将数
 *         值转换为SerialTool可以识别的帧, 用户需实现串口发送函数, 结合本程序
 *         即可实现串口发送波形的显示, 本程序适合SerialTool v1.1.6及后续版本.
 *
 * SerialTool源码链接: https://github.com/gztss/SerialTool
 * SerialTool安装包链接: https://github.com/gztss/SerialTool/releases
 *
 *****************************************************************************/


/* 此处定义一些常量, 请勿修改! */
enum {
    Ch_Num          = 16,       // 通道数量
    Frame_MaxBytes  = 80,       // 最大帧长度
    Frame_Head      = 0xA3,     // 帧头识别字
    Frame_PointMode = 0xA8,     // 点模式识别字
    Frame_SyncMode  = 0xA9,     // 同步模式识别字
    Frame_InfoMode  = 0xAA,     // 信息帧识别字
    Format_Int8     = 0x10,     // int8识别字
    Format_Int16    = 0x20,     // int16识别字
    Format_Int32    = 0x30,     // int32识别字
    Format_Float    = 0x00      // float识别字
};

/* 函数功能: 发送int8类型数据
 * 函数参数:
 *     buffer : 帧缓冲区, 需要4byte
 *     channel: 通道, 取值范围为0~15
 *     value  : 通道数据值, 8bit有符号整数
 *     返回值 : 数据帧长度(单位为byte)
 **/
char ws_point_int8(char *buffer, char channel, int8_t value)
{
    if ((uint8_t)channel < Ch_Num) { // 通道验证
        // 帧头
        *buffer++ = Frame_Head;
        *buffer++ = Frame_PointMode;
        *buffer++ = channel | Format_Int8; // 通道及数据格式信息
        *buffer = value; // 数据添加到帧
        return 4; // 数据帧长度
    }
    return 0;
}

/* 函数功能: 发送int16类型数据
 * 函数参数:
 *     buffer : 帧缓冲区, 需要5byte
 *     channel: 通道, 取值范围为0~15
 *     value  : 通道数据值, 16bit有符号整数
 *     返回值 : 数据帧长度(单位为byte)
 **/
char ws_point_int16(char *buffer, char channel, int16_t value)
{
    if ((uint8_t)channel < Ch_Num) { // 通道验证
        // 帧头
        *buffer++ = Frame_Head;
        *buffer++ = Frame_PointMode;
        *buffer++ = channel | Format_Int16; // 通道及数据格式信息
        // 数据添加到帧
        *buffer++ = (value >> 8) & 0xFF;
        *buffer = value & 0xFF;
        return 5; // 数据帧长度
    }
    return 0;
}

/* 函数功能: 发送int32类型数据
 * 函数参数:
 *     buffer : 帧缓冲区, 需要7byte
 *     channel: 通道, 取值范围为0~15
 *     value  : 通道数据值, 32bit有符号整数
 *     返回值 : 数据帧长度(单位为byte)
 **/
char ws_point_int32(char *buffer, char channel, int32_t value)
{
    if ((uint8_t)channel < Ch_Num) { // 通道验证
        // 帧头
        *buffer++ = Frame_Head;
        *buffer++ = Frame_PointMode;
        *buffer++ = channel | Format_Int32; // 通道及数据格式信息
        // 数据添加到帧
        *buffer++ = (value >> 24) & 0xFF;
        *buffer++ = (value >> 16) & 0xFF;
        *buffer++ = (value >> 8) & 0xFF;
        *buffer = value & 0xFF;
        return 7; // 数据帧长度
    }
    return 0;
    
}

/* 函数功能: 发送float类型数据
 * 函数参数:
 *     buffer : 帧缓冲区, 需要7byte
 *     channel: 通道, 取值范围为0~15
 *     value  : 通道数据值, 类型为单精度浮点(32bit)
 *     返回值 : 数据帧长度(单位为byte)
 **/
char ws_point_float(char *buffer, char channel, float value)
{
    // 这个联合变量用来实现浮点到整形的变换
    union {
        float f;
        uint32_t i;
    } temp;

    if ((uint8_t)channel < Ch_Num) { // 通道验证
        temp.f = value;
        // 帧头
        *buffer++ = Frame_Head;
        *buffer++ = Frame_PointMode;
        *buffer++ = channel | Format_Float; // 通道及数据格式信息
        // 数据添加到帧
        *buffer++ = (temp.i >> 24) & 0xFF;
        *buffer++ = (temp.i >> 16) & 0xFF;
        *buffer++ = (temp.i >>  8) & 0xFF;
        *buffer = temp.i & 0xFF;
        return 7; // 数据帧长度
    }
    return 0;
}

/* 函数功能: 同步发送模式缓冲区初始化
 * 函数参数:
 *     buffer : 帧缓冲区, 最多需要(Frame_MaxBytes + 3) bytes
 **/
void ws_frame_init(char *buffer)
{
    *buffer++ = Frame_Head;
    *buffer++ = Frame_SyncMode;
    *buffer = 0;
}

/* 函数功能: 获取同步模式缓冲区长度(单位bytes)
 * 函数参数:
 *     buffer : 同步模式帧缓冲区
 **/
char ws_frame_length(const char *buffer)
{
    return buffer[2] + 3;
}

/* 函数功能: 在数同步据帧中加入一个int8类型数据
 * 函数参数:
 *     buffer : 已经初始化的帧缓冲区
 *     channel: 通道, 取值范围为0~15
 *     value  : 通道数据值, 类型为int8
 *     返回值 : 0, 加入成功, 1, 帧长度已经达到上限或通道错误
 **/
char ws_add_int8(char *buffer, char channel, int8_t value)
{
    char count = buffer[2];
    char *p = buffer + count + 3; // 跳过前面数据

    count += 2;
    // 帧长度及通道验证
    if (count <= Frame_MaxBytes && (uint8_t)channel < Ch_Num) {
        buffer[2] = count;
        *p++ = channel | Format_Int8; // 通道及数据格式信息
        *p = value; // 数据添加到帧
        return 1;
    }
    return 0;
}

/* 函数功能: 在数同步据帧中加入一个int16类型数据
 * 函数参数:
 *     buffer : 已经初始化的帧缓冲区
 *     channel: 通道, 取值范围为0~15
 *     value  : 通道数据值, 类型为int16
 *     返回值 : 0, 加入成功, 1, 帧长度已经达到上限或通道错误
 **/
char ws_add_int16(char *buffer, char channel, int16_t value)
{
    char count = buffer[2];
    char *p = buffer + count + 3; // 跳过前面数据

    count += 3;
    // 帧长度及通道验证
    if (count <= Frame_MaxBytes && (uint8_t)channel < Ch_Num) {
        buffer[2] = count;
        *p++ = channel | Format_Int16; // 通道及数据格式信息
        // 数据添加到帧
        *p++ = (value >> 8) & 0xFF;
        *p = value & 0xFF;
        return 1;
    }
    return 0;
}

/* 函数功能: 在数同步据帧中加入一个int32类型数据
 * 函数参数:
 *     buffer : 已经初始化的帧缓冲区
 *     channel: 通道, 取值范围为0~15
 *     value  : 通道数据值, 类型为int32
 *     返回值 : 0, 加入成功, 1, 帧长度已经达到上限或通道错误
 **/
char ws_add_int32(char *buffer, char channel, int32_t value)
{
    char count = buffer[2];
    char *p = buffer + count + 3; // 跳过前面数据

    count += 5;
    // 帧长度及通道验证
    if (count <= Frame_MaxBytes && (uint8_t)channel < Ch_Num) {
        buffer[2] = count;
        *p++ = channel | Format_Int32; // 通道及数据格式信息
        // 数据添加到帧
        *p++ = (value >> 24) & 0xFF;
        *p++ = (value >> 16) & 0xFF;
        *p++ = (value >> 8) & 0xFF;
        *p = value & 0xFF;
        return 1;
    }
    return 0;
}

/* 函数功能: 在数同步据帧中加入一个float类型数据
 * 函数参数:
 *     buffer : 已经初始化的帧缓冲区
 *     channel: 通道, 取值范围为0~15
 *     value  : 通道数据值, 类型为float
 *     返回值 : 0, 加入成功, 1, 帧长度已经达到上限或通道错误
 **/
char ws_add_float(char *buffer, char channel, float value)
{
    char count = buffer[2];
    char *p = buffer + count + 3; // 跳过前面数据

    count += 5;
    // 帧长度及通道验证
    if (count <= Frame_MaxBytes && (uint8_t)channel < Ch_Num) {
        union {
            float f;
            uint32_t i;
        } temp;
        buffer[2] = count;
        temp.f = value;
        *p++ = channel | Format_Float; // 通道及数据格式信息
        // 数据添加到帧
        *p++ = (temp.i >> 24) & 0xFF;
        *p++ = (temp.i >> 16) & 0xFF;
        *p++ = (temp.i >>  8) & 0xFF;
        *p = temp.i & 0xFF;
        return 1;
    }
    return 0;
}

/* 函数功能: 发送时间戳
 * 函数参数:
 *     buffer : 帧缓冲区
 *     ts     : 时间戳
 *     返回值 : 数据帧长度, (单位: bytes)
 **/
char ws_send_timestamp(char *buffer, ws_timestamp_t* ts)
{
    uint8_t temp;

    *buffer++ = Frame_Head;
    *buffer++ = Frame_InfoMode;
    temp = (ts->year << 1) | ((ts->month >> 3) & 0x01);
    *buffer++ = (char)temp;
    temp = (ts->month << 5) | (ts->day & 0x1F);
    *buffer++ = (char)temp;
    temp = (ts->hour << 3) | ((ts->min >> 3) & 0x07);
    *buffer++ = (char)temp;
    temp = (ts->min << 5) | ((ts->sec >> 1) & 0x1F);
    *buffer++ = (char)temp;
    temp = (ts->sec << 7) | ((ts->msec >> 3) & 0x7F);
    *buffer++ = (char)temp;
    temp = (ts->msec << 5) | ((ts->sampleRate >> 16) & 0x1F);
    *buffer++ = (char)temp;
    *buffer++ = (char)((ts->sampleRate >> 8) & 0xFF);
    *buffer = (char)(ts->sampleRate & 0xFF);
    return 10;
}

/* end of file sendwave.c */

void sendBuffer(char *buf, uint8_t len)
{
  Serial.write(buf);
}

// include file
#include <math.h>
//#include "sendwave.h"

typedef signed char  int8_t;
typedef signed short int16_t;
typedef signed long  int32_t;

// 串口示波器测试函数
void plotTest(void)
{
    char buffer[100], len; // 缓冲区最大需要83bytes
    static float key = 0.0f;
    static ws_timestamp_t ts = { // 时间戳
        17, 11, 20,      // year, month, day
        12, 30, 45,      // hour, minute, second
        120, 50          // msec, sample rate
    };

    // 每秒钟发送一次时间戳
    if ((int64_t)(key * 50.0) % 100 == 0) {
        len = ws_send_timestamp(buffer, &ts);
        sendBuffer(buffer, len); // 串口发送数据
    }

    // 点发送模式 int8类型(8位有符号整形)
    len = ws_point_int8(buffer, CH1, (int8_t)(sinf(key) * 64));
    sendBuffer(buffer, len); // 串口发送数据

    // 点发送模式 int16类型(16位有符号整形)
    len = ws_point_int16(buffer, CH2, (int16_t)(sinf(key) * 4096));
    sendBuffer(buffer, len); // 串口发送数据

    // 点发送模式 int32类型(32位有符号整形)
    len = ws_point_int32(buffer, CH3, (int32_t)(sinf(key) * 2048));
    sendBuffer(buffer, len); // 串口发送数据

    // 点发送模式 float类型(单精度浮点型)
    len = ws_point_float(buffer, CH4, (float)(sinf(key) * 512));
    sendBuffer(buffer, len); // 串口发送数据

    // 同步模式(帧发送模式)
    ws_frame_init(buffer);
    ws_add_int8(buffer, CH5, (int8_t)(sinf(key) * 128));
    ws_add_int16(buffer, CH6, (int16_t)(sinf(key) * 700));
    ws_add_int32(buffer, CH7, (int32_t)(sinf(key) * 1024));
    ws_add_float(buffer, CH9, (float)(sinf(key) * 256));
    sendBuffer(buffer, ws_frame_length(buffer)); // 串口发送数据

    // 更新时间计数
    key += 0.02f;
}


void setup() {
  //Initialize serial and wait for port to open:
  Serial.begin(115200);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }
}

float thisByte = 0.0f;

void loop() {
//    static char buffer[83]; // maximum use of 83 bytes
//    static int value = 10000; // a test value
//    value+=10;
//    if(value>=25600) value = 1;
//    
//    ws_frame_init(buffer);
//    ws_add_int8(buffer, CH1, (int8_t)(value / 100));
//    ws_add_int16(buffer, CH2, (int16_t)(value / 20));
//    ws_add_float(buffer, CH3, (float)value * 0.1f);
//    sendBuffer(buffer, ws_frame_length(buffer)); // serial port send data
  delay(10);
    plotTest();
}

光标对不准

Termianl模式,输入若干个字符后光标开始对不准,出现文字重叠。

image

新界面及通信机制

接下来将实现一种支持用户任意拖拽布局的界面。新的界面支持将不同的视图同时显示在窗口中,因此通信接口(例如串口)的数据应该流向哪些视图是新的问题。

新界面还将支持不同视图之间的通信。

SerialTool V1.3.0Beta测试问题

目前测试SerialTool V1.3.0Beta发现两个问题,1:界面上的暂停发送\接收按钮,只能使发送按钮不可用,接收缓存区还是会继续接收并显示数据;2:点击“帮助”的更新按键,会显示网络出错,进度条停止在0%;

波形数据保存成csv时后缀不对

波形数据保存时虽然是按照csv格式保存,但是文件后缀是txt的,必须自己手工修改,建议文件后缀直接按csv保存,或者文件后缀可选择

Qt5.10.1 使用QScintilla2.10.8/2.11.1编译报错

textedit.o: In function TextEdit::onTextChanged()': textedit.cpp:(.text+0xac): undefined reference to QsciScintilla::text() const'
textedit.cpp:(.text+0x134): undefined reference to QsciScintillaBase::SendScintilla(unsigned int, int) const' textedit.cpp:(.text+0x150): undefined reference to QsciScintillaBase::SendScintilla(unsigned int, int) const'
textedit.cpp:(.text+0x164): undefined reference to QsciScintillaBase::SendScintilla(unsigned int, unsigned long, long) const' textedit.o: In function TextEdit::setMarginsWidth()':
textedit.cpp:(.text+0x27c): undefined reference to QsciScintillaBase::SendScintilla(unsigned int, unsigned long, long) const' textedit.o: In function TextEdit::onLinesChanged()':
textedit.cpp:(.text+0x3bc): undefined reference to QsciScintillaBase::SendScintilla(unsigned int, unsigned long, long) const' textedit.o: In function TextEdit::highlightNone()':
textedit.cpp:(.text+0x480): undefined reference to QsciScintillaBase::SendScintilla(unsigned int, int) const' textedit.o: In function TextEdit::highlightCpp()':
textedit.cpp:(.text+0x4a0): undefined reference to QsciScintillaBase::SendScintilla(unsigned int, int) const' textedit.cpp:(.text+0x4bc): undefined reference to QsciScintillaBase::SendScintilla(unsigned int, unsigned long, char const*) const'
……省略中间部分……
moc_textedit.o:(.data.rel.ro._ZTV8TextEdit[_ZTV8TextEdit]+0x448): undefined reference to QsciScintilla::undo()' moc_textedit.o:(.data.rel.ro._ZTV8TextEdit[_ZTV8TextEdit]+0x450): undefined reference to QsciScintilla::unindent(int)'
moc_textedit.o:(.data.rel.ro._ZTV8TextEdit[_ZTV8TextEdit]+0x458): undefined reference to QsciScintilla::zoomIn(int)' moc_textedit.o:(.data.rel.ro._ZTV8TextEdit[_ZTV8TextEdit]+0x460): undefined reference to QsciScintilla::zoomIn()'
moc_textedit.o:(.data.rel.ro._ZTV8TextEdit[_ZTV8TextEdit]+0x468): undefined reference to QsciScintilla::zoomOut(int)' moc_textedit.o:(.data.rel.ro._ZTV8TextEdit[_ZTV8TextEdit]+0x470): undefined reference to QsciScintilla::zoomOut()'
moc_textedit.o:(.data.rel.ro._ZTV8TextEdit[_ZTV8TextEdit]+0x478): undefined reference to QsciScintilla::zoomTo(int)' moc_textedit.o:(.data.rel.ro+0x0): undefined reference to QsciScintilla::staticMetaObject'
collect2: error: ld returned 1 exit status
Makefile:429: recipe for target 'SerialTool_pre' failed
make: *** [SerialTool_pre] Error 1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.