/*
 * Copyright (C) 2011 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0
 *
 * 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.
 */

package android.hardware;

import android.annotation.SystemService;
import android.content.Context;
import android.os.ParcelFileDescriptor;
import android.os.RemoteException;

import java.io.IOException;

@hide
/** * @hide */
@SystemService(Context.SERIAL_SERVICE) public class SerialManager { private static final String TAG = "SerialManager"; private final Context mContext; private final ISerialManager mService;
{@hide}
/** * {@hide} */
public SerialManager(Context context, ISerialManager service) { mContext = context; mService = service; }
Returns a string array containing the names of available serial ports
Returns:names of available serial ports
/** * Returns a string array containing the names of available serial ports * * @return names of available serial ports */
public String[] getSerialPorts() { try { return mService.getSerialPorts(); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } }
Opens and returns the SerialPort with the given name. The speed of the serial port must be one of: 50, 75, 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400, 460800, 500000, 576000, 921600, 1000000, 1152000, 1500000, 2000000, 2500000, 3000000, 3500000 or 4000000
Params:
  • name – of the serial port
  • speed – at which to open the serial port
Returns:the serial port
/** * Opens and returns the {@link android.hardware.SerialPort} with the given name. * The speed of the serial port must be one of: * 50, 75, 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600, * 19200, 38400, 57600, 115200, 230400, 460800, 500000, 576000, 921600, 1000000, 1152000, * 1500000, 2000000, 2500000, 3000000, 3500000 or 4000000 * * @param name of the serial port * @param speed at which to open the serial port * @return the serial port */
public SerialPort openSerialPort(String name, int speed) throws IOException { try { ParcelFileDescriptor pfd = mService.openSerialPort(name); if (pfd != null) { SerialPort port = new SerialPort(name); port.open(pfd, speed); return port; } else { throw new IOException("Could not open serial port " + name); } } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } } }