synit/protocols/schemas/hayes.prs

31 lines
1.4 KiB
Plaintext

version 1 .
# Definitions for the internal workings of the Hayes modem driver.
# Assertion. Declares presence of a Hayes modem.
ModemPresent = <modem =hayes @devicePath string @dataspace #:InternalProtocol> .
# TODO not yet properly specified
InternalProtocol = any .
# Message. Sent when the modem sends us a "URC", an Unsolicited Result Code.
UnsolicitedResultCode = <unsolicited @result Result> .
# Assertion. Asks the modem to execute the given command.
CommandRPC = <execute-command @commandText string @replyTo #:CommandResult> .
# Message. Asks the modem to execute the given command, but not to send back the reply.
CommandEvent = <execute-command @commandText string> .
# Assertion. Describes the result of a command execution.
CommandResult = <command-result @commandText string @results [Result ...] @finalResult string> .
@<examples [
<unsolicited <result "NO CARRIER" #f #f>>
<unsolicited <result "+CRING: VOICE" "CRING" ["VOICE"]>>
<unsolicited <result "+CLIP: \"+31655555555\",145,,,,0" "CLIP" ["+31655555555" "145" "" "" "" "0"]>>
<unsolicited <result "^DSCI: 2,1,4,0,+31655555555,145" "DSCI" ["2" "1" "4" "0" "+31655555555" "145"]>>
<unsolicited <result "+QIND: \"csq\",12,99" "QIND" ["csq" "12" "99"]>>
]>
Result = <result @text string @tag MaybeString @fields MaybeStrings> .
MaybeString = @present string / @absent #f .
MaybeStrings = @present [string ...] / @absent #f .