Public
Edited
Jan 6, 2024
Insert cell
Insert cell
wdWrapper(
{
signal: [ {},
{name: 'Timer', wave: '010........'},{},
{name: ['tspan',{dy: -10},'Timeslot',['tspan',{x:-10, dy: 15},'Manager']], wave: '0.=.=.=.=.0', // Signal labels have a fixed offset of -10
data:[ ['tspan',{'font-size': 7.5, dy: -7},'Loading AFE1 Setting',
['tspan',{'font-size': 7.5, x: 0, dy: 8.5},'in Slot 1 and Enable',]],
['tspan',{'font-size': 7.5, dy: -3},'Wait AFE1 Done',],
['tspan',{'font-size': 7.5, dy: -7},'Loading AFE2 Setting',
['tspan',{'font-size': 7.5, x: 0, dy: 8.5},'in Slot 2 and Enable',]],
['tspan',{'font-size': 7.5, dy: -3},'Wait AFE2 Done',],
]
},{},
{name: 'AFE1_CTRL', wave: '0...=.0....', data: [
['tspan',{'font-size': 7.5, dy: -3},'AFE1 Work',],
]},{},
{name: 'AFE2_CTRL', wave: '0.......=.0', data: [
['tspan',{'font-size': 7.5, dy: -3},'AFE2 Work',],
]},{},
],
config: {fit2pane:true, wrapSvgInImg: 0, marks: false,
hbounds: [0,10], customStyle: '.lane_label{font-size:12px}'}
}


, 1)
Insert cell
wdWrapper( {config: {marks:false},signal: [{name:'Evaluating WaveDrom 24.01'}]}, 0)
Insert cell
wdWrapper = (() => {
wavedrom.waveSkin = window.WaveSkin ;
return (obj,i) => {
const actSVG = wavedrom.onml.stringify(wavedrom.renderAny(i, obj, wavedrom.waveSkin));
const parser = new DOMParser();
const actSVGForImg = parser.parseFromString(actSVG,'image/svg+xml').firstChild;
let ser = new XMLSerializer();
let imgt = document.createElement('img');
const svgAsImgString = encodeURIComponent(ser.serializeToString(actSVGForImg));
imgt.src = `data:image/svg+xml;utf8,${svgAsImgString}` ;
imgt.style = 'width:100%;height:100%;' ;
return imgt ;
}
})();
Insert cell
wd = (() => {
wavedrom.waveSkin = window.WaveSkin ;
return (obj,i) => html`${wavedrom.onml.stringify(wavedrom.renderAny(i, obj, wavedrom.waveSkin))}`
})();
Insert cell
wavedrom = (await require(await FileAttachment("wavedrom.unpkg.min.js").url()));
Insert cell
(await require(await FileAttachment("professional.js").url())).catch ( () => {} );
Insert cell
(await require(await FileAttachment("default.js").url())).catch ( () => {} );
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more