Difference between revisions of "Bot test"
Line 1: | Line 1: | ||
− | {| | + | |
+ | |||
+ | {| 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 | + | | 2.0 (Release) |
|- | |- | ||
− | | width="20%" style="color:gray;" | Category | + | | width="20%" style="color: gray;" | Category |
| Wireless | | Wireless | ||
|} | |} | ||
− | == | + | |
− | Low level routines for controlling a standard AT | + | ==[[File:Component Icon 0d02ccfd_4cda_42b8_91d8_5392f491f9af.png|Image]] 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. | ||
==Examples== | ==Examples== | ||
+ | {{Fcfile|GSM_Test.fcfx|GSM Example}} | ||
+ | Example should show the following on the display on the panel and on the hardware. | ||
+ | |||
+ | [[File:GSMPan.jpg]] | ||
+ | |||
+ | |||
+ | 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]] | ||
+ | |||
+ | |||
+ | ===<span style="font-weight: normal;"><u><tt>SendString</tt></u></span>=== | ||
+ | Sends a string to the GSM module. | ||
+ | |||
+ | '''Parameters''' | ||
+ | |||
+ | :[[Variable Types|<- STRING]] ''Text'' | ||
+ | ::''This parameter may be returned back to the caller'' | ||
+ | |||
+ | |||
+ | '''Return value''' | ||
+ | |||
+ | :''This call does not return a value'' | ||
+ | |||
+ | |||
+ | ===<span style="font-weight: normal;"><u><tt>SendScript</tt></u></span>=== | ||
+ | Send an AT command script. | ||
+ | |||
+ | Returns 0 for fail, 1 for success and 255 for unrecognised script idx. | ||
+ | |||
+ | '''Parameters''' | ||
+ | :[[Variable Types|BYTE]] ''idx'' | ||
+ | '''Return value''' | ||
+ | :[[Variable Types|BYTE]] | ||
+ | ===<span style="font-weight: normal;"><u><tt>AnswerIncomingCall</tt></u></span>=== | ||
+ | Answers the phone for an incoming type call. | ||
+ | |||
+ | Returns 0 for success and 255 for failure. | ||
+ | |||
+ | '''Parameters''' | ||
+ | |||
+ | :''This macro has no parameters'' | ||
+ | |||
+ | |||
+ | '''Return value''' | ||
+ | |||
+ | :[[Variable Types|BYTE]] | ||
+ | |||
+ | |||
+ | ===<span style="font-weight: normal;"><u><tt>SendCommand</tt></u></span>=== | ||
+ | Sends a command string to the GSM module. | ||
+ | |||
+ | 0 = Command sent ok, 255 = No Reply | ||
+ | |||
+ | '''Parameters''' | ||
+ | |||
+ | :[[Variable Types|<- STRING]] ''Command'' | ||
+ | ::''This parameter may be returned back to the caller'' | ||
+ | |||
+ | :[[Variable Types|BYTE]] ''SendCR'' | ||
+ | |||
+ | |||
+ | '''Return value''' | ||
+ | |||
+ | :[[Variable Types|BYTE]] | ||
+ | |||
+ | |||
+ | ===<span style="font-weight: normal;"><u><tt>GetTextNumber</tt></u></span>=== | ||
+ | Collects the sender's phone number from an incoming text message. | ||
+ | |||
+ | '''Parameters''' | ||
+ | |||
+ | :[[Variable Types|BYTE]] ''NumBytes'' | ||
+ | |||
+ | |||
+ | '''Return value''' | ||
+ | |||
+ | :[[Variable Types|STRING]] | ||
+ | |||
+ | |||
+ | ===<span style="font-weight: normal;"><u><tt>HangUpCall</tt></u></span>=== | ||
+ | Ends a voice based call. | ||
+ | |||
+ | Returns 0 for success and 255 for failure. | ||
+ | |||
+ | '''Parameters''' | ||
+ | |||
+ | :''This macro has no parameters'' | ||
+ | |||
+ | |||
+ | '''Return value''' | ||
+ | |||
+ | :[[Variable Types|BYTE]] | ||
+ | |||
+ | |||
+ | ===<span style="font-weight: normal;"><u><tt>ReadString</tt></u></span>=== | ||
+ | Copies the data from the data string array to a local string variable | ||
+ | |||
+ | '''Parameters''' | ||
+ | |||
+ | :[[Variable Types|BYTE]] ''NumBytes'' | ||
+ | |||
+ | |||
+ | '''Return value''' | ||
+ | |||
+ | :[[Variable Types|STRING]] | ||
+ | |||
+ | |||
+ | ===<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. | ||
+ | |||
+ | Returns 0 for success and 255 for failure. | ||
+ | |||
+ | '''Parameters''' | ||
+ | |||
+ | :[[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>DeleteAllMessages</tt></u></span>=== | ||
+ | Removes all pending text messages from the GSM module. | ||
+ | |||
+ | Returns 0 for success and 255 for fail. | ||
+ | |||
+ | '''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''. | |
− | + | ||
− | + | 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. | |
− | + | ||
− | + | <span style="font-weight: normal;"><u>String Array Size</u></span> | |
− | + | ||
− | + | This property is of type ''Signed integer'' and can be referenced with the variable name ''string_size''. | |
− | + | ||
− | + | Amount of RAM memory to dedicate to receiving responces from the GSM | |
− | + | ||
− | + | <span style="font-weight: normal;"><u>Message Array Size</u></span> | |
− | + | ||
− | + | This property is of type ''Signed integer'' and can be referenced with the variable name ''message_size''. | |
− | + | ||
− | + | Amount of RAM memory to dedicate to storing the last SMS message received by the GSM. | |
− | + | ||
− | + | <span style="font-weight: normal;"><u>Script Count</u></span> | |
− | + | ||
− | + | This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''script_count''. | |
− | + | ||
− | + | Maximum number of scripts to store in the device's ROM | |
− | + | ||
− | + | <span style="font-weight: normal;"><u>Script1</u></span> | |
− | + | ||
− | + | This property is of type ''Multiple lines of text'' and can be referenced with the variable name ''script1''. | |
− | + | ||
− | + | ASCII based AT command data stored in ROM and used when sending script 1 | |
− | + | ||
− | + | <span style="font-weight: normal;"><u>Channel</u></span> | |
− | + | ||
− | + | This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_uart::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. | |
− | + | ||
− | + | <span style="font-weight: normal;"><u>TX</u></span> | |
− | + | ||
− | + | This property is of type ''Single digital pin'' and can be referenced with the variable name ''cal_uart::TX''. | |
− | + | ||
− | + | Pin to be used for Transmit data | |
− | + | ||
− | + | <span style="font-weight: normal;"><u>RX</u></span> | |
− | + | ||
− | + | This property is of type ''Single digital pin'' and can be referenced with the variable name ''cal_uart::RX''. | |
− | + | ||
− | + | Pin to be used for Receive data | |
− | + | ||
− | + | <span style="font-weight: normal;"><u>Use Flow Control</u></span> | |
− | + | ||
− | + | This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_uart::FLOWEN''. | |
− | + | ||
− | + | 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. | |
− | + | ||
− | + | <span style="font-weight: normal;"><u>Baud Options</u></span> | |
− | + | ||
− | + | This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_uart::BAUD_LIST''. | |
− | + | ||
− | + | Baud rate option selector | |
− | + | ||
− | + | <span style="font-weight: normal;"><u>Baud Rate</u></span> | |
− | + | ||
− | + | This property is of type ''Signed integer'' and can be referenced with the variable name ''cal_uart::BAUD''. | |
− | + | ||
− | + | ''<span style="color:red;">No additional information</span>'' | |
− | + | ||
− | + | ||
− | + | ||
− | + | <span style="font-weight: normal;"><u>Label</u></span> | |
− | + | ||
− | + | This property is of type ''Line of text'' and can be referenced with the variable name ''label''. | |
− | + | ||
− | + | Textual label shown on the component I/O flasher | |
− | + | ||
− | + | <span style="font-weight: normal;"><u>Scope Traces</u></span> | |
− | + | ||
− | + | This property is of type ''True or false'' and can be referenced with the variable name ''cal_uart::ScopeTraces''. | |
− | + | ||
− | + | 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. | ||
+ | |||
+ | <span style="font-weight: normal;"><u>Console Data</u></span> | ||
+ | |||
+ | This property is of type ''True or false'' and can be referenced with the variable name ''cal_uart::ConsoleData''. | ||
+ | |||
+ | Selects if the console data is automatically generated or not | ||
+ | |||
+ | <span style="font-weight: normal;"><u>Console Columns</u></span> | ||
+ | |||
+ | This property is of type ''Unsigned integer'' and can be referenced with the variable name ''cal_uart::ConsoleColumns''. | ||
+ | |||
+ | Number of characters that can be displayed on a single line of the console. | ||
+ | |||
+ | <span style="font-weight: normal;"><u>Data Source</u></span> | ||
+ | |||
+ | This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_uart::DataSource''. | ||
+ | |||
+ | 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 | ||
+ | |||
+ | Injector - Routes the communication data via a data injector component on the Panel. |
Revision as of 12:44, 26 August 2021
Author | Matrix Ltd. |
Version | 2.0 (Release) |
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.
Examples
GSM Example
Example should show the following on the display on the panel and on the hardware.
The AT injector component allows us to simulate the response of the GSM module.
Downloadable macro reference
DialNumber
Performs a standard voice call by dialling the number specified.
Returns 0 for call in progress and 255 for no response.
Parameters
- <- STRING Number
- This parameter may be returned back to the caller
Return value
GetTextString
Collects the text message data from an incoming text message.
Parameters
- BYTE NumBytes
Return value
SendString
Sends a string to the GSM module.
Parameters
- <- STRING Text
- This parameter may be returned back to the caller
Return value
- This call does not return a value
SendScript
Send an AT command script.
Returns 0 for fail, 1 for success and 255 for unrecognised script idx.
Parameters
- BYTE idx
Return value
AnswerIncomingCall
Answers the phone for an incoming type call.
Returns 0 for success and 255 for failure.
Parameters
- This macro has no parameters
Return value
SendCommand
Sends a command string to the GSM module.
0 = Command sent ok, 255 = No Reply
Parameters
- <- STRING Command
- This parameter may be returned back to the caller
- BYTE SendCR
Return value
GetTextNumber
Collects the sender's phone number from an incoming text message.
Parameters
- BYTE NumBytes
Return value
HangUpCall
Ends a voice based call.
Returns 0 for success and 255 for failure.
Parameters
- This macro has no parameters
Return value
ReadString
Copies the data from the data string array to a local string variable
Parameters
- BYTE NumBytes
Return value
SendTextMessage
Sends the text message data specified to the number specified using the SMS protocol.
Returns 0 for success and 255 for failure.
Parameters
- <- STRING Number
- This parameter may be returned back to the caller
- <- STRING Message
- This parameter may be returned back to the caller
Return value
StringReceive
Attempts to receive a string from the GSM modem.
Parameters
- This macro has no parameters
Return value
DeleteAllMessages
Removes all pending text messages from the GSM module.
Returns 0 for success and 255 for fail.
Parameters
- This macro has no parameters
Return value
CheckNetworkStatus
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
CheckForIncoming
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
Initialise
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
Simulation macro reference
This component does not contain any simulation macros
Property reference
Expect Echo
This property is of type True or false and can be referenced with the variable name 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.
String Array Size
This property is of type Signed integer and can be referenced with the variable name string_size.
Amount of RAM memory to dedicate to receiving responces from the GSM
Message Array Size
This property is of type Signed integer and can be referenced with the variable name message_size.
Amount of RAM memory to dedicate to storing the last SMS message received by the GSM.
Script Count
This property is of type Fixed list of ints and can be referenced with the variable name script_count.
Maximum number of scripts to store in the device's ROM
Script1
This property is of type Multiple lines of text and can be referenced with the variable name script1.
ASCII based AT command data stored in ROM and used when sending script 1
Channel
This property is of type Fixed list of ints and can be referenced with the variable name cal_uart::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.
TX
This property is of type Single digital pin and can be referenced with the variable name cal_uart::TX.
Pin to be used for Transmit data
RX
This property is of type Single digital pin and can be referenced with the variable name cal_uart::RX.
Pin to be used for Receive data
Use Flow Control
This property is of type Fixed list of ints and can be referenced with the variable name cal_uart::FLOWEN.
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.
Baud Options
This property is of type Fixed list of ints and can be referenced with the variable name cal_uart::BAUD_LIST.
Baud rate option selector
Baud Rate
This property is of type Signed integer and can be referenced with the variable name cal_uart::BAUD.
No additional information
Label
This property is of type Line of text and can be referenced with the variable name label.
Textual label shown on the component I/O flasher
Scope Traces
This property is of type True or false and can be referenced with the variable name cal_uart::ScopeTraces.
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.
Console Data
This property is of type True or false and can be referenced with the variable name cal_uart::ConsoleData.
Selects if the console data is automatically generated or not
Console Columns
This property is of type Unsigned integer and can be referenced with the variable name cal_uart::ConsoleColumns.
Number of characters that can be displayed on a single line of the console.
Data Source
This property is of type Fixed list of ints and can be referenced with the variable name cal_uart::DataSource.
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
Injector - Routes the communication data via a data injector component on the Panel.