Class: AstmServer
Constant Summary
LabInterface::ACK, LabInterface::CR, LabInterface::ENQ, LabInterface::EOT, LabInterface::ETX, LabInterface::LF, LabInterface::STX
Class Method Summary
collapse
Instance Method Summary
collapse
#checksum, #data_buffer, #generate_response, #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
52
53
|
# File 'lib/ruby_astm/astm_server.rb', line 40
def start_server
EventMachine.run {
serial = EventMachine.open_serial('/dev/ttyS0', 9600, 8,LabInterface)
puts "RUNNING SERIAL ON dev/ttyS0 ------------ #{serial.to_s}"
self.ethernet_server = EventMachine::start_server self.server_ip, self.server_port, LabInterface
AstmServer.log("Running ETHERNET SERVER on #{server_port}")
}
end
|