Write version to log file, Write time to log file periodically, Trigger Comm.flush...
authorJoseph Coffland <joseph@cauldrondevelopment.com>
Sun, 2 Dec 2018 09:28:53 +0000 (01:28 -0800)
committerJoseph Coffland <joseph@cauldrondevelopment.com>
Sun, 2 Dec 2018 09:28:53 +0000 (01:28 -0800)
CHANGELOG.md
package-lock.json
package.json
src/py/bbctrl/Mach.py
src/py/bbctrl/__init__.py

index 0549a7f707f3c9bba227e1798d137006b66a5e7b..db5c9c1ea9070180ecfa20ae45eddeaa17479f25 100644 (file)
@@ -1,6 +1,10 @@
 Buildbotics CNC Controller Firmware Changelog
 ==============================================
 
+## v0.4.3
+ - Write version to log file.
+ - Write time to log file periodically.
+
 ## v0.4.2
  - Suppress ``Auto-creating missing tool`` warning.
  - Prevent ``Stream is closed`` error.
index 01ec522a12f2e906415a9e9b813bbf43fe16a6f5..0ad05b156967dacbf89f3936bdce3f8026b3a7ab 100644 (file)
@@ -1,6 +1,6 @@
 {
   "name": "bbctrl",
-  "version": "0.4.2",
+  "version": "0.4.3",
   "lockfileVersion": 1,
   "requires": true,
   "dependencies": {
index 6f3701d701b7535df03945204e8b2d314f6d0271..8f627c5db10264b53c0f9e298bd602fef4659831 100644 (file)
@@ -1,6 +1,6 @@
 {
   "name": "bbctrl",
-  "version": "0.4.2",
+  "version": "0.4.3",
   "homepage": "http://buildbotics.com/",
   "repository": "https://github.com/buildbotics/bbctrl-firmware",
   "license": "GPL-3.0+",
index ac38a7916926ac51f9a34bf326886167f95d462d..7e7ba5de3fd426c32a8cd6f680957e4e2037fd66 100644 (file)
@@ -83,7 +83,7 @@ class Mach(Comm):
         self.last_cycle = 'idle'
 
         ctrl.state.set('cycle', 'idle')
-        self._update_cycle_cb(False)
+        self._update_cb(False)
 
         ctrl.state.add_listener(self._update)
 
@@ -118,9 +118,12 @@ class Mach(Comm):
                             (cycle, current))
 
 
-    def _update_cycle_cb(self, now = True):
-        if now: self._update_cycle()
-        self.ctrl.ioloop.call_later(1, self._update_cycle_cb)
+    def _update_cb(self, now = True):
+        if now:
+            self._update_cycle()
+            self.flush()
+
+        self.ctrl.ioloop.call_later(1, self._update_cb)
 
 
     def _update_cycle(self):
index b169d97b24420783852e0907ad7a9b77df2f0792..9486017c800812e64a8fb80c0b57989c4f1ffcca 100644 (file)
@@ -34,6 +34,7 @@ import tornado
 import argparse
 import logging
 import datetime
+import pkg_resources
 
 from pkg_resources import Requirement, resource_filename
 
@@ -80,6 +81,11 @@ def on_exit(sig = 0, func = None):
     sys.exit(1)
 
 
+def log_time(log, ioloop):
+    log.info(datetime.datetime.now().strftime('%Y/%m/%d %H:%M:%S'))
+    ioloop.call_later(60 * 60, log_time, log, ioloop)
+
+
 def parse_args():
     parser = argparse.ArgumentParser(
         description = 'Buildbotics Machine Controller')
@@ -139,8 +145,8 @@ def run():
         root.addHandler(h)
 
     # Log header
-    now = datetime.datetime.now().strftime('%Y/%m/%d %H:%M:%S')
-    root.info('Log started ' + now)
+    version = pkg_resources.require('bbctrl')[0].version
+    root.info('Log started v%s' % version)
 
     # Set signal handler
     signal.signal(signal.SIGTERM, on_exit)
@@ -148,6 +154,9 @@ def run():
     # Create ioloop
     ioloop = tornado.ioloop.IOLoop.current()
 
+    # Write time to log periodically
+    log_time(root, ioloop)
+
     # Start controller
     ctrl = Ctrl(args, ioloop)