手把手教你用TotalCommander辅助做航电开发

原创
2022/07/11 21:45
阅读数 660

手把手教你用 TC 辅助做航电开发

我们亲爱的飞友读者朋友们大概都知道我和自己俩个人喜欢玩 Linux,从之前的很多片推送文章都能看出来,用 Linux 做桌面使用、做开发机器使用、做服务器使用……做桌面用可以有 OnlyOffice 办公软件完全替代微软 Office,做开发机器用可以开发飞行模拟软件 FlightGear,做服务器可以架设 OnlyOffice 服务器架设离岸 V2UI 私人飞机场服务……

但其实我和自己也还是用 Windows 系统的,比如使用施蒂姆理财平台

施蒂姆理财平台

比如使用 Vaps XT 开发真实飞机实际装备的嵌入式航电仪表程序,这个软件仅支持 Windows 操作系统,以此为上位机,安装 VXWorks 嵌入式开发环境,通过 rs232 串口、网口连接嵌入式下位机,开发调试真机航电。

用惯了 Linux 的自己,对 Windows 的 explorer 这个 exe 十分的苦恼,所以,在水木清华 BBS 社区的 Desktop 版面和 Newsoft 版面,自己和我俩个人致力于推广 BBlean+TotalCommander 的食用方式,自命为水木 BT 党,BBlean+TotalCommmander 的简称,意思是使用 BBlean 替换 explorer 作为 windows 系统的桌面窗口 GUI 渲染外壳 Shell 程序,

bblean 菜单中加入命令提示符、cygwin 以及杀死比尔icon-default.png?t=M666https://mp.weixin.qq.com/s?__biz=MzI2MjUyNzkyNw==&mid=2247487717&idx=1&sn=3545b93a88c893a613b6a26a624bb748&chksm=ea489e3ddd3f172b9ab4c2aa0f1b51186e131f2a3f67acc127bd84d20f079ebb248aa0bad771#rd

使用 TotalCommander 替换 explorer 作为 Windows 系统的资源管理器程序,管理自己的文件,这样 windows 系统从启动到关机的全过程,在任务管理器中根本不会出现 explorer.exe 这个进程,费这么大劲干掉这个进程图什么?很多专门为 windows 系统编写的病毒流氓程序,都是感染系统后依赖于该进程来发作症状的,干掉这个进程不一定能预防感染,但是肯定能让大部分病毒流氓软件无从发病,系统运行更加流畅。

TotalCommander 作为文件管理器有很强大的扩展开发能力,可以方便的与 XT、VC、VXW 集成。

完整版自定义工具栏

如上图所示,经过长期使用过程中的逐渐增加扩展,我的 TC 最终增加了整整一行的自定义工具栏按钮。

先在原工具栏的基础上增加一个使用者自定义的空白的工具栏一行,在原工具栏上右键单击,弹出右键菜单只有一个选择项更改工具栏:

原工具栏上右键单击更改工具栏

然后选择左侧第一个按钮,就是 TC 自带的子工具栏示例的定义配置,仔细观察其配置方式:

子工具栏示例

其真实配置文件是 UserApps.bar,在 TC 的安装路径下,于是找到它,复制一份,修改文件名,为自己的工具栏起名字,比如我的是 VapsXTDeveloper.bar,内容先不用改

复制方式新建.bar文件

这样就可以在 TC 的工具栏上添加这个新建的子工具栏了

添加子工具栏

在自定义工具栏窗口中,选中最右侧一个按钮,点击左侧的 添加(A),添加一个空白按钮,将上面的自带子工具栏定义所使用的图标文件路径拷贝到这里的图标文件中,会自动解析出来一系列自带图标,选择其中的子工具栏图标,然后在 命令一行的右侧的按钮 改变中,选择最下面一条 添加子工具栏,在打开文件对话框中选择新建的子工具栏文件 VapsXTDeveloper.bar,即可把 TC 的 UserApps子工具栏原样复制到新的 VapsXT 工具栏里,点进去新建的 VapsXT 工具栏里面,把 UserApps 里的所有按钮删掉清空,开始添加自己的各个工具的各种使用功能。

代码编辑功能

使用 NotePad++打开源代码文件编辑

NotePad++

鼠标移动上去会自动弹出文字提示,配置方式如下:

NotePad++配置

参数栏填写 %N,意思是在当前 TC 窗口内选中的文件,用 notepad++打开所选中的文件

打开效果

自动调用 notepad++软件打开代码文件开始编程

使用 Gvim 打开源代码文件编辑

用惯了 Linux 的 VI 编辑器,在 windows 下自己也经常用,于是加入 Windows 版本 GVim 的调用按钮,尤其是常用的代码比较功能:

Gvim

两个按钮的配置分别如下

用GVIM打开

代码比较

代码比较的命令是 gvimdiff,参数是比较的两个文件名,在 TC 里面给一个命令输入左右两侧面板分别选中的两个文件的文件名的方式就是参数 %P%N %T%M,在按钮提示处用中文输入代码比较,图标换一个和默认的不一样的有区分度的图标

VimDiff

我比较的这两个文件是完全相同的。

用 VS 2008 Express 里的 VC 打开

当然在 windows 下面最正统的开发集成环境 IDE 还是微软自己的 Visual Studio

VC2008

配置方式很简单,找到它的可执行文件 vcexpress.exe填入即可,连图标也在这个文件里,参数同样是 %N,打卡当前选中的文件,可以是 .cpp源码文件也可以是 .sln工程文件

vcexpress

航电可执行文件运行功能

XT 编译出的仪表可执行文件,固然可以双击运行,但是一般的还是要在命令行里面加一些参数指定其运行方式,比如指定窗口位置大小、指定是否可拖动等等,这些配置可以做成一个一个按钮,加入 TC 工具栏,就可以在 TC 中选择相应 exe 后直接点击按钮就可以按照指定方式运行,自己仅仅加了两个按钮:

无框运行按钮

全屏运行按钮

无框运行就是没有 windows 窗体,没有标题栏没有最大化最小化关闭按钮,不能鼠标拖动窗口位置不能鼠标拖动四个角缩放窗口大小,如下图所示

无框运行计算尺仪表

全屏运行也还是没有 windows 窗体,仪表最大化铺满整个桌面,没有标题栏没有最大化最小化关闭按钮,就像大部分电脑游戏运行的效果一样,如下图所示

全屏运行简单态势地图仪表

这两个按钮配置如下:

无框运行按钮配置

全屏运行按钮配置

图标文件都是直接从 XT 可执行文件中提取,参数 %P%N意思为执行当前 TC 窗口中选中的文件的路径名加文件名,最关键的是自己写了两个 .bat批处理程序来传入无框运行和全屏运行的参数

vapsexecutext.bat

@ rem vapsexecutext.bat
start %1 -xpos 330 -ypos 34 -fit -width 700 -height 700 -noborder

vapsexecutextfull.bat

@ rem vapsexecutextfull.bat
start %1 -xpos 0 -ypos 0 -fit -width 1360 -height 768 -noborder

自己的显示器分辨率只有 1360*768,所以这两个脚本传入的分辨率、xy 坐标都比较凄惨。

%1.bat程序传入参数的引入方法,这个程序传入只有一个参数,就是一个字符串,内容是完整的路径名加可执行文件名,就是 TC 里面的 %P%N,这个程序写得非常简化,所以限制了用法,使用时,XT 可执行路径文件名字符串中间不能有空格存在,否则程序会只解析到第一个空格之前的第一个字符串,就会执行出错。

-width-height是指定仪表画面的宽和高,单位不是什么厘米或者毫米而是像素,像素是什么东西?Windows 系统的显示设置里面屏幕分斌率就是指横方向多少像素竖方向多少像素,比如自己的这台笔记本电脑是 1360*768 像素的,自己为什么还在用这么低分辨率的老电脑呢,因为我给它改装加了触摸屏,开发调试自己的触摸屏仪表用

-xpos-ypos是指定仪表画面的位置,x 和 y 是从 Windows 的主显示器的左下角为零点的横纵坐标,上面的无框运行脚本中的数值,就是以桌面正中间为中心绘制 700 像素高宽的方形仪表区域

-fit是把设计的仪表画面缩放适合窗口大小,我在 XT 里面设计的仪表的尺寸可能很小也可能很大,直接显示就可能看起来太小或者仪表太大被窗口截断,所以加入了 -fit参数,类似的还有 -center参数,将设计的仪表的几何中心对准运行窗口的几何中心,否则程序将仅仅把设计仪表的画布的坐标零点放置在窗口的左下角,如果你设计仪表时候把仪表放置在画布坐标零点的左下方的话,那执行出来就会正好不给显示出仪表来。

-noborder参数去掉窗口的窗体界面 GUI 功能,没有最大化最小化按钮,不能手动调窗口大小,不加这个参数就可以像正常窗口一样操作了,不加这个参数配合 -fit参数可以缩放窗口时候缩放仪表大小。

编译链接可执行文件功能

上面只是运行可执行文件的功能,那在之前有一个环节就是编译链接可执行文件的操作:

cgmakewogl按钮

cgmakewogld按钮

配置如下,这里的 cg_make.bat批处理程序是 XT 安装后提供的自带的编译工具脚本程序,因此在参数栏内填写的参数是其特有的

cgmakewogl配置

cgmakewogld配置

-tgt是指编译目标类型,wogl是 windows 平台下的 OpenGl 底层编译的类型,而 wogl_d则是对应的 debug 带有调试信息可供调试的版本,-vsvars32是编译为 32 位可执行文件。

cg_make.bat编译脚本很长,截图部分代码如下

cg_make.bat

数百行代码,一般情况下不需要研究如何修改,只是用它来调用底层的 VC 和 VXWorks 开发编译环境而已

VC Express 的编译相关按钮

在 TC 里后台调用 VC 执行编译各种操作,从 C++代码生成编译按钮开始到

VapsXTC++makeCodeGen

到编译为静态链接库各种功能

VapsXTC++makeStaticOGLWithExports

这里使用的不是盗版破解版本的 VS,而是强烈推荐使用从微软官方网站下载的正版的免费版本 VS 2008 Express 版本,Express 版本的 VC 是官方免费的,足够使用,这一组按钮就是在前端 TC 界面中配置按钮调用 VC 后端的各个编译工具进行操作,命令参数都是 VC 的参数,含义不再解释,相关信息网上浩如烟海。

Vaps XT C++ make CodeGen

配置如下

VapsXTC++makeCodeGen配置

Vaps XT C++ make release

配置如下

VapsXTC++makeRelease配置

Vaps XT C++ make StaticOGL

配置如下

VapsXTC++makeStaticOGL配置

Vaps XT C++ make StaticOGLDebug

配置如下

VapsXTC++makeStaticOGLDebug配置

Vaps XT C++ make StaticOGLDebugWithExports

配置如下

VapsXTC++makeStaticOGLDebugWithExports配置

Vaps XT C++ make StaticOGLWithExports

配置如下

VapsXTC++makeStaticOGLWithExports配置

VXWorks 编译调试相关

wftpd32

wftpd32按钮

这是上位机和下位机文件传输时候使用的经典工具,一边开启 ftp 文件服务,一边用 ftp 客户端软件登陆上传下载文件

wftpd32按钮配置

tftpd32

tftpd32按钮

类似的一个工具

tftpd32按钮配置

wrwb-x86-win32

打开 VXWorks 的 IDE 开发集成环境 WindRiver WorkBench

wrwb-x86-win32按钮配置

WorkBench

Vaps XT


 


这样就基本上就把 VapsXT 进行航电开发所需要的 Visual Studio Express、VXWorks WorkBench 等都集成到 TC 里面打开了,不再需要从 windows 的开始菜单单独打开这些工具链了,不用 windows 开始菜单了就可以彻底使用 BBlean+TC 来做 shell 了,

taskkill /f /im explorer.exe
taskkill /f /im iexplorer.exe
展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部