WaveSimHelpers Module
Miscellaneous helpers used tby waveform simulator
Types
| Type | Description |
Functions and values
| Function or value | Description |
Full Usage:
allConnectedPorts fs sp
Parameters:
FastSimulation
sp : SheetPort list
Returns: SheetPort list
|
|
Full Usage:
bitLimsString (a, b)
Parameters:
int
b : int
Returns: string
|
|
Full Usage:
button options func label
Parameters:
Option list
func : MouseEvent -> unit
label : ReactElement
Returns: ReactElement
|
|
Full Usage:
camelCaseDottedWords text
Parameters:
string
Returns: string
|
|
Full Usage:
connectedIOs fs sp
Parameters:
FastSimulation
sp : SheetPort
Returns: SheetPort list
|
|
Full Usage:
connectedPorts fs sheetPort
Parameters:
FastSimulation
sheetPort : SheetPort
Returns: SheetPort list
|
|
Full Usage:
connsOfWave fs wave
Parameters:
FastSimulation
wave : Wave
Returns: ConnectionId list
|
|
|
|
Full Usage:
getCompGroup fs wave
Parameters:
FastSimulation
wave : Wave
Returns: ComponentGroup
|
|
|
|
|
|
Full Usage:
getWaveSimButtonOptions (arg1, arg2) model ws dispatch
Parameters:
Component list
arg1 : Connection list
model : Model
ws : WaveSimModel
dispatch : Msg -> unit
Returns: WaveSimButtonOptions
|
|
|
The heading over a group of components within one sheet of the wave selector. Every case of ComponentGroup, so that adding one is a compile error rather than a row headed "What? Not used!" - which is what the wildcard this replaces would have given. Three of them, WireLabel, Viewers and Component, are not produced by getCompGroup: they are there for grouping components by type rather than by name, which the selector does not currently do.
|
Full Usage:
isRamSelected (arg1, arg2) wsModel
Parameters:
ComponentId
arg1 : ComponentId list
wsModel : WaveSimModel
Returns: bool
|
|
Full Usage:
isWaveSelected index wsModel
Parameters:
WaveIndexT
wsModel : WaveSimModel
Returns: bool
|
|
Full Usage:
portBits n
Parameters:
int
Returns: string
|
|
|
|
|
The name of the sheet a wave's component sits on, which is how ComponentsById and ConnectionsByPort are both keyed. A component's access path names the custom component instances it sits inside, and the innermost of those is an instance of the sheet wanted. It is that instance's TYPE which names the sheet: its LABEL is chosen by whoever placed it, and only happens to be the sheet's name until someone renames the instance. Asking the label instead left every wave in a renamed subsheet - REGFILE for reg16x8, say - with no connections found, and so with no wires highlighted on hover.
|
|
|
Full Usage:
waveToSheetPort fs wave
Parameters:
FastSimulation
wave : Wave
Returns: SheetPort list
|
Work out a SheetPort from a wave, if one exists SheetPorts may not exist in some corner cases when simulation is ending etc. Every step is best effort and gives nothing rather than throwing. The link between a wave and the schematic is only as good as the schematic still being the one that was simulated, and this runs from the mouse handlers on a waveform's name - where an exception is not caught by showWaveforms' error boundary, which has already returned by then.
|
|