BA / Mbed OS BaBoRo1
Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers TELIT_HE910_CellularPower.cpp Source File

TELIT_HE910_CellularPower.cpp

00001 /*
00002  * Copyright (c) 2017, Arm Limited and affiliates.
00003  * SPDX-License-Identifier: Apache-2.0
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *     http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #include "TELIT_HE910_CellularPower.h"
00019 // for modem powering up&down
00020 #include "onboard_modem_api.h"
00021 
00022 using namespace mbed;
00023 
00024 TELIT_HE910_CellularPower::TELIT_HE910_CellularPower(ATHandler &atHandler) : AT_CellularPower(atHandler)
00025 {
00026 
00027 }
00028 
00029 TELIT_HE910_CellularPower::~TELIT_HE910_CellularPower()
00030 {
00031 
00032 }
00033 
00034 nsapi_error_t TELIT_HE910_CellularPower::on()
00035 {
00036 #if MODEM_ON_BOARD
00037     ::onboard_modem_init();
00038     ::onboard_modem_power_up();
00039 #endif
00040     return NSAPI_ERROR_OK ;
00041 }
00042 
00043 nsapi_error_t TELIT_HE910_CellularPower::off()
00044 {
00045 #if MODEM_ON_BOARD
00046     ::onboard_modem_power_down();
00047 #endif
00048     return NSAPI_ERROR_OK ;
00049 }
00050 
00051 /**
00052  * Set AT command mode.
00053  * @remark must be called after power on to prepare correct AT mode
00054  * @return blocking until success or failure
00055  */
00056 nsapi_error_t TELIT_HE910_CellularPower::set_at_mode()
00057 {
00058     nsapi_error_t err = AT_CellularPower::set_at_mode();
00059     if (err != NSAPI_ERROR_OK ) {
00060         return err;
00061     }
00062     _at.lock();
00063     _at.cmd_start("AT&K0;&C1;&D0");
00064     _at.cmd_stop();
00065     _at.resp_start();
00066     _at.resp_stop();
00067 
00068     return _at.unlock_return_error();
00069 }