首页 > 代码库 > 暑假总结20160907

暑假总结20160907

      暑假的前期觉得毕业前玩了一段时间,所以该认真学习一段时间。刚开始每天做一些学姐布置的小任务,然后开始写那个模拟点钞机的软件,还看了一篇论文,跟着老板学习机器学习的基础知识。还是学习了一段时间,但是感觉力度不够,然后到八月22就回家了。今天才到学校,以前的知识需要巩固,然后还有很多新的东西需要学习,明天报道后需要加油学习啊!

      暑假的学习记录:

坚持一个月还是有效果的吧!7.14 熟悉软件走抄部分代码,主要是消息传递的事件处理,完成界面右键菜单小功能。7.15 熟悉run_cash_dialog部分的代码及相关的类是实现;完成Dialog的窗口;学习了数字图像处理的频域滤波部分。7.18 学习ini文件的读写操作,基本实现界面读写ini文件。7.19 完成任务栏显示效果,学习图像处理噪声模型7.20 完成记住密码功能,熟悉代码。7.21 学习图像复原的基础知识。7.22 完成记住上次选择目录操作,学习rgb相关基础知识。7.25 复习网络相关知识,完成ping功能,学习PCA,SVD。7.26 学习奇异值分解SVD.7.27 熟悉软件代码,学习最小二乘学习法。7.28 熟悉TcpSocket,学习机器学习的回归部分。7.29 基本完成监听和tcp连接功能。8.01 完成部分命令发送功能。8.02 完成部分初始化界面的指令发送。8.03 完成到界面升级的指令连接,学习机器学习分类的基础知识。8.04 学习机器学习分类...效率很低的一天。8.05 完成界面升级和调试指令8.08 杭州8.09 杭州8.10 上海8.11 熟悉代码,完善升级界面的指令8.12 完成部分红外校准界面的指令,阅读GSR论文。8.15 阅读GSR文章...8.16 基本完成红外部分的指令,学习GSR文章里面的方法。-------------------------------------------------生产管理软件----------------------------------------------------------------bug:任务栏竖放,注册表路径是否存在(如果找不到路径,就设为默认根目录),老化时间默认值bug:PageUpgrade中几秒钟链接失败;点开始-->发命令失败8.03bug:服务端主动关闭时,线程关闭失败;客户端主动关闭时,点两次关闭;命令有顺序,客户端未全部关闭,打开服务端接受失败在 安装目录C:\Program Files (x86)\ZMVision\ccmdbg下FTPCONFIG.ini中找到C:\Users\ranji\AppData\Local\ZMVision\ccmdbg\config路径mode.ini配置文件1.page中的GotoStep(),调用MianDialog的GotoStep()2.WorkingParameters::GetInstance();DeviceProxy::GetInstance();DebugLogger::GetInstance(); LocalFileSaver::GetInstance()3.DeviceProxy::GetInstance()->AddObserver() SUBJECT_CONNECTED,SUBJECT_DISCONNECTED  monitor_->AddObserver()         SUBJECT_CASH_INFO,    SUBJECT_BEGIN_BUNDLE,    SUBJECT_ADC_READY,    SUBJECT_IMAGE_READY,        SUBJECT_END_BUNDLE,    观察者  Observer;  两个具体的观察者      HWNDObserver,MethodObserver被观察者Observable;两个具体的被观察者:  DeviceProxy, RunCashMonitor  //两种方式,分别是控制通道和数据通道观察者:NotifyUpdate()  当设备连接状态变化时,外部接收数据时,通知观察者,观察者有自己的OnUpdate()方式AddObserver()两种方式添加观察者(一种观察窗口连接状态,一种通过“方法”观察外界数据)4.控制通道,软件作为客户端,请求链接,然后发指令PageConnect::OnEnter()开启线程--->PageConnect::TryConnect--->DeviceProxy::Connect(deviceIP, devicePort)--->TcpSocket::Connect(address, port)请求链接                        数据通道,软件作为服务端,监听走抄的情况,接收各种数据创建  RunCashMonitor单例时 instance_->Start();--->StartRunCashDetect()(1)--->OpenDataConnection(发送一个指令,告诉点钞机进入数据发送模式)--->DataConnection::Open(LPCTSTR address, int port)--->listenSocket_.Listen(address, port)监听链接---->connection->WaitConnect()----> listenSocket_.Accept          (2)--->线程Run()里面ReadPacke--->然后利用读取的参数去设置其他参数,通知其他观察者( OnCISData(&packet);  OnADCData(&packet);   OnBeginBundle();OnEndBundle();...)                                                                --->  NotifyUpdate(SUBJECT_CASH_INFO)--->  界面观察者&PageMagneticDetect::OnCashInfo--->接收数据并作界面变换                                                                                                                                                                                                                                                                                                                                                                                                              5.页面跳转关系前面在Application.cpp中初始化:SplashScreen  ----->LoginDialog  ---->MainDialog  (显示IDD_PAGE_CONNECT,接连上网络后) 通过navigationView_选择相应的界面 GotoStep(selected)            ----> RunCashDialog dlg;                STEP_UPGRADE                IDD_PAGE_UPGRADE                STEP_IR_CALIBRATION         IDD_PAGE_IR_CALIBRATION                 STEP_MH_DETECT              IDD_PAGE_MAGNETIC_DETECT                STEP_CIS_CALIBRATION        IDD_PAGE_CIS_CALIBRATION                STEP_FINISH                 IDD_PAGE_FINISH                STEP_RUN_CASH_TEST          IDD_PAGE_RUN_CASH_TEST6.走抄模式走钞的流程是:3走钞开始信号(初始化保存数据路径)--->0主控数据(ADC)(钞票索引就是钞票的id,)--->2图像数据(CIS)---->3钞票信息(info)---->4提钞信号么(保存前面设置的这些数据)钞票信息解析:20160803_143828_001_Err000_LastErr0x0_Den1_Dir0_Ver99_SNX02P133112_adc              走抄的日期_开始走抄的时间_当前数据的序号_钞票的错误代码_当前没有此数据(填0)_面额(150100)_方向_版本号_冠字号(没有填0)_数据名称通道选择:struct ADCChannel {  TCHAR name[64];    int minValue, maxValue;  int id;};struct ADCChannel {    short count;    //波形的长度    short *codes;   //黄线,码盘值    short *values;   //绿线,电压值};  7.上位机接收数据的格式文档-------------------------------------------生产管理软件----------------------------------------------------------------------------------

      希望以后自己能提高自己的学习效率,提升自己的编程能力!

暑假总结20160907