diff --git a/Source/Meadow.Contracts/Enums/CellModemType.cs b/Source/Meadow.Contracts/Enums/CellModemType.cs new file mode 100644 index 00000000..054c1db8 --- /dev/null +++ b/Source/Meadow.Contracts/Enums/CellModemType.cs @@ -0,0 +1,20 @@ +namespace Meadow; + +/// +/// Type of Cell Modem. +/// +public enum CellModemType +{ + /// + /// LTE cell modem BG95 manufactured by Quectel + /// + Bg95, + /// + /// GSM cell modem M95 manufactured by Quectel + /// + M95, + /// + /// LTE cell modem EG21BL manufactured by Quectel + /// + Eg21gl, +}; \ No newline at end of file diff --git a/Source/Meadow.Contracts/Hardware/Networking/ICellNetworkAdapter.cs b/Source/Meadow.Contracts/Hardware/Networking/ICellNetworkAdapter.cs index 4bc2659f..ac9d9c43 100644 --- a/Source/Meadow.Contracts/Hardware/Networking/ICellNetworkAdapter.cs +++ b/Source/Meadow.Contracts/Hardware/Networking/ICellNetworkAdapter.cs @@ -61,4 +61,11 @@ public interface ICellNetworkAdapter : INetworkAdapter /// The GNSS scan timeout duration in seconds. /// A string containing combined output from GNSS-related AT commands, including NMEA sentences. string FetchGnssAtCmdsOutput(IGnssResult[] resultTypes, int timeout = gnssFixTimeoutInSeconds); + + /// + /// Enable the modem to communicate through serial (COM1 or COM4). + /// + /// Output pin connected to PWRKEY. + /// The type of modem model ported. + public void EnableModem(IPin pin, CellModemType modem); } \ No newline at end of file