Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ReadSMS PDU (working) and readSMS from szotsaki but not working with SIM800L Revision:1418B05SIM800L24 #545

Open
wants to merge 46 commits into
base: master
Choose a base branch
from

Conversation

pnb990
Copy link

@pnb990 pnb990 commented May 24, 2021

No description provided.

Placing "MessageStorageType" to SIM800.h (and not in Common.h) because
type set isn't the same between SIMComs's implementation and
3GPP TS 27.005 V9.0.0 (p. 32).
AT+CMGDA is a SIMCom AT extension, therefore its control structure
goes into SIM800.h file.
AT+CMGF and AT+CSDH work only when SIM is inserted. Otherwise they return
with ERROR.

* One second delay is needed for the modem to initialise SIM card properly for
  CMGF. Otherwise the following error message is printed: "CME ERROR: SIM busy".
* CSDH needs the SMS subsystem to be initialised. Before this the following error
  message is printed: "CMS ERROR: operation not allowed".

SMS subsystem init requires more time than 1 second (about 5 seconds) so this is why
we only have one waitResponse() call and not an other delay() with 1 second.
A recent SIM card can hold up to 20 SMS messages and a SIM800C an
additional 50, so a total of 70 is way below of uint8_t's 255.
CLIP: Calling Line Identification Presentation

It's worth knowing who is calling besides we are being called on.
SIM MSISDN and FDN ("ON" and "FD" storage types) are deliberately
not handled since they are rarely used and for the latter PUK2 input
handling is also needed.
SIM MSISDN and FDN ("ON" and "FD" storage types) are deliberately
not handled since they are rarely used and for the latter PUK2 input
handling is also needed.
Special GSM characters which needed to be escaped (double quote,
backslash, bell, and GSM NULL) are not handled since they are rare
and would require more program space.
Special GSM characters which needed to be escaped (double quote,
backslash, bell, and GSM NULL) are not handled since they are rare
and would require more program space.
TINY_GSM_PHONEBOOK_RESULTS can be overridden by the user
Also provide a function which changes between character sets to
avoid duplication and reduce code size.
Extending with phonebook-related information
According to documentation ATH max response time is 20 seconds.
ffontaine and others added 11 commits April 28, 2021 21:28
Use data mode instead of text mode to be able to send any content such
as raw binary. This will allow us to use TinyGSM with ArduinoBearSSL and
ArduinoMqtt.

It should be noted that for an unclear reason GSM_NL must be set to '\n'
instead of '\r\n' to avoid "CME ERROR: operation not supported" in this
mode with the Monarch GMS01Q.

Signed-off-by: Fabrice Fontaine <fabrice.fontaine@orange.com>
…aki_master

* remotes/szotsaki/master: (26 commits)
  Do not require a C++14 feature (since it's not yet enabled in Arduino platform)
  Adapt README file to the current upstream/master
  Add NETLIGHT control support for SIM800 series
  Add an optional parameter to callNumber() how much time it should block
  Adjust ATH waiting time
  Update README.md
  Update README.md
  Extend README
  Adding TINY_GSM_NO_GPRS guards to save space
  Documentation fix
  Change all phonebook-related functions to GSM alphabet
  Implement search in phonebook function
  Implement function for reading a phonebook entry
  Implement functions for adding and removing phonebook entries
  Implement functions for adding and removing phonebook entries
  Add phonebook storage selector and getter functions for SIM800
  Add phonebook storage selector and getter functions for SIM800
  Add function to turn on CLIP unsolicited messages on incoming calls
  Cut back SMS indices to 0..255
  Issue CMGF and CSDH only when SIM inserted and add delay
  ...
* remotes/origin/tmp/szotsaki_master: (26 commits)
  Do not require a C++14 feature (since it's not yet enabled in Arduino platform)
  Adapt README file to the current upstream/master
  Add NETLIGHT control support for SIM800 series
  Add an optional parameter to callNumber() how much time it should block
  Adjust ATH waiting time
  Update README.md
  Update README.md
  Extend README
  Adding TINY_GSM_NO_GPRS guards to save space
  Documentation fix
  Change all phonebook-related functions to GSM alphabet
  Implement search in phonebook function
  Implement function for reading a phonebook entry
  Implement functions for adding and removing phonebook entries
  Implement functions for adding and removing phonebook entries
  Add phonebook storage selector and getter functions for SIM800
  Add phonebook storage selector and getter functions for SIM800
  Add function to turn on CLIP unsolicited messages on incoming calls
  Cut back SMS indices to 0..255
  Issue CMGF and CSDH only when SIM inserted and add delay
  ...
Add ReadSMSPDU (ok) you can use https://github.com/mehul-m-prajapati/gsm-pdu-decoder to decode it
Add ReadSMSTEXT (not working upto now)
TinyGsmClientSequansMonarch.h: use data mode
Signed-off-by: Sara Damiano <sdamiano@stroudcenter.org>
* 'master' of github.com:pnb990/TinyGSM: (31 commits)
  Add streamGetAtValue Add ReadSMSPDU (ok) you can use https://github.com/mehul-m-prajapati/gsm-pdu-decoder to decode it Add ReadSMSTEXT (not working upto now)
  backup
  fix missing }
  ignore vim temp file
  Add charset Option in sendSMS function
  Do not require a C++14 feature (since it's not yet enabled in Arduino platform)
  Adapt README file to the current upstream/master
  Add NETLIGHT control support for SIM800 series
  Add an optional parameter to callNumber() how much time it should block
  Adjust ATH waiting time
  Update README.md
  Update README.md
  Extend README
  Adding TINY_GSM_NO_GPRS guards to save space
  Documentation fix
  Change all phonebook-related functions to GSM alphabet
  Implement search in phonebook function
  Implement function for reading a phonebook entry
  Implement functions for adding and removing phonebook entries
  Implement functions for adding and removing phonebook entries
  ...
@garudaonekh
Copy link

Example on how to use the read sms feature please. I can't get the receiveNewSMSIndication to work properly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants