Allow specifying additional baud rates
This commit is contained in:
parent
7d6462b815
commit
963d590728
7 changed files with 30 additions and 0 deletions
|
|
@ -33,6 +33,8 @@
|
|||
before disconnecting from the printer for good. This way it is ensured that
|
||||
the `beforePrinterDisconnected` script or any further GCODE injected into it
|
||||
will actually get sent.
|
||||
* Additional baud rates to allow for connecting can now be specified along side
|
||||
additional serial ports via the settings dialog and the configuration file.
|
||||
* Documentation improvements
|
||||
|
||||
### Bug Fixes
|
||||
|
|
|
|||
|
|
@ -611,6 +611,10 @@ Use the following settings to configure the serial connection to the printer:
|
|||
additionalPorts:
|
||||
- /dev/myPrinterSymlink
|
||||
|
||||
# Use this to define additional baud rates to offer for connecting to serial ports. Must be a
|
||||
# valid integer. Defaults to not set
|
||||
- 123456
|
||||
|
||||
.. _sec-configuration-config_yaml-server:
|
||||
|
||||
Server
|
||||
|
|
|
|||
|
|
@ -84,6 +84,7 @@ def getSettings():
|
|||
"timeoutSdStatus": s.getFloat(["serial", "timeout", "sdStatus"]),
|
||||
"log": s.getBoolean(["serial", "log"]),
|
||||
"additionalPorts": s.get(["serial", "additionalPorts"]),
|
||||
"additionalBaudrates": s.get(["serial", "additionalBaudrates"]),
|
||||
"longRunningCommands": s.get(["serial", "longRunningCommands"])
|
||||
},
|
||||
"folder": {
|
||||
|
|
@ -220,6 +221,7 @@ def setSettings():
|
|||
if "timeoutTemperature" in data["serial"].keys(): s.setFloat(["serial", "timeout", "temperature"], data["serial"]["timeoutTemperature"])
|
||||
if "timeoutSdStatus" in data["serial"].keys(): s.setFloat(["serial", "timeout", "sdStatus"], data["serial"]["timeoutSdStatus"])
|
||||
if "additionalPorts" in data["serial"] and isinstance(data["serial"]["additionalPorts"], (list, tuple)): s.set(["serial", "additionalPorts"], data["serial"]["additionalPorts"])
|
||||
if "additionalBaudrates" in data["serial"] and isinstance(data["serial"]["additionalBaudrates"], (list, tuple)): s.set(["serial", "additionalBaudrates"], data["serial"]["additionalBaudrates"])
|
||||
if "longRunningCommands" in data["serial"] and isinstance(data["serial"]["longRunningCommands"], (list, tuple)): s.set(["serial", "longRunningCommands"], data["serial"]["longRunningCommands"])
|
||||
|
||||
oldLog = s.getBoolean(["serial", "log"])
|
||||
|
|
|
|||
|
|
@ -83,6 +83,7 @@ default_settings = {
|
|||
"sdStatus": 1
|
||||
},
|
||||
"additionalPorts": [],
|
||||
"additionalBaudrates": [],
|
||||
"longRunningCommands": ["G4", "G28", "G29", "G30", "G32", "M400", "M226"]
|
||||
},
|
||||
"server": {
|
||||
|
|
|
|||
|
|
@ -131,6 +131,7 @@ $(function() {
|
|||
self.serial_timeoutSdStatus = ko.observable(undefined);
|
||||
self.serial_log = ko.observable(undefined);
|
||||
self.serial_additionalPorts = ko.observable(undefined);
|
||||
self.serial_additionalBaudrates = ko.observable(undefined);
|
||||
self.serial_longRunningCommands = ko.observable(undefined);
|
||||
|
||||
self.folder_uploads = ko.observable(undefined);
|
||||
|
|
@ -430,6 +431,7 @@ $(function() {
|
|||
self.serial_timeoutSdStatus(response.serial.timeoutSdStatus);
|
||||
self.serial_log(response.serial.log);
|
||||
self.serial_additionalPorts(response.serial.additionalPorts.join("\n"));
|
||||
self.serial_additionalBaudrates(response.serial.additionalBaudrates.join(", "));
|
||||
self.serial_longRunningCommands(response.serial.longRunningCommands.join(", "));
|
||||
|
||||
self.folder_uploads(response.folder.uploads);
|
||||
|
|
@ -518,6 +520,7 @@ $(function() {
|
|||
"timeoutSdStatus": self.serial_timeoutSdStatus(),
|
||||
"log": self.serial_log(),
|
||||
"additionalPorts": commentableLinesToArray(self.serial_additionalPorts()),
|
||||
"additionalBaudrates": _.map(splitTextToArray(self.serial_additionalBaudrates(), ",", true, function(item) { return !isNaN(parseInt(item)); }), function(item) { return parseInt(item); }),
|
||||
"longRunningCommands": splitTextToArray(self.serial_longRunningCommands(), ",", true)
|
||||
},
|
||||
"folder": {
|
||||
|
|
|
|||
|
|
@ -84,4 +84,11 @@
|
|||
<span class="help-inline">{{ _('Use this to define additional <a href="%%(glob_url)s">glob patterns</a> matching serial ports to list for connecting against, e.g. <code>/dev/ttyAMA*</code>. One entry per line.')|format(glob_url="http://docs.python.org/2/library/glob.html") }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" for="settings-serialAdditionalBaudrates">{{ _('Additional baud rates') }}</label>
|
||||
<div class="controls">
|
||||
<input type="text" class="input-block-level" id="settings-serialAdditionalBaudrates" data-bind="value: serial_additionalBaudrates">
|
||||
<span class="help-inline">{{ _('Use this to define additional serial port baud rates to list for connecting with, e.g. <code>123456</code>. Comma separated.')|format(glob_url="http://docs.python.org/2/library/glob.html") }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -31,6 +31,8 @@ try:
|
|||
except:
|
||||
pass
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
def serialList():
|
||||
baselist=[]
|
||||
if os.name=="nt":
|
||||
|
|
@ -64,6 +66,15 @@ def serialList():
|
|||
|
||||
def baudrateList():
|
||||
ret = [250000, 230400, 115200, 57600, 38400, 19200, 9600]
|
||||
additionalBaudrates = settings().get(["serial", "additionalBaudrates"])
|
||||
for additional in additionalBaudrates:
|
||||
try:
|
||||
ret.append(int(additional))
|
||||
except:
|
||||
_logger.warn("{} is not a valid additional baudrate, ignoring it".format(additional))
|
||||
|
||||
ret.sort(reverse=True)
|
||||
|
||||
prev = settings().getInt(["serial", "baudrate"])
|
||||
if prev in ret:
|
||||
ret.remove(prev)
|
||||
|
|
|
|||
Loading…
Reference in a new issue