my_gpsd_client 0.02.03 → 0.02.04

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: deb1eb0758c13fb908e9ac239ba2e84f1ddbe23507400bbfc4774eb9c529ef06
4
- data.tar.gz: f69f14b3c0cc30e8827fb97076eb067fc12131950bd859f15ece5bcad1299c33
3
+ metadata.gz: be4f1c4c5206353cb073d29786bcf42843ad23fc79db633a52db546311c7f94d
4
+ data.tar.gz: d460dbb1f143ed168e897b61e957e071bf5ee050c54698b22c8cec2efa32e4c8
5
5
  SHA512:
6
- metadata.gz: e8521af40063d27ae44db6f4f0ffa3a56bf4da309f0efb0d03e883229ae3554ea695964aad9177fce7b9da4fcd050f2f00ff52e2de0c9ad103ef7044af3e35a3
7
- data.tar.gz: 94037574dd6f7e6a07e33bc52b8908d1abddb4879bc8bbb70f9b762d49d2e0223ed113c433908948e0578802c0b7106ef219d46f10fe37ac9dd812eae2cf4007
6
+ metadata.gz: f7fa5f1b82865b37d52c00e509ea4dc3dd2cc4f73d85f60dcd07d7ff9c77f137d21b2d04aa29dda38f34b82d18452ea054db7da73142390e792e53b82fb2a901
7
+ data.tar.gz: 506bcb5d6b8d151709a3419768940151d05add153719457d56cd84a69b40d44c21c074c8952e44dc734154b068eb768e935f97ed791cda1f30a625e462629d65
@@ -5,14 +5,23 @@ require 'date'
5
5
  require 'logger'
6
6
 
7
7
  class MyGpsdClient
8
- attr_accessor :host, :port, :command, :log_level, :min_speed, :watchdog_max, :watchdog_force
9
- attr_reader :version, :last_watch, :socket_ready, :msg_counts, :watchdog_fired_count
8
+ attr_accessor :host, :port, :command, :min_speed, :watchdog_max, :watchdog_force,
9
+ :log_progname, :log_level, :log_path, :log_format, :log_time_format
10
+ attr_reader :version, :last_watch, :socket_ready, :socket, :msg_counts, :watchdog_fired_count,
11
+ :readthread, :socket_init_thread, :watchdogthread, :watchdog_count
12
+
10
13
 
11
14
  DEFAULT_HOST = 'localhost'
12
15
  DEFAULT_PORT = 2947
13
- DEFAULT_WATCH = {"enable":false,"json":false,"nmea":false}
14
- DEFAULT_LOG_LEVEL = 0
16
+ DEFAULT_WATCH = {"class":"WATCH", "enable":false,"json":false,"nmea":false}
15
17
  DEFAULT_WATCHDOG_MAX = 5.0
18
+
19
+ DEFAULT_LOG_PROGNAME = "MyGpsdClient"
20
+ DEFAULT_LOG_LEVEL = Logger::DEBUG
21
+ DEFAULT_LOG_PATH = 'log/MyGpsdClient.log'
22
+ DEFAULT_LOG_FORMAT = ''
23
+ DEFAULT_LOG_TIME_FORMAT = '%Y-%m-%d %T.%N %z %Z'
24
+
16
25
  WATCHDOG_STEP = 0.1 # Check watchdog ten times per second
17
26
 
18
27
  THREAD_NAMES = { # Keep displayed names the same length
@@ -23,6 +32,8 @@ class MyGpsdClient
23
32
  }
24
33
  Thread.current[:name]=THREAD_NAMES[:MainThread]
25
34
 
35
+ @@logger = nil
36
+
26
37
 
27
38
  # A simple gpsd client that dump's json objects contianing all info received from the gpsd deamon
28
39
  # you need to at least setup either the raw callback (on_raw_change) or position callback (on_position_change) to use GPSD2JSON. the raw callback just passes the json objects it received from the daemon on to the block you pass it. the on_position_change and on_satellites_change are a bit easier to use.
@@ -44,7 +55,12 @@ class MyGpsdClient
44
55
  @host = host
45
56
  @port = port
46
57
  @last_watch = watch
58
+
47
59
  @log_level = log_level
60
+ @log_path = DEFAULT_LOG_PATH
61
+ @log_format = DEFAULT_LOG_FORMAT
62
+ @log_time_format = DEFAULT_LOG_TIME_FORMAT
63
+ @log_progname = DEFAULT_LOG_PROGNAME
48
64
 
49
65
  @socket = nil
50
66
  @socket_ready = false
@@ -68,13 +84,12 @@ class MyGpsdClient
68
84
  toff: 0, pol: 0, pps: 0, dev: 0, devs: 0, err: 0,
69
85
  unk: 0}
70
86
 
71
- MyGpsdClient.logger.progname = MyGpsdClient
72
- MyGpsdClient.logger.level = @log_level
87
+ @logger = new_logger path: @log_path, progname: @log_progname, time_format: @log_time_format, level: @log_level
73
88
  my_logger level: 'info', msg: "MyGpsdClient Gem - Version: #{@version}"
74
89
  end
75
90
 
76
91
  #
77
- # Receive Commands from User
92
+ # attribute_writters additional actions
78
93
  #
79
94
  def command=(val)
80
95
  @command = val
@@ -85,9 +100,34 @@ class MyGpsdClient
85
100
 
86
101
  def log_level=(val)
87
102
  @log_level = val
88
- MyGpsdClient.logger.level = @log_level
103
+ @logger.level = @log_level
104
+ end
105
+
106
+ def log_progname=(val)
107
+ @log_progname = val
108
+ @logger.progname = @log_progname
109
+ end
110
+
111
+ def log_format=(val)
112
+ @log_format = val
113
+ @logger.format = @log_format
114
+ end
115
+
116
+ def log_time_format=(val)
117
+ @log_time_format = val
118
+ @logger.datetime_format = @log_time_format
89
119
  end
90
120
 
121
+ def log_path=(val)
122
+ @log_path = val
123
+ @logger = new_logger path: @log_path, progname: @log_progname, time_format: @log_time_format, level: @log_level
124
+ end
125
+ #
126
+ # End attribute_writters additional actions
127
+ #
128
+
129
+
130
+
91
131
  def log_marker level: 'debug', msg: "Log Marker"
92
132
  my_logger level: level, msg: "~~~~~~~~~~~~~~~~~~~~~~~ #{msg} ~~~~~~~~~~~~~~~~~~~~~~~"
93
133
  end
@@ -185,6 +225,7 @@ class MyGpsdClient
185
225
  @watchdog_count = 0.0
186
226
  @watchdog_enabled = true
187
227
  while @watchdog_enabled do
228
+ my_logger msg: "Watchdog Thread: Watchdog Tick"
188
229
  if @watchdog_force
189
230
  @watchdog_force = false
190
231
  # force the watchdog to fire by killing the socket
@@ -452,16 +493,28 @@ LOG_LEVELS = {debug: Logger::DEBUG, info: Logger::INFO, warn: Logger::WARN,
452
493
  error: Logger::ERROR, fatal: Logger::FATAL, unknown: Logger::UNKNOWN}
453
494
 
454
495
  def my_logger(level: 'debug', msg: "Blank")
455
- MyGpsdClient.logger.add (LOG_LEVELS[level.to_sym]) {"#{Thread.current[:name]} -- #{msg}"}
496
+ @logger.add (LOG_LEVELS[level.to_sym]) {"#{Thread.current[:name]} -- #{msg}"}
456
497
  end
457
498
 
499
+ def new_logger( progname: nil, path:, format: nil, time_format: nil, level: LOG_LEVELS[:debug])
500
+ logger = Logger.new(path)
501
+ logger.progname = progname if progname
502
+ logger.format = format if format
503
+ logger.level = level if level
504
+ logger.datetime_format = time_format if time_format
505
+ logger
506
+ end
507
+
508
+ =begin
458
509
  def self.logger
510
+ puts "In self.logger: log_path => #{@log_path}, @@logger.nil? => #{@@logger.nil?}"
459
511
  @@logger ||= defined?(Rails) ? Rails.logger : Logger.new("log/MyGpsdClient.log")
512
+ puts "Exiting self.logger: @@logger => #{@@logger}"
460
513
  end
461
514
 
462
515
  def self.logger=(logger)
463
516
  @@logger = logger
464
517
  end
465
-
518
+ =end
466
519
 
467
520
  end
@@ -1,3 +1,3 @@
1
1
  class MyGpsdClient_version
2
- VERSION = "0.02.03"
2
+ VERSION = "0.02.04"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: my_gpsd_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.02.03
4
+ version: 0.02.04
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steven Finnegan
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-10-22 00:00:00.000000000 Z
11
+ date: 2019-10-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler