Architecture

layers_small.png

Application: Your program can use mfptp library to get list of connected devices that support PTP. You can also get notifications when PTP device is connected to your device. After PTP device is connected and your program gets reference to it, you can send commands to the device.

Core: Core namespace contains data model and interfaces that are used in Picture Transfer Protocol.

Devices: Every camera vendor can have own vendor extension to the protocol. Devices namespace contains vendor specific implementations of IPTPDevice.

Link: Picture transfer protocol can be used over many link layers such as serial connection or USB. For now the library contains only USB link layer implementation. .Net Micro Framework doesn’t contain USB host libraries so every board manufacturer must implement own libraries for controlling USB host port. The link layer hides board manufacturer USB host implementation from the rest of the library.

Quality

Big part of the library doesn’t need to reference .NET Micro Framework. That part is build with regular .Net Framework 3.5 and the resulting assembly is called PTP.TestLibrary. Unit tests are written with MbUnit unit test framework and they test the PTP.TestLibrary. The goal is to get at least 95% code coverage for the unit tests.

Current (7.2.2011) unit test code coverage is 64%
  • PTP.Core: 75%
  • PTP.Devices: 33%
  • PTP.Usb: 68%
Read more about unit testing

Last edited Feb 7, 2011 at 9:05 PM by UbiElectronic, version 5

Comments

No comments yet.