Project - FEZ GPRS

FEZ GPRS

Introduction
From some earlier Arduino work I had a shield with a HiLo SAGEM GPRS module lying around. As I never got around to using it due to conflict on Arduino serial port so I thought I might try it out on a FEZ Panda.

About the shield
http://www.cooking-hacks.com/index.php/shop/arduino/arduino-gprs-module.html The shield is made for Arduino and draws power from the ICSP so you have to power it externally. That is not really a problem as the unit draws about 2A in short bursts so powering from an Arduino isnt functioning all that well anyway. It has an onboard voltage regulator LD1085 that is rated at 3A and a max input voltage of 30V

As it has an option of using the Arduino as a gateway for serial communication having an Arduino during setup is very useful. Also when updating the firmware the Arduino is valuable. It can probably be done without one, but I dont know how.

Software
The module is controlled by AT commands and the manual is quit comprehensive http://www.cooking-hacks.com/skin/frontend/default/cooking/pdf/AT_Commands.pdf That said, working with the unit can be a real pain as commands have different execution time and response. So lot of work goes into getting the timing right and handling feedback. So from a programming point of view, the current class is a bit sketchy and probably can be optimized by other people. When I get more time I would like to include FTP upload and download as that can be useful for my current project. The class currently has the following methods and properties;

Constructor GPR(phonenumber)
SendAT(Command, Mode)
SendSMS(Message)
CheckSMS()
SwitchON()
SwitchOff()
SetMode(Mode)
GetResponse()
Dispose()
MobileNumber{get,set}
Busy{get,set}

(moved from wiki)