avatar
文章
58
标签
43
分类
8
首页
归档
分类
小工具
  • Type Help
  • FC Game
关于
阿伟又在打电动project joee 开发日志 10.07 (及项目工程目录解释) 返回首页
首页
归档
分类
小工具
  • Type Help
  • FC Game
关于

project joee 开发日志 10.07 (及项目工程目录解释)

发表于2022-10-07|更新于2026-07-16|开发日志
|浏览量:
文章作者: Awei
文章链接: https://www.aweisite.top/posts/2633f25c.html
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 阿伟又在打电动!
c#
cover of previous post
上一篇
设计模式
概述 设计模式,即Design Patterns,是指在软件设计中,被反复使用的一种代码设计经验。使用设计模式的目的是为了可重用代码,提高代码的可扩展性和可维护性。 设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理地运用设计模式可以完美地解决很多问题,每种模式在现实中都有相应的原理来与之对应,每种模式都描述了一个在我们周围不断重复发生的问题,以及该问题的核心解决方案,这也是设计模式能被广泛应用的原因。 设计模式这个术语是上个世纪90年代由Erich Gamma、Richard Helm、Raplh Johnson和Jonhn Vlissides四个人总结提炼出来的,并且写了一本Design Patterns的书。 他们所提出的设计模式主要是基于以下的面向对象设计原则: 对接口编程而不是对实现编程。 优先使用对象组合而不是继承。 为什么要使用设计...
cover of next post
下一篇
0. Dropout: A Simple Way to Prevent Neural Networks from Overfitting
Abstract 摘要部分 :::info 提出问题 ::: Deep neural nets with a large number of parameters are very powerful machine learning systems. However, overfitting is a serious problem in such networks. Large networks are also slow to use, making it difficult to deal with overfitting by combining the predictions of many different large neural nets at test time. 拥有大量参数的深度神经网络是很强大机器学习系统。然而,神经网络的过拟合是一个严峻的问题。大型网络的使用速度也很慢,这使得在测试时结合许多不同的大型神经网络的预测来处理过拟合问题变得困难。 :::info 引出解决方法 ::: Dropout is a technique for add...
相关推荐
cover
2022-11-08
project joee 开发日志(十)——串口设备配置
接上回串口识别和保存部分 串口配置项 可行性验证 先完成串口配置的保存,以便在配置文件中修改串口信息 首先在Config.cs中添加相应项 12//硬件串口号public Dictionary<string,string> DEVICE_COM = new Dictionary<string, string>(); 1234567public class Settings{ ...; //串口号 public Dictionary<string, string> DEVICE_COM; ...;} 12345678910//读取配置文件 加载各类参数public void load(string file = "./config.toml"){ if (file.Length > 0 && File.Exists(file)) { ...; DEVICE_COM = settings.DEVICE_C...
cover
2022-10-23
project joee 开发日志(八)——换卷截断绘图实现
在开发日志(七)中实现了换卷绘图的前置功能, 接下来实现具体绘图。 首先实现接口 12345678910//定义事件和处理函数public EvtHanlder hanlder{ get { EvtHanlder h = new EvtHanlder(); //添加相应处理事件 h.ReelChangeEvent += ReelChangeHandler; return h; } } 定义换卷处理事件 1234567public void ReelChangeHandler(object sender, CustomEventArgs Args) { //换卷事件处理 Console.WriteLine("Chart: Event ReelChange"); double line = (double)Args.msg; AddLineH(line);} 其中绘制横线函数 12345678910111213pr...
cover
2022-09-25
project joee 开发日志 09.25
project joee 开发日志 09.25                  需求 将原本采集卡连接单个摄像头的方案修改为:采集卡连接两个摄像头,并且将两个摄像头采集到的图像信息合并成一张图像。           -part1-需求分析 1.驱动调用   首先要修改采集卡调用部分的代码,使得采集卡Devices::Grabber部分能够接收和区分不同摄像头的句柄,并且调用相关API时加以区分这部分应该不难实现。 2.回调处理   其次当采集卡产生回调时,应根据不同摄像头相同序号的帧进行帧同步,标识出两个相同时刻的帧,问题在于,两个摄像头产生的缓冲区图像能否保证是在同一时刻产生的,以及采集卡缓冲区应该设置为多大。 查阅开发手册: 2.1.图像缓冲区的三种状态:   Empty 空状态,意味着当前缓冲区没有相机采集到的图像数据   Full 满状态,意味着当前缓冲区已经被相机采集到的图像数据填满   Transfer 传输状态,意味着相机正在向该缓冲区内传输数据   用户可以通过 IKapGetBufferStatus 来获取指定传输缓冲区的状态。 2.2.图像缓冲区的状态切换...
cover
2022-10-19
project joee 开发日志(七)——数据相关问题
需求 具体描述 (待)实现方式(/思路) 图表添加切割线条 添加横向线条来指示每次换卷的截断位置 换卷事件中添加相应处理,并且使用图表控件的对应方法画出线条 先前添加了插件中的换卷事件处理。 换卷的处理函数中修改了数据库,而当该函数被外部插件(监听串口的线程)或者用户按钮事件调用时,如果任务不是处于暂停状态,会与数据处理线程的插入行函数(InsertRow)产生冲突,两个线程会在相近的时间内访问数据库连接对象,相应的打开和关闭数据库过程会产生异常。 因为涉及到委托调用数据库更新操作,在主程序对数据库进行操作时,可能会出现冲突的情况,因此需要加上数据库的访问锁 12//数据库访问互斥readonly static object _locker_db = new object(); 在创建数据库之后的所有对数据库操作添加如下互斥访问方式 12345//互斥访问数据库对象lock (_locker_db){ do();} 在主程序进行数据库插入时进行检测是否换卷 ++以上操作无效。++ 经过大量debug跟踪发现,出现异常的原因为数据库连接Db...
cover
2022-10-18
project joee 开发日志(六)——自定义事件
++之后开发日志不再按照日期命名++ 某个功能需求要求插件实现在主程序满足特定条件时触发函数调用,因此需要在框架和接口中添加自定义事件处理,通过事件触发的方式来在主程序中插入插件的功能函数。 自定义事件处理 定义 添加定义事件类 EvtHanlder 在插件接口类中添加属性EvtHanlder: handler 1public EvtHanlder hanlder{get;} 添加事件处理机制,添加CustomEvent枚举类,用来描述主窗体的自定义事件,并将相应设置相应触发器,使得插件可以执行对应的事件handler。 123456789101112131415//事件委托public delegate void DefaultEventHanlder(object sender, CustomEventArgs Args);public delegate void ReelChangeHandler(object sender, CustomEventArgs Args);public delegate void ...;//事件枚举类型public en...
cover
2022-11-20
project joee 开发日志(十三)——DebugConsole实现插件参数的加载和修改
由于修改了参数配置的实现,Debug Console中加载配置参数会出现问题,因此需要修改相应的逻辑实现。 实现思路 在onload()事件中(执行onload的时候所有插件都已经完成初始化init(),所以会在对应的Attributes中包含需要保存的参数),读取主程序和各个插件的 Attributes,然后找出bool类型的变量,将其加入到开关字典switches<string,object>中,并且根据读取到的变量列表 l_MainWnd、l_cfg、l_plugin 来生成checkbox控件,最后定义其点击事件,在事件中将对应键值与checkbox的 Checked属性进行绑定,最终实现点击选择框修改对应的变量。 该思路的核心部分在于读入插件参数并创建控件的过程,其实现如下: 12345678910111213141516171819202122232425262728293031323334353637383940414243//根据反射获取属性字典 动态添加开关控件private void CreateContorls(Form f) { ...

评论
avatar
Awei
AI、HPC、LLM 与工程实践笔记
文章
58
标签
43
分类
8
Follow Me
公告
这里主要记录 AI / HPC / LLM 论文阅读、模型部署实践和一些项目开发日志。
目录
  1. 添加图表功能
  2. 功能模块化拆分
    1. 主要模块
      1. Windalsa: 主要业务逻辑实现
      2. 功能模块
      3. 插件模块,以Plugin开头(PluginInterface除外)
  3. 修改引用方式
    1. lib
  4. libs
  5. core
最新文章
OpsMem:让故障诊断智能体同时记住”当前证据”与”历史经验”
OpsMem:让故障诊断智能体同时记住”当前证据”与”历史经验”2026-07-14
智能体的产业与学术现状及未来发展趋势报告
智能体的产业与学术现状及未来发展趋势报告2026-07-14
运维智能体(AIOps Agent)现状综述
运维智能体(AIOps Agent)现状综述2026-07-03
从 Claude Code 看 Agent Skills:Anthropic 内部如何设计和沉淀可复用能力
从 Claude Code 看 Agent Skills:Anthropic 内部如何设计和沉淀可复用能力2026-06-12
数据不是软件:Anthropic 如何用 Claude 实现自助式数据分析
数据不是软件:Anthropic 如何用 Claude 实现自助式数据分析2026-06-11
© 2022 - 2026 By Awei