# Neoway M590 (group) **Module:** **[Supported Modules](group__group__supported__modules.html)** **/** **[Neoway](group__group__neoway.html)** **/** **[Neoway M590](group__neoway__m590.html)** Manufacturer: Neoway. Models: M590. ## Connection Information - TCP sockets: - 2 - SSL is not supported - Socket Buffering: - The modem does **not** have an internal buffer for incoming data. - You must set the buffer size in this library to be larger than your largest expected incoming packet, or you will lose incoming data. - Socket Numbering: - The modem respects user-specified multiplexing channel numbers/identifiers for socket connections. **Todo**: [todo](todo.html#_todo000008) ## Supported Public Functions - [TinyGsmM590](class_tiny_gsm_m590.md) - GSM Modem Constructor - [TinyGsmM590(Stream& stream)](class_tiny_gsm_m590.md#a35a3b5f3e1ec80252cff2404a8fb6ba7) - Basic functions ([TinyGsmModem.tpp](_tiny_gsm_modem_8tpp.md)) - [begin(const char* pin=nullptr)](class_tiny_gsm_modem.md#ae4397a65939a770e478e29c718d13e59) - [init(const char* pin=nullptr)](class_tiny_gsm_modem.md#a27f7f71fb1a2008dc57f6d454564022c) - [sendAT(Args... cmd)](class_tiny_gsm_modem.md#afa190e606feb7831c86094577064d2e6) - [setBaud(uint32_t baud)](class_tiny_gsm_modem.md#a279bffb4e905f1150dadab726e8482f2) - [forceModemBaud(StreamObject& at_serial, uint32_t targetBaud)](class_tiny_gsm_modem.md#a0ff68001b77fed375db7e048bc5ab5f4) - [testAT(uint32_t timeout_ms=10000L)](class_tiny_gsm_modem.md#a5bfedec6b19edfbcbc0a5832fff7d603) - [waitResponse(uint32_t timeout_ms, String& data, GsmConstStr r1=GFP(ModemConfig::GSM_OK), GsmConstStr r2=GFP(ModemConfig::GSM_ERROR), GsmConstStr r3=nullptr, GsmConstStr r4=nullptr, GsmConstStr r5=nullptr, GsmConstStr r6=nullptr, GsmConstStr r7=nullptr, GsmConstStr r8=nullptr)](class_tiny_gsm_modem.md#a4416426fc61492fcb761139b85f1535b) - [waitResponse(uint32_t timeout_ms, GsmConstStr r1=GFP(ModemConfig::GSM_OK), GsmConstStr r2=GFP(ModemConfig::GSM_ERROR), GsmConstStr r3=nullptr, GsmConstStr r4=nullptr, GsmConstStr r5=nullptr, GsmConstStr r6=nullptr, GsmConstStr r7=nullptr, GsmConstStr r8=nullptr)](class_tiny_gsm_modem.md#a5d04ca30762417cd04f0df3b620b6df7) - [waitResponse(GsmConstStr r1=GFP(ModemConfig::GSM_OK), GsmConstStr r2=GFP(ModemConfig::GSM_ERROR), GsmConstStr r3=nullptr, GsmConstStr r4=nullptr, GsmConstStr r5=nullptr, GsmConstStr r6=nullptr, GsmConstStr r7=nullptr, GsmConstStr r8=nullptr)](class_tiny_gsm_modem.md#ac8849ac15a91800244750682561c3938) - [getConfiguredModem()](class_tiny_gsm_modem.md#a2f9a76aa8ef51867e560196a8261c170) - [getModemInfo()](class_tiny_gsm_modem.md#a587c942eefa8b4905da4cfaf79d04c53) - [getModemName()](class_tiny_gsm_modem.md#a500246b8d736f654ffd91db17664e42a) - [getModemManufacturer()](class_tiny_gsm_modem.md#a3bf0eb3d18cefc70a0277103719873aa) - [getModemModel()](class_tiny_gsm_modem.md#ae0ca787c0bb16776f3b326a899c39d4e) - [getModemRevision()](class_tiny_gsm_modem.md#a748dce8b32f1a5d4ca0f9bf9a5ea55a2) - [getModemSerialNumber()](class_tiny_gsm_modem.md#a3a13f308ec6beb7e2a270d1ece67978e) - [factoryDefault()](class_tiny_gsm_modem.md#a229a18e6a1226a51301ba3a41f75947d) - Power functions ([TinyGsmModem.tpp](_tiny_gsm_modem_8tpp.md)) - [restart(const char* pin=nullptr)](class_tiny_gsm_modem.md#a986567555e19bc82fc3f4f154f89de40) - [powerOff()](class_tiny_gsm_modem.md#ac6d0ce36377992e00b0d38c5cb1a9126) - [radioOff()](class_tiny_gsm_modem.md#a084efec47f33f71933c2084bf4c3fead) - [sleepEnable(bool enable=true)](class_tiny_gsm_modem.md#ae293a3c9ef0c55ce7dbc05a29dd5c3a7) - [setPhoneFunctionality(uint8_t fun, bool reset=false)](class_tiny_gsm_modem.md#a496f2e6fb026bea432f2f3d31b50d2be) - Generic network functions ([TinyGsmModem.tpp](_tiny_gsm_modem_8tpp.md)) - [getRegistrationStatus()](class_tiny_gsm_modem.md#a75286fdda3bb1672f1c88a06d010c04d) - [isNetworkConnected()](class_tiny_gsm_modem.md#ac6923f6667d67ec47e88a15d34d365fe) - [waitForNetwork(uint32_t timeout_ms=60000L, bool check_signal=false)](class_tiny_gsm_modem.md#a8cdad3a71c520124dd1d5aed16ee726b) - [getSignalQuality()](class_tiny_gsm_modem.md#a714c21a155a823bb32a7be87fde815bd) - [getLocalIP()](class_tiny_gsm_modem.md#a69cbe284005cf8831b0155f5ba721d87) - [localIP()](class_tiny_gsm_modem.md#ab6aae9d6513ea9496f79704367eeff44) - SIM card functions ([TinyGsmCellularData.tpp](_tiny_gsm_cellular_data_8tpp.md)) - [simUnlock(const char* pin)](class_tiny_gsm_cellular_data.md#a46b40b70163ca37dd1883f6e1bec7272) - [getSimCCID()](class_tiny_gsm_cellular_data.md#a2394167c2b2c642ace167c119c3deeb4) - [getIMEI()](class_tiny_gsm_cellular_data.md#a3f0b243a229a2aff6734338079d2e4e0) - [getIMSI()](class_tiny_gsm_cellular_data.md#a347b32fc42b5e83a9de8c1aed89f2b8f) - [getSimStatus(uint32_t timeout_ms=10000L)](class_tiny_gsm_cellular_data.md#aa8dce718093a53a8be05dd75958f721b) - Cellular data functions ([TinyGsmCellularData.tpp](_tiny_gsm_cellular_data_8tpp.md)) - [dataConnect(const char* apn, const char* user=nullptr, const char* pwd=nullptr)](class_tiny_gsm_cellular_data.md#a3f5c815c342ec843815275714f49ea38) - [dataDisconnect()](class_tiny_gsm_cellular_data.md#a9cd2d7200cca08f6c77c5d0d7ad23297) - [isDataConnected()](class_tiny_gsm_cellular_data.md#a1986a60dd0359e7f7fcc00714bb7b596) - [gprsConnect(const char* apn, const char* user=nullptr, const char* pwd=nullptr)](class_tiny_gsm_cellular_data.md#a5e70cb2c0089d90785b4fbacad7d9cc6) - [gprsDisconnect()](class_tiny_gsm_cellular_data.md#a9d9449ead109f7cd29c1f1a51b05262c) - [isGprsConnected()](class_tiny_gsm_cellular_data.md#a5320772696eee50a92607c08aeffe4f5) - [getOperator()](class_tiny_gsm_cellular_data.md#a9f2024e87d6ee10f9ba63ba2d3803d83) - Socket listening functions ([TinyGsmTCP.tpp](_tiny_gsm_t_c_p_8tpp.md)) - [maintain()](class_tiny_gsm_t_c_p.md#a35e2f8d26fd77dd0c217631b153d41bc) - Text messaging (SMS) functions ([TinyGsmSMS.tpp](_tiny_gsm_s_m_s_8tpp.md)) - [sendUSSD(const String& code)](class_tiny_gsm_s_m_s.md#a0d0e6c715e06650381620ec1417edcfd) - [sendSMS(const String& number, const String& text)](class_tiny_gsm_s_m_s.md#afbbd31f4c58b16319bef3e3b9e42b5dd) - [sendSMS_UTF16(const char* const number, const void* text, size_t len)](class_tiny_gsm_s_m_s.md#a430127e129d6fb41b643a0364deca94b) - Time functions ([TinyGsmTime.tpp](_tiny_gsm_time_8tpp.md)) - [getGSMDateTime(TinyGSMDateTimeFormat format)](class_tiny_gsm_time.md#adaaa4aba622ee5d874fcc2abc6109e84) - [getNetworkTime(int* year, int* month, int* day, int* hour, int* minute, int* second, float* timezone)](class_tiny_gsm_time.md#a68d9baf6ba1f006441b3d71e5e058cdb) - [getNetworkEpoch(TinyGSM_EpochStart epoch=TinyGSM_EpochStart::UNIX)](class_tiny_gsm_time.md#a96cf8b52cd88938c4211d17de826376e) - Utilities ([TinyGsmModem.tpp](_tiny_gsm_modem_8tpp.md)) - [streamPrint(T last)](class_tiny_gsm_modem.md#a03866a35c711956553c8acf7fd84aed4) - [streamPrint(T head, Args... tail)](class_tiny_gsm_modem.md#a571ab0adb68e9ccf086d93d13f8fa9f3) - [streamWrite(const char* data, uint16_t len)](class_tiny_gsm_modem.md#a2c3e4abbc6c1b8550bb216bc05dbc1e5) - [streamWrite(GsmConstStr data, uint16_t len)](class_tiny_gsm_modem.md#a2c3e4abbc6c1b8550bb216bc05dbc1e5) - [streamClear()](class_tiny_gsm_modem.md#a7879aad8a0f9def7cd8d7450800b2d64) - [streamDump(int16_t expected_len)](class_tiny_gsm_modem.md#a20ccc061bab4e038a8800c244e761ecd) - [GsmClientM590](class_tiny_gsm_m590_1_1_gsm_client_m590.md) - Client constructors and initialization - [GsmClientM590()](class_tiny_gsm_m590_1_1_gsm_client_m590.md#ad1808b1c21a23ba60905ae58115b8cb5) - [GsmClientM590(TinyGsmM590& modem, uint8_t mux=0)](class_tiny_gsm_m590_1_1_gsm_client_m590.md#a585a7340a9fcc826fbad9d6f54830c95) - [init(TinyGsmM590* modem, uint8_t mux=0)](class_tiny_gsm_m590_1_1_gsm_client_m590.md#a5bea986ac314c7fb6a561c2aab34abab) - Arduino Client interface ([TinyGsmTCP.tpp](_tiny_gsm_t_c_p_8tpp.md)) - [connect(const char* host, uint16_t port, int timeout_s)](class_gsm_client.md#ac3343dcdf3ba62f63aeb3b0775e4a93a) - [connect(IPAddress ip, uint16_t port, int timeout_s)](class_gsm_client.md#aec4d4702d5652a7ccce867f0dcb1fd29) - [connect(const char* host, uint16_t port)](class_gsm_client.md#a6e86eac67796044a92dba6695e2f6f9f) - [connect(IPAddress ip, uint16_t port)](class_gsm_client.md#a19fa0b322c6fb17a1d0de28d747222ec) - [stop(uint32_t maxWaitMs)](class_gsm_client.md#a138ad35447383cc62d99c037743e4210) - [stop()](class_gsm_client.md#acac60bc3c9cb1e7d58e2b13833e4c720) - [write(const uint8_t* buf, size_t size)](class_gsm_client.md#a528d5a4c7d75a6951ec236b7b46fcedb) - [write(uint8_t c)](class_gsm_client.md#a3afda0b395cdc163a542915c90c3647b) - [available()](class_gsm_client.md#a5327499ee49bd0f7ca6ea292de7fe492) - [read(uint8_t* buf, size_t size)](class_gsm_client.md#a2cd9c417964981283684cdea7ac7d3c2) - [read()](class_gsm_client.md#af3b9f9b2908979e751098c222fc655d4) - [peek()](class_gsm_client.md#aa684170a2aa623822ccc3d428568913e) - [flush()](class_gsm_client.md#ad7f9b8cf52f29a390fafc3003f1ecd99) - [connected()](class_gsm_client.md#a5eb01b0909582692e00b07c41ec7bd22) - Extended Client API ([TinyGsmTCP.tpp](_tiny_gsm_t_c_p_8tpp.md)) - [getMux()](class_gsm_client.md#a9dc458d3a5eced0cfecdbdc72e06d6c0) - [getConnectionID()](class_gsm_client.md#a198f6e1698d43841c3a1ab287bca914d) - [beginWrite(uint16_t size)](class_gsm_client.md#a3faf91fd6a17294a5915ce57ac5bdc0d) - [endWrite(uint16_t expected_size=0)](class_gsm_client.md#a36e18c3adb596ab7d299796e658f42a5) ## Classes | | Name | | --- | --- | | struct | **TinyGsmM590ModemConfig** | | struct | **TinyGsmM590TcpConfig** | | class | **TinyGsmM590** | | class | **TinyGsmM590::GsmClientM590** | ## Types | | Name | | --- | --- | | enum class | [M590RegStatus](#ga0489bf124b54370a8518222912d9e6ea) { REG_NO_RESULT = -1, REG_UNREGISTERED = 0, REG_SEARCHING = 3, REG_DENIED = 2, REG_OK_HOME = 1, REG_OK_ROAMING = 5, REG_UNKNOWN = 4 }
Neoway M590 Registration status. | ### M590RegStatus ​ | Enumerator | Value | Description | | --- | --- | --- | | ​REG_NO_RESULT | -1 | No result yet. | | ​REG_UNREGISTERED | 0 | Not registered. | | ​REG_SEARCHING | 3 | Searching for network. | | ​REG_DENIED | 2 | Registration denied. | | ​REG_OK_HOME | 1 | Registered, home network. | | ​REG_OK_ROAMING | 5 | Registered, roaming. | | ​REG_UNKNOWN | 4 | Unknown registration status. | > [!TIP] > The Neoway M590 uses different numbers for registration status than most other modules. --- Generated by [Doxygen](https://www.doxygen.nl) and [m.css](https://mcss.mosra.cz/) with templates from [doxybook2](https://github.com/matusnovak/doxybook2)