2020-04-08 02:04:47 +08:00
|
|
|
|
----------------------------------------------------------------------------
|
|
|
|
|
2020-04-08 V1.10
|
|
|
|
|
【修改&新增功能】
|
|
|
|
|
1. D0、D1口线增加TTL UART7串口功能,lua可以读写该串口。
|
|
|
|
|
2. lua接口增加本机按键的访问函数(暂未调通,逻辑还存在问题)
|
|
|
|
|
3. lua接口函数modbus_write_u16, 如果只写1个寄存器用06H功能码,多个寄存器才用10H功能码。
|
|
|
|
|
4. 脱机下载界面,如果没接芯片长按S键执行了连续烧录,界面会卡住没有提示。
|
|
|
|
|
修改为进入连续烧录模式后,按任意键退出连续烧录模式
|
|
|
|
|
5. 脱机编程器(缺省使用软件复位模式)
|
|
|
|
|
- lua脚本中增加RESET_TYPE变量: RESET_TYPE = 0 -- 0表示软件复位 1表示硬件复位
|
|
|
|
|
- 编程参数界面增加复位选项:由lua选择、强制硬件复位、强制软件复位
|
|
|
|
|
|
|
|
|
|
【bug修复】
|
|
|
|
|
1. 修正V1.09新出的BUG, lua读取D8 GPIO异常.
|
|
|
|
|
2. 修改界面文字错误,"USB eMMM磁盘"更正为"USB eMMC磁盘"
|
|
|
|
|
3. lua小程序功能执行一次后再到脱机界面,会显示lua小程序的输出窗口。
|
|
|
|
|
原因:bsp_uart_fifo.c中fputc函数无条件执行LCD_MemoAddChar()函数
|
|
|
|
|
4. 屏幕息屏后只能唤醒一次,之后便不会再息屏,切换界面后正常息屏一次,之后又不行。已修复.
|
|
|
|
|
|
|
|
|
|
【其他】
|
|
|
|
|
1. 加入一拖四的源代码备份
|
|
|
|
|
- 该功能还未调通,仅调试到能够同步读出4个芯片的ID
|
|
|
|
|
- 因为硬盘硬件损坏,编写调试了一个月的代码差一点丢失,因此推送到git先备份起来
|
|
|
|
|
- 供电问题:
|
|
|
|
|
- 同时烧写4个芯片会涉及到TVCC供电不足的问题.
|
|
|
|
|
- TVCC引脚仅支持400mA,
|
|
|
|
|
- 5V的引脚只支持1000mA电流(5V输出有1个短路限流保护芯片碍事,早知不要了)
|
|
|
|
|
- H7-TOOL主板3.3V电流有270mA,因此无法4个主板同时烧写. 3.3V被拖垮到2.4V
|
|
|
|
|
- 上拉电阻问题:主板最初只设计了一路SWD接口(SWDIO引脚需要上拉电阻),其他3路的SWDIO无上拉电阻
|
|
|
|
|
- 供电问题和上拉电阻问题可以通过设计一拖四转接板来解决
|
|
|
|
|
|
|
|
|
|
2. 用户反映运行lua程序界面和脱机界面的按键逻辑和其他的不一样比较不习惯
|
|
|
|
|
- 其他界面一般是长按确认执行。但是在这2个界面,因为按钮功能需要频繁使用,所以设计为短按执行.
|
|
|
|
|
- 原来准备修改的,但是没有想到更好的操作逻辑,暂时不改了。
|
|
|
|
|
|
|
|
|
|
3. 接受网友的建议,生成的bin文件名中的全角括号修改为半角括号
|
|
|
|
|
|
|
|
|
|
4. doc下的修改记录.txt文件取消。内容记录到根目录 CHANGELOG文件.
|
|
|
|
|
|
2020-03-12 12:43:55 +08:00
|
|
|
|
----------------------------------------------------------------------------
|
|
|
|
|
2020-03-12 V1.09
|
|
|
|
|
【修改&新增功能】
|
|
|
|
|
1.脱机烧录功能
|
|
|
|
|
- 增加STM8芯片(STM8S和STM8L系列)
|
|
|
|
|
- 增加自动识别硬件烧录不同的程序(识别算法由lua指定)
|
|
|
|
|
- 增加组合烧录,比如一键烧写H7-TOOL的boot、app和QSPI Flash
|
|
|
|
|
- FLM算法文件和数据文件支持绝对路径和相对路径
|
|
|
|
|
- 优化LUA脚本,支持读、写保护状态识别,自动解除保护状态
|
|
|
|
|
- 取消程序文件的大小显示,本次计数采用32点阵字体
|
|
|
|
|
- 支持PC机联机调试lua程序
|
|
|
|
|
- 打印内核ID、flash内容、RAM内容、UID、Option bytes
|
|
|
|
|
- 修改和显示目标CPU的RAM和任意寄存器
|
|
|
|
|
- 擦除CPU内部Flash、EEPROM
|
|
|
|
|
- 加读保护、解除保护
|
|
|
|
|
- 启动编程
|
|
|
|
|
- 解决无法烧录STM32L0xx芯片的BUG,L0系列的Init函数需要传递形参1-2才行
|
|
|
|
|
- 烧录时LED快闪,烧录成功候常亮,烧录失败后熄灭
|
|
|
|
|
- 烧录界面增加清零本次计数、清零累计计数功能。修改产品序号功能未做,后面有空再做。
|
|
|
|
|
|
|
|
|
|
2.LUA
|
|
|
|
|
- print_hex 函数支持显示宽度和显示地址
|
|
|
|
|
|
|
|
|
|
【bug修复】
|
|
|
|
|
1.脱机编程算法占用的RAM可以通过lua文件指定,V1.08是固定0x1000。 某些片子不够用
|
|
|
|
|
2.READ_FMC()存在不能及时获取数据问题。解决方法:FMC内存空间需要配置为禁止cashe
|
|
|
|
|
3.微型数控电源界面如果关闭了蜂鸣器,无法确认是否进入了电压设置状态。
|
|
|
|
|
4.00联机模式界面 切换屏幕显示方向时,日期和时间不会显示.
|
|
|
|
|
|
|
|
|
|
【其他】
|
|
|
|
|
1.修改switch case语句缩进格式
|
|
|
|
|
|
|
|
|
|
----------------------------------------------------------------------------
|
|
|
|
|
2020-02-06 V1.08 -- 主要增加脱机烧录功能
|
|
|
|
|
1.脱机编程器功能(仅STM32芯片)
|
|
|
|
|
- 通过文件浏览方式选择程序文件。不限制目录和文件个数。
|
|
|
|
|
- FLM算法文件从KEIL MDK中复制出来,存放到emmc磁盘 \H7-TOOL\Programmer\FLM,按厂商分类
|
|
|
|
|
- 目标程序文件、编程脚本存放到:\H7-TOOL\Programmer\User 文件夹。不限制目录级别和数量
|
|
|
|
|
- 动态解析FLM文件,分离出内存镜像通过swd加载到目标cpu ram
|
|
|
|
|
- 支持多段bin写入
|
|
|
|
|
- 支持option bytes编程,烧录完毕设置读保护
|
|
|
|
|
- 支持自动解除读保护
|
|
|
|
|
- 支持动态填充产品序号、UID加密字段、用户自定义字段
|
|
|
|
|
- 自动保存烧录次数,支持剩余次数限制功能
|
|
|
|
|
- 支持连续烧录模式,检测到IC后自动烧录
|
|
|
|
|
- 可动态显示CPU电压和供电电流
|
|
|
|
|
- 通过lua脚本配置算法文件和数据文件(bin)以及控制编程过程
|
|
|
|
|
- lua非常灵活,可以很方便扩充功能,比如:
|
|
|
|
|
- 日期窗口段内才允许烧录
|
|
|
|
|
- 目标板电流超限报警
|
|
|
|
|
- 限定UID(CPU唯一序号)符合规则的才允许烧录
|
|
|
|
|
- UID加密算法由用户自己定义
|
|
|
|
|
- 填充任意短数据(小于1K),比如可以写入生产日期时间或客户代码
|
|
|
|
|
- 关于程序文件保密问题。后期再考虑吧。
|
|
|
|
|
- 因为H7-TOOL软件开源,文件结构开源,为了避免程序文件被加工厂泄露,初步设想如下:
|
|
|
|
|
- 控制USB虚拟磁盘程序入口,增加人工输入密码。
|
|
|
|
|
- 在虚拟磁盘扇区读写底层函数,以512字节为单位增加客户自定义加密和解密算法。这样emmc数据内容
|
|
|
|
|
就是被加密的,即使emmc芯片被复制出来放到其他H7-TOOL主板也无法识别。
|
|
|
|
|
|
|
|
|
|
2.菜单变更
|
|
|
|
|
- 联机模式长按S进入扩展功能菜单 : 脱机烧录器、LUA小程序、数据记录仪、系统设置
|
|
|
|
|
- 系统设置下级菜单:硬件信息、参设设置、ESP32固件升级、USB eMMC磁盘、数据维护
|
|
|
|
|
|
|
|
|
|
【bug修复】
|
|
|
|
|
V1.07 lua新增bug 不在lua小程序界面,执行PC机下下载lua程序会死机
|
|
|
|
|
- bsp_tft_lcd.c LCD_DrawMemo()函数,增加: 3284行
|
|
|
|
|
if (_pMemo->Text == 0)
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
----------------------------------------------------------------------------
|
|
|
|
|
2019-12-26 V1.07
|
|
|
|
|
1.界面切换S键和C键功能交换,符合正常逻辑。
|
|
|
|
|
2.系统设置界面,增加USB磁盘访问eMMC
|
|
|
|
|
3.FatFS文件系统建立,支持目录浏览
|
|
|
|
|
4.中文字库2MB存放到QSPI Flash末尾,所有汉字都可以显示了,无需CPU内嵌小字库。
|
|
|
|
|
5.系统设置界面可以写字库文件,也可以刷新boot程序
|
|
|
|
|
6.实现Lua小程序脱机运行
|
|
|
|
|
7.数据记录仪只做了菜单(功能下个版本实现)
|
|
|
|
|
|
|
|
|
|
bug修复:
|
|
|
|
|
1. USB通信时,熄屏后唤醒死机 while (wTransferState == 0){}
|
|
|
|
|
- 原因:主程序SPI正在DMA传输显示数据,按键中断服务程序中执行LCD休眠操作,SPI被重置
|
|
|
|
|
导致DMA传输不能进入完成中断。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
----------------------------------------------------------------------------
|
|
|
|
|
2019-12-09 V1.06
|
|
|
|
|
1.界面风格重新设计。24点阵、32点阵部分ASCII字符调整齐
|
|
|
|
|
2.实现长时间不按键自动熄屏功能
|
|
|
|
|
3.修改高侧电流界面120mA判据,增加回差控制
|
|
|
|
|
4.bsp_key.c按键驱动增加长按弹起事件,和短按弹起事件分开处理. 这样处理后
|
|
|
|
|
主状态函数中的 uint8_t ucIgnoreKey 忽略按键的代码就可以去掉了。
|
|
|
|
|
5.增加脱机烧录器界面(仅界面实现,未实现烧录功能)
|
|
|
|
|
6.联机界面增加时钟显示
|
|
|
|
|
|
|
|
|
|
----------------------------------------------------------------------------
|
|
|
|
|
2019-11-30 V1.05b
|
|
|
|
|
1.解决上电花屏2秒问题,原因:logo界面没刷屏
|
|
|
|
|
|
|
|
|
|
----------------------------------------------------------------------------
|
|
|
|
|
2019-11-29 V1.05 - 功能未增加,但是改动比较大,封一个版本。
|
|
|
|
|
1.HAL固件库、USB库升级到最新版(来自于en.stm32cubeh7 (V1.5.0))
|
|
|
|
|
-所有的GPIO寄存器操作更改为如下宏(因为新固件库取消了 BSRRH、BSRRL寄存器)
|
|
|
|
|
#define BSP_SET_GPIO_1(gpio, pin) gpio->BSRR = pin
|
|
|
|
|
#define BSP_SET_GPIO_0(gpio, pin) gpio->BSRR = (uint32_t)pin << 16U
|
|
|
|
|
|
|
|
|
|
2.显示屏驱动采用SPI+DMA驱动。整屏刷新18ms。(驱动由硬汉提供)
|
|
|
|
|
- 修bsp_tft_st7789.c文件
|
|
|
|
|
- bsp_Idle()函数执行 ST7789_DrawScreen(); /* 硬件SPI+DMA+刷屏 */
|
|
|
|
|
- 使用0x30000000开始的240*240*2字节内存做显存
|
|
|
|
|
|
|
|
|
|
3.为了适应后台刷屏机制。所有的 while循环中bsp_Idle() 位置放到显示刷新后面
|
|
|
|
|
while (g_MainStatus == MS_CURRENT_METER)
|
|
|
|
|
{
|
|
|
|
|
if (fRefresh) /* 刷新整个界面 */
|
|
|
|
|
{
|
|
|
|
|
fRefresh = 0;
|
|
|
|
|
|
|
|
|
|
DispCurrentVolt();
|
|
|
|
|
AutoCurrentRange();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bsp_Idle(); /* 必须在fRefresh语句后边, 否则刚进入界面会有闪烁感 */
|
|
|
|
|
|
|
|
|
|
...
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
----------------------------------------------------------------------------
|
2019-11-25 15:06:41 +08:00
|
|
|
|
2019-11-25 V1.04
|
|
|
|
|
1.新增脉冲计数和频率计功能。status_pulse_meter.c
|
|
|
|
|
2.lua增加串口MODBUS接口函数
|
|
|
|
|
3.增加参数设置界面,目前可以关闭蜂鸣器,选择配色风格功能未做。
|
|
|
|
|
4.调整配色方案, ui_def.h文件定义颜色
|
|
|
|
|
5.部分界面的文字左对齐
|
|
|
|
|
6.系统设置-信息信息界面显示固件版本号
|
|
|
|
|
7.CDC串口驱动调整。COM切换时,不开关USB设备。
|
|
|
|
|
8.解决虚拟串口波特率低于2400不正确的bug
|
|
|
|
|
9.源代码加入Teeny-usb协议栈,未完全调通(临时屏蔽了,还是用ST的USB库)
|
|
|
|
|
|
2019-11-05 13:12:15 +08:00
|
|
|
|
2019-11-03 V1.03
|
|
|
|
|
|
|
|
|
|
1. 增加高侧电流表功能,测量负载电压、电流、功率,测量电池放电容量。
|
|
|
|
|
|
|
|
|
|
2. 增加二极管测量功能,和电阻测量同界面。
|
|
|
|
|
|
|
|
|
|
2019-10-20 V1.02
|
|
|
|
|
|
2019-11-05 13:36:06 +08:00
|
|
|
|
1. 批量发货版本,首版。
|