package hardcaml_waveterm
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
A terminal based digital waveform viewer for Hardcaml
Install
dune-project
Dependency
Authors
Maintainers
Sources
v0.17.0.tar.gz
sha256=a6780e4310f46cd71ff8a3cdf12bb51afdf0eaea5e84645a148a4ecd0f02920b
doc/hardcaml_waveterm.cyclesim/Hardcaml_waveterm_cyclesim/Render/Static/R/index.html
Module Static.RSource
get width code and actual width in chars
get height code and actual height in chars
max width of values window. Needs to evaluate the entire waveform.
gets an estimate fo the max with of values. Inaccruate for the constructors U, S and F.
Source
val draw_clock_cycle :
ctx:
(Base.int * Hardcaml_waveterm_kernel__.Draw.Style.t) Base.array Base.array ->
style:Hardcaml_waveterm_kernel__.Draw.Style.t ->
bounds:Hardcaml_waveterm_kernel__.Draw.rect ->
w:Base.int ->
h:Base.int ->
c:Base.int ->
Base.unitdraws one clock cycle
Source
val draw_clock_cycles :
ctx:
(Base.int * Hardcaml_waveterm_kernel__.Draw.Style.t) Base.array Base.array ->
style:Hardcaml_waveterm_kernel__.Draw.Style.t ->
bounds:Hardcaml_waveterm_kernel__.Draw.rect ->
w:Base.int ->
waw:Base.int ->
h:Base.int ->
cnt:Base.int ->
Base.unitdraws cnt clock cycles
Source
val draw_binary_data :
ctx:
(Base.int * Hardcaml_waveterm_kernel__.Draw.Style.t) Base.array Base.array ->
style:Hardcaml_waveterm_kernel__.Draw.Style.t ->
bounds:Hardcaml_waveterm_kernel__.Draw.rect ->
w:Base.int ->
h:Base.int ->
data:Data.t ->
off:Base.int ->
Base.unitdraw binary waveform data
Source
val draw_data :
ctx:
(Base.int * Hardcaml_waveterm_kernel__.Draw.Style.t) Base.array Base.array ->
style:Hardcaml_waveterm_kernel__.Draw.Style.t ->
bounds:Hardcaml_waveterm_kernel__.Draw.rect ->
to_str:(Hardcaml.Bits.t -> Base.string) ->
alignment:Hardcaml_waveterm_kernel.Text_alignment.t ->
w:Base.int ->
h:Base.int ->
data:Data.t ->
off:Base.int ->
Base.unitdraw arbitrary waveform data
Source
type !'a draw_item =
?style:Hardcaml_waveterm_kernel__.Draw.Style.t ->
ctx:
(Base.int * Hardcaml_waveterm_kernel__.Draw.Style.t) Base.array Base.array ->
bounds:Hardcaml_waveterm_kernel__.Draw.rect ->
Waves.t ->
'aSource
val with_border :
draw:'a draw_item ->
label:Base.string ->
?border:Hardcaml_waveterm_kernel__.Draw.Style.t ->
'a draw_itemSource
val draw_cursor :
ctx:
(Base.int * Hardcaml_waveterm_kernel__.Draw.Style.t) Base.array Base.array ->
bounds:Hardcaml_waveterm_kernel__.Draw.rect ->
state:Waves.t ->
Base.unitdraw cursor
Source
val draw_signals :
?alignment:Hardcaml_waveterm_kernel.Text_alignment.t ->
?style:Hardcaml_waveterm_kernel__.Draw.Style.t ->
selected_wave_index:Base.int Base.option ->
ctx:
(Base.int * Hardcaml_waveterm_kernel__.Draw.Style.t) Base.array Base.array ->
bounds:Hardcaml_waveterm_kernel__.Draw.rect ->
Waves.t ->
Base.unitdraw signal names
Source
val draw_ui :
?signals_alignment:Hardcaml_waveterm_kernel.Text_alignment.t ->
?style:Styles.t ->
?bounds:Bounds.t ->
ctx:
(Base.int * Hardcaml_waveterm_kernel__.Draw.Style.t) Base.array Base.array ->
Waves.t ->
Base.unitdraw standard user inferface (names, values, waveforms left to right
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>