cycle_analyst_logger 0.3.1 → 0.3.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3e885a854ee604b2fcc3de0f076020ad88e30972
4
- data.tar.gz: 938b370409f465698bbd7f2bde1706c4280b13b8
3
+ metadata.gz: c3011f180df601db59efd523a1ee9ccb6ffd6521
4
+ data.tar.gz: f53a937549e43c562ad8c0e1a594235f9946cf83
5
5
  SHA512:
6
- metadata.gz: ebbdd12998582bdce46f83954b3972efd2b94279d2e54386723cd75eb3e73d034b4a0a81ef59c75f775284d15242b09b7cc01678010c163811b280b4294e7eb9
7
- data.tar.gz: d63f206c042bce110754866f846cd2b68b306741082bbcdca8eb06650a6ec8bc8ce983e069cc455fccfca97ab93f31c64b2eb9362c6e6c0389d09718460e72f7
6
+ metadata.gz: 96c66ff2178ae54788ab15ec4221fe4fda695b777426316f1c80d7c592f1c8a9f8a5cb90595e0062c7d181239c537f0ffd5f6690dc94c7e6737cfef5cc13002f
7
+ data.tar.gz: 69cc29521879ff250579f6b1ff3e9db483c3d550d5686bf4b73a4a40443009953f936285ce9d5d4c79188ede57b3b453264ada57d1070e5ccf89a1f911f58578
data/README.rdoc CHANGED
@@ -3,28 +3,32 @@
3
3
  {<img src="https://badge.fury.io/rb/cycle_analyst_logger.svg" alt="Gem Version" />}[https://badge.fury.io/rb/cycle_analyst_logger]
4
4
 
5
5
  == NAME
6
- cycle_analyst_logger - Store the streaming data log output of a Grin Cycle Analyst V3 and optionally a Phaserunner
6
+ cycle_analyst_logger - Store the streaming data log output of a Grin Cycle Analyst V3 and optionally a Phaserunner and GPS
7
7
 
8
8
  == SYNOPSIS
9
9
  cycle_analyst_logger [global options] command [command options] [arguments...]
10
10
  cycle_analyst_logger [global options] log [tty] [baudrate] [enable_phaserunner] [tty] [baudrate]
11
- cycle_analyst_logger [global options] location_from_gmx gpx_filename log_filename [output_filename]
11
+
12
+ == Notes
13
+ Only tested with {Navspark-BD GPS}[http://navspark.mybigcommerce.com/navspark-bd-arduino-compatible-development-board-with-gps-beidou/]
12
14
 
13
15
  == GLOBAL OPTIONS
14
- -t, --tty_ca=arg - Cycle Analyst Serial (USB) device (default: /dev/ttyUSB1)
15
- -b, --baud_ca=arg - Cycle Analyst Serial port baudrate (default: 9600)
16
- --enable_phaserunner=arg - Get PhaseRunner Logs also (default: true)
17
- --tty_pr=arg - Phaserunner Serial (USB) device (default: /dev/ttyUSB0)
18
- --baud_pr=arg - Phaserunner Serial port baudrate (default: 115200)
19
- -l, --loop_count=arg - How many lines to read (default: forever)
20
- --version - Display the program version
21
- -q, --[no-]quiet - Do not output to stdout
22
- --help - Show this message
16
+ -t, --tty_ca=arg - Cycle Analyst Serial (USB) device (default: /dev/cycle_analyst)
17
+ -b, --baud_ca=arg - Cycle Analyst Serial port baudrate (default: 9600)
18
+ --tty_pr=arg - Phaserunner Serial (USB) device (default: /dev/phaserunner)
19
+ --baud_pr=arg - Phaserunner Serial port baudrate (default: 115200)
20
+ --tty_gps=arg - Gps Serial (USB) device (default: /dev/gps)
21
+ --baud_gps=arg - Gps Serial port baudrate (default: 115200)
22
+ -l, --loop_count=arg - How many lines to read (default: forever)
23
+ --version - Display the program version
24
+ --[no-]enable_phaserunner - Get PhaseRunner Logs also (default: enabled)
25
+ --[no-]enable_gps - Get Gps Logs also (default: enabled)
26
+ -q, --[no-]quiet - Do not output to stdout
27
+ --help - Show this message
23
28
 
24
29
  == COMMANDS
25
30
  help - Shows a list of commands or help for one command
26
31
  log - Capture the logging output of the Cycle Analyst and optionally Phaserunner to a file
27
- location_from_gmx, loc - Merge geo info from GMX file and log lines from log file
28
32
 
29
33
  === Attributes that are Logged
30
34
 
@@ -58,7 +62,71 @@
58
62
  * Phaserunner Last Fault ()
59
63
  * Phaserunner Warnings ()
60
64
  * Phaserunner Motor Input Power (W)
65
+ * GPS Time
66
+ * GPS Latitude
67
+ * GPS Longitude
68
+ * GPS Altitude
69
+ * GPS Speed
70
+ * GPS Fix Quality
71
+ * GPS Satellites
72
+ * GPS Geoid Height
73
+ * GPS Horizontal Dilution
74
+ * GPS FAA Mode
75
+
76
+ == Udev set up
77
+
78
+ A sampe udev rules file is in +resources/99-cycle_analyst.rules+. It is based on
79
+ the information from {Persistent names for usb-serial
80
+ devices}[http://hintshop.ludvig.co.nz/show/persistent-names-usb-serial-devices/]
81
+
82
+ This one assumes we have the TTL to USB Cable based on the FTDI chipset like the
83
+ {USB Cables from Grin Tech}[http://www.ebikes.ca/ca-usb.html] We have one for
84
+ the Cycle Analyst (CA) and one for the Phaserunner. If you always use the same
85
+ cable with the CA and the other cable always for the Phaserunner (Label them).
86
+ Then you can get away with using the serial numbers that the UDEV system sees to
87
+ automatically link whatever USB port the cable is plugged into to the right
88
+ +/dev+ name.
89
+
90
+ The Navspark-BD GPS I used has a built in PL2303 chipset and doesn't seem to
91
+ have a serial number like the FTDI chipsets does. So the setup assumes there is
92
+ only one PL2303 USB and its the GPS.
93
+
94
+ == Systemd startup
95
+
96
+ There is a working systemd service unit file
97
+ +resources/cycle_analyst_logger.service+. You can copy it into
98
+ +/lib/systemd/system+ and do a
99
+
100
+ +systemctl daemon-reload+ to load it into systemd
101
+
102
+ * If you want it to start when the system is booted say:
103
+
104
+ +systemctl enable cycle_analyst_logger.service+
105
+
106
+ * To disable:
107
+
108
+ +systemctl disable cycle_analyst_logger.service+
109
+
110
+ * To start it manually (have to do this also the first time you do an enable and
111
+ want it to run then):
112
+
113
+ +systemctl start cycle_analyst_logger.service+
114
+
115
+ * You can check the status:
116
+
117
+ +systemctl status cycle_analyst_logger.service+
118
+
119
+ * To see the logs:
120
+
121
+ +journalctl -u cycle_analyst_logger.service+
122
+
123
+ This file assumed that rvm was installed in my home directory and an rvm wrapper
124
+ was created so it the service unit file could just exec it. I am currently using
125
+ Ruby 2.4.1.
126
+
127
+ The command used to create the wrapper was run as my normal user:
61
128
 
129
+ +rvm alias create cycle_analyst_logger 2.4.1+
62
130
 
63
131
  == License and Copyright
64
132
 
@@ -1,6 +1,6 @@
1
1
  == cycle_analyst_logger - Store the streaming data log output of a Grin Cycle Analyst V3 and optionally a Phaserunner
2
2
 
3
- v0.2.4
3
+ v0.3.3
4
4
 
5
5
  === Global Options
6
6
  === -b|--baud_ca arg
@@ -10,18 +10,18 @@ Cycle Analyst Serial port baudrate
10
10
  [Default Value] 9600
11
11
 
12
12
 
13
- === --baud_pr arg
13
+ === --baud_gps arg
14
14
 
15
- Phaserunner Serial port baudrate
15
+ Gps Serial port baudrate
16
16
 
17
17
  [Default Value] 115200
18
18
 
19
19
 
20
- === --enable_phaserunner arg
20
+ === --baud_pr arg
21
21
 
22
- Get PhaseRunner Logs also
22
+ Phaserunner Serial port baudrate
23
23
 
24
- [Default Value] true
24
+ [Default Value] 115200
25
25
 
26
26
 
27
27
  === -l|--loop_count arg
@@ -35,14 +35,31 @@ How many lines to read
35
35
 
36
36
  Cycle Analyst Serial (USB) device
37
37
 
38
- [Default Value] /dev/ttyUSB1
38
+ [Default Value] /dev/cycle_analyst
39
+
40
+
41
+ === --tty_gps arg
42
+
43
+ Gps Serial (USB) device
44
+
45
+ [Default Value] /dev/gps
39
46
 
40
47
 
41
48
  === --tty_pr arg
42
49
 
43
50
  Phaserunner Serial (USB) device
44
51
 
45
- [Default Value] /dev/ttyUSB0
52
+ [Default Value] /dev/phaserunner
53
+
54
+
55
+ === --[no-]enable_gps
56
+ Get Gps Logs also
57
+
58
+
59
+
60
+ === --[no-]enable_phaserunner
61
+ Get PhaseRunner Logs also
62
+
46
63
 
47
64
 
48
65
  === --help
@@ -71,11 +88,13 @@ List commands one per line, to assist with shell completion
71
88
 
72
89
 
73
90
 
74
- ==== Command: <tt>location_from_gmx|loc </tt>
75
- Merge geo info from GMX file and log lines from log file
91
+ ==== Command: <tt>log </tt>
92
+ Log the Cycle Analyst and optionally GPS and Phaserunner to a file
76
93
 
77
94
 
78
- ==== Command: <tt>log </tt>
79
- Capture the logging output of the Cycle Analyst and optionally Phaserunner to a file
95
+ ===== Options
96
+ ===== --[no-]disable_nmea_out
97
+ Disable writing raw nmea to its own file
98
+
80
99
 
81
100
 
@@ -25,7 +25,7 @@ module CycleAnalystLogger
25
25
  sort_help :manually
26
26
 
27
27
  desc 'Cycle Analyst Serial (USB) device'
28
- default_value '/dev/ttyUSB1'
28
+ default_value '/dev/cycle_analyst'
29
29
  arg 'tty', :optional
30
30
  flag [:t, :tty_ca]
31
31
 
@@ -39,7 +39,7 @@ module CycleAnalystLogger
39
39
  switch [:enable_phaserunner]
40
40
 
41
41
  desc 'Phaserunner Serial (USB) device'
42
- default_value '/dev/ttyUSB0'
42
+ default_value '/dev/phaserunner'
43
43
  arg 'tty', :optional
44
44
  flag [:tty_pr]
45
45
 
@@ -53,7 +53,7 @@ module CycleAnalystLogger
53
53
  switch [:enable_gps]
54
54
 
55
55
  desc 'Gps Serial (USB) device'
56
- default_value '/dev/ttyUSB2'
56
+ default_value '/dev/gps'
57
57
  arg 'tty', :optional
58
58
  flag [:tty_gps]
59
59
 
@@ -80,21 +80,6 @@ module CycleAnalystLogger
80
80
  end
81
81
  end
82
82
 
83
- desc 'Merge geo info from GMX file and log lines from log file'
84
- arg :gpx_filename
85
- arg :log_filename
86
- arg :output_filename, :optional
87
- command [:location_from_gmx, :loc] do |location_from_gmx|
88
- location_from_gmx.action do |global_options, options, args|
89
- gpx_filename = args[0]
90
- log_filename = args[1]
91
- output_filename = args[2]
92
-
93
- gpx = Gpx.new(gpx_filename)
94
- gpx.merge_location(log_filename, output_filename)
95
- end
96
- end
97
-
98
83
  pre do |global,command,options,args|
99
84
  # Pre logic here
100
85
  # Return true to proceed; false to abort and not call the
@@ -5,7 +5,7 @@ module CycleAnalystLogger
5
5
 
6
6
  class Gps
7
7
  DEFAULTS = {
8
- tty: '/dev/ttyUSB2',
8
+ tty: '/dev/gps',
9
9
  baudrate: 115200
10
10
  }
11
11
 
@@ -1,3 +1,3 @@
1
1
  module CycleAnalystLogger
2
- VERSION = '0.3.1'
2
+ VERSION = '0.3.3'
3
3
  end
@@ -0,0 +1,3 @@
1
+ SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6015", ATTRS{serial}=="DB00KZ46", SYMLINK+="phaserunner"
2
+ SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6015", ATTRS{serial}=="DB00KLD2", SYMLINK+="cycle_analyst"
3
+ SUBSYSTEM=="tty", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", SYMLINK+="gps"
@@ -0,0 +1,13 @@
1
+ [Unit]
2
+ Description=starts cycle_analyst_logger
3
+ After=network.target
4
+ After=syslog.target
5
+
6
+ [Service]
7
+ WorkingDirectory=/home/rberger/work/trike/logs
8
+ ExecStart=/home/rberger/.rvm/wrappers/ruby-2.4.1/cycle_analyst_logger -q log
9
+ Restart=always
10
+ RestartSec=30
11
+
12
+ [Install]
13
+ WantedBy=multi-user.target
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cycle_analyst_logger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert J. Berger
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-01-23 00:00:00.000000000 Z
11
+ date: 2018-02-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gli
@@ -216,6 +216,8 @@ files:
216
216
  - lib/cycle_analyst_logger/gps.rb
217
217
  - lib/cycle_analyst_logger/gpx.rb
218
218
  - lib/cycle_analyst_logger/version.rb
219
+ - resources/99-cycle_analyst.rules
220
+ - resources/cycle_analyst_logger.service
219
221
  - todo.txt
220
222
  homepage: https://github.com/rberger/cycle_analyst_logger
221
223
  licenses: