aboutsummaryrefslogtreecommitdiff
path: root/src/mm-serial-parsers.h
AgeCommit message (Collapse)Author
2025-05-22serial-parsers,port-serial-at: move echo removal into serial parserDan Williams
Mainly because we need somewhere to stash the call end regex, and it's silly to have a 3rd instance of that in MMPortSerialAt when we already have one in the serial parsers that MMPortSerialAt relies on pretty heavily. Signed-off-by: Dan Williams <dan@ioncontrol.co>
2020-04-08serial-parsers: port to use object loggingAleksander Morgado
2013-04-04serial-parsers: allow specifying a custom response filterAleksander Morgado
The serial parser will now allow specifying a custom user-provided filter, which is applied before even trying to match successful/error responses. This filter provides a very early barrier to detect strings that are clearly not going to match. E.g. this filter may be used during port probing to early detect non-AT ports.
2012-03-16serial-parsers: new method to check if a given error was set by the parserAleksander Morgado
2012-03-16serial-parsers: remove v0 and v1_e1 parsers, which are unusedAleksander Morgado
Given that we now perform our own built-in echo removal in the v1 parser, we no longer need the v1_e1 parser. The v0 parser was also unused from long ago.
2011-04-06serial: allow user to provide custom regex for successful and error repliesAleksander Morgado
New mm_serial_parser_v1_set_custom_regex() method.
2009-08-06license: add license header to all files and set copyright based on git logAlexander Sack
2009-04-02Implement 'V1 E1' parser to work with modems which refuse to turn their echo ↵Tambet Ingo
off.
2008-09-17Finish the non-verbose (V0) mode parser.Tambet Ingo
2008-09-11Rewrite serial device communications.Tambet Ingo
Instead of vague "send something, wait something" the responses are now analyzed by (overridable) parsers. Makes all the modem implementations much easier since each caller knows without any code whether the call succeeded or failed. Another thing that makes modem code simpler (and the whole thing more robust), is the queueing of sent commands. Each queued command has a command and a callback which is quaranteed to get called, even if sending failed. Define and implement error reporting.