Faculty Connection is an online set of real-world resources and shared peer knowledge, the goal of the Faculty Connection site is to put relevant and applicable tools and information at the fingertips of technology educators.
The UK Academic Team is responsible for offering IT students and faculty members free access to software, for enhancing knowledge and skills by providing curriculum materials and other learning opportunities, for helping students achieve their dreams by organizing an international competition, and finally for assisting last year students through career resources and job opportunities at our customers and partners.
With this blog we want to inform you on our latest initiatives.
Enjoy reading and stay tuned!
A large number of the UK’s Universities and colleges have been using XNA since 2004 within gaming course curricula on Windows, XBox and Windows Phone. We have a huge set of Free curricula resources for XNA game development at http://www.microsoft.com/faculty
XNA over the last 7 years has provide a number of students and indie game developers with an impressive content pipeline, game assets, load functionality, animation, math, sound and user input tracking via gamepad, mouse, keyboard and touch with game logic organized in a straightforward game loop architecture, more recently we have also added curricula for XNA and Kinect.
Within education XNA has been a huge driver for a number of students and developers who wanted to learn how to create games. XNA along with Visual Studio made it as easy as File –> New –> XNA Game Studio Project and you were off developing.
Since Windows 8 is built on the strong foundation of Windows 7, any app built for Windows will run in the Windows 8 desktop environment. This includes apps based on XNA, Win32, .NET, WPF, Silverlight, etc.
Windows 8 also introduces a new type of app called a Metro Style App for developers that wish to make their app available in the Windows 8 Store, for free or for sale. Using Visual Studio 2012, you have a language choice of C++, XAML with C#, VB or C++, or HTML5/JS to create a Metro Style App.
Using the XNA Framework is not a choice for building a Metro Style App. Official Microsoft guidance on game development is documented here.
Windows 8 allows you too build highly immersive games using HTML5/JS, XAML/C#, XAML/VB or C++ and DirectX.
However a number of you have already stressed too me, that you and your students have been developing with XNA and have an existing code base, or would like to import existing XNA games too Windows 8 your only option it would seem is running as a desktop app.
This is where MonoGame comes in…
MonoGame is an Open Source implementation of the Microsoft XNA 4 Framework. The goal is to allow XNA developers on Windows & Windows Phone to port their games to the iOS, Android, Mac OS X, Linux with both PlayStation Suite and Windows 8 support currently under development.
NOTE : This project is not linked with Microsoft or any of it subsidiaries. It is a non-profit, open source project. MonoGame is licensed under the Microsoft Public License (Ms-PL)
NOTE : This project is not linked with Microsoft or any of it subsidiaries. It is a non-profit, open source project. MonoGame is licensed under the Microsoft Public License (Ms-PL)
MonoGame provides a cross platform XNA Framework implementation for XNA developers who want to take their code to non-Microsoft platforms as well as the ability, to target Windows 8.
MonoGame for Windows 8 you can take your XNA code and with a recompile and some additional features too simply create a Metro Style App for example Armed within the Windows Store uses MonoGame. I have too stress MonoGame is still under development and so any use of it should come with a note of advice to stay on top of that effort.
In order to provide a complete implementation of XNA on Windows 8, MonoGame leverages SharpDX , an open-source project delivering the full DirectX API for managed code (.NET) and Windows 8 (WinRT). SharpDX is an open-source project, free of charge available under the following MIT License.
DVD + On-line
Windows Phone Programming in C# by Prof Rob Miles;
WP7.5 update + extra modules This material contains a ten chapter textbook with labs, demos and step by step instructions on how to create Windows Phone 7 applications.
1st & 2nd Year Programming courses
Introduction to Game Programming with XNA and Windows Phone 7 by Prof Kelvin Sung (UW)
WP7.5 update + new material
This material is a 16-hour course designed to teach students how to build a 2D interactive video game.
3rd & 4th Year (require background in data structure)
Introduction to Mobile Application Development Using Silverlight by Michael Iantosca.
Students learn the knowledge, skills, and abilities necessary to develop a mobile application on the Windows Phone 7.5 platform using Microsoft Silverlight. 2nd & 3rd Year: background in programming needed (preferably C#, but C, C++, Java helps
Designing for Windows Phone by Microsoft
This material contains the following 7 lessons on how to design for the Windows Phone: METRO Design, Building WP7 Assets, Layout Controls in Expression Blend, Creating Animation and Basic Interactivity, Working with the Visual State Manager, Adding Data to your Application and Creating the Flickr4Fun app. [ HCI and Software Dev-t classes 1nd - 3rd Year: ]
Azure Mobile Curriculum by Rob Miles
Find out how Cloud computing works and what it brings to the Windows Phone user. The content will show you how to use the cloud for data storage and databases, farm out heavyweight tasks for cloud data processing and use the cloud to perform identity validation. [addition to above courses]
If you would like to receive a FREE copy of the CD please email email@example.com with your University contact details and full UK postal address.
PLEASE NOTE THE DVD WILL ONLY BE POSTED TO UK INSTITUTION ADDRESS
Don't forget students can get great resources and developer tools for free from http://www.dreamspark.com and check up on all the latest offers and prizes via the Microsoft UK Student Blog and Facebook Group
Typically, you develop an application for Windows Phone 7 by using Microsoft Silverlight and one of the managed programming languages—usually C# or XNA.
A Windows Store app using C++, C#, or Visual Basic, using XAML, is the preferred model for ports from Windows Phone 7. If you are familiar with Silverlight, you can port to a Windows Store app using XAML by using familiar languages like C# or Visual Basic, and a similar set of UI elements and APIs.
For more detail about porting a Windows Phone 7 application to XAML, read Migrating a Windows Phone 7 app to XAML.
However if your a game developer then you can move your existing Windows Phone XNA using Monogame.
Porting to Windows Store app using MonoGame
For some background you can read these posts:
During the ThreeThing Game event, Dean Ellis @InfSpaceStudios talked through the porting of a one of the teams Windows Phone game, Shear Carnage to Windows 8, the initial port took 7mins 47seconds, which is pretty impressive stuff!
Some of the key features, the team now need to work on now to get the app store ready is..
Overall this is pretty stunning for existing Windows Phone developers taking existing or new phone apps to both the Windows Phone Marketplace and Windows 8 Store.
Microsoft provides grants for educators wanting to use Windows Azure platform in their curricula. These grants are facilitated through Windows Azure academic passes, which provide the following resources for a period of 5 months from the date of redemption:
Grant applications are designated for faculty who are teaching Windows Azure in their curricula as well as faculty preparing to integrate Windows Azure into their curricula. Educator Grant awards are subject to demand and availability.
To apply for an Educator Grant please contact AzureU@Microsoft.com and provide us with:
Windows Azure Educator Grants FAQs
Q: What are the Windows Azure Educator grants?
A: The Windows Azure Education Grants are focused on enabling educators to easily leverage the benefits of the Windows Azure platform for curriculum development and teaching. Through these grants, educators can obtain easy access, with no Credit Card required, to the Windows Azure platform for an extended period of time at no cost for themselves and their students. Access to the Windows Azure platform is made possible through 5 month Windows Azure platform academic passes. Educator Grants may be available up to the number of students within the course, dependent on the volume of requests, pass availability, and the needs of the course.
Q: What resources are available through the Windows Azure platform academic pass?
A: Each 5 month Windows Azure platform academic pass provides the following resources:
Windows Azure 2 small compute instances 3GB of storage 250,000 storage transactions SQL Azure Two 1GB Web Edition database
AppFabric 100,000 Access Control transactions 2 Service Bus connections Data Transfers (per region) 3 GB in 3 GB out 1 Hosted Service
Q: What is the Gifting Letter and who needs to sign this?
A: If you are granted a Windows Azure Educator Grant, we require that you sign a “Gifting Letter” in order to ensure compliance with all applicable government gift and ethics rules, which restrict/prohibit government employees. Your ethics officer, (or designated executive/office responsible for your organization’s gifts/ethics policy), or responsible attorney should review and sign this letter.
Q: How do the Windows Azure platform academic passes get redeemed?
A: Each Windows Azure platform academic pass is redeemable through http://www.windowsazure.com/en-us/community/education/program/educators/ If you receive an Educator Grant we will send you a PowerPoint deck which will guide you and your students through the easy process of redeeming these passes.
Q: Why is Microsoft offering this?
A: A large percentage of the academic community has developed curricula materials leveraging the Windows Azure platform for teaching Cloud-centric courses. We are experiencing an increase in demand from the academic community for access to the Windows Azure platform. Windows Azure Educator Grants allows us to enable even more members of the academic community to leverage the Windows Azure platform within their courses.
Q: Are Windows Azure Educator Grants available globally?
A: Windows Azure Educator Grants are available worldwide.
Q: Is there an available education discount program for the Windows Azure platform?
A: At this time, we do not offer education discount pricing for the Windows Azure platform.
Q: Who can apply for a Windows Azure platform Educator Grant?
A: Educators at accredited academic institutions can apply for the Windows Azure Educator Grants.
Q: How do I apply for a Windows Azure platform Educator Grant?
A: Applying for a Windows Azure platform academic pass is easy. Simply go to http://www.windowsazure.com/en-us/community/education/program/educators/
We will ask you for the following information:
· Your name · Your email contact · Country · Institution/University name · Course name · Course description · Number of students in your course · Number of Windows Azure platform academic passes needed · Date when Windows Azure platform academic passes will be used
Q: What factors will Microsoft consider when determining who will receive a Windows Azure Educator Grant?
A: Windows Azure Educator Grants will be awarded based on factors such as purpose of use, number of passes required, and timing requirements for usage of the passes.
Q: I am a student. Can I apply for a pass?
A: Windows Azure Educator Grants are only valid for valid faculty. If your faculty has been awarded a Windows Azure Educator Grant, you will be able to get a pass through him/her for you coursework. If you are interested in learning more about the Windows Azure platform, we encourage you to share these Educator Grants with your faculty or leverage the FREE 90-day trial offer at http://www.windowsazure.com/en-us/pricing/free-trial/
Q: Does my Windows Azure platform academic pass expire?
A: Yes. The Windows Azure platform academic pass will expire 150 days after it has been activated. You will be receiving email notifications when the expiration date is close, and you will have the opportunity to migrate your data to a paid Windows Azure platform subscription, if you want to continue on using the Windows Azure platform.
Q: What happens to my data application when my pass expires?
A: Shortly prior to the expiration date you will have the opportunity to migrate your data to a paid Windows Azure platform subscription. All of your data will be erased when your pass expires. If you choose to not migrate your Windows Azure account to a paid account, please be sure to back up your data.
Q: Do I have to use a credit card to redeem my pass?
A: No. You do not need to use a credit card to redeem your pass activate your Windows Azure account.
Ideal for those with fundamental programming skills, this tutorial provides practical, learn-by-doing exercises for mastering the entire Windows Azure platform.
For more details see http://www.windowsazure.com/en-us/community/education/program/overview/
Microsoft Research Connections announced the release of the book, TouchDevelop—Programming on the Go, available in print form, as an e-book, and on the web. TouchDevelop has reached new heights as the only programming environment on mobile touch devices that creates apps directly for the Windows Marketplace. This book is a comprehensive guide on how to use TouchDevelop to write fun, productive apps that make full use of a device's audio, camera, sensors, and so on.
Touchdevelop — Programming on the Go by Nigel Horspool (University of Victoria), Judith Bishop, Arjmand Samuel, Nikolai Tillmann, Michał Moskal, Jonathan de Halleux, Manuel Fähndrich (Microsoft Research)
Download the book for FREE.
Download as single file
Alternative download option: one file per chapter
Who this book is for
This book has much to offer to both students and teachers: For teachers, it walks in detail through all of the screens of the TouchDevelop app, and it points out similarities and differences of the TouchDevelop language compared to other programming languages that the teacher might already be familiar with. For students and enthusiasts, the book can serve as a handy reference next to the phone. The book systematically addresses all programming language constructs, starting from the very basic constructs such as variables and loops. The book also explores many of the phone sensors and data sources which make creating apps for mobile devices so rewarding.
How to read this book
If you are new to programming with TouchDevelop, or if you have not yet worked on touchscreen devices, we suggest that you read the book starting from chapter 1. If you are already familiar with the basic paradigm of the TouchDevelop programming environment, then feel free to jump ahead to the later chapters that address particular topic areas.
Two apps, one book
This book is written from the perspective of a Windows Phone user – all screenshots and navigation instructions refer to the Windows Phone app. The TouchDevelop Web App runs in many modern browsers on many different devices such as iPhone, iPad, Android phones and tablets, Macs, PC. The Web App uses the same programming language and has a very similar navigation structure as the TouchDevelop Windows Phone app. As a result, you can reuse the lessons of this book when you create mobile apps in your web browser.
I wanted to put this quick blog together to answer the most common questions I get from students/developers wishing to build apps.
1. How can I get a Store Account for Windows?
All Students get FREE Windows 8 Store accounts via DreamSpark follow this presentation on the steps to how to validate your FREE Windows 8 Store account
2. What are the resources available if I want to start developing a Windows 8 or Windows Phone application
Windows 8 Developers – http://dev.windows.com
Windows 8 Designers – http://design.windows.com
Windows Phone Developers – http://dev.windowsphone.com
Windows Phone Designers – http://design.windowsphone.com
3. Not a designer, where can I get a logo?
Images from www.thenounproject.com Remember to check licensing first!
4. I want nice fonts, but aren’t they expensive?
www.Fontsquirrel.com is an excellent resource
5. Where can I get colours to match my app?
www.kuler.adobe.com and www.colorlovers.com are excellent, free, searchable resources
6. Where can I get background/pattern for my app?
Great resource with some nice tutorials www.dinpattern.com
In line with the todays launch of Windows 8 Consumer Preview, I have collected a set of useful resources and links
Windows 8 Consumer Preview Download
Windows 8 Consumer Preview download (web installer or ISO’s), videos, and FAQ’s.
Developer downloads for Metro style apps
Visual Studio 11 Express and the Windows 8 SDK + all the extra tools and SDK’s for Metro style app development.
Design assets for Metro style apps
100+ Photoshop files with common controls, shell components, tiles, icons, animation clips, color wheel references, and more.
Metro style app developer content
Windows Dev Center home
Links to Metro style app, Desktop app, Hardware, and IE development.
Metro style app development home
Links to key resources for designing, developing, and selling Metro style apps.
Product guide for developers
Windows 8 Consumer Preview Product Guide for Developers.
Comprehensive docs, articles, quickstarts, roadmaps, tutorials, checklists, developer agreements, and whitepapers covering all aspects of app design, development, and selling:
· Getting started · Planning apps · Designing UX for apps · Developing apps · Packaging apps · Debugging and testing apps · Selling apps · API reference · Concepts and architecture · Language reference · End-to-end apps
Design principles, UX design patterns, detailed UX guidelines, downloadable design assets, assessing usability.
Selling apps in the Windows Store
Windows Store markets, developer agreements, and checklists to prepare.
Visual Studio Express and the Windows 8 SDK + extra tools and SDK’s for Metro style app development.
Metro style app samples
Over 200 official samples from Microsoft are available in multiple programming languages. You can copy code inline, upload new code, rate, and leave comments.
Developer forums for Metro style apps covering designing, developing, and selling apps.
Blogs for developers
Building Windows 8 blog (B8)
An inside look at how, what, and why different features of Windows 8 are being built. This blog is written by Windows President Steven Sinofsky together with members of the Windows engineering team.
Windows Store blog for developers
All about doing business in the Windows Store. Members of the engineering team who’ve built the Windows Store write posts along with Antoine Leblond, Vice President of Windows Web Services.
Windows 8 app developer blog (D8)
Explores best practices for coding and designing Metro style apps. It is written by the team of developers who are building Windows 8.
Windows Internet Explorer Engineering Team Blog.
Inside Windows Live blog
The engineering being Hotmail, Messenger, SkyDrive, and Windows Live.
Visual Studio Blog
The official source of product insight from the Visual Studio Engineering Team.
The Windows Blog
Consumer and general interest topics.
Social channels for developers
Twitter (Building Windows 8)
Twitter (Windows Dev Center)
Consumer Preview Newsletter
Launching with Consumer Preview
Tips, offers, and news about Windows 8 including resources for developers and businesses.
Desktop app developer/partner content
Desktop app certification requirements
Certification requirements for Windows 8 desktop apps.
Desktop App Certification Kit
The Windows 8 SDK includes the Windows App Certification Kit to test desktop apps and get them ready for certification.
Tips and fixes for common issues with desktop apps for the Windows 8 Consumer Preview and software for Windows Server 8 Beta.
Compatibility of desktop apps and devices with Windows 8. Partners can add products and update compatibility status using this template.
Hardware developer/partner content
Hardware Certification Requirements
Windows 8 Hardware Certification Requirements and Policies
Hardware tools and certification kit
Windows Consumer Preview Kits and Tools for hardware development
Driver development documentation
Developing, testing, and deploying drivers
Hardware and driver community resources
Forums, blogs, and newsletters for the hardware and driver developer community.
Ok I have to confess, I am addicted! I have been playing with a .NET Gadgeteer FEZ Spider Kit from GHI Electronics. The .NET Gadgeteer kits enable you to quickly prototype and test a wide variety of functionality for embedded devices. As you are all aware from some of my recent presentations I am a huge fan of the Microsoft .NET Gadgeteer.
A number of you have asked me about about the .NET Gadgeteer kits and how easy is it for Teachers, Lectures and academics to grasp and teach this technology to school, college and University students? Well firstly you need to know some C# if you don't then watch the following tutorials. So for all of you haven't heard about Gadgeteer or are simply wondering what you can do with Gadgeteer the following guide will hopefully be of assistance.
The following guide is to:
1. Introduces you to the basic hardware components of the GHI FEZ Spider Kit
2. Give you some examples of how to create your first .NET Gadgeteer application.
.NET Gadgeteer development requires that you have Microsoft Visual Studio installed on your computer. You can use either of the following Visual Studio packages:
Both of these are free to download for all UK Students via http://www.dreamSpark.com there is an extensive .NET Gadgeteer support and learning materials available from .NET Gadgeteer http://www.netmf.com/gadgeteer/get-started.aspx and GHI http://www.tinyclr.com/support
So lets get started
The FEZ Spider Kit consists of components, which are called modules, and cables that you can use to create various types of functionality in your device. To create your first .NET Gadgeteer device, you will need the following parts:
The FEZ Spider Mainboard includes a processor and memory, as well as 14 sockets. The sockets are outlined by a white box that surrounds the socket number (1 through 14) and groups the socket number with a set of letters that indicate which modules can be connected to the socket.
.NET Gadgeteer-compatible hardware modules connected to the FEZ Spider mainboard by these connectors allow you to extend the FEZ Spider mainboard with communication, user interaction, sensing, and actuation capabilities.
The FEZ Spider mainboard includes a Reset button to reboot the system. There is also a small LED (labelled D1) which lights up whenever the FEZ Spider has power.
The USB Client Dual Power (USBClientDP) module (coloured red) enables you to connect the FEZ Spider Mainboard to your computer for programming and debugging. The dual-powered module is itself powered either by a USB port on a computer or by a 7 -30 volt DC power source. A USBClientDP module supplies power to the FEZ Spider and to any other modules that are connected to it. You can plug in both power sources of the USBClientDP module to program and to power at the same time.
Never connect more than one red module to the FEZ Spider Mainboard at the same time. This will damage the hardware.
The USBClientDP module has a black socket, identical to the sockets on the FEZ Spider Mainboard. Next to the connector, there is a letter D. This means that this particular module can only be connected to a socket labelled D on the mainboard.
In a similar way, all .NET Gadgeteer-compatible modules have letters next to their sockets that identify which mainboard sockets they can be connected to. Many modules are labelled with multiple letters. This means that they can be connected to any of the labelled sockets.
Red USB Device Module
Your hardware kit includes many module connector cables of different lengths. Apart from the length, these cables are all identical and can be used interchangeably to connect modules to the FEZ Spider Mainboard. Note that all sockets have a notch and the cable headers have a protrusion that fits into this notch, so the cables can only be inserted one way.
A .NET Gadgeteer-compatible Module Connector Cable
Connect the red USB Device module to socket number 1 on the FEZ Spider Mainboard, which is the only socket that has the letter D. Then, connect the small end of the mini USB cable provided with the kit to the USBClientDP module. However, do not connect the other end to your computer yet.
Connecting the FEZ Spider to the USB Client module
When plugging or unplugging any module into a FEZ Spider socket, always make sure that power is not connected, by unplugging either end of the mini USB cable. The mini USB cable supplies power to the FEZ Spider; if you plug or unplug a module on the FEZ Spider while it is powered, the hardware could be damaged.
After ensuring that the FEZ Spider mainboard is not powered, continue by getting a Button module from your hardware kit.
A Button with Multicolour LED
Turn the Button module over. Next to the connector are the letters X Y. This means that a Button module can be connected to one of the sockets labelled X or Y on a mainboard.
The Reverse Side of a Button Module
Get a Camera module from your hardware kit. Turn the Camera module over. This module has a single connector labelled H. Only socket 3 on the FEZ Spider mainboard supports modules labelled with the letter H. Plug one end of a connector cable to the socket on the Camera module and the other end to the FEZ Spider on socket number 3, also labelled HI.
Camera with Socket labelled H
Connect the Button and the Camera to the mainboard using module connector cables as described in the previous sections.
The .NET Gadgeteer designer can identify the sockets on modules and on the mainboard that are compatible. This method is described in the following section titled Using the .NET Gadgeteer Designer UI. In this example we will connect the remaining Display_T35 module manually.
The Display_T35 module has four connectors. Connect sockets 14, 13, and 12 to the Display_T35 module sockets labelled R, G, and B. As you might expect, these letters signify the colour distribution of the Display_T35 module. Connect socket 10 on the mainboard to socket T on the Display_T35 module. Socket T on the Display_T35 module facilitates the touch screen features of this module.
Make the actual connections between all modules and the mainboard before you connect the USBClientDP to the USB port on your computer.
The following illustration shows the mainboard connected to a Display_T35 module, a Button module, a Camera module, and the USBClientDP module. Now, with all the other modules connected, you can connect the USBClientDP module to the USB port on your computer.
.NET Gadgeteer Modules with Connectors
Start Microsoft Visual Studio 2010 or Microsoft Visual C# 2010 Express. The following sequence will get your first .NET Gadgeteer Application up and running in less than half an hour.
Microsoft Visual Studio
Microsoft Visual Studio, New .NET Gadgeteer Application Project
The .NET Gadgeteer Designer opens with the FEZ Spider Mainboard displayed on the canvas. If the Toolbox is not visible, click the View menu and select Toolbox. The Toolbox with a list of installed modules will open. You can resize or hide the Toolbox to make more work space on the canvas.
Microsoft Visual Studio, .NET Gadgeteer Application and Toolbox
If you want to use a different mainboard, open the toolbox, and drag the mainboard icon of your choice onto the designer surface.
When you drag a new mainboard to the designer surface, you'll be prompted, as shown in the following illustration, to confirm replacement of the mainboard. All existing connections will be removed.
To continue building the example device, open the Toolbox and drag the modules for this example on to the work canvas. You will need the following modules:
The Designer canvas with modules is shown in the following illustration.
Microsoft Visual Studio, .NET Gadgeteer Application and Modules
As indicated by the instructions in the text box on the canvas, the .NET Gadgeteer Designer will graphically connect all the modules for you. Right click on the design surface and select Connect all modules. You can move the modules around on the design surface to make the connections easier to read. You can also delete any connection by right clicking on the connection and selecting Delete.
Microsoft Visual Studio, Designer Connected Modules
To manually set a connection, click on a socket in the diagram and hold down the left mouse button. Then you can drag a line that represents the connection from a module socket to a mainboard socket or in the opposite direction from the mainboard to a module. The sockets that the module can use will light up in green, as shown in the following illustration.
Writing Code for Devices that use .NET Gadgeteer Modules
To specify what the modules should do in this application, now edit the Program.cs file. The following illustration shows the Program.cs file open in Visual Studio.
Microsoft Visual Studio, New Project, default Program.cs Code
When using the designer, the modules are automatically instantiated by auto-generated code. This code can be found in the file Program.Generated.cs, but during normal use it is not necessary to view this file, and this file should not be edited because the Designer will automatically regenerate it and undo any direct changes made to it. The Program.Generated.cs file is shown in the following snippet.Program.Generated.cs file.
Microsoft Visual Studio, Progam.Generated.cs Code
Next, you generate code that will enable the program to react to a button press. To do this, assign an event handler for the Button.ButtonPressedevent. The IntelliSense feature of Visual Studio makes this process very easy.
In the Program.cs file, after the comment that reads:
Initialize event handlers here.
Type button.(button followed by a period). IntelliSense displays a list of properties, methods and events as shown in the following illustration.
IntelliSense Feature Showing Members of the Button class
Using the arrow keys, select ButtonPressed. Then type += (plus sign followed by an equals sign). IntelliSense offers option to automatically insert the rest of the declaration:
IntelliSense Offers to Create the Handler Declaration
Press TAB to confirm. IntelliSense offers to automatically generate a delegate method to handle the event:
IntelliSense Offers to Generate the Event Handler Method
Press TAB to confirm. The following code is generated:
Event Handler for the ButtonPressed Event
This event handler will be called each time the button is pressed. Delete the following line from the method:
throw new NotImplementedException();
And replace it with:
Now when the Button is pressed, the Camera module will take a picture.
Take Picture in ButtonPressed Event
The Camera module raises an event when the Cameracaptures a picture. You can use the event to display the picture in the Display_T35 module.
The PictureCaptured event is an example of an asynchronous event. Calling Camera.TakePicturein the Button.ButtonPressed delegate starts the process, but the result of the action is not returned by the ButtonPressed delegate. Instead, the GT.Picture object returns as a parameter of the asynchronous PictureCaptured event.
When the PictureCaptured event occurs, you can get the GT.Picture object and display it by using the SimpleGraphics interface of the Display_T35 module. The SimpleGraphics interface supports the DisplayImage method, which accepts a GT.Picture object as a parameter, along with integer values to indicate the X an Y coordinates that position the image on the display.
All code required to display the picture is shown in the following implementation of the PictureCaptured event delegate.
All the code for a .NET Gadgeteer Application that takes a picture and displays it in the Display_T35 module is shown in the following example.
Entire Code Listing
To deploy this application to a mainboard and begin running it, select Start Debugging from the Debug menu, or press F5.
Make sure that the Output Window is visible by pressing the CTRL + ALT + O key combination on your keyboard. If you have enabled sounds, you should hear Windows make the "USB disconnected" sound, followed by the "USB connected" sound as the Mainboard reboots. The Output Window should show the process of loading various files and assemblies. The final line, which appears once the application begins to run, should read Program Started.
When you see Program Started appear on the Output window, you can take a picture. Smile for the Camera, and push the Button. Your picture will appear on the screen of the Display_T35 module. If it works - congratulations! You have completed your first .NET Gadgeteer application.
To exit debugging mode, select Stop Debugging from the Debug menu, or press Shift + F5.
Note: The mainboard continues to be programmed, and will run this application whenever it is powered up, even if it is not connected to a computer.
An interesting extension of the camera application in the previous example is programming the application to take pictures automatically at an interval set by an instance of the GT.Timer class.
To create an instance of the GT.Timer class, add the following global variable to the Program class, as shown in the following example. This line of code initializes the GT.Timer to raise the Tick event at an interval of 2000 milliseconds (2 seconds).
GT.Timer timer = new GT.Timer(2000);
Create the delegate to handle the GT.Timer.Tick event, but stop the timer until the button is pushed. The following code shows the set-up in the ProgramStarted method.
In the ButtonPressed handler replace Camera.TakePicture with the following code. The new code starts and stops the GT.Timer.Tick event and toggles the LED indicator on the Button. When the GT.Timer is firing events, you can use the event handler to take pictures instead of the ButtonPressed handler.
The implementation of the GT.Timer.Tick event is shown in the following example.
When the LED is off and the user pushes the Button, the LED indicator turns on and remains on while the Camera module takes pictures at two second intervals. When the user pushes the button again, the GT.Timer stops, and the LED turns off.
The following code contains all the code for the camera with timer. The boxes show the changes to the previous example.
Code for Surveillance Camera
This section describes common issues that you may encounter and provides suggestions for how to fix them.
If VS is running when you install GadgeteerCore, you’ll need to close and restart it before creating your first project. Otherwise you won’t see the .NET Gadgeteer Application template.
You may need to change the USB name of the target mainboard in your first project. The most efficient way to do this is using the MFDeploy tool.
Sometimes VS will hang at the display: “The debugging target is not in an initialized state; rebooting”. Push the reset button on the mainboard to fix this.
If you’re using the Display_T35 and see a null reference exception on startup, verify that the touch socket is connected both in the designer and on the module.
If you’re using a laptop and you see errors on deployment like “Please check your hardware”, try plugging a 7 volt DC power supply into the USBClientDP module.
The camera image is blurred or not in focus The lens is screwed into camera base, by unscrewing or screwing in you can focus it.
If you receive compilation errors when you attempt to deploy and run your application, read the error message carefully. Most errors fall into one of two categories:
If your application does not behave as expected (for example, pressing the button does not raise the event), start by checking that the physical socket to which the hardware module is connected agrees with the initializion in code of the identifier that corresponds to the module.
For example, if you connect a Button to mainboard socket 4, but initialize it to socket 8, the button will not work.
// Button is actually plugged into socket 4.
button = new GTM.GHIElectronics.Button(8);
The programming model for the .NET Gadgeteer platform is event driven. Events are raised that correspond to a hardware change or physical action. For example, when you press a button, the ButtonPressed event is raised, and when you release it, the ButtonReleased event is raised.
You can use debug statements inside your event handlers to make sure that your handler is receiving the event. For example, if your LED does not light when you press the button, you can insert a statement inside the event handler for the ButtonPressed event to make sure that your button is in fact receiving the event.
private void Button_ButtonPressed(GTM.Button sender, GTM.Button.ButtonState state)
When you deploy and run your application, check the Visual Studio Debug Output window for your message. If the message does not appear at the expected time (for example, when you press the button), make sure that the physical socket and logical initializer are in agreement, as previously described. If they are, the button or the module connector cable might be defective. Unplug the mini USB cable from your computer, swap the module connector cable or the button with another from your hardware kit, reconnect the mini USB cable, and try again.
Occasionally, you may receive an error as you attempt to deploy your application to a mainboard. This can happen if the mainboard is not connected to your computer, or the mainboard requires a restart. If the mainboard is disconnected, connect it and retry. If the mainboard is connected when this happens, disconnect it from your computer (by unplugging the mini USB cable), wait a few seconds, and reconnect it. Then try the deployment again.
When you install the .NET Gadgeteer core, the device drivers that are needed to communicate with a mainboard are also installed. This process usually does not require any intervention on your part.
In some cases, the .NET Gadgeteer core installation or kit installation might not install the device drivers automatically. If your computer is having problems communicating with a mainboard that you suspect are related to the device drivers, please refer to the Tiny CLR Forum.
If you get any error during installation of .NET Gadgeteer ensure that you have installed .NET Micro Framework Version 4.1 drivers and SDK from http://www.netmf.com/
Have something to add? Got a request or suggestion?
You can email the Gadgeteer team at firstname.lastname@example.org or follow them on Twitter @netgadgeteer.
We are pleased to announce new versions of Blend + Sketchflow preview for Visual Studio 2012. Bringing Blend and Visual Studio together offers more value. Blend is a great tool offering a wide variety of designers and developers the ability to quickly and easily build great looking and powerful UI.
These new versions make available capabilities that were previously only available in Expression Blend such as Windows Presentation Foundation, Silverlight and SketchFlow support, unifying the design-centric tools for building Windows Store Apps and Windows desktop apps to Visual Studio users.
This is for evaluation only and none of the platforms contain a go-live license. Therefore you SHOULD use other released versions of Blend for production work.
What is the Blend + Sketchflow Preview for Visual Studio 2012?
Blend for Visual Studio 2012 can help you design user interfaces for applications with robust tools that solve complex design tasks for building Windows Store apps.
The Blend + Sketchflow Preview introduces powerful WYSIWYG design capabilities to Visual Studio developers by providing support for WPF and Silverlight.
What is the difference between Blend + SketchFlow Preview for Visual Studio 2012 and Blend for Visual Studio 2012 RTW? Do I need both?
Blend for Visual Studio 2012 is a unique, innovative authoring tool with rich visual tools for creating Windows store apps using HTML/CSS and XAML. Blend is installed with most versions of Visual Studio 2012.
Blend + SketchFlow Preview for Visual Studio 2012 delivers WPF, Silverlight, and SketchFlow support compatible with Visual Studio 2012. You can install this alongside Visual Studio 2012 RTW.
What is SketchFlow; how does it differ from Storyboarding in Visual Studio 2012?
SketchFlow provides an informal and quick way to explore, iterate and prototype user interface scenarios. SketchFlow is for building working prototypes of software for developers, while the new storyboarding capability allows PowerPoint to be used for capturing lightweight requirements from stakeholders.
Channel 9 is home base online for technical know how, how to’s and tips and tricks.
Channel 9 is used by millions of Developers worldwide each month through videos, how to articles and events.
We are excited to announce that the team has just released a Channel 9 application in the Windows 8 App Store.
So Install the application today on the Windows 8 Consumer Preview and easily browse the latest content on Channel 9, share content with your friends and view content on any of your Play To Enabled devices.
To find the app, Search the Windows 8 App store for Channel 9.