Global

Members

# constant addKeys

Function used to add or change keys user or default grabs the keycombo from localstorage & calls the addShortcut function in a loop to bind them

View Source hotkey_binder/model/actions.js, line 19

# constant buttonListenerFunctions

Defines all the functions called as event listeners for buttons on the UI

View Source testbench.js, line 278

Object

# canvasMessageData

details of where and what canvas message has to be shown.
Properties:
Name Type Description
x number x cordinate of message
y number x cordinate of message
string number the message

View Source engine.js, line 191

# constant checkUpdate

Function used to check if new keys are added, adds missing keys if added

View Source hotkey_binder/model/actions.js, line 44

# colors

Common canvas theme color object, used for rendering canvas elements

View Source themer/themer.js, line 38

# constant colorThemes

Create Color Themes Dialog

View Source themer/themer.js, line 112

# constant CreateAbstraction

CreateAbstraction

View Source themer/customThemeAbstraction.js, line 6

Object

# ctxPos

- Object stores the position of context menu;

View Source ux.js, line 48

# constant CustomColorThemes

Create Custom Color Themes Dialog

View Source themer/customThemer.js, line 46

# constant defaultKeys

Add more elements here, along with a valid value for key Elements keys must have the same name as their ID

View Source hotkey_binder/defaultKeys.js, line 5

boolean

# errorDetected

Flag for updating grid

View Source engine.js, line 163

boolean

# forceResetNodes

Flag for updating grid

View Source engine.js, line 148

# frameInterval

Spec Constants Size Spec Diagram - https://app.diagrams.net/#G1HFoesRvNyDap95sNJswTy3nH09emDriC NOTE: Since DPR is set on page load, changing of screen in runtime will not work well
To Do:
  • - Support for color themes - Replace constants with functions? - Can support Zoom in and Zoom out of canvas then

View Source plotArea.js, line 20

# constant getThemeCard

Generates theme card HTML

View Source themer/themer.js, line 92

boolean

# gridUpdate

Flag for updating grid

View Source engine.js, line 124

# layoutMode

Layout.js - all subcircuit layout related code is here You can edit how your subcircuit for a circuit will look by clicking edit layout in properties for a ciruit

View Source layoutMode.js, line 24

Object

# miniMapArea

miniMapAreaThis object is used to draw the miniMap.
Properties:
Name Type Description
pageY number
pageX number
canvas HTMLCanvasObject the canvas object
setup function used to setup the parameters and dimensions
play function used to draw outline of minimap and call resolve
resolve function used to resolve all objects and draw them on minimap
clear function used to clear minimap

View Source minimap.js, line 17

# modules

Global

View Source modules.js, line 31

boolean

# objectSelection

true if we have an element selected and is used when we are paning the grid.

View Source engine.js, line 61

# constant override

fn to override key of duplicate entries old entry will be left blank & keys will be assigned to the new target

View Source hotkey_binder/view/panel.ui.js, line 69

Object

# constant plotArea

plotArea

View Source plotArea.js, line 63

# prevPropertyObj

Keeps in check which property is being displayed

View Source ux.js, line 274

boolean

# projectSaved

Flag for project saved or not

View Source data/project.js, line 80

# constant setDefault

Function used to set defaultKeys, grabs the keycombo from the defaultkeys metadata sets it to the localStorage & cals addKeys removes the userkeys from localStorage if present also checks for OS type

View Source hotkey_binder/model/actions.js, line 81

# constant setUserKeys

Function used to set userKeys, grabs the keycombo from the panel UI sets it to the localStorage & cals addKeys removes the defaultkeys from localStorage

View Source hotkey_binder/model/actions.js, line 62

Object

# constant simulationArea

Simulation environment object - holds simulation canvas
Properties:
Name Type Description
canvas HTMLCanvasElement
selected boolean
hover boolean
clockState number
clockEnabled boolean
lastSelected undefined
stack Array
prevScale number
oldx number
oldy number
objectList Array
maxHeight number
maxWidth number
minHeight number
minWidth number
multipleObjectSelections Array
copyList Array List of selected elements
shiftDown boolean shift down or not
controlDown boolean contol down or not
timePeriod number time period
mouseX number mouse x
mouseY number mouse y
mouseDownX number mouse click x
mouseDownY number mouse click y
simulationQueue Array simulation queue
clickCount number number of clicks
lock string locked or unlocked
timer function timer
setup function to setup the simulaton area
changeClockTime function change clock time
clear function clear the simulation area

View Source simulationArea.js, line 42

LayoutBuffer

# tempBuffer

- used to temporartily store all changes.

View Source layoutMode.js, line 38

number

# uniqueIdCounter

used to give id to a node.

View Source node.js, line 109

boolean

# updateCanvas

Flag for rendering

View Source engine.js, line 108

# constant updateHTML

fn to update the htokey panel UI with the currently set configuration

View Source hotkey_binder/view/panel.ui.js, line 40

boolean

# updatePosition

Flag for updating position

View Source engine.js, line 77

boolean

# updateSimulation

Flag for updating simulation

View Source engine.js, line 93

boolean

# updateSubcircuit

Flag for updating subCircuits

View Source engine.js, line 202

# constant warnOverride

function to check if user entered keys are already assigned to other key gives a warning message if keys already assigned

View Source hotkey_binder/model/actions.js, line 104

boolean

# willBeUpdated

scheduleUpdate() will be called if true

View Source engine.js, line 43

number

# wireToBeChecked

engine

View Source engine.js, line 27

Methods

# bindIO(data, scopeopt)

Returns object of scope inputs and outputs keyed by their labels
Parameters:
Name Type Attributes Description
data Object Object containing Test Data
scope Scope <optional>
the circuit

View Source testbench.js, line 813

# blockElementPan()

Function BlockElementPan This function block the pan of elements since in embed simulator you can only view simulator NOT update

View Source embedListeners.js, line 102

# cancelLayout()

just toggles back to normal mode

View Source layoutMode.js, line 340

# changeCircuitName(name, id)

Used to change name of a circuit
Parameters:
Name Type Description
name string new name
id string id of the circuit

View Source circuit.js, line 214

# changeClockEnable()

a global function as a helper for simulationArea.changeClockEnable

View Source sequential.js, line 8

# changeLightMode(val)

turn light mode on
Parameters:
Name Type Description
val boolean - new value for light mode

View Source engine.js, line 223

# checkDistinctIdentifiersData(data)

Checks if all the labels in the test data are unique. Called by validate()
Parameters:
Name Type Description
data Object Object containing Test Data

View Source testbench.js, line 714

# checkDistinctIdentifiersScope(scope)

Checks if all the input/output labels in the scope are unique. Called by validate() TODO: Replace with identifiers
Parameters:
Name Type Description
scope Scope the circuit

View Source testbench.js, line 727

# checkIfBackup(scope) → {boolean}

Check if backup is available
Parameters:
Name Type Description
scope Scope

View Source data/backupCircuit.js, line 14

boolean

# checkToSave()

Checks if any circuit has unsaved data

View Source data/project.js, line 102

# clearProject()

Function to clear project

View Source data/project.js, line 131

# constructNodeConnections(node, data)

Constructs all the connections of Node node
Parameters:
Name Type Description
node Node node to be constructed
data JSON the saved data which is used to load

View Source node.js, line 21

# copy(copyList, cutflag)

Helper function for copy
Parameters:
Name Type Description
copyList JSON The data to copied
cutflag boolean flase if we want to copy

View Source events.js, line 201

# createBooleanPrompt(inputListNames, outputListNames, scopeopt)

This function hashes the output array and makes required JSON using a BooleanMinimize class defined in Quin_Mcluskey.js var s which will be output table is also initialied here
Parameters:
Name Type Attributes Description
inputListNames Array labels of input nodes
outputListNames Array labels of output nodes
scope Scope <optional>
h circuit

View Source combinationalAnalysis.js, line 132

# createCombinationalAnalysisPrompt(scopeopt)

The prompt for combinational analysis
Parameters:
Name Type Attributes Description
scope Scope <optional>
the circuit in which we want combinational analysis

View Source combinationalAnalysis.js, line 100

# createElements(metadata)

function to generate the specific HTML for the hotkey panel
Parameters:
Name Type Description
metadata object keycombo object

View Source hotkey_binder/view/panel.ui.js, line 8

# createNewCircuitScope()

Wrapper function around newCircuit to be called from + button on UI

View Source circuit.js, line 136

# createSubCircuitPrompt(scopeopt)

Prompt to create subcircuit, shows list of circuits which dont depend on the current circuit
Parameters:
Name Type Attributes Description
scope Scope <optional>

View Source subcircuit.js, line 35

# creatorOpenPrompt()

UI Function Create prompt for the testbench UI when creator is opened

View Source testbench.js, line 172

# ctx(o)

The mock canvas context
Parameters:
Name Type Description
o options include: ctx - existing Context2D to wrap around width - width of your canvas (defaults to 500) height - height of your canvas (defaults to 500) enableMirroring - enables canvas mirroring (get image data) (defaults to false) document - the document object (defaults to the current document)

View Source canvas2svg.js, line 225

# currentScreen()

Function to return id or class of panel according to screen width

View Source listeners.js, line 1168

# cut(copyList)

Helper function for cut
Parameters:
Name Type Description
copyList JSON The selected elements

View Source events.js, line 123

# decreaseLayoutHeight()

Decrease Height, and move all nodes, check if space is there

View Source layoutMode.js, line 272

# decreaseLayoutWidth()

Decrease Width, and move all nodes, check if space is there

View Source layoutMode.js, line 244

# deleteCurrentCircuit()

Deletes the current circuit Ensures that at least one circuit is there Ensures that no circuit depends on the current circuit Switched to a random circuit

View Source circuit.js, line 97

# determineLabel(x, y)

Helper function to determine alignment and position of nodes for rendering
Parameters:
Name Type Description
x number width of label
y number height of label

View Source layoutMode.js, line 46

# downloadAsImg(name, imgType)

Helper function to save canvas as image based on image type
Parameters:
Name Type Description
name string name of the circuit
imgType string image type ex: png,jpg etc.

View Source data/save.js, line 48

# dragStart(e, elementId)

Parameters:
Name Type Description
e event
elementId elementId Function to drag element of selected ID

View Source listeners.js, line 72

# embedPanEnd()

Function embedPanEnd This function update simulator after mouse and touch end For now variable name starts with mouse like mouseDown are used both touch and mouse will change in future

View Source embedListeners.js, line 87

# embedPanMove()

Function embedPanMove This function hepls to move simulator and its elements using touch and mouse For now variable name starts with mouse like mouseDown are used both touch and mouse will change in future

View Source embedListeners.js, line 53

# embedPanStart()

Function embedPanStart This function hepls to initialize mouse and touch For now variable name starts with mouse like mouseDown are used both touch and mouse will change in future

View Source embedListeners.js, line 26

# errorDetectedGet() → {boolean}

used to set errorDetected

View Source engine.js, line 179

errorDetected
boolean

# errorDetectedSet(param)

used to set errorDetected
Parameters:
Name Type Description
param boolean

View Source engine.js, line 170

# escapeHtml(unsafe)

checkss the input is safe or not
Parameters:
Name Type Description
unsafe HTML the html which we wants to escape

View Source ux.js, line 477

# ExportCircuitFiles()

To Export Circuit Files

View Source file/SaveAs.js, line 24

# extractNode(x, scope, parent)

get Node in index x in scope and set parent
Parameters:
Name Type Description
x Node the desired node
scope Scope the scope
parent CircuitElement The parent of node

View Source node.js, line 91

# fillSubcircuitElements()

Fills the elements that can be displayed in the subcircuit, in the subcircuit menu

View Source ux.js, line 599

# findNode(x)

find Index of a node
Parameters:
Name Type Description
x Node Node to be dound

View Source node.js, line 70

# forceResetNodesSet(param)

used to set forceResetNodes
Parameters:
Name Type Description
param boolean

View Source engine.js, line 155

# generateImage(imgType, view, transparent, resolution, downopt)

Function to generate image for the circuit
Parameters:
Name Type Attributes Description
imgType string ex: png,jpg etc.
view string view type ex: full
transparent boolean tranparent bg or not
resolution number resolution of the image
down boolean <optional>
will download if true

View Source data/save.js, line 151

# async generateImageForOnline() → {JSON}

Function that is used to save image for display in the website

View Source data/save.js, line 281

JSON

# generateSaveData(name) → {JSON}

Generates JSON of the entire project
Parameters:
Name Type Description
name string the name of project

View Source data/save.js, line 74

JSON

# getCanvasColors() → {object}

Extracts canvas theme colors from CSS-Variables and returns a JSON Object

View Source themer/themer.js, line 10

object

# getCustomThemeCard()

Generates Custom theme card HTML return Html Element Theme card html (properties_container)

View Source themer/customThemer.js, line 19

# getOutputValues(outputs)

Gets Output values as a Map with keys as output name and value as output state
Parameters:
Name Type Description
outputs Object Object with keys as output names and values as outputs

View Source testbench.js, line 550

# getProjectName(name)

Function to set the name of project.
Parameters:
Name Type Description
name string name for project

View Source data/save.js, line 38

# getTabsOrder()

Returns the order of tabs in the project

View Source data/save.js, line 59

# getTap(e)

Parameters:
Name Type Description
e event function to detect tap and double tap

View Source listeners.js, line 111

# getThemeCardSvg(themeName) → {SVG}

Theme Preview Card SVG Sets the SVG colors according to theme
Parameters:
Name Type Description
themeName string Name of theme

View Source themer/themer.js, line 63

SVG

# gridUpdateGet() → {boolean}

used to get gridUpdate

View Source engine.js, line 140

boolean

# gridUpdateSet(param)

used to set gridUpdate
Parameters:
Name Type Description
param boolean

View Source engine.js, line 131

# hideContextMenu()

Function hides the context menu

View Source ux.js, line 58

# hideProperties()

Hides the properties in sidebar.

View Source ux.js, line 466

# increaseLayoutHeight()

Increase Height, and move all nodes

View Source layoutMode.js, line 230

# increaseLayoutWidth()

Increase width, and move all nodes

View Source layoutMode.js, line 216

# layoutResetNodes()

Helper function to reset all nodes to original default positions

View Source layoutMode.js, line 199

# layoutTitleDown()

Helper functions to move the titles

View Source layoutMode.js, line 308

# layoutTitleLeft()

Helper functions to move the titles

View Source layoutMode.js, line 324

# layoutTitleRight()

Helper functions to move the titles

View Source layoutMode.js, line 316

# layoutTitleUp()

Helper functions to move the titles

View Source layoutMode.js, line 300

# layoutUpdate(scope)

Update UI, positions of inputs and outputs
Parameters:
Name Type Description
scope Scope the circuit whose subcircuit we are editing

View Source layoutMode.js, line 170

# loadModule(data, scope)

Function to load CircuitElements
Parameters:
Name Type Description
data JSON JSOn data
scope Scope circuit in which we want to load modules

View Source data/load.js, line 38

# loadNode(data, scope)

function makes a node according to data providede
Parameters:
Name Type Description
data JSON the data used to load a Project
scope Scope scope to which node has to be loaded

View Source node.js, line 80

# loadResult()

Loads result from JSON string into the testbench creator UI

View Source testCreator.js, line 477

# loadScope(scope, data)

Function to load a full circuit
Parameters:
Name Type Description
scope Scope
data JSON

View Source data/load.js, line 99

# loadSubCircuit()

Function to load a subcicuit

View Source subcircuit.js, line 26

Function is called when context item is clicked
Parameters:
Name Type Description
id number id of the optoin selected

View Source ux.js, line 135

# newCircuit(name, id)

Function to create new circuit Function creates button in tab, creates scope and switches to this circuit
Parameters:
Name Type Description
name string name of the new circuit
id string identifier for circuit

View Source circuit.js, line 153

# newProject(verify)

Function used to start a new project while prompting confirmation from the user
Parameters:
Name Type Description
verify boolean flag to verify a new project

View Source data/project.js, line 146

# normalize()

Return a new normalized vector of given vector

View Source canvas2svg.js, line 650

# objectSelectionSet(param)

used to set the value of object selection,
Parameters:
Name Type Description
param boolean

View Source engine.js, line 68

# onDoubleClickorTap(e)

Parameters:
Name Type Description
e event function for double click or double tap

View Source listeners.js, line 95

# onTapColor()

Function For Menu Button Color

View Source listeners.js, line 1214

# openCreator(type, dataString)

Use this function to navigate to test creator. This function starts the storage listener so the test is loaded directly into the simulator
Parameters:
Name Type Description
type string 'create', 'edit' or 'result'
dataString String data in JSON string to load in case of 'edit' and 'result'

View Source testbench.js, line 950

# openOffline()

Prompt to restore from localStorage

View Source data/project.js, line 44

# paneLayout(scope)

Used to move the grid in the layout mode
Parameters:
Name Type Description
scope Scope the circuit whose subcircuit we are editing

View Source layoutMode.js, line 58

# paste(copyData)

Helper function to paste
Parameters:
Name Type Description
copyData JSON the data to be pasted

View Source events.js, line 19

# play(scopeopt, resetNodes)

Main fn that resolves circuit using event driven simulation All inputs are added to a scope using scope.addinput() and the simulation starts to play.
Parameters:
Name Type Attributes Description
scope Scope <optional>
the circuit we want to simulate
resetNodes boolean boolean to reset all nodes

View Source engine.js, line 377

# readOnlyUI()

Makes the UI read only for displaying results

View Source testCreator.js, line 524

# recoverDataFlow()

Helper function to recover unsaved data

View Source data/project.js, line 16

# rectifyObjectType(obj)

Backward compatibility - needs to be deprecated
Parameters:
Name Type Description
obj CircuitElement the object to be rectified

View Source data/load.js, line 24

# removeBugNodes()

This function shouldn't ideally exist. But temporary fix for some issues while loading nodes.

View Source data/load.js, line 82

# renderCanvas(scope)

Function to render Canvas according th renderupdate order
Parameters:
Name Type Description
scope Scope The circuit whose canvas we want to render

View Source engine.js, line 242

# renderLayout(scopeopt)

Function to render layout on screen in layoutMode
Parameters:
Name Type Attributes Description
scope Scope <optional>

View Source layoutMode.js, line 88

# replace(node, index)

Fn to replace node by node @ index in global Node List - used when loading
Parameters:
Name Type Description
node Node node to be replaced
index number index of node to be replaced

View Source node.js, line 31

# resetup()

to resize window and setup things it sets up new width for the canvas variables. Also redraws the grid.

View Source setup.js, line 42

# runAll(data, scopeopt)

Run all the tests automatically. Called by runTestBench()
Parameters:
Name Type Attributes Description
data Object Object containing Test Data
scope Scope <optional>
the circuit

View Source testbench.js, line 395

# runSingleCombinational(data, groupIndex, caseIndex, scope)

Runs single combinational test
Parameters:
Name Type Description
data Object Object containing Test Data
groupIndex number Index of the group to be tested
caseIndex number Index of the case inside the group
scope Scope The circuit

View Source testbench.js, line 473

# runSingleSequential(data, groupIndex, caseIndex, scope)

Runs single sequential test and all tests above it in the group Used in MANUAL mode
Parameters:
Name Type Description
data Object Object containing Test Data
groupIndex number Index of the group to be tested
caseIndex number Index of the case inside the group
scope Scope The circuit

View Source testbench.js, line 501

# runSingleTest(data, groupIndex, caseIndex, scope)

Runs single test
Parameters:
Name Type Description
data Object Object containing Test Data
groupIndex number Index of the group to be tested
caseIndex number Index of the case inside the group
scope Scope The circuit

View Source testbench.js, line 453

# runTest(n)

WIP function defined and used
Parameters:
Name Type Description
n number

View Source sequential.js, line 17

# runTestBench(data, runContextopt, scopeopt)

Interface function to run testbench. Called by testbench prompt on simulator or assignments
Parameters:
Name Type Attributes Description
data Object Object containing Test Data
runContext RunContext <optional>
Whether simulator or Assignment called this function
scope Scope <optional>
the circuit

View Source testbench.js, line 215

# saveData()

Called when Save is clicked. If opened in popup, sends message to parent window to attach test to the testbench.

View Source testCreator.js, line 433

# saveLayout()

Store all data into layout and exit

View Source layoutMode.js, line 352

# saveOffline()

Helper function to store to localStorage -- needs to be deprecated/removed

View Source data/project.js, line 89

# scheduleUpdate(countopt, timeopt, fn)

Function to check for any UI update, it is throttled by time
Parameters:
Name Type Attributes Description
count number <optional>
this is used to force update
time number <optional>
the time throttling parameter
fn function function to run before updating UI

View Source engine.js, line 436

# selectAll()

Function selects all the elements from the scope

View Source events.js, line 300

# setInputValues(inputs, group, caseIndex, scope)

Set and propogate the input values according to the testcase. Called by runSingle() and runAll()
Parameters:
Name Type Description
inputs Object Object with keys as input names and values as inputs
group Object Test group
caseIndex number Index of the case in the group
scope Scope the circuit

View Source testbench.js, line 537

# setProjectName(name)

Function to set the name of project.
Parameters:
Name Type Description
name string name for project

View Source data/save.js, line 23

# setUICurrentCase(data, groupIndex, caseIndex)

UI Function Set current test case data on the UI
Parameters:
Name Type Description
data Object Object containing the test data
groupIndex number Index of the group of current case
caseIndex number Index of the case within the group

View Source testbench.js, line 895

# setUIResult(data, result)

UI Function Set the current test case result on the UI
Parameters:
Name Type Description
data Object Object containing the test data
result Map Map containing the output values (returned by getOutputValues())

View Source testbench.js, line 924

# setUITableHeaders(data)

UI Function Sets IO labels and bitwidths on UI table Called by simulatorRunTestbench()
Parameters:
Name Type Description
data Object Object containing the test data

View Source testbench.js, line 862

# setup()

The first function to be called to setup the whole simulator

View Source setup.js, line 148

# setupElementLists()

It initializes some useful array which are helpful while simulating, saving and loading project. It also draws icons in the sidebar

View Source setup.js, line 100

# setupEnvironment()

function to setup environment variables like projectId and DPR

View Source setup.js, line 82

# setupTestbenchUI()

UI Function Checks whether test is attached to the scope and switches UI accordingly

View Source testbench.js, line 376

# setupUI()

adds some UI elements to side bar and menu also attaches listeners to sidebar

View Source ux.js, line 163

# showContextMenu()

Function displays context menu

View Source ux.js, line 71

# showError(error)

Helper function to show error
Parameters:
Name Type Description
error string The error to be shown

View Source utils.js, line 48

# showProperties(obj)

show properties of an object.
Parameters:
Name Type Description
obj CircuiElement the object whose properties we want to be shown in sidebar

View Source ux.js, line 290

# showValidationUI(validationErrors)

UI Function Shows validation UI
Parameters:
Name Type Description
validationErrors Object Object with errors returned by validate()

View Source testbench.js, line 568

# solveBooleanFunction(inputListNames, booleanExpression)

This function solves passed boolean expression and returns output array which contains solution of the truth table of given boolean expression
Parameters:
Name Type Description
inputListNames Array labels for input nodes
booleanExpression String boolean expression which is to be solved

View Source combinationalAnalysis.js, line 374

# switchCircuit(id)

Function used to change the current focusedCircuit Disables layoutMode if enabled Changes UI tab etc Sets flags to make updates, resets most of the things
Parameters:
Name Type Description
id string identifier for circuit

View Source circuit.js, line 55

# tickClock(scope)

Ticks clock recursively one full cycle (Only used in testbench context)
Parameters:
Name Type Description
scope Scope the circuit whose clock to be ticked

View Source testbench.js, line 837

# toggleLayoutMode()

Function to toggle between layoutMode and normal Mode the sidebar is disabled and n properties are shown.

View Source layoutMode.js, line 373

# toggleLayoutTitle()

Helper functions to move the titles

View Source layoutMode.js, line 332

# triggerReset(reset, scope)

Triggers reset (Only used in testbench context)
Parameters:
Name Type Description
reset Input reset pin to be triggered
scope Scope the circuit

View Source testbench.js, line 849

# uniq(a)

Helper function to return unique list
Parameters:
Name Type Description
a Array any array

View Source utils.js, line 90

# update(scopeopt, updateEverythingopt)

fn that calls update on everything else. If any change is there, it resolves the circuit and draws it again. Also updates simulations, selection, minimap, resolves circuit and redraws canvas if required.
Parameters:
Name Type Attributes Description
scope Scope <optional>
the circuit to be updated
updateEverything boolean <optional>
if true we update the wires, nodes and modules

View Source engine.js, line 463

# updateCanvasSet(param)

used to set the value of updateCanvas.
Parameters:
Name Type Description
param boolean

View Source engine.js, line 115

# updatePositionSet(param)

used to set the value of updatePosition.
Parameters:
Name Type Description
param boolean

View Source engine.js, line 84

# updateSelectionsAndPane(scopeopt)

Function to move multiple objects and panes window deselected using dblclick right now (PR open for esc key)
Parameters:
Name Type Attributes Description
scope Scope <optional>
the circuit in which we are selecting stuff

View Source engine.js, line 292

# updateSimulationSet(param)

used to set the value of updateSimulation.
Parameters:
Name Type Description
param boolean

View Source engine.js, line 100

# updateSubcircuitSet(param)

used to set updateSubcircuit
Parameters:
Name Type Description
param boolean

View Source engine.js, line 209

# updateTestbenchUI()

Updates the TestBench UI on the simulator with the current test attached If no test is attached then shows the 'No test attached' screen Called by runTestBench() when test is set, also called by UX/setupPanelListeners() whenever ux change requires this UI to update(such as clicking on a different circuit or loading a saved circuit)

View Source testbench.js, line 247

# updateThemeForStyle()

Updates theme 1) Sets CSS Variables for UI elements 2) Sets color variable for Canvas elements

View Source themer/themer.js, line 45

# validate(data, scope)

Validate if all inputs and output elements are present with correct bitwidths
Parameters:
Name Type Description
data Object Object containing Test Data
scope Scope the circuit

View Source testbench.js, line 637

# validateInputs(data, scope)

Validates presence and bitwidths of test inputs in the circuit. Called by validate()
Parameters:
Name Type Description
data Object Object containing Test Data
scope Scope the circuit

View Source testbench.js, line 744

# validateOutputs(data, scope)

Validates presence and bitwidths of test outputs in the circuit. Called by validate()
Parameters:
Name Type Description
data Object Object containing Test Data
scope Scope the circuit

View Source testbench.js, line 779

# validationAutoFix(validationErrors)

Autofix whatever is possible in validation errors. returns number of autofixed errors
Parameters:
Name Type Description
validationErrors Object Object with errors returned by validate()

View Source testbench.js, line 693

# willBeUpdatedSet()

used to set willBeUpdated variable

View Source engine.js, line 51

# wireToBeCheckedSet(param)

Used to set wireChecked boolean which updates wires in UI if true (or 1). 2 if some problem and it is handled.
Parameters:
Name Type Description
param number value of wirechecked

View Source engine.js, line 34

Type Definitions

number

# RunContext

View Source testbench.js, line 12