ci_ctl_qtel.py 2.05 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
# * contributor license agreements.  See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
# * the OAI Public License, Version 1.1  (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
# *      http://www.openairinterface.org/?page_id=698
# *
# * Unless required by applicable law or agreed to in writing, software
# * distributed under the License is distributed on an "AS IS" BASIS,
# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# * See the License for the specific language governing permissions and
# * limitations under the License.
# *-------------------------------------------------------------------------------
# * For more information about the OpenAirInterface (OAI) Software Alliance:
# *      contact@openairinterface.org
# */
#---------------------------------------------------------------------
#
#   Required Python Version
#     Python 3.x
#
#---------------------------------------------------------------------



import sys
import time
import serial


class qtel_ctl:
    def __init__(self, usb_port_at):
        self.QUECTEL_USB_PORT_AT = usb_port_at #'/dev/ttyUSB2'
        self.modem = serial.Serial(self.QUECTEL_USB_PORT_AT, timeout=1)
Remi Hardy's avatar
Remi Hardy committed
38
        self.cmd_dict= {"wup": self.wup,"detach":self.detach}
39 40 41 42 43 44 45 46 47 48 49

    def __set_modem_state(self,ser,state):
	    self.__send_command(ser,"AT+CFUN={}\r".format(state))

    def __send_command(self,ser,com):
        if ser.inWaiting() > 0:
            ser.flushInput()
        ser.write(com.encode())


    def wup(self):
Remi Hardy's avatar
Remi Hardy committed
50
        self.__set_modem_state(self.modem,0)
51
        time.sleep(3)
Remi Hardy's avatar
Remi Hardy committed
52
        self.__set_modem_state(self.modem,1)
53 54

    def detach(self):
Remi Hardy's avatar
Remi Hardy committed
55
        self.__set_modem_state(self.modem,0)
56 57 58 59 60 61 62 63




if __name__ == "__main__":
    command = sys.argv[2]
    Module=qtel_ctl(sys.argv[1])
    Module.cmd_dict[command]()