Embedded World 2009, Nuerenberg

March 10th, 2009 Elze No comments

As I mentioned earlier on my blog I visited Embedded World 2009 in Nuerenberg this year. I went there hoping to speak to some guys that you all may know known in the .NET Micro Framework cummunity. I can say that the visit was a great succes. It was great to meet them. Also three manufacturers where represented (Device Solutions from New Zealand, AUG Electronics from Austria and Digi from the United States). 

People that I met on Embedded World 2009:

 

 Station Nuerenberg by Night
Station Nuerenberg by Night
 

Andreas SchlofferAndreas Schloffer
Andreas Schloffer with AMI DevKit in his hands
 

From left to right: Andreas Schloffer, Martin Welford, Micheal Schwarzz and Markus Holzer From left to right: Andreas Schloffer, Martin Welford, Micheal Schwarzz and Markus Holzer
From left to right: Andreas Schloffer, Martin Welford, Michael Schwarz and Markus Holzer

 

 

Categories: Just Blog'ing Tags:

Debugging Locks and Deadlocks

February 23rd, 2009 Elze 2 comments

Today I found myself in a problem I never guessed I would get into, deadlocks. A deadlock is a situation where one lock is waiting for another lock to clear. But the other lock can’t be cleared until the piece of code that’s currently is waiting for the lock to clear is run. More about Threads and Locks can be found here. And with a little bit of googling ;-)

Problem with deadlocks is the seem quite hard to find, and when found to solve. At the moment my program runs in a deadlock I press the Pauze button in Visual Studio, problem: Visual Studio stops at the position where the program is in the main thread. When using WPF in .NET Micro Framework this isn’t very usefull.

But I managed to find the piece of code that blocks but that doesn’t help a lot eather becouse you can’t see what piece of code currently holds the lock.

Read more…

Categories: Tips-n-Tricks Tags: , ,

AUG AMI DevKit is shipping

February 19th, 2009 Elze 1 comment

Today I got an email from Andres Schloffer that the AUG Ami Development Kit is shipping! This will be my 4th .NET Micro Framework device. I’m still very busy with my Dare To Dream Different project but when I find the time I hope I can test out this new board.

Below you can see everything that is included in the development kit:

AUG AMI Development Kit Contents

For more information visit the product website:
http://aug-electronics.com/Home/tabid/135/Default.aspx

On a side notice. I will be attending the Embedded World 2009 conference in Nurnberg. I’m planning to visit the conference on thursday the 5th. Maybe I will meet some of you there!

For the project progress of the Dare To Dream Different challenge, it’s still going strong but it’s costing a lot of time. I’m looking if I can publish some parts of the code on this website.. I’ll keep you updated!

 

 

 

DateTime Formatter and Numeric Formatter

February 6th, 2009 Elze 1 comment

Number Juggle

The .NET Micro Framework doesn’t support the formatting of it’s bigger .NET brothers. I hope/think it will be supported on the next .NET Micro Framework version but for the mean time I made two formatting classes: One class that formats DateTime objects the second formats numbers.

 

DateFormatter Class:

The DateFormatter Class has one function, the Format function that accepts a Format string and a DateTime object.

The function follows the rules of the strftime function found in PHP. More information about this format can be found on this page: http://nl.php.net/strftime

Example code:

DateTime t = new DateTime(2009, 2, 1, 14, 10, 00);
Debug.Print(ElzeKool.Utilities.DateFormatter.Format("%d/%m/%Y  %C", t));

The DateFormatter Class can be downloaded here: DateFormatter.cs



NumericFormatter Class:

The NumericFormatter Class has one function, the Format function that accepts a Format string and a number.
The function follows the C# Custom Formatting, the specification can be found on MSDN:
http://msdn.microsoft.com/en-us/library/0c899ak8.aspx

The Per mille symbol isn’t supported as this is not included in the UTF8 character set.
Besides the custom formatting strings the function also supports the X,x,D,d numeric formatting specifiers

Example code:

// Outputs 8.6E004
Debug.Print(ElzeKool.Utilities.NumberFormatter.Format("0.###E-000", 86000));

// Outputs 86000
Debug.Print(ElzeKool.Utilities.NumberFormatter.Format("##;(##)", 86000));

// Outputs (86000)
Debug.Print(ElzeKool.Utilities.NumberFormatter.Format("##;(##)", -86000));

// Outputs 00ABCDEF
Debug.Print(ElzeKool.Utilities.NumberFormatter.Format("H8", 0xabcdef));

The NumericFormatter Class can be downloaded here: NumericFormatter.cs

GM862 GSM and GPS Module Class

January 29th, 2009 Elze 9 comments

Telit GM862 ModuleFor my Dare to Dream Different Challenge project I ordered a Telit  GM862 GSM and GPS Module from SparkFun with Serial Carrier board. The GM862 is a very powerfull GSM Module with build in TCP/IP Stack for GRPS and DUN, SirfStar III GPS reciever, Python Intrepeter, Jammer Detection and many more powerfull functions.

The GM862 uses an AT command set that is compatible with regular Modem commands. So the code from this class can be a base for other AT Based devices (Like XBee modules or Bluetooth modules).

The class provided here is an intial version.This version includes: Basic GSM/GPRS/GPS Initialization, Sending and recieving of SMS Text messages and  retrieval of an HTML page.

Usage is very simple as demonstrated in this piece of code:

// Initialize GSM/GPS Device
GM862 = new GM862GPS("COM1");

// Make sure GM862 is in command state
GM862.Escape();

// Wait until GM862 is ready
while (true)
{
        try
        {
                GM862.ExecuteCommand("ATE1", 500);
        }
        catch
        {
                System.Threading.Thread.Sleep(1000);
                continue;
        }
        break;
}

// Store new pinRequest Handler
lock (GM862)
{
        GM862.getRequestedPIN = GM862_pinRequest;
}

You can download the class and an example program here: MFGM862Example.zip

 

Categories: Just Blog'ing Tags: , , ,

New .NET Micro Framework Device from AUG Electronics.

January 29th, 2009 Elze No comments

I blogged about this device earlier. AUG Electronics is working on a new very powerfull .NET Micro Framework Device. At the time of the previous blog the price and the exact details where unkown but are in now! Some details about the board can be found below. It is a very powerfull board with a nice looking OLED screen

The full specifications are:
* Atmel AT91SAM9261 (200 MHz)
* 160 kB SRAM (internal)
* 64 MB SDRAM
* 256 MB NAND Flash
* 3.4” OLED Display 480×272, 24 BPP RGB
* resistive touch screen (SPI)
* capacitive sensor keypad (16 keys, I2C)
* 4 serial Ports (2 RS-232, 1 RS-485, 1 Debug RS-232)
* 10/100 MBit Ethernet Auto-MDI
* I2C Bus
* SPI Bus
* battery backed realtime-clock (I2C)
* several (15) free GPIOs (more depend on peripherals)
* .NET Micro Framework 3.0
* 110 mm x 65 mm x 28 mm
* 102 g (incl. Ethernet and 3.4” OLED display)
* USB Host (*)
* USB Device (*)
* Micro SD-Card slot (*)
* single 5 V power supply
* PowerOverEthernet PoE power supply (optional)

(*) Not ready yet

The price for the development kit wil be EUR 369 excl. VAT and can be pre-ordered on the product website.

 

Categories: Just Blog'ing Tags: , ,

Recieved my Tahoe II Board from Microsoft!

January 29th, 2009 Elze 5 comments

For Round two of the Dare To Dream Different Challange I recieved a package from Microsoft. It includes a Device Solutions Tahoe II, two XBee Modules and a USB XBee Development board. 

My first experiences with the Tahoe II board where very positive. USB debugging goes very fast and i’m impressed with the overall speed of the board. The board has less memory then the GHI boards I used to develop on. I don’t know what for implications this has.

I haven’t tried the XBee modules yet as I don’t need them in my application. When that’s finished I’ll try them. Together with the Bluetooth Modules I’ve ordered from SparkFun.

 

 

Onscreen Keyboard

January 21st, 2009 Elze 3 comments

I can think of many .NET Micro Framework applications that require text input. Jan Kucera has made a control for this using the up/down and left/right buttons to write text. You can find this control on his .NET Micro Framework Examples page.

With the Touchscreen support of MF 3.0 I tought it would be nice to have something like an on screen keyboard like you find on modern cellular phones. I made a simple KeyboardWindow class. When you create a new KeyBoardWindow an keyboard is displayed on the screen with a flickering cursor. Simply tap on the buttons to add a extra char. Shift is supported.

I made a Visual Studio 2008 Solution that encapsulates and demonstrates the class.
You can download it here: MF_OnScreenKeyBoardDemo.zip

I hope it can be usefull for someone!
 

Categories: Just Blog'ing Tags: , , ,

Math Library compatible with full .NET

January 15th, 2009 Elze 14 comments

I’m very busy building my Dare To Dream Different Challenge project. As this is a contest it’s hard to decide what to publish and what not. For my project I need a fair amount of mathematical functions like Sin, Cos, Tan, Exp, etc. These are not implemented, or in the case of Sin and Cos very inaccurate in .NET Micro Framework. 

So I started the search how to calculate those functions. I made a class of it. It’s made to be a drop-in replacement for System.Math. I tried to make it as accurate as the full .NET version. 

Currently supported  functions:

  • double Abs(double x)
  • Acos(double x)
  • Asin(double x)
  • Atan(double x)
  • Atan2(double y, double x)
  • Ceiling(double x)
  • Cos(double x)
  • Cosh(double x)
  • Exp(double x)
  • Pow(double x, double y)
  • Floor(double x)
  • Log(double x)
  • Log(double x, double newBase)
  • Log10(double x)
  • Max(double x, double y)
  • Min(double x, double y)
  • Sinh(double x)
  • Sign(double x)
  • Sin(double x)
  • Sqrt(double x)
  • Tan(double x)
  • Tanh(double x)
  • Truncate(double x)

You can download the Classfile here: exMath.cs
 

Categories: Just Blog'ing Tags: ,

Dare to Dream Different Challenge, Round 2

January 8th, 2009 Elze 3 comments

Whoohoo! I was positively surprised when the winners of round 1 where announced on the “Dare to Dream Different” challenge website. My name was on the list!

Next step is to start working on a prototype and a video of my idea.. I read trough the rules of the contest and I think I’m allowed to post information and source on my website so you can follow it’s progress!

The complete list of Round 1 Winners are on the “Dare to Dream Different” challenge website:
http://dreamdifferentcontest.com/round1_winners.aspx

Another thing: I like to get in touch with "Henk de Koning" from Veenendaal, the Netherlands.. If you are him, could you leave me a message.. I’m interested in your experice with .NET Micro Framework!