⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ttxdemo.pl

📁 Develop Zigbee network real-time Os
💻 PL
字号:
#!/usr/bin/perl## Copyright (c) 2007 University of Copenhagen# All rights reserved.## Redistribution and use in source and binary forms, with or without# modification, are permitted provided that the following conditions# are met:# - Redistributions of source code must retain the above copyright#   notice, this list of conditions and the following disclaimer.# - Redistributions in binary form must reproduce the above copyright#   notice, this list of conditions and the following disclaimer in the#   documentation and/or other materials provided with the#   distribution.# - Neither the name of University of Copenhagen nor the names of#   its contributors may be used to endorse or promote products derived#   from this software without specific prior written permission.## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS# FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL STANFORD# UNIVERSITY OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED# OF THE POSSIBILITY OF SUCH DAMAGE.### This script receives samples via the serial port and writes them to# the fifos## Author: Martin Leopold <leopold@diku.dk>#use FileHandle;if ($#ARGV < 0) {    print ("Syntax: \n ttxdemo.pl <serdev> <fifo1> <fifo2> .. <fifo n> \n");    exit 1;}my $TTY = $fh = new FileHandle;$TTY->open("< $ARGV[0]") ||     die("Could not open $ARGV[0]\n");my $FIFOs = [];for (my $i=1 ; $i<=$#ARGV ; $i++ ) {    $FIFOs[$i-1] = new FileHandle "$ARGV[$i]", "w" || # Append	die("Could not open $ARGV[$i]\n");    $FIFOs[$i-1]->autoflush(1);    binmode($FIFOs[$i-1]);}my %seen_id = ();my $no_lines = 0;while ($line = readline($TTY)) {    $no_lines++;    if ($line =~ /(\w\w\w\w)(\w\w\w\w)(\w\w\w\w)(\w\w\w\w).*/) {	my $id = oct("0x" . $1);	my $x  = oct("0x" . $2);	my $y  = oct("0x" . $3);	my $z  = oct("0x" . $4);	# If this is a new id enter it in the array as a new no.	if (!defined($seen_id{$id})) {	    $seen_id{$id} = @seen_id;	}	$node_no = $seen_id{$id};	$first_fifo = $node_no*3;	print "$no_lines - $id: $x $y $z \n";			if ( $first_fifo+3 > @FIFOs) {	    print ("No more fifos for id $id\n");	} else {	    $FIFOs[$first_fifo]->print(pack("d", $x));#	    $FIFOs[$first_fifo+2]->print(pack("d", $y));	    $FIFOs[$first_fifo+1]->print(pack("d", $y));	    $FIFOs[$first_fifo+2]->print(pack("d", $z));	}    } else {	print("Garbled line\n");    }#    my $fh = $FIFOs[0];#    $fh->print(pack("d", $num));}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -