Micro Framework 3.0的SDK去年十月份就已经发布了,本打算在该SDK发布之后就把我以前开发的,可支持GPIO、I2C、SPI测试的模拟器同步升级为3.0版,以便早点支持VS2008(Micro Framework v2.x仅支持VS2005,Micro Framework v3.0仅支持VS2008)。不过前段时间太忙了,现在趁着年假,花了一两天的工夫,终于达成了心愿。

   新的模拟器相对于以前的模拟器有了两部分改变,下面详细说一下:

   一、由于Micro Framework v3.0 SDK已经含有触摸屏组件,所以新模拟器中去掉了以前的SPI通道的鼠标模块,添加了最新的触摸屏支持。

   this.lcdDisplay.TouchPort = (TouchGpioPort)_emulator.GpioPorts[TouchGpioPort.DefaultTouchPin];

   protected override void OnMouseDown(MouseEventArgs e)

   {

   base.OnMouseDown(e);

   flags = TouchSampleValidFlag | TouchSampleDownFlag;

   _touchPort.WriteTouchData(flags, e.X, e.Y);

   }

   protected override void OnMouseUp(MouseEventArgs e)

   {

   base.OnMouseUp(e);

   flags = TouchSampleValidFlag | TouchSamplePreviousDownFlag;

   _touchPort.WriteTouchData(flags, e.X, e.Y);

   }

   protected override void OnMouseMove(MouseEventArgs e)

   {

   base.OnMouseMove(e);

   if ((flags & (TouchSampleValidFlag | TouchSampleDownFlag)) == (TouchSampleValidFlag | TouchSampleDownFlag))

   {

   flags = TouchSampleValidFlag | TouchSamplePreviousDownFlag | TouchSampleDownFlag;

   if ((e.X >= 0) && (e.Y >= 0))

   {

   _touchPort.WriteTouchData(flags, e.X, e.Y);

   }

   }

   }

二、3.0 SDK已经支持文件系统,所以新模拟器添加了这部分功能支持,不过新功能有些讨巧,不像虚拟机能支持真正的磁盘镜像文件,而是引用了windows自身文件操作API,把windows的文件操作封装到模拟器中。

   List bsdList = new List();

   removableBSDs = new Dictionary();

   foreach (BlockStorageDevice bsd in _emulator.BlockStorageDevices)

   {

   if (bsd is EmulatorRemovableBlockStorageDevice)

   {

   bsdList.Add((EmulatorRemovableBlockStorageDevice)bsd);

   }

   }

   if (bsdList.Count > 0)

   {

   insertEjectMenuItem.Visible = true;

   foreach (EmulatorRemovableBlockStorageDevice removableBSD in bsdList)

   {

   ToolStripItem item = new ToolStripMenuItem(GetItemText(removableBSD), null, InsertEjectOnClick);

   item.Name = removableBSD.Namespace;

   insertEjectMenuItem.DropDownItems.Add(item);

   removableBSDs.Add(removableBSD.Namespace, removableBSD);

   }

   }
 

针对Micro Framework 3.0模拟器进行改造方法(浅谈)_Micro Framework 3.0



   模拟器V3.0

针对Micro Framework 3.0模拟器进行改造方法(浅谈)_十全十美_02


   新模拟器改进了注册机制,下载后解压到任一目录,直接运行YFMFEmulator.exe文件即可完成注册。