Waveform example¶
This example demonstrates the use of wavInit and wavAddSample for waveform display, and how to place labels using the label function.
Any button can be used to display a waveform. The call to wavInit sets up certain specially named attributes in the button.
View demoWaveform.psi in your browser or
Download demoWaveform.psi
- Setting the waveform area
- The waveform is displayed in the insets rectangle.
wavButton.insets = { .25, .1, 0, .1 };makes room for x axis labels on the bottom and a general label of the graph on top, as well as a big area to the left for labeling the y axis.wavButton.color = { 0, 1, 0, .1 };gives the waveform area a pale green background. - Y axis labels
labtopy = label(wavButton, "top Y", { 0, 1 }, { -1, 0 });andlabboty = label(wavButton, "bot Y", { 0, 0 }, { -1, 0 });are used to label the y axis with the maximum and minimum of the range of values displayed in the waveform. (The “top Y” and “bot Y” are just placeholders; the actual values are set later to make the program easier to read.) The x position, 0, places the labels to the left of the waveform display, and the x offset, -1, left-justifies the text so it doesn’t cover the display.The y positions, 1 and 0, place the texts at the top and bottom of the display area, and the y offset of zero vertically centers the text on the top and bottom edges of the display area.