FAQ forum/wiki?

viewtopic.php?f=78&t=4477&p=18038#p18038

For example, see:
viewtopic.php?f=29&t=3621&p=14446&hilit=startup+delay#p14446

viewtopic.php?f=30&t=3227&p=12032&hilit=delay+startup#p12032

viewtopic.php?f=30&t=3227&p=12032&hilit=delay+startup#p12032

i don’t know if i agree entirely,
the latest firmware editions try to start you application 8 times and if it still crashes the 8th time, they give up on it.

What editions, specifically?

Is that actually documented?

But there are still people using firmware versions without this feature: viewtopic.php?f=19&t=4486

i’m fairly certain that this mechanism is functional since 7.x

yes, see ‘Description / Recovery Mechanism’ in the ADL user guide

i know, and for these people it’s still helpful.

The requirement that an application has to be built for a firmware version that matches the firmware physically installed on the device.
(in general, “matches” means “the same as”).

It’s a bit like making an application for a PC: if you build the application to run on Vista, it won’t work on Win-95

The response to AT+WOPEN=2 shows both the firmware version physically installed on the device, and the version for which the currently-loaded application was built:

In general, the two numbers need to be the same.

Examples:
viewtopic.php?f=78&t=4501&p=18139#p18139
viewtopic.php?f=78&t=4390&p=17817#p17817

Although it is clearly documented that you cannot do this, people do frequently ask how to do it! :unamused:

The ADL User guide clearly says,

Some possible workarounds are suggested here: viewtopic.php?f=3&t=3936&start=0&hilit=execute+custom+at+command

The only time such a loop may be used is when it’s of the form:

while(1)
{
    adl_eventWait(...);

    // do something as a result of the Event...
}

Because, during the Event Wait, other tasks can run…

or use adl_ctxSleep(1);
this also introduces a moment for the processor to run other tasks

Yes: that’s why I said, “of the form…” - because I was too lazy to try to come up with an exhaustive term… :wink:

“I downloaded my Application and nothing’s happening - what should I do?” is quite a frequently-asked question; eg: viewtopic.php?f=34&t=4585

I think it would be helpful - especially to newbies - to have a basic fault-finding guide for such circumstances; eg,

  • What is the status LED doing?
  • What do AT+WOPEN=2 and AT+WOPEN=7 tell you?
  • How to get the debug Traces
  • etc?

And links to other common issues - such as checking versions are correct, waiting for GSM registration, etc,…

https://forum.sierrawireless.com/t/retrieve-sim-number/4641/2

viewtopic.php?f=107&t=5176&start=0

Unfortunately, there is no guaranteed way to do this - you just cannot rely upon the network:

https://forum.sierrawireless.com/t/date-time-time-zone-information/3962/2

https://forum.sierrawireless.com/t/get-current-date-time-from-network/739/10

https://forum.sierrawireless.com/t/getting-network-date-and-time/2812/4

https://forum.sierrawireless.com/t/date-and-time-in-q2686/4701/1

Note that this is a network limitation - nothing specifically to do with SiWi

Well, that’s not really a question - but it is frequently suggested that reloading firmware might fix problems.

eg, https://forum.sierrawireless.com/t/how-to-restore-levels-filter-in-ds-1-1-2/4966/5

The point is that reloading firmware restores settings to their defaults - so this will obviously fix any problems that were due to mis-configuration!

See: https://forum.sierrawireless.com/t/network-registeration/4762/13

The way that FCM gathers received bytes and delivers them to the Data Handler in “blocks” is a very common cause of questions:

https://forum.sierrawireless.com/t/whats-a-block/399/6

https://forum.sierrawireless.com/t/rs-232-performance/5077/2

https://forum.sierrawireless.com/t/q2686-uart-receive-buffer-size-is-limit-only-56/4436/10

https://forum.sierrawireless.com/t/fcm-and-wip/4407/10

https://forum.sierrawireless.com/t/q2686-uart-buffer-size/5031/2

https://forum.sierrawireless.com/t/fcm-newby/4115/5

https://forum.sierrawireless.com/t/whats-a-block/399/2

For an excellent example of how to cope with this - using a State Machine approach - see:

https://forum.sierrawireless.com/t/good-paper-on-event-driven-programming/3848/6

NB: “State Machine” is also known as “Finite State Machine” - or “FSM”, for short.