Difference between revisions of "Component: GSM (EB066, Generic AT) (Wireless)"

From Flowcode Help
Jump to navigationJump to search
(XML import)
 
(22 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
+
{| style="width:50%"
 
 
{| width="50%"
 
 
|-
 
|-
| width="20%" style="color: gray;" | Author
+
| width="20%" style="color:gray;" | Author
 
| Matrix Ltd.
 
| Matrix Ltd.
 
|-
 
|-
| width="20%" style="color: gray;" | Version
+
| width="20%" style="color:gray;" | Version
| 1.3 (Release)
+
| 2.0
 
|-
 
|-
| width="20%" style="color: gray;" | Category
+
| width="20%" style="color:gray;" | Category
 
| Wireless
 
| Wireless
 
|}
 
|}
  
  
 +
==GSM (EB066, Generic AT) component==
 +
Low level routines for controlling a standard AT GSM / GPRS interface Also available in the form of the EB066 GSM E-block.
  
==[[File:Component Icon 0d02ccfd_4cda_42b8_91d8_5392f491f9af.png|Image]] GSM (EB066, Generic AT) component==
+
==Component Source Code==
Low level routines for controlling a standard AT GSM / GPRS interface
 
Also available in the form of the EB066 GSM E-block.
 
  
==Examples==
+
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_GSM.fcfx FC_Comp_Source_GSM.fcfx]
GSM Example File
 
{{Fcfile|GSM_Test.fcfx|GSM Example}}
 
Example should show the following on the display on the panel and on the hardware.
 
  
[[File:GSMPan.jpg]]
+
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_GSM.fcfx FC_Comp_Source_GSM.fcfx]
  
 +
==Detailed description==
  
The AT injector component allows us to simulate the response of the GSM module.
 
  
[[File:GSMInject.jpg]]
 
  
==Downloadable macro reference==
 
  
===<span style="font-weight: normal;"><u><tt>DialNumber</tt></u></span>===
 
Performs a standard voice call by dialling the number specified.
 
  
Returns 0 for call in progress and 255 for no response.
 
  
'''Parameters'''
 
  
:[[Variable Types|<- STRING]] ''Number''
 
::''This parameter may be returned back to the caller''
 
  
  
'''Return value'''
 
  
:[[Variable Types|BYTE]]
 
  
  
===<span style="font-weight: normal;"><u><tt>GetTextString</tt></u></span>===
 
Collects the text message data from an incoming text message.
 
  
'''Parameters'''
 
  
:[[Variable Types|BYTE]] ''NumBytes''
 
  
  
'''Return value'''
 
  
:[[Variable Types|STRING]]
+
''No detailed description exists yet for this component''
  
 +
==Examples==
  
===<span style="font-weight: normal;"><u><tt>SendScript</tt></u></span>===
+
Example program that checks for network connection and then allows a number to be texted or voice dialled.
Send an AT command script.
 
  
Returns 0 for fail, 1 for success and 255 for unrecognised script idx.
+
Waits for connection to be established before allowing texts or calls to be made.
  
'''Parameters'''
+
The number at the top of the file in the calculation icon needs to be edited to a number to connect to for texts and calls.
  
:[[Variable Types|BYTE]] ''idx''
 
  
 +
Arduino Connections:
  
'''Return value'''
+
D8-D13 - LEDs / D8 = Connection Status - Flashing = Connecting /  D9 Text sending / D10 Call Active
  
:[[Variable Types|BYTE]]
+
D0-D7 - GSM
  
 +
A0-A5 - Switches - A0 = Send Text / A1 = Start voice call / A2 = End call
  
===<span style="font-weight: normal;"><u><tt>AnswerIncomingCall</tt></u></span>===
+
{{Fcfile|GSM_DEMO_Arduino.fcfx|Arduino GSM Example}}
Answers the phone for an incoming type call.
 
  
Returns 0 for success and 255 for failure.
 
  
'''Parameters'''
+
PIC Connections
  
:''This macro has no parameters''
+
B0-B7 - LEDs / B0 = Connection Status - Flashing = Connecting /  B1 Text sending / B2 Call Active
  
 +
C0-C7 - GSM
  
'''Return value'''
+
A0-A7 - Switches - A0 = Send Text / A1 = Start voice call / A2 = End call
  
:[[Variable Types|BYTE]]
+
{{Fcfile|GSM_DEMO.fcfx|PIC GSM Example}}
  
 +
==Macro reference==
  
===<span style="font-weight: normal;"><u><tt>SendCommand</tt></u></span>===
+
===AnswerIncomingCall===
Sends a command string to the GSM module.
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''AnswerIncomingCall'''
 +
|-
 +
| colspan="2" | Answers the phone for an incoming type call. Returns 0 for success and 255 for failure.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
0 = Command sent ok, 255 = No Reply
 
  
'''Parameters'''
+
===CheckForIncoming===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CheckForIncoming'''
 +
|-
 +
| colspan="2" | Checks to see if any incoming phone call or SMS message. 0 = Nothing, 1 = Text Received, 2 = Phone Ringing&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
:[[Variable Types|<- STRING]] ''Command''
 
::''This parameter may be returned back to the caller''
 
  
:[[Variable Types|BYTE]] ''SendCR''
+
===CheckNetworkStatus===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CheckNetworkStatus'''
 +
|-
 +
| colspan="2" | Returns the state of the GSM network. 0 = Not connected, 1 = connected, 255 = no reply from GSM.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
  
'''Return value'''
+
===DeleteAllMessages===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DeleteAllMessages'''
 +
|-
 +
| colspan="2" | Removes all pending text messages from the GSM module. Returns 0 for success and 255 for fail.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
:[[Variable Types|BYTE]]
 
  
 +
===DialNumber===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DialNumber'''
 +
|-
 +
| colspan="2" | Performs a standard voice call by dialling the number specified. Returns 0 for call in progress and 255 for no response.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
 +
| width="90%" | Number
 +
|-
 +
| colspan="2" | &nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
===<span style="font-weight: normal;"><u><tt>GetTextNumber</tt></u></span>===
 
Collects the sender's phone number from an incoming text message.
 
  
'''Parameters'''
+
===GetTextNumber===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetTextNumber'''
 +
|-
 +
| colspan="2" | Collects the sender's phone number from an incoming text message.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | NumBytes
 +
|-
 +
| colspan="2" | &nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-string-icon.png]] - STRING
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
:[[Variable Types|BYTE]] ''NumBytes''
 
  
 +
===GetTextString===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetTextString'''
 +
|-
 +
| colspan="2" | Collects the text message data from an incoming text message.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | NumBytes
 +
|-
 +
| colspan="2" | &nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-string-icon.png]] - STRING
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
'''Return value'''
 
  
:[[Variable Types|STRING]]
+
===HangUpCall===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''HangUpCall'''
 +
|-
 +
| colspan="2" | Ends a voice based call. Returns 0 for success and 255 for failure.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
  
===<span style="font-weight: normal;"><u><tt>HangUpCall</tt></u></span>===
+
===Initialise===
Ends a voice based call.
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise'''
 +
|-
 +
| colspan="2" | Sets up the GSM module. Returns 0 for OK, 255 for no reply and 254 for command fail.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
Returns 0 for success and 255 for failure.
 
  
'''Parameters'''
+
===ReadString===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadString'''
 +
|-
 +
| colspan="2" | Copies the data from the data string array to a local string variable&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | NumBytes
 +
|-
 +
| colspan="2" | &nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-string-icon.png]] - STRING
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
:''This macro has no parameters''
 
  
 +
===SendCommand===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SendCommand'''
 +
|-
 +
| colspan="2" | Sends a command string to the GSM module. 0 = Command sent ok, 255 = No Reply&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
 +
| width="90%" | Command
 +
|-
 +
| colspan="2" | &nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | SendCR
 +
|-
 +
| colspan="2" | &nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
'''Return value'''
 
  
:[[Variable Types|BYTE]]
+
===SendScript===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SendScript'''
 +
|-
 +
| colspan="2" | Send an AT command script. Returns 0 for fail, 1 for success and 255 for unrecognised script idx.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | idx
 +
|-
 +
| colspan="2" | &nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
  
===<span style="font-weight: normal;"><u><tt>ReadString</tt></u></span>===
+
===SendString===
Copies the data from the data string array to a local string variable
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SendString'''
 +
|-
 +
| colspan="2" | Sends a string to the GSM module. &nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
 +
| width="90%" | Text
 +
|-
 +
| colspan="2" | &nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
'''Parameters'''
 
  
:[[Variable Types|BYTE]] ''NumBytes''
+
===SendTextMessage===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SendTextMessage'''
 +
|-
 +
| colspan="2" | Sends the text message data specified to the number specified using the SMS protocol. Returns 0 for success and 255 for failure.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
 +
| width="90%" | Number
 +
|-
 +
| colspan="2" | &nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
 +
| width="90%" | Message
 +
|-
 +
| colspan="2" | &nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
  
'''Return value'''
+
===StringReceive===
 
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
:[[Variable Types|STRING]]
+
|-
 
+
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''StringReceive'''
===<span style="font-weight: normal;"><u><tt>SendTextMessage</tt></u></span>===
+
|-
Sends the text message data specified to the number specified using the SMS protocol.
+
| colspan="2" | Attempts to receive a string from the GSM modem.&nbsp;
 
+
|-
Returns 0 for success and 255 for failure.
+
|-
 
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
'''Parameters'''
+
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
+
|}
:[[Variable Types|<- STRING]] ''Number''
 
::''This parameter may be returned back to the caller''
 
 
 
:[[Variable Types|<- STRING]] ''Message''
 
::''This parameter may be returned back to the caller''
 
 
 
 
 
'''Return value'''
 
 
 
:[[Variable Types|BYTE]]
 
 
 
 
 
===<span style="font-weight: normal;"><u><tt>StringReceive</tt></u></span>===
 
Attempts to receive a string from the GSM modem.
 
 
 
'''Parameters'''
 
 
 
:''This macro has no parameters''
 
 
 
 
 
'''Return value'''
 
 
 
:[[Variable Types|BYTE]]
 
 
 
 
 
===<span style="font-weight: normal;"><u><tt>CheckNetworkStatus</tt></u></span>===
 
Returns the state of the GSM network.
 
 
 
0 = Not connected, 1 = connected, 255 = no reply from GSM.
 
 
 
'''Parameters'''
 
 
 
:''This macro has no parameters''
 
 
 
 
 
'''Return value'''
 
 
 
:[[Variable Types|BYTE]]
 
 
 
 
 
===<span style="font-weight: normal;"><u><tt>CheckForIncoming</tt></u></span>===
 
Checks to see if any incoming phone call or SMS message.
 
 
 
0 = Nothing, 1 = Text Received, 2 = Phone Ringing
 
 
 
'''Parameters'''
 
 
 
:''This macro has no parameters''
 
 
 
 
 
'''Return value'''
 
 
 
:[[Variable Types|BYTE]]
 
 
 
 
 
===<span style="font-weight: normal;"><u><tt>Initialise</tt></u></span>===
 
Sets up the GSM module.
 
 
 
Returns 0 for OK, 255 for no reply and 254 for command fail.
 
 
 
'''Parameters'''
 
 
 
:''This macro has no parameters''
 
 
 
 
 
'''Return value'''
 
 
 
:[[Variable Types|BYTE]]
 
 
 
 
 
 
 
==Simulation macro reference==
 
 
 
''This component does not contain any simulation macros''
 
  
  
 
==Property reference==
 
==Property reference==
<span style="font-weight: normal;"><u>Expect Echo</u></span>
 
  
This property is of type ''True or false'' and can be referenced with the variable name ''expect_echo''.
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
+
|-
Sets if we expect an echo of any data we send out to the GSM modem.
+
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
 
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''  
Most AT type modems (e.g. GSM modules) will automatically echo back incoming data.
+
|-
 
+
|-
<span style="font-weight: normal;"><u>String Array Size</u></span>
+
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 
+
| width="90%" | Expect Echo
This property is of type ''Signed integer'' and can be referenced with the variable name ''string_size''.
+
|-
 
+
| colspan="2" | Sets if we expect an echo of any data we send out to the GSM modem. Most AT type modems (e.g. GSM modules) will automatically echo back incoming data.&nbsp;
Amount of RAM memory to dedicate to receiving responces from the GSM
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
<span style="font-weight: normal;"><u>Message Array Size</u></span>
+
| width="90%" | String Array Size
 
+
|-
This property is of type ''Signed integer'' and can be referenced with the variable name ''message_size''.
+
| colspan="2" | Amount of RAM memory to dedicate to receiving responces from the GSM&nbsp;
 
+
|-
Amount of RAM memory to dedicate to storing the last SMS message received by the GSM.
+
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 
+
| width="90%" | Message Array Size
<span style="font-weight: normal;"><u>Baud Rate</u></span>
+
|-
 
+
| colspan="2" | Amount of RAM memory to dedicate to storing the last SMS message received by the GSM.&nbsp;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''baud''.
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
Theoretical number of digital bits that can be send or received a second.
+
| width="90%" | Script Count
 
+
|-
Theoretical because it is unlikely you will be constantly sending or receiving data 100% of the time.
+
| colspan="2" | Maximum number of scripts to store in the device's ROM&nbsp;
 
+
|-
<span style="font-weight: normal;"><u>Flow Control</u></span>
+
| width="10%" align="center" | [[File:Fc9-type-11-icon.png]]
 
+
| width="90%" | Script1
This property is of type ''True or false'' and can be referenced with the variable name ''flow_control''.
+
|-
 
+
| colspan="2" | ASCII based AT command data stored in ROM and used when sending script 1&nbsp;
When enabled adds two extra pins to help control the flow of data between the device and the remote device.
+
|-
 
+
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
<span style="font-weight: normal;"><u>Script Count</u></span>
+
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Connections
 
+
|-
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''script_count''.
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
Maximum number of scripts to store in the device's ROM
+
| width="90%" | Channel
 
+
|-
<span style="font-weight: normal;"><u>Script1</u></span>
+
| colspan="2" | UART Channel selector Software channels are bit banged using generic I/O pins but are not as reliable as hardware channels. Hardware channels use the selected peripheral on-board the target microcontroller.&nbsp;
 
+
|-
This property is of type ''Multiple lines of text'' and can be referenced with the variable name ''script1''.
+
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
 
+
| width="90%" | TX
ASCII based AT command data stored in ROM and used when sending script 1
+
|-
 
+
| colspan="2" | Pin to be used for Transmit data&nbsp;
<span style="font-weight: normal;"><u>Channel</u></span>
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''channel''.
+
| width="90%" | RX
 
+
|-
Onboard UART peripheral to use to perform serial commands.
+
| colspan="2" | Pin to be used for Receive data&nbsp;
 
+
|-
Software mode not available as code currently requires hardware receive interrupt in order to work correctly.
+
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
+
| width="90%" | Use Flow Control
<span style="font-weight: normal;"><u>TX Pin</u></span>
+
|-
 
+
| colspan="2" | Flow Control (Handshake) enable or disable.    On: Two I/O pins are used to control the flow of data in and out of the device.    Off: Flow control is disabled.&nbsp;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''tx_pin''.
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
UART Transmit Pin
+
| width="90%" | Baud Options
 
+
|-
<span style="font-weight: normal;"><u>RX Pin</u></span>
+
| colspan="2" | Baud rate option selector&nbsp;
 
+
|-
This property is of type ''Single digital pin'' and can be referenced with the variable name ''rx_pin''.
+
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 
+
| width="90%" | Baud Rate
UART Receive Pin
+
|-
 
+
| colspan="2" | &nbsp;
<span style="font-weight: normal;"><u>Label</u></span>
+
|-
 
+
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
This property is of type ''Line of text'' and can be referenced with the variable name ''label''.
+
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation
 
+
|-
Textual label shown on the component I/O flasher
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-10-icon.png]]
<span style="font-weight: normal;"><u>Injector</u></span>
+
| width="90%" | Label
 
+
|-
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''Injector''.
+
| colspan="2" | Textual label shown on the component I/O flasher&nbsp;
 
+
|-
''<span style="color:red;">No additional information</span>''
+
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 +
| width="90%" | Scope Traces
 +
|-
 +
| colspan="2" | Selects if the scope traces are automatically added to the data recorder window or not.    Simulation - draws an approximation of the UART data onto the scope trace.    ICT - sets up the scope trace for incoming data and adds UART packet decoding at the correct BAUD.&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 +
| width="90%" | Console Data
 +
|-
 +
| colspan="2" | Selects if the console data is automatically generated or not&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
 +
| width="90%" | Console Columns
 +
|-
 +
| colspan="2" | Number of characters that can be displayed on a single line of the console.&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 +
| width="90%" | Data Source
 +
|-
 +
| colspan="2" | Simulation data source used to allow the component to connect to various remote devices    Nothing - Simulation data is ignored    COM port - Routes the communication data to and from a physical or virtual COM port      API - Routes the communication data via a data API component on the Panel.&nbsp;
 +
|}

Latest revision as of 12:38, 13 March 2023

Author Matrix Ltd.
Version 2.0
Category Wireless


GSM (EB066, Generic AT) component

Low level routines for controlling a standard AT GSM / GPRS interface Also available in the form of the EB066 GSM E-block.

Component Source Code

Please click here to download the component source project: FC_Comp_Source_GSM.fcfx

Please click here to view the component source code (Beta): FC_Comp_Source_GSM.fcfx

Detailed description

No detailed description exists yet for this component

Examples

Example program that checks for network connection and then allows a number to be texted or voice dialled.

Waits for connection to be established before allowing texts or calls to be made.

The number at the top of the file in the calculation icon needs to be edited to a number to connect to for texts and calls.


Arduino Connections:

D8-D13 - LEDs / D8 = Connection Status - Flashing = Connecting / D9 Text sending / D10 Call Active

D0-D7 - GSM

A0-A5 - Switches - A0 = Send Text / A1 = Start voice call / A2 = End call

FC6 Icon.png Arduino GSM Example


PIC Connections

B0-B7 - LEDs / B0 = Connection Status - Flashing = Connecting / B1 Text sending / B2 Call Active

C0-C7 - GSM

A0-A7 - Switches - A0 = Send Text / A1 = Start voice call / A2 = End call

FC6 Icon.png PIC GSM Example

Macro reference

AnswerIncomingCall

Fc9-comp-macro.png AnswerIncomingCall
Answers the phone for an incoming type call. Returns 0 for success and 255 for failure. 
Fc9-u8-icon.png - BYTE Return


CheckForIncoming

Fc9-comp-macro.png CheckForIncoming
Checks to see if any incoming phone call or SMS message. 0 = Nothing, 1 = Text Received, 2 = Phone Ringing 
Fc9-u8-icon.png - BYTE Return


CheckNetworkStatus

Fc9-comp-macro.png CheckNetworkStatus
Returns the state of the GSM network. 0 = Not connected, 1 = connected, 255 = no reply from GSM. 
Fc9-u8-icon.png - BYTE Return


DeleteAllMessages

Fc9-comp-macro.png DeleteAllMessages
Removes all pending text messages from the GSM module. Returns 0 for success and 255 for fail. 
Fc9-u8-icon.png - BYTE Return


DialNumber

Fc9-comp-macro.png DialNumber
Performs a standard voice call by dialling the number specified. Returns 0 for call in progress and 255 for no response. 
Fc9-string-icon.png - STRING Number
 
Fc9-u8-icon.png - BYTE Return


GetTextNumber

Fc9-comp-macro.png GetTextNumber
Collects the sender's phone number from an incoming text message. 
Fc9-u8-icon.png - BYTE NumBytes
 
Fc9-string-icon.png - STRING Return


GetTextString

Fc9-comp-macro.png GetTextString
Collects the text message data from an incoming text message. 
Fc9-u8-icon.png - BYTE NumBytes
 
Fc9-string-icon.png - STRING Return


HangUpCall

Fc9-comp-macro.png HangUpCall
Ends a voice based call. Returns 0 for success and 255 for failure. 
Fc9-u8-icon.png - BYTE Return


Initialise

Fc9-comp-macro.png Initialise
Sets up the GSM module. Returns 0 for OK, 255 for no reply and 254 for command fail. 
Fc9-u8-icon.png - BYTE Return


ReadString

Fc9-comp-macro.png ReadString
Copies the data from the data string array to a local string variable 
Fc9-u8-icon.png - BYTE NumBytes
 
Fc9-string-icon.png - STRING Return


SendCommand

Fc9-comp-macro.png SendCommand
Sends a command string to the GSM module. 0 = Command sent ok, 255 = No Reply 
Fc9-string-icon.png - STRING Command
 
Fc9-u8-icon.png - BYTE SendCR
 
Fc9-u8-icon.png - BYTE Return


SendScript

Fc9-comp-macro.png SendScript
Send an AT command script. Returns 0 for fail, 1 for success and 255 for unrecognised script idx. 
Fc9-u8-icon.png - BYTE idx
 
Fc9-u8-icon.png - BYTE Return


SendString

Fc9-comp-macro.png SendString
Sends a string to the GSM module.  
Fc9-string-icon.png - STRING Text
 
Fc9-void-icon.png - VOID Return


SendTextMessage

Fc9-comp-macro.png SendTextMessage
Sends the text message data specified to the number specified using the SMS protocol. Returns 0 for success and 255 for failure. 
Fc9-string-icon.png - STRING Number
 
Fc9-string-icon.png - STRING Message
 
Fc9-u8-icon.png - BYTE Return


StringReceive

Fc9-comp-macro.png StringReceive
Attempts to receive a string from the GSM modem. 
Fc9-u8-icon.png - BYTE Return


Property reference

Fc9-prop-icon.png Properties
Fc9-type-7-icon.png Expect Echo
Sets if we expect an echo of any data we send out to the GSM modem. Most AT type modems (e.g. GSM modules) will automatically echo back incoming data. 
Fc9-type-14-icon.png String Array Size
Amount of RAM memory to dedicate to receiving responces from the GSM 
Fc9-type-14-icon.png Message Array Size
Amount of RAM memory to dedicate to storing the last SMS message received by the GSM. 
Fc9-type-16-icon.png Script Count
Maximum number of scripts to store in the device's ROM 
Fc9-type-11-icon.png Script1
ASCII based AT command data stored in ROM and used when sending script 1 
Fc9-conn-icon.png Connections
Fc9-type-16-icon.png Channel
UART Channel selector Software channels are bit banged using generic I/O pins but are not as reliable as hardware channels. Hardware channels use the selected peripheral on-board the target microcontroller. 
Fc9-type-5-icon.png TX
Pin to be used for Transmit data 
Fc9-type-5-icon.png RX
Pin to be used for Receive data 
Fc9-type-16-icon.png Use Flow Control
Flow Control (Handshake) enable or disable. On: Two I/O pins are used to control the flow of data in and out of the device. Off: Flow control is disabled. 
Fc9-type-16-icon.png Baud Options
Baud rate option selector 
Fc9-type-14-icon.png Baud Rate
 
Fc9-conn-icon.png Simulation
Fc9-type-10-icon.png Label
Textual label shown on the component I/O flasher 
Fc9-type-7-icon.png Scope Traces
Selects if the scope traces are automatically added to the data recorder window or not. Simulation - draws an approximation of the UART data onto the scope trace. ICT - sets up the scope trace for incoming data and adds UART packet decoding at the correct BAUD. 
Fc9-type-7-icon.png Console Data
Selects if the console data is automatically generated or not 
Fc9-type-21-icon.png Console Columns
Number of characters that can be displayed on a single line of the console. 
Fc9-type-16-icon.png Data Source
Simulation data source used to allow the component to connect to various remote devices Nothing - Simulation data is ignored COM port - Routes the communication data to and from a physical or virtual COM port API - Routes the communication data via a data API component on the Panel.