serialclient 0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. data/VERSION +1 -0
  2. data/bin/serialclient +44 -0
  3. data/serialclient.gemspec +23 -0
  4. metadata +74 -0
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.1
data/bin/serialclient ADDED
@@ -0,0 +1,44 @@
1
+ #!/usr/bin/ruby
2
+
3
+ require 'rubygems'
4
+ require 'serialport'
5
+ require 'rink'
6
+ require 'micro-optparse'
7
+
8
+
9
+ options = Parser.new do |p|
10
+ p.banner = "Serial terminal client"
11
+ p.option :port, "path to serial device, ex: /dev/ttyUSB0", :default => ""
12
+ p.option :speed, "speed in baups", :default => 115200
13
+ end.process!
14
+
15
+ class Serial_client < Rink::Console
16
+ option :allow_ruby => false
17
+
18
+ def initialize (port_, baup_)
19
+ @sp = SerialPort.new port_, baup_
20
+ @read_th = Thread.new {
21
+ while 1 do
22
+ puts @sp.gets
23
+ end
24
+ }
25
+ super()
26
+ end
27
+
28
+ def process_line (line_)
29
+ @sp.write(line_+ "\n")
30
+ sleep 0.01
31
+ end
32
+
33
+ end
34
+
35
+ Signal.trap('TERM') do
36
+ Process.exit 0
37
+ end
38
+
39
+ Signal.trap('INT') do
40
+ Process.exit 0
41
+ end
42
+
43
+
44
+ Serial_client.new(options[:port], options[:speed])
@@ -0,0 +1,23 @@
1
+ # -*- ruby -*-
2
+ require "rubygems"
3
+ require "rake"
4
+
5
+ GEMSPEC = Gem::Specification.new do |s|
6
+ s.name = "serialclient"
7
+ s.summary = "Provides a client terminal to connect to a serial device"
8
+ s.description = <<-EOF
9
+ Need a terminal to communicate to a serial device like Hyperterminal, this gem has been done for you !
10
+ EOF
11
+ s.version = File.read("VERSION").strip
12
+ s.license = 'GPL-3'
13
+ s.author = "flagos"
14
+ s.email = "flagospub@gmail.com"
15
+ s.homepage = "https://github.com/flagos/serialclient"
16
+ s.files = FileList["{bin}/*", "serialclient.gemspec", "VERSION"].to_a.sort
17
+ s.bindir = 'bin'
18
+ s.executables << 'serialclient'
19
+ s.has_rdoc = false
20
+ s.add_dependency('serialport')
21
+ s.add_dependency('rink')
22
+ s.require_path ='bin'
23
+ end
metadata ADDED
@@ -0,0 +1,74 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: serialclient
3
+ version: !ruby/object:Gem::Version
4
+ version: '0.1'
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - flagos
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-01-03 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: serialport
16
+ requirement: &84725230 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *84725230
25
+ - !ruby/object:Gem::Dependency
26
+ name: rink
27
+ requirement: &84724820 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *84724820
36
+ description: ! ' Need a terminal to communicate to a serial device like Hyperterminal,
37
+ this gem has been done for you !
38
+
39
+ '
40
+ email: flagospub@gmail.com
41
+ executables:
42
+ - serialclient
43
+ extensions: []
44
+ extra_rdoc_files: []
45
+ files:
46
+ - VERSION
47
+ - bin/serialclient
48
+ - serialclient.gemspec
49
+ homepage: https://github.com/flagos/serialclient
50
+ licenses:
51
+ - GPL-3
52
+ post_install_message:
53
+ rdoc_options: []
54
+ require_paths:
55
+ - bin
56
+ required_ruby_version: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ required_rubygems_version: !ruby/object:Gem::Requirement
63
+ none: false
64
+ requirements:
65
+ - - ! '>='
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ requirements: []
69
+ rubyforge_project:
70
+ rubygems_version: 1.8.11
71
+ signing_key:
72
+ specification_version: 3
73
+ summary: Provides a client terminal to connect to a serial device
74
+ test_files: []