What scale applications are people running?

It seems to me that the openat structure lends itself well to ‘scripting’ by which I mean small applications such as adding new AT commands to perform tasks etc but are not so geared up to large scale applications which can handle lots of SMS, CSD, GPRS, flash file writing for storage etc.

The event driven nature of it makes a massive state machine rather than procedural code, any thoughts from other people? Do any of you have large applications or do you favour an external micro firing commands to the modem?

I disagree.
The big difference between Open-AT and the “Scripting” facilities offered by other vendors is precisely that it allows you to write full-fledged, native ‘C’ applications.

I use plenty of SMS, CSD, GPRS, and flash file writing:
antronics.co.uk/portfolio/m2m_modem/

I know that my application is small compared to some others - some people need to use the real ARM compiler instead of GCC to get their code to fit!

It doesn’t have to be a single massive state machine.

Remember that Windows applications are essentially event-driven, and that doesn’t stop people from writing really huuuuuuuuuuge programs, does it?! :open_mouth:

I guess your problem is with the event-driven paradigm, rather than Open-AT itself…?

Kinda defats the object, really…

Certainly compared to some of the other offerings in the market it feels much more difficult to develop standalone applications

It’s good to hear some people are using these on a large scale and you’re right, the event-driven nature is the issue

If it’s not sensitive can you share your overall structure for such a large application. Do you flag states and then handle the events based on this or have some other method? If you’ve found a way to let me develop procedural code I’ll be much happier :slight_smile:

Exactly, it just seems like a pseudo AT command set is an ideal outcome for these platforms. Maybe I just need to get into it some more

That’s basically it.
There’s “subordinate” state machines for doing things like call control.

No - it is essentially event-driven.

But, then again, very many embedded systems are essentially event-driven - and we call the events “interrupts”…

:slight_smile: Interrupts eh, never heard of them :wink:

Subordinate state machines?? Any source code or is that too sensitive?

I have an ftp server with a jpeg decoder running on a Q2686…