• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java RxtxDeviceAddress类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中io.netty.channel.rxtx.RxtxDeviceAddress的典型用法代码示例。如果您正苦于以下问题:Java RxtxDeviceAddress类的具体用法?Java RxtxDeviceAddress怎么用?Java RxtxDeviceAddress使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



RxtxDeviceAddress类属于io.netty.channel.rxtx包,在下文中一共展示了RxtxDeviceAddress类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: connect

import io.netty.channel.rxtx.RxtxDeviceAddress; //导入依赖的package包/类
/**
 * Connect to the rowing computer.
 *
 * @param address The serial port, must not be null.
 *
 * @throws IOException If connect fails.
 */
public void connect(RxtxDeviceAddress address) throws IOException {
    requireNonNull(address);

    lock.lock();

    try {

        if (isConnected())
            throw new IOException("Service is already connected! Can not connect.");

        Log.debug(LIBRARY, "Opening RXTX channel at '" + address.value() + "' connection.");
        communicationService.open(address);

    } finally {
        lock.unlock();
    }
}
 
开发者ID:tbressler,项目名称:waterrower-core,代码行数:25,代码来源:WaterRowerConnector.java


示例2: main

import io.netty.channel.rxtx.RxtxDeviceAddress; //导入依赖的package包/类
public static void main(String[] args) throws Exception {
    EventLoopGroup group = new OioEventLoopGroup();
    try {
        Bootstrap b = new Bootstrap();
        b.group(group)
         .channel(RxtxChannel.class)
         .handler(new ChannelInitializer<RxtxChannel>() {
             @Override
             public void initChannel(RxtxChannel ch) throws Exception {
                 ch.pipeline().addLast(
                     new LineBasedFrameDecoder(32768),
                     new StringEncoder(),
                     new StringDecoder(),
                     new RxtxClientHandler()
                 );
             }
         });

        ChannelFuture f = b.connect(new RxtxDeviceAddress(PORT)).sync();

        f.channel().closeFuture().sync();
    } finally {
        group.shutdownGracefully();
    }
}
 
开发者ID:cowthan,项目名称:JavaAyo,代码行数:26,代码来源:RxtxClient.java


示例3: main

import io.netty.channel.rxtx.RxtxDeviceAddress; //导入依赖的package包/类
public static void main(String[] args) throws Exception {
    EventLoopGroup group = new OioEventLoopGroup();
    try {
        Bootstrap b = new Bootstrap();
        b.group(group)
                .channel(RxtxChannel.class)
                .handler(new ChannelInitializer<RxtxChannel>() {
                    @Override
                    public void initChannel(RxtxChannel ch) throws Exception {
                        ch.pipeline().addLast(
                                new LineBasedFrameDecoder(32768),
                                new StringEncoder(),
                                new StringDecoder(),
                                new RxtxClientHandler()
                        );
                    }
                });

        ChannelFuture f = b.connect(new RxtxDeviceAddress(PORT)).sync();

        f.channel().closeFuture().sync();
    } finally {
        group.shutdownGracefully();
    }
}
 
开发者ID:edgar615,项目名称:javase-study,代码行数:26,代码来源:RxtxClient.java


示例4: main

import io.netty.channel.rxtx.RxtxDeviceAddress; //导入依赖的package包/类
public static void main(String[] args) throws Exception {
    EventLoopGroup group = new OioEventLoopGroup();
    try {
        Bootstrap b = new Bootstrap();
        b.group(group)
         .channel(RxtxChannel.class)
         .handler(new ChannelInitializer<RxtxChannel>() {
             @Override
             public void initChannel(RxtxChannel ch) throws Exception {
                 ch.pipeline().addLast(
                     new LineBasedFrameDecoder(32768),
                     new StringEncoder(),
                     new StringDecoder(),
                     new RxtxClientHandler()
                 );
             }
         });

        ChannelFuture f = b.connect(new RxtxDeviceAddress("/dev/ttyUSB0")).sync();

        f.channel().closeFuture().sync();
    } finally {
        group.shutdownGracefully();
    }
}
 
开发者ID:kyle-liu,项目名称:netty4study,代码行数:26,代码来源:RxtxClient.java


示例5: connect

import io.netty.channel.rxtx.RxtxDeviceAddress; //导入依赖的package包/类
/**
 * Connect to the rowing computer.
 *
 * @param address The serial port, must not be null.
 *
 * @throws IOException If connect fails.
 */
public void connect(RxtxDeviceAddress address) throws IOException {
    Log.debug(LIBRARY, "Connecting...");

    if (connector.isConnected())
        throw new IOException("Already connected! Can not connect again.");
    connector.connect(requireNonNull(address));
}
 
开发者ID:tbressler,项目名称:waterrower-core,代码行数:15,代码来源:WaterRower.java


示例6: open

import io.netty.channel.rxtx.RxtxDeviceAddress; //导入依赖的package包/类
/**
 * Opens the connection to the given serial port.
 *
 * @param address The serial port, must not be null.
 * @throws IOException if opening of the channel fails.
 */
public void open(RxtxDeviceAddress address) throws IOException {
    requireNonNull(address);

    lock.lock();

    try {

        checkIfChannelIsClose();

        Log.debug(SERIAL, "Opening channel at serial port '" + address.value() + "'.");

        ChannelFuture future = bootstrap.connect(address).syncUninterruptibly();
        if (!future.isSuccess()) {
            fireOnError();
            throw new IOException("Serial channel couldn't be opened!");
        }

        Log.debug(SERIAL, "Serial channel was successfully opened.");

        currentChannel = future.channel();

    } catch (Exception e) {
        throw new IOException("Can not connect to '"+address.value()+"'!", e);
    } finally {
        lock.unlock();
    }
}
 
开发者ID:tbressler,项目名称:waterrower-core,代码行数:34,代码来源:RxtxCommunicationService.java


示例7: tryNextConnectionAttempt

import io.netty.channel.rxtx.RxtxDeviceAddress; //导入依赖的package包/类
private void tryNextConnectionAttempt() {
    lock.lock();

    try {

        if (!isActive.get())
            return;

        // If no ports are available anymore, update list of ports.
        if (availablePorts.empty())
            updateAvailablePorts();

        if (availablePorts.empty()) {
            // Still no serial ports available!
            Log.warn(AUTO_DISCOVERY, "Currently no serial ports available! Trying again in "+TRY_AGAIN_INTERVAL.getSeconds()+" second(s)...");
            executorService.schedule(this::tryNextConnectionAttempt, TRY_AGAIN_INTERVAL.getSeconds(), SECONDS);
            return;
        }

        RxtxDeviceAddress address = availablePorts.pop();
        currentSerialPort = address.value();

        Log.debug(AUTO_DISCOVERY, "Auto-connecting serial port '"+address.value()+"'.");

        waterRower.connect(address);

    } catch (IOException e) {
        Log.error("Couldn't connect, due to errors! Trying next port.", e);
        executorService.schedule(this::tryNextConnectionAttempt, TRY_AGAIN_INTERVAL.getSeconds(), SECONDS);
    } finally {
        lock.unlock();
    }
}
 
开发者ID:tbressler,项目名称:waterrower-workout,代码行数:34,代码来源:WaterRowerAutoDiscovery.java


示例8: updateAvailablePorts

import io.netty.channel.rxtx.RxtxDeviceAddress; //导入依赖的package包/类
private void updateAvailablePorts() {

        Log.debug(AUTO_DISCOVERY, "Updating list of available serial ports.");

        Enumeration<CommPortIdentifier> portIdentifiers = CommPortIdentifier.getPortIdentifiers();

        while (portIdentifiers.hasMoreElements()) {

            CommPortIdentifier portIdentifier = portIdentifiers.nextElement();

            // Ignore /dev/cu ports.
            if (portIdentifier.getName().startsWith("/dev/cu."))
                continue;

            // Ignore bluetooth ports.
            if (portIdentifier.getName().contains("Bluetooth") || portIdentifier.getName().contains("BT"))
                continue;

            if (portIdentifier.isCurrentlyOwned()) {
                Log.warn(AUTO_DISCOVERY, "Skipping serial port '"+portIdentifier.getName()+"', because it is currently owned by another thread or application.");
                continue;
            }

            availablePorts.push(new RxtxDeviceAddress(portIdentifier.getName()));

            Log.debug(AUTO_DISCOVERY, "Serial port found: " + portIdentifier.getName());
        }

        putLastSuccessfulPortFirst();
    }
 
开发者ID:tbressler,项目名称:waterrower-workout,代码行数:31,代码来源:WaterRowerAutoDiscovery.java


示例9: putLastSuccessfulPortFirst

import io.netty.channel.rxtx.RxtxDeviceAddress; //导入依赖的package包/类
private void putLastSuccessfulPortFirst() {

        String lastSuccessfulPort = sharedPreferences.getLastSuccessfulSerialPort();

        if (lastSuccessfulPort == null)
            return;

        RxtxDeviceAddress lastAddress = new RxtxDeviceAddress(lastSuccessfulPort);

        boolean wasRemoved = availablePorts.removeIf(address -> address.value().equals(lastSuccessfulPort));
        if (!wasRemoved)
            return;

        availablePorts.push(lastAddress);
    }
 
开发者ID:tbressler,项目名称:waterrower-workout,代码行数:16,代码来源:WaterRowerAutoDiscovery.java



注:本文中的io.netty.channel.rxtx.RxtxDeviceAddress类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java HSLImage类代码示例发布时间:2022-05-22
下一篇:
Java AdminClientConfig类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap