Class: AstmServer

Inherits:
Object
  • Object
show all
Includes:
LabInterface
Defined in:
lib/ruby_astm/astm_server.rb

Constant Summary

Constants included from LabInterface

LabInterface::ACK, LabInterface::CR, LabInterface::ENQ, LabInterface::EOT, LabInterface::ETX, LabInterface::LF, LabInterface::STX

Class Method Summary collapse

Instance Method Summary collapse

Methods included from LabInterface

#checksum, #process_text, #process_text_file, #process_type, #receive_data, #root, #send_enq, #terminator, #unbind

Constructor Details

#initialize(server_ip = nil, server_port = nil, mpg = nil, respond_to_queries = false) ⇒ AstmServer

Returns a new instance of AstmServer.



31
32
33
34
35
36
37
38
# File 'lib/ruby_astm/astm_server.rb', line 31

def initialize(server_ip=nil,server_port=nil,mpg=nil,respond_to_queries=false)
  $redis = Redis.new
  AstmServer.log("Initializing AstmServer")
  self.server_ip = server_ip || "127.0.0.1"
  self.server_port = server_port || 3000
  self.respond_to_queries = respond_to_queries
  $mappings = JSON.parse(IO.read(mpg || AstmServer.default_mappings))
end

Class Method Details

.default_mappings ⇒ Object



21
22
23
# File 'lib/ruby_astm/astm_server.rb', line 21

def self.default_mappings
  File.join AstmServer.root_path,"mappings.json"
end

.log(message) ⇒ Object



12
13
14
15
# File 'lib/ruby_astm/astm_server.rb', line 12

def self.log(message)
    puts "" + message
  $redis.zadd("ruby_astm_log",Time.now.to_i,message)
end

.root_path ⇒ Object



17
18
19
# File 'lib/ruby_astm/astm_server.rb', line 17

def self.root_path
  File.dirname __dir__
end

Instance Method Details

#start_server ⇒ Object



40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/ruby_astm/astm_server.rb', line 40

def start_server
  EventMachine.run {
    self.ethernet_server = EventMachine::start_server self.server_ip, self.server_port, LabInterface
    AstmServer.log("Running ETHERNET SERVER on #{server_port}")
    #serial = EventMachine.open_serial('/dev/ttyUSB0', 9600, 8)
    #serial.on_data do |data|
    #   puts "got some data"
    #   puts data.to_s
    #    serial.send_data("\X06")
    #end
  }
end