project joee 开发日志 10.12
发表于|更新于|开发日志
|浏览量:
文章作者: Awei
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 阿伟又在打电动!
相关推荐
2022-11-02
project joee 开发日志(九)——相机增益和灯光控制插件
在SerialDevice插件中添加相机增益和光照自动控制功能 以下为实现方式 首先定义串口设备抽象类,为该类设置基本属性和构造函数 12345678910111213141516171819202122232425262728293031323334353637class SerialDevice{ //串口设备 public SerialPort serialPort; public ModbusSerialMaster master; //串口参数 public string portname; public int baunrate; public int databits = 8; public Parity parity = Parity.None; public StopBits stopbits = StopBits.One; //设备参数 public string DeviceName; public SerialDevice() { serial...
2022-10-19
project joee 开发日志(七)——数据相关问题
需求 具体描述 (待)实现方式(/思路) 图表添加切割线条 添加横向线条来指示每次换卷的截断位置 换卷事件中添加相应处理,并且使用图表控件的对应方法画出线条 先前添加了插件中的换卷事件处理。 换卷的处理函数中修改了数据库,而当该函数被外部插件(监听串口的线程)或者用户按钮事件调用时,如果任务不是处于暂停状态,会与数据处理线程的插入行函数(InsertRow)产生冲突,两个线程会在相近的时间内访问数据库连接对象,相应的打开和关闭数据库过程会产生异常。 因为涉及到委托调用数据库更新操作,在主程序对数据库进行操作时,可能会出现冲突的情况,因此需要加上数据库的访问锁 12//数据库访问互斥readonly static object _locker_db = new object(); 在创建数据库之后的所有对数据库操作添加如下互斥访问方式 12345//互斥访问数据库对象lock (_locker_db){ do();} 在主程序进行数据库插入时进行检测是否换卷 ++以上操作无效。++ 经过大量debug跟踪发现,出现异常的原因为数据库连接Db...

2022-10-17
project joee 开发日志 10.17
需求 具体描述 (待)实现方式(/思路) 图表添加指示线条 添加竖向可移动的线条来指出瑕疵落点位置 使用对应的控件方法处理 实现方案: (插件实现)对图表控件添加事件控制逻辑 使用如下变量来存储状态信息和选中的线条对象 123456789//鼠标状态bool MouseDown = false;//命中状态bool StripSelected = false;bool AxisXSelected = false;bool AxisYSelected = false;//当前被选中的线条StripLine SelectedLine; 在MouseMove事件中的逻辑: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586MainWnd.ActiveControl = chart;HitTes...

2022-10-15
project joee 开发日志 10.15
需求 具体描述 (待)实现方式(/思路) 不同相机工作状态指示灯 字母代表不同的相机,相机工作对应的指示灯变为绿色 采集卡API检测相机状态 查阅采集卡的开发文档,对应API 12345678910111213141516171819202122232425262728293031IKapGetCameraStatus 获取当前相机状态c++:int IKapGetCameraStatus(HANDLE hDev, int* npValue)对应c#:int IKapGetCameraStatus(IntPtr hDev, ref int npValue);参数说明hDev 设备句柄npValue 相机当前状态返 回 值0:调用失败1:调用成功说 明用户可以在任意时刻调用该函数查询当前相机状态判断采集发生异常的原因。如果返回 0 或相机状态 npValue 为 0xFFFFFFFF,则采集卡获取相机信号失败,用户可以在间隔一段时间后(e.g.100ms),重新调用该函数获取相机状态。相机状态 npValue 可能是下列比特位的异或组合:0x00000001:...

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) { ...

2022-10-07
project joee 开发日志 10.07 (及项目工程目录解释)
评论
公告
这里主要记录 AI / HPC / LLM 论文阅读、模型部署实践和一些项目开发日志。