Difference between revisions of "Component: GSM (EB066, Generic AT) (Wireless)"
(XML import) |
|||
(22 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | + | {| style="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 |
− | | | + | | 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. | ||
− | == | + | ==Component Source Code== |
− | |||
− | |||
− | + | 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] | |
− | |||
− | |||
− | |||
− | [ | + | 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== | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | ''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 | ||
− | + | {{Fcfile|GSM_DEMO_Arduino.fcfx|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 | |
− | + | {{Fcfile|GSM_DEMO.fcfx|PIC GSM Example}} | |
+ | ==Macro reference== | ||
− | === | + | ===AnswerIncomingCall=== |
− | + | {| 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. | ||
+ | |- | ||
+ | |- | ||
+ | | 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'' | ||
+ | |} | ||
− | |||
− | ''' | + | ===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 | ||
+ | |- | ||
+ | |- | ||
+ | | 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'' | ||
+ | |} | ||
− | |||
− | |||
− | :[[ | + | ===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. | ||
+ | |- | ||
+ | |- | ||
+ | | 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 | + | ===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. | ||
+ | |- | ||
+ | |- | ||
+ | | 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'' | ||
+ | |} | ||
− | |||
+ | ===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. | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING | ||
+ | | width="90%" | Number | ||
+ | |- | ||
+ | | colspan="2" | | ||
+ | |- | ||
+ | | 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'' | ||
+ | |} | ||
− | |||
− | |||
− | ''' | + | ===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. | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | NumBytes | ||
+ | |- | ||
+ | | colspan="2" | | ||
+ | |- | ||
+ | | 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'' | ||
+ | |} | ||
− | |||
+ | ===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. | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | NumBytes | ||
+ | |- | ||
+ | | colspan="2" | | ||
+ | |- | ||
+ | | 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'' | ||
+ | |} | ||
− | |||
− | :[[ | + | ===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. | ||
+ | |- | ||
+ | |- | ||
+ | | 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'' | ||
+ | |} | ||
− | === | + | ===Initialise=== |
− | + | {| 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. | ||
+ | |- | ||
+ | |- | ||
+ | | 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'' | ||
+ | |} | ||
− | |||
− | ''' | + | ===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 | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | NumBytes | ||
+ | |- | ||
+ | | colspan="2" | | ||
+ | |- | ||
+ | | 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'' | ||
+ | |} | ||
− | |||
+ | ===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 | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING | ||
+ | | width="90%" | Command | ||
+ | |- | ||
+ | | colspan="2" | | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | SendCR | ||
+ | |- | ||
+ | | colspan="2" | | ||
+ | |- | ||
+ | | 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'' | ||
+ | |} | ||
− | |||
− | :[[ | + | ===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. | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | idx | ||
+ | |- | ||
+ | | colspan="2" | | ||
+ | |- | ||
+ | | 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'' | ||
+ | |} | ||
− | === | + | ===SendString=== |
− | + | {| 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. | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING | ||
+ | | width="90%" | Text | ||
+ | |- | ||
+ | | colspan="2" | | ||
+ | |- | ||
+ | | 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'' | ||
+ | |} | ||
− | |||
− | :[[ | + | ===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. | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING | ||
+ | | width="90%" | Number | ||
+ | |- | ||
+ | | colspan="2" | | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING | ||
+ | | width="90%" | Message | ||
+ | |- | ||
+ | | colspan="2" | | ||
+ | |- | ||
+ | | 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'' | ||
+ | |} | ||
− | + | ===StringReceive=== | |
− | + | {| 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;" | '''StringReceive''' | |
− | == | + | |- |
− | + | | colspan="2" | Attempts to receive a string from the GSM modem. | |
− | + | |- | |
− | + | |- | |
− | + | | 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'' | |
− | + | |} | |
− | |||
− | |||
− | |||
− | |||
− | ::'' | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | Attempts to receive a string from the GSM modem. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | == | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==Property reference== | ==Property reference== | ||
− | |||
− | + | {| 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. | + | |- |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-7-icon.png]] | |
− | + | | width="90%" | Expect Echo | |
− | + | |- | |
− | + | | 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. | |
− | Amount of RAM memory to dedicate to receiving responces from the GSM | + | |- |
− | + | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]] | |
− | + | | width="90%" | String Array Size | |
− | + | |- | |
− | + | | colspan="2" | Amount of RAM memory to dedicate to receiving responces from the GSM | |
− | + | |- | |
− | 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 | |
− | + | |- | |
− | + | | colspan="2" | Amount of RAM memory to dedicate to storing the last SMS message received by the GSM. | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | |
− | + | | width="90%" | Script Count | |
− | + | |- | |
− | + | | colspan="2" | Maximum number of scripts to store in the device's ROM | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-11-icon.png]] | |
− | + | | width="90%" | Script1 | |
− | + | |- | |
− | + | | colspan="2" | ASCII based AT command data stored in ROM and used when sending script 1 | |
− | + | |- | |
− | + | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]] | |
− | + | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Connections | |
− | + | |- | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | |
− | Maximum number of scripts to store in the device's ROM | + | | width="90%" | Channel |
− | + | |- | |
− | + | | 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. | |
− | + | |- | |
− | + | | 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 | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | |
− | + | | width="90%" | RX | |
− | + | |- | |
− | + | | colspan="2" | Pin to be used for Receive data | |
− | + | |- | |
− | Software | + | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] |
− | + | | width="90%" | Use Flow Control | |
− | + | |- | |
− | + | | 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. | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | |
− | + | | width="90%" | Baud Options | |
− | + | |- | |
− | + | | colspan="2" | Baud rate option selector | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]] | |
− | + | | width="90%" | Baud Rate | |
− | + | |- | |
− | + | | colspan="2" | | |
− | + | |- | |
− | + | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]] | |
− | + | | 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]] | |
− | + | | width="90%" | Label | |
− | + | |- | |
− | + | | colspan="2" | Textual label shown on the component I/O flasher | |
− | + | |- | |
− | + | | 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. | ||
+ | |- | ||
+ | | 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 | ||
+ | |- | ||
+ | | 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. | ||
+ | |- | ||
+ | | 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. | ||
+ | |} |
Latest revision as of 12:38, 13 March 2023
Author | Matrix Ltd. |
Version | 2.0 |
Category | Wireless |
Contents
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
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
Macro reference
AnswerIncomingCall
![]() |
AnswerIncomingCall |
Answers the phone for an incoming type call. Returns 0 for success and 255 for failure. | |
![]() |
Return |
CheckForIncoming
![]() |
CheckForIncoming |
Checks to see if any incoming phone call or SMS message. 0 = Nothing, 1 = Text Received, 2 = Phone Ringing | |
![]() |
Return |
CheckNetworkStatus
![]() |
CheckNetworkStatus |
Returns the state of the GSM network. 0 = Not connected, 1 = connected, 255 = no reply from GSM. | |
![]() |
Return |
DeleteAllMessages
![]() |
DeleteAllMessages |
Removes all pending text messages from the GSM module. Returns 0 for success and 255 for fail. | |
![]() |
Return |
DialNumber
![]() |
DialNumber |
Performs a standard voice call by dialling the number specified. Returns 0 for call in progress and 255 for no response. | |
![]() |
Number |
![]() |
Return |
GetTextNumber
![]() |
GetTextNumber |
Collects the sender's phone number from an incoming text message. | |
![]() |
NumBytes |
![]() |
Return |
GetTextString
![]() |
GetTextString |
Collects the text message data from an incoming text message. | |
![]() |
NumBytes |
![]() |
Return |
HangUpCall
![]() |
HangUpCall |
Ends a voice based call. Returns 0 for success and 255 for failure. | |
![]() |
Return |
Initialise
![]() |
Initialise |
Sets up the GSM module. Returns 0 for OK, 255 for no reply and 254 for command fail. | |
![]() |
Return |
ReadString
![]() |
ReadString |
Copies the data from the data string array to a local string variable | |
![]() |
NumBytes |
![]() |
Return |
SendCommand
![]() |
SendCommand |
Sends a command string to the GSM module. 0 = Command sent ok, 255 = No Reply | |
![]() |
Command |
![]() |
SendCR |
![]() |
Return |
SendScript
![]() |
SendScript |
Send an AT command script. Returns 0 for fail, 1 for success and 255 for unrecognised script idx. | |
![]() |
idx |
![]() |
Return |
SendString
![]() |
SendString |
Sends a string to the GSM module. | |
![]() |
Text |
![]() |
Return |
SendTextMessage
![]() |
SendTextMessage |
Sends the text message data specified to the number specified using the SMS protocol. Returns 0 for success and 255 for failure. | |
![]() |
Number |
![]() |
Message |
![]() |
Return |
StringReceive
![]() |
StringReceive |
Attempts to receive a string from the GSM modem. | |
![]() |
Return |