Mistake on this page?
Report an issue in GitHub or email us
QUECTEL_BG96.h
1 /*
2  * Copyright (c) 2017, Arm Limited and affiliates.
3  * SPDX-License-Identifier: Apache-2.0
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
18 #ifndef QUECTEL_BG96_H_
19 #define QUECTEL_BG96_H_
20 
21 #ifdef TARGET_FF_ARDUINO
22 #ifndef MBED_CONF_QUECTEL_BG96_TX
23 #define MBED_CONF_QUECTEL_BG96_TX D1
24 #endif
25 #ifndef MBED_CONF_QUECTEL_BG96_RX
26 #define MBED_CONF_QUECTEL_BG96_RX D0
27 #endif
28 #endif /* TARGET_FF_ARDUINO */
29 
30 #include <chrono>
31 #include "DigitalOut.h"
32 #include "AT_CellularDevice.h"
33 
34 namespace mbed {
35 
37 public:
38  QUECTEL_BG96(FileHandle *fh, PinName pwr = NC, bool active_high = true, PinName rst = NC);
39 
40 protected: // AT_CellularDevice
42  virtual AT_CellularContext *create_context_impl(ATHandler &at, const char *apn, bool cp_req = false, bool nonip_req = false);
44  virtual void set_ready_cb(Callback<void()> callback);
45  virtual nsapi_error_t soft_power_on();
46  virtual nsapi_error_t soft_power_off();
47  virtual void set_at_urcs_impl();
48 
49 public:
50  void handle_urc(FileHandle *fh);
51 
52 private:
53  void press_button(DigitalOut &button, std::chrono::duration<uint32_t, std::milli> timeout);
54  bool wake_up(bool reset = false);
55  bool _active_high;
56  DigitalOut _pwr;
57  DigitalOut _rst;
58  void urc_pdpdeact();
59 };
60 } // namespace mbed
61 #endif // QUECTEL_BG96_H_
virtual AT_CellularInformation * open_information_impl(ATHandler &at)
Create new instance of AT_CellularInformation or if overridden, modem specific implementation.
signed int nsapi_error_t
Type used to represent error codes.
Definition: nsapi_types.h:95
Class FileHandle.
Definition: FileHandle.h:46
Callback< R(ArgTs...)> callback(R(*func)(ArgTs...)=nullptr) noexcept
Create a callback class with type inferred from the arguments.
Definition: Callback.h:678
virtual AT_CellularContext * create_context_impl(ATHandler &at, const char *apn, bool cp_req=false, bool nonip_req=false)
Creates new instance of AT_CellularContext or if overridden, modem specific implementation.
virtual void set_ready_cb(Callback< void()> callback)
Set callback function to listen when device is ready.
Class AT_CellularInformation.
virtual nsapi_error_t soft_power_off()
Powers down the modem.
virtual AT_CellularNetwork * open_network_impl(ATHandler &at)
Create new instance of AT_CellularNetwork or if overridden, modem specific implementation.
virtual nsapi_error_t soft_power_on()
Powers up the modem.
Class AT_CellularDevice.
A digital output, used for setting the state of a pin.
Definition: DigitalOut.h:49
Class AT_CellularNetwork.
Callback class based on template specialization.
Definition: Callback.h:53
Definition: ATHandler.h:46
Class for sending AT commands and parsing AT responses.
Definition: ATHandler.h:70
Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.