AX−SIGFOX−MODS
www.onsemi.com
9
COMMAND INTERFACE
Serial Parameters: 9600, 8, N, 1
The AX−SIGFOX modules use the UART (pins
UART_TX, UART_RX) to communicate with a host and
use a bitrate of 9600 baud, no parity, 8 data bits and one stop
bit.
Power Modes State Diagram
Standby Mode
After Power−Up and after finishing a Sigfox
transmission, the AX−SIGFOX modules enter Standby
mode. In Standby mode, AX−SIGFOX modules listen on
the UART for commands from the host. Also, OOB frames
are transmitted whenever the OOB timer fires. To conserve
power, the AX−SIGFOX modules can be put into Sleep
mode or turned off (Deep Sleep mode) completely.
Sleep Mode
The command AT$P=1 is used to put the AX−SIGFOX
modules into Sleep mode. In this mode, only the wakeup
timer for out−of−band messages is still running. To wake up
the AX−SIGFOX module from Sleep mode, toggle the
UART_RX pin, e.g. by sending a break (break is an RS232
framing violation, i.e. at least 10 bit durations low). When
an Out of Band (OOB) message is due, AX−SIGFOX
modules automatically wake up to transmit the message, and
then return to Sleep mode.
It is strongly recommended to put AX−SIGFOX modules
into sleep mode when they are not being used.
Deep Sleep Mode
In Deep Sleep mode, the AX−SIGFOX modules are
completely turned off. Deep Sleep mode can be activated
with the command AT$P=2. To wake−up from Deep Sleep
mode the pin GPIO9 is pulled to GND.
When using Deep Sleep mode, two things should be kept
in mind:
Everything is turned off, timers are not running at all and all
settings are lost (use AT$WR to save settings to flash before
entering Deep Sleep mode). Out−of−band messages will
therefore not be sent.
The pins states are frozen in Deep Sleep mode. The user
must ensure that this will not result in conditions at the
module boundary that draw a lot of current.
AT Commands
Numerical Syntax
hexdigit ::= [0−9A−Fa−f]
hexnum ::= “0x” hexdigit+
decnum ::= “0” | [1−9] [0−9]*
octnum ::= “0” [0−7]+
binnum ::= “0b” [01]+
bit ::= [01]
optnum ::= “−1”
frame ::= (hexdigit hexdigit)+
uint ::= hexnum | decnum | octnum | binnum
uint_opt ::= uint | optnum
Command Syntax
A command starts with ‘AT’ (note that everything is case
sensitive!), continues with the actual command followed by
parameters (if any) and ends with any kind of whitespace
(space, tab, newline etc.)
If incorrect syntax is detected (“parsing error”) all input
is ignored up until the next whitespace character.
Also note that any number can be entered in any format
(Hexadecimal, Decimal, Octal and binary) by adding the
corresponding prefix (‘0x’, ‘0’, ‘0b’). The only exception is
the ‘Send Frame’ command (AT$SF) which expects a list of
hexadecimal digits without any prefix.
Return Codes
A successful command execution is indicated by sending
‘OK’. If a command returns a value (e.g. by querying a
register) only the value is returned.
Examples
Bold text is sent to AX−SIGFOX module.
Here, we execute command ‘I’ to query some general
information.
AT$I=0
AXSEM AT Command Interface
This sends a Sigfox frame containing { 0xAA : 0xBB : 0x12
: 0x34 } without waiting for a response telegram:
AT$SF=aabb1234
OK
This sends a Sigfox frame containing { 0x00 : 0x11 : 0x22
: 0x33 : 0x44 }, then waits for a downlink response telegram,
which in this example contains { 0xAA : 0xBB : 0xCC :
0xDD }.
AT$SF=0011223344,1
OK
RX=AA BB CC DD