Knight KE / Mbed OS Game_Master
Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers TELIT_HE910.cpp Source File

TELIT_HE910.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.h"
00019 #include "TELIT_HE910_CellularPower.h"
00020 #include "TELIT_HE910_CellularNetwork.h"
00021 
00022 using namespace mbed;
00023 using namespace events;
00024 
00025 static const AT_CellularBase::SupportedFeature unsupported_features[] =  {
00026     AT_CellularBase::AT_CGSN_WITH_TYPE, // HE910/UE910/UL865/UE866 AT Commands Reference Guide Rev. 11-2006-10-14
00027     AT_CellularBase::SUPPORTED_FEATURE_END_MARK
00028 };
00029 
00030 TELIT_HE910::TELIT_HE910(EventQueue &queue) : AT_CellularDevice(queue)
00031 {
00032     AT_CellularBase::set_unsupported_features(unsupported_features);
00033 }
00034 
00035 TELIT_HE910::~TELIT_HE910()
00036 {
00037 }
00038 
00039 CellularPower *TELIT_HE910::open_power(FileHandle *fh)
00040 {
00041     if (!_power) {
00042         ATHandler *atHandler = get_at_handler(fh);
00043         if (atHandler) {
00044             _power = new TELIT_HE910_CellularPower(*atHandler);
00045             if (!_power) {
00046                 release_at_handler(atHandler);
00047             }
00048         }
00049     }
00050     return _power;
00051 }
00052 
00053 CellularNetwork *TELIT_HE910::open_network(FileHandle *fh)
00054 {
00055     if (!_network) {
00056         ATHandler *atHandler = get_at_handler(fh);
00057         if (atHandler) {
00058             _network = new TELIT_HE910_CellularNetwork(*atHandler);
00059             if (!_network) {
00060                 release_at_handler(atHandler);
00061             }
00062         }
00063     }
00064     return _network;
00065 }
00066 
00067 uint16_t TELIT_HE910::get_send_delay()
00068 {
00069     return DEFAULT_DELAY_BETWEEN_AT_COMMANDS;
00070 }
00071