Universal Apps
In my previous blog Windows 10 (including IoT) USB HID device identification was covered in detail. This included an app that takes the relevant IDs for an HID device and checks whether it is present on the system. Two of the IDs could be looked up via a menu as they come an HID Usage table. The menu data was loaded from a JSON (text) file and translated using Linq to a list that is the Xaml data source binding for the menu. This blog demonstrates the mechanism for loading JSON data from a text file into an Xaml ComboBox.
Read the rest of entry »
Human Interface Devices (HID) are supported in the “headful/headed” (viz. headless) version of Windows 10 IoT. Anything that takes users input for an app is an HID device, and can include devices such as screens that provide feedback to the user. Traditional HID devices are the mouse and keyboard, whereas gaming devices such as joystick, XBox controller and steering wheel are also HID devices. A barcode scanner or credit scanner are also be HID devices, A system with just a few push buttons to control it has those pushbuttons as a trivial HID. Technically the HID protocol was developed as a protocol for the USB-HID class such that devices that conform to that class do not need a specific driver.
This blog discusses a UWP (Universal) app that enumerates the drivers on a Windows 10 system (including IoT). Its like the Windows Device Manager app. Full source code is available.
Whilst the Raspberry Pi 2 has extensibility through GPIO, I2C, SPI and Single wire, the main interface for adding off-the-shelf peripherals is via USB. Unlike the desktop, there is though only a limited set of USB peripherals that can be used on the RPI2 running Windows 10 IoT in the first release. This series of articles looks at what is available and what the overarching issues are. The first Article is “Connected Devices”
I've blogged about an issue that has arisen with respect to the fact that the phone has not RTM yet and is stuck on build 10160 whereas the desktop Win 10 has RTMed and is build 10240; as is the Windows SDK. This problem is now solved. Visual Studio 2015 has RTMed also. Win 10 RTM with VS 2015 RTM can't deploy to the current build of the phone (10160).
The following is an identification of the changed project files for an RC version of a Universal App with the RTM version of the project.
The following is the comparison of the project files contents (.csproj) for a RC version of a Universal App with the RTM version of the project
Windows 10 RTM and Visual Studio 2015 RTM are up and running including UWP(Universal) apps. I’m happy now. There is though a problem with UWP(Universal) app RC projects. Also, Windows Remote Arduino is simple to update.
A truly Universal App will run on all Windows 10 targets, with only a targeted CPU change and rebuild required. This second part of this blog series sets up a UAP/UWP project to make use of the file base SQLite database engine. This part creates the project, gathers the required bits and sets up the user interface. Parts three covers the functional code.
A Windows 8.1 Universal app can be built upon the Remote-Wiring library such that the app can interact with an Arduino device running Firmata. An app similar to the Windows Remote Arduino “Blinky” example, but with feature additions, is developed. It performs GPIO (output AND input) as well as some analog IO. The app runs on a Win 8.1 desktop, phone and RT Surface. The UI has some extra XAML “bells and whistles”.