From d27764f3e6a10d6ffa7a807b42e117ef5bf5c172 Mon Sep 17 00:00:00 2001 From: cfry Date: Fri, 24 Mar 2023 17:18:18 -0400 Subject: [PATCH] release --- HCA/ipg_to_json.js | 2 +- core/index.js | 4 ++-- core/robot.js | 12 +++++++++++- core/socket.js | 5 +++++ doc/guide.html | 4 ++-- doc/release_notes.html | 19 +++++++++++++++++++ math/Vector.js | 2 +- package.json | 6 +++--- ready.js | 2 ++ 9 files changed, 46 insertions(+), 10 deletions(-) diff --git a/HCA/ipg_to_json.js b/HCA/ipg_to_json.js index dd5d6bde..88cfab6e 100644 --- a/HCA/ipg_to_json.js +++ b/HCA/ipg_to_json.js @@ -373,7 +373,7 @@ grab_io('(myt "myn ame", myt2 myn2)') grab_io(str) */ static grab_io(str, start_index=0) { - if(str.includes("MSB008 MSB008)")) { debugger; } + if(str.includes("MSB008 MSB008)")) { } let cur_term = "" let cur_pair let pair_array = [] //the main result diff --git a/core/index.js b/core/index.js index db70b889..a17475ad 100644 --- a/core/index.js +++ b/core/index.js @@ -1,5 +1,5 @@ -global.dde_version = "3.8.13" //require("../package.json").version -global.dde_release_date = "Nov 24, 2022" //require("../package.json").release_date +global.dde_version = "3.8.14" //require("../package.json").version +global.dde_release_date = "Mar 24, 2022" //require("../package.json").release_date console.log("dde_version: " + global.dde_version + " dde_release_date: " + global.dde_release_date + "\nRead electron_dde/core/job_engine_doc.txt for how to use the Job Engine.\n") diff --git a/core/robot.js b/core/robot.js index 2c670823..6a68fdec 100644 --- a/core/robot.js +++ b/core/robot.js @@ -1441,6 +1441,16 @@ Dexter = class Dexter extends Robot { else if((error_code !== 0) && (oplet !== "r")){ //we've got an error //job_instance.stop_for_reason("errored", "Robot status got error: " + error_code) job_instance.wait_until_instruction_id_has_run = null //but don't increment PC + let busy_job_array_copy = rob.busy_job_array.slice() + rob.clear_busy_job_array() //so that the other jobs that I call set_up_next_do, won't hang up because they are busy, + //because they no longer should be busy, because we got back our ack from Dexter that was keeping them busy, + for(let busy_job of busy_job_array_copy){ + if(busy_job === job_instance) {} //let this pass through to the below as the passed in robot_status is from this instrr and this job_instance + else { + busy_job.set_up_next_do(0) //now execute the instr at the PC in an OTHER job, without advancing it. + return + } + } let instruction_to_run_when_error = job_instance.if_robot_status_error //.call(job_instance, robot_status) if(instruction_to_run_when_error){ //note instruction_to_run_when_error can be a single instruction or an array @@ -1522,7 +1532,7 @@ Dexter = class Dexter extends Robot { clean_up_busy_job_array(){ let result = [] for(let a_job of this.busy_job_array){ - if(a_job.is_active()) { //remove inactive jobs from busy_job_array by preserviong the still active ones + if(a_job.is_active()) { //remove inactive jobs from busy_job_array by preserving the still active ones if(!result.includes(a_job)) { //remove duplicates result.push(a_job) } diff --git a/core/socket.js b/core/socket.js index e56183d2..29bccd40 100755 --- a/core/socket.js +++ b/core/socket.js @@ -633,6 +633,11 @@ var Socket = class Socket{ let job_id = robot_status[Dexter.JOB_ID] let job_instance = Job.job_id_to_job_instance(job_id) //out(job_instance.name + " " + rob.name + " bottom of Socket.on_receive with: " + robot_status) + + if(oplet === "M"){ //todo just temporary for testing. remove. + robot_status[Dexter.ERROR_CODE] = 9 + } + dexter_instance.robot_done_with_instruction(robot_status) //robot_status ERROR_CODE *might* be 1 } diff --git a/doc/guide.html b/doc/guide.html index fa01e668..3406ee30 100644 --- a/doc/guide.html +++ b/doc/guide.html @@ -8,8 +8,8 @@
About This is Dexter Development Environment
- version: 3.8.13
- released: Nov 24, 2022 + version: 3.8.14
+ released: Mar 24, 2022

DDE helps you create, debug, and send software to a Dexter robot. You can use any JavaScript augmented with DDE-specific functions to help find out about, diff --git a/doc/release_notes.html b/doc/release_notes.html index e1e527d6..7840817a 100644 --- a/doc/release_notes.html +++ b/doc/release_notes.html @@ -6,6 +6,25 @@ .doc_details summary { font-weight: 600; } +
v 3.8.14, Mar 24, 2023 +Highlights mathjs installed, fixes and extensions for class Vector that uses mathjs. + Fix and extension for Defaults.make_ins processing. +
    +
  • Fixed bug in Jobs menu Show Robot Status whereby, + if the last job run had a robot that was not a Dexter, + it would not display the dialog box.
  • +
  • Fixed bug in to_source_code in the argument when calling to_source_code_lit_obj.
  • +
  • Fix for Dexter.prototype.defaults_high_level_to_defaults_lines_ServoSetup_line + about duplicate RebootServo written out to defaults.make_ins
  • +
  • Extended Defaults.make_ins parsing and writing back out to accomadate CmdXor processing.
  • +
  • Vector.rotate fixed for "term3"
  • +
  • Fixed doc eval_after_changing_dde-init
  • +
  • mathjs is now installed in DDE3. To use it: for example, mathjs.eigs(...)
  • +
  • Vector.js new methods on Vector class: circle_fit_3D, + circle_fit_2D, plane_fit. plane_fit calls mathjs.eigs
  • +
  • Dexter.robot_done_with_instruction extended to better handle errors.
  • +
+
v 3.8.13, Nov 24, 2022 Highlights: Big fixes to Dexter.defaults, zip file support
    diff --git a/math/Vector.js b/math/Vector.js index 729724a5..f0287249 100644 --- a/math/Vector.js +++ b/math/Vector.js @@ -3,7 +3,7 @@ //James Wigglesworth //Started: 6_18_16 //Updated: 2_28_23 -var mathjs = require(DDE_NPM.folder + "mathjs") // needed for Vector.plane_fit(), 'mathjs' avoids confusion of 'Math' vs 'math' +var mathjs = require(/*DDE_NPM.folder + */ "mathjs") // needed for Vector.plane_fit(), 'mathjs' avoids confusion of 'Math' vs 'math' var dde_github_issues = "https://github.com/cfry/dde/issues" diff --git a/package.json b/package.json index e44c2cc3..0c22ae0b 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { "name": "dexter_dev_env", "productName": "dexter_dev_env", - "version": "3.8.13", - "release_date": "Nov 24, 2022", + "version": "3.8.14", + "release_date": "Mar 24, 2022", "description": "Dexter Development Environment for programming the Dexter robot.", "author": "Fry", "license": "GPL-3.0", @@ -46,7 +46,7 @@ "js-beautify": "^1.13.13", "litegraph.js": "^0.7.9", "mark.js": "^8.11.1", - "mathjs": "^5.3.1", + "mathjs": "^5.10.3", "modbus-serial": "^7.8.1", "multicast-dns": "^7.2.0", "nano-time": "^1.0.0", diff --git a/ready.js b/ready.js index b6f59861..e90d5306 100644 --- a/ready.js +++ b/ready.js @@ -1848,6 +1848,8 @@ var {FPGA} = require("./core/fpga.js") var {Simqueue} = require("./core/simqueue.js") require('./core/dexter_defaults.js') +var mathjs = require(/*DDE_NPM.folder + */ "mathjs") + //packages for package sake.