Hello element14 community.
In this blog I would like to share and describe how to show pictures on oscilloscopes. I used this technique for testing new oscilloscopes. At element14 community I shown it first time when received my first MP720644 tablet oscilloscope: MP720644 Multicomp Pro Tablet Oscilloscope and recently I slightly upgraded it after I received my latest bench oscilloscope which I received as part of contest reward: Received Experimenting with Supercapacitors Runner Up Prize. When probes attached to signal generator, it looks on the scope as follows:
For making such pictures on scope you need two things:
- Waveform data, or more precisely software which converts picture to such data
- Signal generator hardware, or more precisely arbitrary waveform generator
Rendering filled areas
The idea on filling areas is that if you generate oscillation pattern and zoom it out enough, it looks like filled area on the scope. Look at following signal. It is basic clock signal.
If you zoom it out slightly it looks as follows:
If you zoom out it furthermore, it will look as follows:
The vertical position is defined by voltage. In previous case signal oscillates between 0 and 3.3V, but with proper generator you can make it oscillate between different voltages. If your generator has multiple channels, you can generate multiple “filled” patters at the same time.
This is exactly how my element14 logo generator works. It oscillates and change oscillation voltage boundaries dynamically. If there are multiple vertical filled elements, channels splits and each channel generates some part of logo. For example, zoomed e letter looks like this:
Generator
As a generator you can use arbitrary waveform generator. But I do not have any, so I implemented myself DIY one. Analog signal can be generated using several approaches, but most convenient is using DAC (Digital-to-Analog converter). Some methods like using PWM + low pass filter may not be fast enough at transitions when oscillating, but when properly tuned they may work also. I just did not try them and went with convenient DAC way.
When I was generating waveforms for a first time, I used DAC integrated in STM32L5 microcontroller. But It was limited to only two channels. For my latest experiments with 4-ch scope, I changed setup and used external 4-ch SPI MAX5715 DAC chip and also changed microcontroller by Cypress/Infineon PSoC 62 microcontroller (on CY8CKIT-062S4 board) because it has more advanced DMA for transferring waveform data and commands to external DAC chip.
Converting picture to waveform data
The first step is converting picture to waveform data. In my case because I process them by MCUs, I generated outputs in form of C file.
The program I wrote in my favourite programming language Visual Basic .NET and it is very simple. Code quality is not very good, but I considered only single-purpose never expanded program. It loads picture from file and iterates over columns of the input image. In each column (yellow line of following picture) it checks horizontal regions filled by non-white color (with some threshold for filtering light colors). In case of example below, in column highlighted by yellow line, it finds 3 horizontal regions.
After searching regions, it maps them to channel. If there are not enough channels (for example, 2-ch generator can’t render 3 regions), it collapses some regions. It maps found regions to channels while optimizing crossing and transitions of channels from previous step. It generates signal in way that oscillates between boundaries of current and previous region mapped to the same channel.
At the end it generates waveform data as uint16_t array which it prints. It recomputes signal height from pixels to 12-bit range used by 12-bit DACs (values in range between 0 to 4095).
Later I added support for adding delay between repeating transmissions for make gaps between transmission of image.
Element14 2-ch logo
Waveform data are following:
uint16_t waveform_ch1[990] = {0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0527, 0x08FA, 0x0400, 0x09C7, 0x0361, 0x0A38, 0x0305, 0x0A7D, 0x02C1, 0x0AAA, 0x0294, 0x0AD7, 0x0266, 0x0B05, 0x024F, 0x0B1C, 0x0239, 0x056C, 0x0222, 0x0444, 0x020B, 0x03BB, 0x020B, 0x0377, 0x01F5, 0x0361, 0x01F5, 0x0333, 0x01DE, 0x0333, 0x01DE, 0x031C, 0x01DE, 0x031C, 0x01C7, 0x0305, 0x01C7, 0x0305, 0x01C7, 0x0305, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x0305, 0x01C7, 0x0305, 0x01C7, 0x0305, 0x01C7, 0x0305, 0x01DE, 0x0305, 0x01DE, 0x0305, 0x01DE, 0x0305, 0x01DE, 0x031C, 0x01F5, 0x031C, 0x01F5, 0x031C, 0x01F5, 0x031C, 0x01F5, 0x0333, 0x020B, 0x0333, 0x020B, 0x0333, 0x020B, 0x0333, 0x0222, 0x0A93, 0x0666, 0x0A38, 0x0666, 0x09C7, 0x0666, 0x08FA, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x0E4F, 0x01DE, 0x0E4F, 0x01DE, 0x0E4F, 0x01DE, 0x0E4F, 0x01DE, 0x0E4F, 0x01DE, 0x0E4F, 0x01DE, 0x0E4F, 0x01DE, 0x0E4F, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x0816, 0x049F, 0x093E, 0x03D2, 0x09C7, 0x034A, 0x0A38, 0x02EF, 0x0A93, 0x02C1, 0x0AC1, 0x0294, 0x0AEE, 0x0266, 0x0B05, 0x024F, 0x0B1C, 0x0239, 0x04E3, 0x0222, 0x0400, 0x020B, 0x03A5, 0x01F5, 0x0377, 0x01F5, 0x034A, 0x01F5, 0x0333, 0x01DE, 0x031C, 0x01DE, 0x031C, 0x01DE, 0x0305, 0x01C7, 0x0305, 0x01C7, 0x0305, 0x01C7, 0x0305, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x0305, 0x01C7, 0x0305, 0x01C7, 0x0305, 0x01DE, 0x0305, 0x01DE, 0x0305, 0x01DE, 0x0305, 0x01DE, 0x0305, 0x01DE, 0x031C, 0x01F5, 0x031C, 0x01F5, 0x031C, 0x01F5, 0x031C, 0x020B, 0x0333, 0x020B, 0x0333, 0x020B, 0x0333, 0x0222, 0x0305, 0x0222, 0x0A7D, 0x0666, 0x0A21, 0x0666, 0x0999, 0x0666, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0A38, 0x0816, 0x0A66, 0x08CC, 0x0A93, 0x093E, 0x0AC1, 0x0982, 0x0AEE, 0x09B0, 0x0B05, 0x09DD, 0x0B33, 0x09F4, 0x0B49, 0x0A21, 0x0B60, 0x0A21, 0x0B77, 0x0A38, 0x0B77, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A4F, 0x0BA4, 0x0A4F, 0x0BA4, 0x0A38, 0x0B8D, 0x0A21, 0x0B8D, 0x0A0B, 0x0B8D, 0x09DD, 0x0B77, 0x09B0, 0x0B60, 0x0927, 0x01F5, 0x0B49, 0x01DE, 0x0B33, 0x01DE, 0x0B05, 0x01DE, 0x0AEE, 0x01DE, 0x0AAA, 0x01DE, 0x0A66, 0x01DE, 0x0A21, 0x01DE, 0x0A4F, 0x01DE, 0x0A93, 0x08CC, 0x0AC1, 0x096B, 0x0AEE, 0x09B0, 0x0B05, 0x09DD, 0x0B1C, 0x0A0B, 0x0B33, 0x0A21, 0x0B49, 0x0A38, 0x0B60, 0x0A38, 0x0B77, 0x0A4F, 0x0B77, 0x0A4F, 0x0B8D, 0x0A66, 0x0B8D, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A4F, 0x0BA4, 0x0A4F, 0x0B8D, 0x0A38, 0x0B8D, 0x0A38, 0x0B77, 0x0A0B, 0x0B77, 0x09F4, 0x0B60, 0x0999, 0x0B49, 0x08E3, 0x01DE, 0x0B1C, 0x01DE, 0x0B05, 0x01DE, 0x0AEE, 0x01DE, 0x0AC1, 0x01DE, 0x0A7D, 0x01DE, 0x0A38, 0x01DE, 0x09C7, 0x01DE, 0x093E, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x07BB, 0x04CD, 0x0927, 0x03E9, 0x09C7, 0x0361, 0x0A38, 0x0305, 0x0A7D, 0x02C1, 0x0AC1, 0x0294, 0x0AEE, 0x0266, 0x0B05, 0x024F, 0x0B1C, 0x0239, 0x0511, 0x0222, 0x0417, 0x020B, 0x03A5, 0x020B, 0x0377, 0x01F5, 0x034A, 0x01F5, 0x0333, 0x01DE, 0x0333, 0x01DE, 0x031C, 0x01DE, 0x0305, 0x01C7, 0x0305, 0x01C7, 0x0305, 0x01C7, 0x0305, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x0305, 0x01C7, 0x0305, 0x01C7, 0x0305, 0x01DE, 0x0305, 0x01DE, 0x0305, 0x01DE, 0x0305, 0x01DE, 0x0305, 0x01DE, 0x031C, 0x01F5, 0x031C, 0x01F5, 0x031C, 0x01F5, 0x031C, 0x01F5, 0x0333, 0x020B, 0x0333, 0x020B, 0x0333, 0x020B, 0x0333, 0x0222, 0x0A7D, 0x0666, 0x0A38, 0x0666, 0x09B0, 0x0666, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B33, 0x01DE, 0x0A4F, 0x085B, 0x0A93, 0x08FA, 0x0AD7, 0x0955, 0x0AEE, 0x0999, 0x0B1C, 0x09C7, 0x0B33, 0x09F4, 0x0B49, 0x0A0B, 0x0B60, 0x0A21, 0x0B77, 0x0A38, 0x0B77, 0x0A38, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A4F, 0x0BA4, 0x0A4F, 0x0B8D, 0x0A38, 0x0B8D, 0x0A21, 0x0B8D, 0x0A0B, 0x0B77, 0x09DD, 0x0B77, 0x0982, 0x0B60, 0x020B, 0x0B49, 0x01DE, 0x0B33, 0x01DE, 0x0B1C, 0x01DE, 0x0B05, 0x01DE, 0x0AD7, 0x01DE, 0x0A93, 0x01DE, 0x0A38, 0x01DE, 0x0982, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x0B77, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x03D2, 0x0E65, 0x0305, 0x0E65, 0x02C1, 0x0E65, 0x027D, 0x0E65, 0x024F, 0x0E65, 0x0239, 0x0E65, 0x020B, 0x0E65, 0x020B, 0x0E65, 0x01F5, 0x0417, 0x01DE, 0x038E, 0x01DE, 0x034A, 0x01C7, 0x031C, 0x01C7, 0x0305, 0x01C7, 0x0305, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01DE, 0x02EF, 0x01DE, 0x0305, 0x01DE, 0x02D8, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x0BA4, 0x01DE, 0x0BBB, 0x01DE, 0x0BBB, 0x01DE, 0x0BBB, 0x01DE, 0x0BBB, 0x01DE, 0x0BBB, 0x01DE, 0x0BBB, 0x01DE, 0x0BBB, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x0BA4, 0x060B, 0x0BBB, 0x056C, 0x0BBB, 0x0511, 0x0BBB, 0x04CD, 0x0BBB, 0x0488, 0x0BBB, 0x045B, 0x0BBB, 0x0444, 0x0BBB, 0x0417, 0x0BA4, 0x0400, 0x0639, 0x0400, 0x05B0, 0x03E9, 0x056C, 0x03D2, 0x053E, 0x03D2, 0x0527, 0x03BB, 0x0511, 0x03BB, 0x0511, 0x03BB, 0x04FA, 0x03A5, 0x04FA, 0x03A5, 0x04E3, 0x03A5, 0x04E3, 0x03A5, 0x04E3, 0x03A5, 0x04E3, 0x03A5, 0x04E3, 0x038E, 0x04E3, 0x038E, 0x04CD, 0x038E, 0x04CD, 0x038E, 0x04CD, 0x038E, 0x04CD, 0x038E, 0x04CD, 0x03A5, 0x04CD, 0x038E, 0x096B, 0x01DE, 0x096B, 0x01DE, 0x096B, 0x01DE, 0x096B, 0x01DE, 0x096B, 0x01DE, 0x096B, 0x01DE, 0x096B, 0x01DE, 0x096B, 0x03A5, 0x04E3, 0x03BB, 0x04FA, 0x03D2, 0x04FA, 0x03D2, 0x04FA, 0x03D2, 0x04FA, 0x03D2, 0x04FA, 0x03E9, 0x0511, 0x03E9, 0x0511, 0x03E9, 0x0511, 0x0400, 0x0511, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400};
uint16_t waveform_ch2[990] = {0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0527, 0x08FA, 0x0400, 0x09C7, 0x0361, 0x0A38, 0x0305, 0x0A7D, 0x02C1, 0x0AAA, 0x0294, 0x0AD7, 0x0266, 0x0B05, 0x024F, 0x0B1C, 0x0239, 0x0B33, 0x0666, 0x0B49, 0x0666, 0x0B60, 0x0666, 0x0B77, 0x0666, 0x0B77, 0x0666, 0x0B8D, 0x0666, 0x0B8D, 0x0666, 0x0B8D, 0x0666, 0x0B8D, 0x0666, 0x0BA4, 0x0666, 0x0BA4, 0x0666, 0x0BA4, 0x0666, 0x0BA4, 0x0666, 0x0BA4, 0x0666, 0x0BA4, 0x0666, 0x0BA4, 0x0666, 0x0BA4, 0x0666, 0x0BA4, 0x0666, 0x0BA4, 0x0666, 0x0BA4, 0x0666, 0x0BA4, 0x0666, 0x0BA4, 0x0666, 0x0B8D, 0x0666, 0x0B8D, 0x0666, 0x0B8D, 0x0666, 0x0B8D, 0x0666, 0x0B77, 0x0666, 0x0B77, 0x0666, 0x0B60, 0x0666, 0x0B49, 0x0666, 0x0B33, 0x0666, 0x0B33, 0x0666, 0x0B05, 0x0666, 0x0AEE, 0x0666, 0x0AC1, 0x0666, 0x0A93, 0x0666, 0x0A38, 0x0666, 0x09C7, 0x0666, 0x08FA, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x0E4F, 0x01DE, 0x0E4F, 0x01DE, 0x0E4F, 0x01DE, 0x0E4F, 0x01DE, 0x0E4F, 0x01DE, 0x0E4F, 0x01DE, 0x0E4F, 0x01DE, 0x0E4F, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x0816, 0x049F, 0x093E, 0x03D2, 0x09C7, 0x034A, 0x0A38, 0x02EF, 0x0A93, 0x02C1, 0x0AC1, 0x0294, 0x0AEE, 0x0266, 0x0B05, 0x024F, 0x0B1C, 0x0239, 0x0B33, 0x0666, 0x0B49, 0x0666, 0x0B60, 0x0666, 0x0B77, 0x0666, 0x0B77, 0x0666, 0x0B8D, 0x0666, 0x0B8D, 0x0666, 0x0B8D, 0x0666, 0x0BA4, 0x0666, 0x0BA4, 0x0666, 0x0BA4, 0x0666, 0x0BA4, 0x0666, 0x0BA4, 0x0666, 0x0BA4, 0x0666, 0x0BA4, 0x0666, 0x0BA4, 0x0666, 0x0BA4, 0x0666, 0x0BA4, 0x0666, 0x0BA4, 0x0666, 0x0BA4, 0x0666, 0x0BA4, 0x0666, 0x0BA4, 0x0666, 0x0B8D, 0x0666, 0x0B8D, 0x0666, 0x0B8D, 0x0666, 0x0B77, 0x0666, 0x0B77, 0x0666, 0x0B60, 0x0666, 0x0B60, 0x0666, 0x0B49, 0x0666, 0x0B33, 0x0666, 0x0B1C, 0x0666, 0x0B05, 0x0666, 0x0AEE, 0x0666, 0x0AC1, 0x0666, 0x0A7D, 0x0666, 0x0A21, 0x0666, 0x0999, 0x0666, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0A38, 0x0816, 0x0A66, 0x08CC, 0x0A93, 0x093E, 0x0AC1, 0x0982, 0x0AEE, 0x09B0, 0x0B05, 0x09DD, 0x0B33, 0x09F4, 0x0B49, 0x0A21, 0x0B60, 0x0A21, 0x0B77, 0x0A38, 0x0B77, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A4F, 0x0BA4, 0x0A4F, 0x0BA4, 0x0A38, 0x0B8D, 0x0A21, 0x0B8D, 0x0A0B, 0x0B8D, 0x09DD, 0x0B77, 0x09B0, 0x0B60, 0x0927, 0x01F5, 0x0B49, 0x01DE, 0x0B33, 0x01DE, 0x0B05, 0x01DE, 0x0AEE, 0x01DE, 0x0AAA, 0x01DE, 0x0A66, 0x01DE, 0x0A21, 0x01DE, 0x0A4F, 0x01DE, 0x0A93, 0x08CC, 0x0AC1, 0x096B, 0x0AEE, 0x09B0, 0x0B05, 0x09DD, 0x0B1C, 0x0A0B, 0x0B33, 0x0A21, 0x0B49, 0x0A38, 0x0B60, 0x0A38, 0x0B77, 0x0A4F, 0x0B77, 0x0A4F, 0x0B8D, 0x0A66, 0x0B8D, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A4F, 0x0BA4, 0x0A4F, 0x0B8D, 0x0A38, 0x0B8D, 0x0A38, 0x0B77, 0x0A0B, 0x0B77, 0x09F4, 0x0B60, 0x0999, 0x0B49, 0x08E3, 0x01DE, 0x0B1C, 0x01DE, 0x0B05, 0x01DE, 0x0AEE, 0x01DE, 0x0AC1, 0x01DE, 0x0A7D, 0x01DE, 0x0A38, 0x01DE, 0x09C7, 0x01DE, 0x093E, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x07BB, 0x04CD, 0x0927, 0x03E9, 0x09C7, 0x0361, 0x0A38, 0x0305, 0x0A7D, 0x02C1, 0x0AC1, 0x0294, 0x0AEE, 0x0266, 0x0B05, 0x024F, 0x0B1C, 0x0239, 0x0B33, 0x0666, 0x0B49, 0x0666, 0x0B60, 0x0666, 0x0B77, 0x0666, 0x0B77, 0x0666, 0x0B8D, 0x0666, 0x0B8D, 0x0666, 0x0B8D, 0x0666, 0x0BA4, 0x0666, 0x0BA4, 0x0666, 0x0BA4, 0x0666, 0x0BA4, 0x0666, 0x0BA4, 0x0666, 0x0BA4, 0x0666, 0x0BA4, 0x0666, 0x0BA4, 0x0666, 0x0BA4, 0x0666, 0x0BA4, 0x0666, 0x0BA4, 0x0666, 0x0BA4, 0x0666, 0x0BA4, 0x0666, 0x0BA4, 0x0666, 0x0B8D, 0x0666, 0x0B8D, 0x0666, 0x0B8D, 0x0666, 0x0B77, 0x0666, 0x0B77, 0x0666, 0x0B77, 0x0666, 0x0B60, 0x0666, 0x0B49, 0x0666, 0x0B33, 0x0666, 0x0B1C, 0x0666, 0x0B05, 0x0666, 0x0AEE, 0x0666, 0x0AC1, 0x0666, 0x0A7D, 0x0666, 0x0A38, 0x0666, 0x09B0, 0x0666, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B33, 0x01DE, 0x0A4F, 0x085B, 0x0A93, 0x08FA, 0x0AD7, 0x0955, 0x0AEE, 0x0999, 0x0B1C, 0x09C7, 0x0B33, 0x09F4, 0x0B49, 0x0A0B, 0x0B60, 0x0A21, 0x0B77, 0x0A38, 0x0B77, 0x0A38, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A4F, 0x0BA4, 0x0A4F, 0x0B8D, 0x0A38, 0x0B8D, 0x0A21, 0x0B8D, 0x0A0B, 0x0B77, 0x09DD, 0x0B77, 0x0982, 0x0B60, 0x020B, 0x0B49, 0x01DE, 0x0B33, 0x01DE, 0x0B1C, 0x01DE, 0x0B05, 0x01DE, 0x0AD7, 0x01DE, 0x0A93, 0x01DE, 0x0A38, 0x01DE, 0x0982, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x0B77, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x03D2, 0x0E65, 0x0305, 0x0E65, 0x02C1, 0x0E65, 0x027D, 0x0E65, 0x024F, 0x0E65, 0x0239, 0x0E65, 0x020B, 0x0E65, 0x020B, 0x0E65, 0x01F5, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A93, 0x0B60, 0x01C7, 0x02EF, 0x01DE, 0x02EF, 0x01DE, 0x0305, 0x01DE, 0x02D8, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x0BA4, 0x01DE, 0x0BBB, 0x01DE, 0x0BBB, 0x01DE, 0x0BBB, 0x01DE, 0x0BBB, 0x01DE, 0x0BBB, 0x01DE, 0x0BBB, 0x01DE, 0x0BBB, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x0BA4, 0x060B, 0x0BBB, 0x056C, 0x0BBB, 0x0511, 0x0BBB, 0x04CD, 0x0BBB, 0x0488, 0x0BBB, 0x045B, 0x0BBB, 0x0444, 0x0BBB, 0x0417, 0x0BA4, 0x0400, 0x0639, 0x0400, 0x05B0, 0x03E9, 0x056C, 0x03D2, 0x053E, 0x03D2, 0x0527, 0x03BB, 0x0511, 0x03BB, 0x0511, 0x03BB, 0x04FA, 0x03A5, 0x04FA, 0x03A5, 0x04E3, 0x03A5, 0x04E3, 0x03A5, 0x04E3, 0x03A5, 0x04E3, 0x03A5, 0x04E3, 0x038E, 0x04E3, 0x038E, 0x04CD, 0x038E, 0x04CD, 0x038E, 0x04CD, 0x038E, 0x04CD, 0x038E, 0x04CD, 0x03A5, 0x04CD, 0x038E, 0x096B, 0x01DE, 0x096B, 0x01DE, 0x096B, 0x01DE, 0x096B, 0x01DE, 0x096B, 0x01DE, 0x096B, 0x01DE, 0x096B, 0x01DE, 0x096B, 0x03A5, 0x04E3, 0x03BB, 0x04FA, 0x03D2, 0x04FA, 0x03D2, 0x04FA, 0x03D2, 0x04FA, 0x03D2, 0x04FA, 0x03E9, 0x0511, 0x03E9, 0x0511, 0x03E9, 0x0511, 0x0400, 0x0511, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400};
Element14 4-ch logo
4-ch logo allows rendering e letter with empty gap. It requires at least 3-ch to render. With 2-ch waveform it was filled as visible on previous image. 4-ch is used as trigger signal.
Waveform data are following:
uint16_t waveform_ch1[1240] = {0x0527, 0x08FA, 0x0400, 0x09C7, 0x0361, 0x0A38, 0x0305, 0x0A7D, 0x02C1, 0x0AAA, 0x0294, 0x0AD7, 0x0266, 0x0B05, 0x024F, 0x0B1C, 0x0239, 0x056C, 0x0222, 0x0444, 0x020B, 0x03BB, 0x020B, 0x0377, 0x01F5, 0x0361, 0x01F5, 0x0333, 0x01DE, 0x0333, 0x01DE, 0x031C, 0x01DE, 0x031C, 0x01C7, 0x0305, 0x01C7, 0x0305, 0x01C7, 0x0305, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x0305, 0x01C7, 0x0305, 0x01C7, 0x0305, 0x01C7, 0x0305, 0x01DE, 0x0305, 0x01DE, 0x0305, 0x01DE, 0x0305, 0x01DE, 0x031C, 0x01F5, 0x031C, 0x01F5, 0x031C, 0x01F5, 0x031C, 0x01F5, 0x0333, 0x020B, 0x0333, 0x020B, 0x0333, 0x020B, 0x0333, 0x0222, 0x0A93, 0x0666, 0x0A38, 0x0666, 0x09C7, 0x0666, 0x08FA, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x0E4F, 0x01DE, 0x0E4F, 0x01DE, 0x0E4F, 0x01DE, 0x0E4F, 0x01DE, 0x0E4F, 0x01DE, 0x0E4F, 0x01DE, 0x0E4F, 0x01DE, 0x0E4F, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x0816, 0x049F, 0x093E, 0x03D2, 0x09C7, 0x034A, 0x0A38, 0x02EF, 0x0A93, 0x02C1, 0x0AC1, 0x0294, 0x0AEE, 0x0266, 0x0B05, 0x024F, 0x0B1C, 0x0239, 0x04E3, 0x0222, 0x0400, 0x020B, 0x03A5, 0x01F5, 0x0377, 0x01F5, 0x034A, 0x01F5, 0x0333, 0x01DE, 0x031C, 0x01DE, 0x031C, 0x01DE, 0x0305, 0x01C7, 0x0305, 0x01C7, 0x0305, 0x01C7, 0x0305, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x0305, 0x01C7, 0x0305, 0x01C7, 0x0305, 0x01DE, 0x0305, 0x01DE, 0x0305, 0x01DE, 0x0305, 0x01DE, 0x0305, 0x01DE, 0x031C, 0x01F5, 0x031C, 0x01F5, 0x031C, 0x01F5, 0x031C, 0x020B, 0x0333, 0x020B, 0x0333, 0x020B, 0x0333, 0x0222, 0x0305, 0x0222, 0x0A7D, 0x0666, 0x0A21, 0x0666, 0x0999, 0x0666, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0A38, 0x0816, 0x0A66, 0x08CC, 0x0A93, 0x093E, 0x0AC1, 0x0982, 0x0AEE, 0x09B0, 0x0B05, 0x09DD, 0x0B33, 0x09F4, 0x0B49, 0x0A21, 0x0B60, 0x0A21, 0x0B77, 0x0A38, 0x0B77, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A4F, 0x0BA4, 0x0A4F, 0x0BA4, 0x0A38, 0x0B8D, 0x0A21, 0x0B8D, 0x0A0B, 0x0B8D, 0x09DD, 0x0B77, 0x09B0, 0x0B60, 0x0927, 0x01F5, 0x0B49, 0x01DE, 0x0B33, 0x01DE, 0x0B05, 0x01DE, 0x0AEE, 0x01DE, 0x0AAA, 0x01DE, 0x0A66, 0x01DE, 0x0A21, 0x01DE, 0x0A4F, 0x01DE, 0x0A93, 0x08CC, 0x0AC1, 0x096B, 0x0AEE, 0x09B0, 0x0B05, 0x09DD, 0x0B1C, 0x0A0B, 0x0B33, 0x0A21, 0x0B49, 0x0A38, 0x0B60, 0x0A38, 0x0B77, 0x0A4F, 0x0B77, 0x0A4F, 0x0B8D, 0x0A66, 0x0B8D, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A4F, 0x0BA4, 0x0A4F, 0x0B8D, 0x0A38, 0x0B8D, 0x0A38, 0x0B77, 0x0A0B, 0x0B77, 0x09F4, 0x0B60, 0x0999, 0x0B49, 0x08E3, 0x01DE, 0x0B1C, 0x01DE, 0x0B05, 0x01DE, 0x0AEE, 0x01DE, 0x0AC1, 0x01DE, 0x0A7D, 0x01DE, 0x0A38, 0x01DE, 0x09C7, 0x01DE, 0x093E, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x07BB, 0x04CD, 0x0927, 0x03E9, 0x09C7, 0x0361, 0x0A38, 0x0305, 0x0A7D, 0x02C1, 0x0AC1, 0x0294, 0x0AEE, 0x0266, 0x0B05, 0x024F, 0x0B1C, 0x0239, 0x0511, 0x0222, 0x0417, 0x020B, 0x03A5, 0x020B, 0x0377, 0x01F5, 0x034A, 0x01F5, 0x0333, 0x01DE, 0x0333, 0x01DE, 0x031C, 0x01DE, 0x0305, 0x01C7, 0x0305, 0x01C7, 0x0305, 0x01C7, 0x0305, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x0305, 0x01C7, 0x0305, 0x01C7, 0x0305, 0x01DE, 0x0305, 0x01DE, 0x0305, 0x01DE, 0x0305, 0x01DE, 0x0305, 0x01DE, 0x031C, 0x01F5, 0x031C, 0x01F5, 0x031C, 0x01F5, 0x031C, 0x01F5, 0x0333, 0x020B, 0x0333, 0x020B, 0x0333, 0x020B, 0x0333, 0x0222, 0x0A7D, 0x0666, 0x0A38, 0x0666, 0x09B0, 0x0666, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B33, 0x01DE, 0x0A4F, 0x085B, 0x0A93, 0x08FA, 0x0AD7, 0x0955, 0x0AEE, 0x0999, 0x0B1C, 0x09C7, 0x0B33, 0x09F4, 0x0B49, 0x0A0B, 0x0B60, 0x0A21, 0x0B77, 0x0A38, 0x0B77, 0x0A38, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A4F, 0x0BA4, 0x0A4F, 0x0B8D, 0x0A38, 0x0B8D, 0x0A21, 0x0B8D, 0x0A0B, 0x0B77, 0x09DD, 0x0B77, 0x0982, 0x0B60, 0x020B, 0x0B49, 0x01DE, 0x0B33, 0x01DE, 0x0B1C, 0x01DE, 0x0B05, 0x01DE, 0x0AD7, 0x01DE, 0x0A93, 0x01DE, 0x0A38, 0x01DE, 0x0982, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x0B77, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x03D2, 0x0E65, 0x0305, 0x0E65, 0x02C1, 0x0E65, 0x027D, 0x0E65, 0x024F, 0x0E65, 0x0239, 0x0E65, 0x020B, 0x0E65, 0x020B, 0x0E65, 0x01F5, 0x0417, 0x01DE, 0x038E, 0x01DE, 0x034A, 0x01C7, 0x031C, 0x01C7, 0x0305, 0x01C7, 0x0305, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01C7, 0x02EF, 0x01DE, 0x02EF, 0x01DE, 0x0305, 0x01DE, 0x02D8, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x0BA4, 0x01DE, 0x0BBB, 0x01DE, 0x0BBB, 0x01DE, 0x0BBB, 0x01DE, 0x0BBB, 0x01DE, 0x0BBB, 0x01DE, 0x0BBB, 0x01DE, 0x0BBB, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x0BA4, 0x060B, 0x0BBB, 0x056C, 0x0BBB, 0x0511, 0x0BBB, 0x04CD, 0x0BBB, 0x0488, 0x0BBB, 0x045B, 0x0BBB, 0x0444, 0x0BBB, 0x0417, 0x0BA4, 0x0400, 0x0639, 0x0400, 0x05B0, 0x03E9, 0x056C, 0x03D2, 0x053E, 0x03D2, 0x0527, 0x03BB, 0x0511, 0x03BB, 0x0511, 0x03BB, 0x04FA, 0x03A5, 0x04FA, 0x03A5, 0x04E3, 0x03A5, 0x04E3, 0x03A5, 0x04E3, 0x03A5, 0x04E3, 0x03A5, 0x04E3, 0x038E, 0x04E3, 0x038E, 0x04CD, 0x038E, 0x04CD, 0x038E, 0x04CD, 0x038E, 0x04CD, 0x038E, 0x04CD, 0x03A5, 0x04CD, 0x038E, 0x096B, 0x01DE, 0x096B, 0x01DE, 0x096B, 0x01DE, 0x096B, 0x01DE, 0x096B, 0x01DE, 0x096B, 0x01DE, 0x096B, 0x01DE, 0x096B, 0x03A5, 0x04E3, 0x03BB, 0x04FA, 0x03D2, 0x04FA, 0x03D2, 0x04FA, 0x03D2, 0x04FA, 0x03D2, 0x04FA, 0x03E9, 0x0511, 0x03E9, 0x0511, 0x03E9, 0x0511, 0x0400, 0x0511, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400};
uint16_t waveform_ch2[1240] = {0x0527, 0x08FA, 0x0400, 0x09C7, 0x0361, 0x0A38, 0x0305, 0x0A7D, 0x02C1, 0x0AAA, 0x0294, 0x0AD7, 0x0266, 0x0B05, 0x024F, 0x0B1C, 0x0239, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0B33, 0x0666, 0x0B1C, 0x0666, 0x0B05, 0x0666, 0x0AD7, 0x0666, 0x0AAA, 0x0A93, 0x0666, 0x0A38, 0x0666, 0x09C7, 0x0666, 0x08FA, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x0E4F, 0x01DE, 0x0E4F, 0x01DE, 0x0E4F, 0x01DE, 0x0E4F, 0x01DE, 0x0E4F, 0x01DE, 0x0E4F, 0x01DE, 0x0E4F, 0x01DE, 0x0E4F, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x0816, 0x049F, 0x093E, 0x03D2, 0x09C7, 0x034A, 0x0A38, 0x02EF, 0x0A93, 0x02C1, 0x0AC1, 0x0294, 0x0AEE, 0x0266, 0x0B05, 0x024F, 0x0B1C, 0x0239, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x0B33, 0x0666, 0x0B1C, 0x0666, 0x0B05, 0x0666, 0x0AEE, 0x0666, 0x0AC1, 0x0666, 0x0A7D, 0x0666, 0x0A21, 0x0666, 0x0999, 0x0666, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0A38, 0x0816, 0x0A66, 0x08CC, 0x0A93, 0x093E, 0x0AC1, 0x0982, 0x0AEE, 0x09B0, 0x0B05, 0x09DD, 0x0B33, 0x09F4, 0x0B49, 0x0A21, 0x0B60, 0x0A21, 0x0B77, 0x0A38, 0x0B77, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A4F, 0x0BA4, 0x0A4F, 0x0BA4, 0x0A38, 0x0B8D, 0x0A21, 0x0B8D, 0x0A0B, 0x0B8D, 0x09DD, 0x0B77, 0x09B0, 0x0B60, 0x0927, 0x01F5, 0x0B49, 0x01DE, 0x0B33, 0x01DE, 0x0B05, 0x01DE, 0x0AEE, 0x01DE, 0x0AAA, 0x01DE, 0x0A66, 0x01DE, 0x0A21, 0x01DE, 0x0A4F, 0x01DE, 0x0A93, 0x08CC, 0x0AC1, 0x096B, 0x0AEE, 0x09B0, 0x0B05, 0x09DD, 0x0B1C, 0x0A0B, 0x0B33, 0x0A21, 0x0B49, 0x0A38, 0x0B60, 0x0A38, 0x0B77, 0x0A4F, 0x0B77, 0x0A4F, 0x0B8D, 0x0A66, 0x0B8D, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A4F, 0x0BA4, 0x0A4F, 0x0B8D, 0x0A38, 0x0B8D, 0x0A38, 0x0B77, 0x0A0B, 0x0B77, 0x09F4, 0x0B60, 0x0999, 0x0B49, 0x08E3, 0x01DE, 0x0B1C, 0x01DE, 0x0B05, 0x01DE, 0x0AEE, 0x01DE, 0x0AC1, 0x01DE, 0x0A7D, 0x01DE, 0x0A38, 0x01DE, 0x09C7, 0x01DE, 0x093E, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x07BB, 0x04CD, 0x0927, 0x03E9, 0x09C7, 0x0361, 0x0A38, 0x0305, 0x0A7D, 0x02C1, 0x0AC1, 0x0294, 0x0AEE, 0x0266, 0x0B05, 0x024F, 0x0B1C, 0x0239, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x078E, 0x0666, 0x07A5, 0x0B33, 0x0666, 0x0B1C, 0x0666, 0x0B05, 0x0666, 0x0AD7, 0x0666, 0x0AAA, 0x0A7D, 0x0666, 0x0A38, 0x0666, 0x09B0, 0x0666, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B33, 0x01DE, 0x0A4F, 0x085B, 0x0A93, 0x08FA, 0x0AD7, 0x0955, 0x0AEE, 0x0999, 0x0B1C, 0x09C7, 0x0B33, 0x09F4, 0x0B49, 0x0A0B, 0x0B60, 0x0A21, 0x0B77, 0x0A38, 0x0B77, 0x0A38, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A4F, 0x0BA4, 0x0A4F, 0x0B8D, 0x0A38, 0x0B8D, 0x0A21, 0x0B8D, 0x0A0B, 0x0B77, 0x09DD, 0x0B77, 0x0982, 0x0B60, 0x020B, 0x0B49, 0x01DE, 0x0B33, 0x01DE, 0x0B1C, 0x01DE, 0x0B05, 0x01DE, 0x0AD7, 0x01DE, 0x0A93, 0x01DE, 0x0A38, 0x01DE, 0x0982, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x0B77, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x03D2, 0x0E65, 0x0305, 0x0E65, 0x02C1, 0x0E65, 0x027D, 0x0E65, 0x024F, 0x0E65, 0x0239, 0x0E65, 0x020B, 0x0E65, 0x020B, 0x0E65, 0x01F5, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A93, 0x0B60, 0x01C7, 0x02EF, 0x01DE, 0x02EF, 0x01DE, 0x0305, 0x01DE, 0x02D8, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x0BA4, 0x01DE, 0x0BBB, 0x01DE, 0x0BBB, 0x01DE, 0x0BBB, 0x01DE, 0x0BBB, 0x01DE, 0x0BBB, 0x01DE, 0x0BBB, 0x01DE, 0x0BBB, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x0BA4, 0x060B, 0x0BBB, 0x056C, 0x0BBB, 0x0511, 0x0BBB, 0x04CD, 0x0BBB, 0x0488, 0x0BBB, 0x045B, 0x0BBB, 0x0444, 0x0BBB, 0x0417, 0x0BA4, 0x0400, 0x0639, 0x0400, 0x05B0, 0x03E9, 0x056C, 0x03D2, 0x053E, 0x03D2, 0x0527, 0x03BB, 0x0511, 0x03BB, 0x0511, 0x03BB, 0x04FA, 0x03A5, 0x04FA, 0x03A5, 0x04E3, 0x03A5, 0x04E3, 0x03A5, 0x04E3, 0x03A5, 0x04E3, 0x03A5, 0x04E3, 0x038E, 0x04E3, 0x038E, 0x04CD, 0x038E, 0x04CD, 0x038E, 0x04CD, 0x038E, 0x04CD, 0x038E, 0x04CD, 0x03A5, 0x04CD, 0x038E, 0x096B, 0x01DE, 0x096B, 0x01DE, 0x096B, 0x01DE, 0x096B, 0x01DE, 0x096B, 0x01DE, 0x096B, 0x01DE, 0x096B, 0x01DE, 0x096B, 0x03A5, 0x04E3, 0x03BB, 0x04FA, 0x03D2, 0x04FA, 0x03D2, 0x04FA, 0x03D2, 0x04FA, 0x03D2, 0x04FA, 0x03E9, 0x0511, 0x03E9, 0x0511, 0x03E9, 0x0511, 0x0400, 0x0511, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400};
uint16_t waveform_ch3[1240] = {0x0527, 0x08FA, 0x0400, 0x09C7, 0x0361, 0x0A38, 0x0305, 0x0A7D, 0x02C1, 0x0AAA, 0x0294, 0x0AD7, 0x0266, 0x0B05, 0x024F, 0x0B1C, 0x0239, 0x0B33, 0x08E3, 0x0B49, 0x0982, 0x0B60, 0x09DD, 0x0B77, 0x0A0B, 0x0B77, 0x0A21, 0x0B8D, 0x0A38, 0x0B8D, 0x0A38, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A38, 0x0B8D, 0x0A21, 0x0B77, 0x0A0B, 0x0B77, 0x09F4, 0x0B60, 0x09B0, 0x0B49, 0x093E, 0x0B33, 0x0B33, 0x0666, 0x0B1C, 0x0666, 0x0B05, 0x0666, 0x0AD7, 0x0666, 0x0AAA, 0x0A93, 0x0666, 0x0A38, 0x0666, 0x09C7, 0x0666, 0x08FA, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x067D, 0x0E4F, 0x01DE, 0x0E4F, 0x01DE, 0x0E4F, 0x01DE, 0x0E4F, 0x01DE, 0x0E4F, 0x01DE, 0x0E4F, 0x01DE, 0x0E4F, 0x01DE, 0x0E4F, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x0816, 0x049F, 0x093E, 0x03D2, 0x09C7, 0x034A, 0x0A38, 0x02EF, 0x0A93, 0x02C1, 0x0AC1, 0x0294, 0x0AEE, 0x0266, 0x0B05, 0x024F, 0x0B1C, 0x0239, 0x0B33, 0x0927, 0x0B49, 0x09B0, 0x0B60, 0x09DD, 0x0B77, 0x0A0B, 0x0B77, 0x0A21, 0x0B8D, 0x0A38, 0x0B8D, 0x0A38, 0x0B8D, 0x0A4F, 0x0BA4, 0x0A4F, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A38, 0x0B8D, 0x0A38, 0x0B77, 0x0A21, 0x0B77, 0x0A0B, 0x0B60, 0x09DD, 0x0B60, 0x0999, 0x0B49, 0x08E3, 0x0B33, 0x0666, 0x0B1C, 0x0666, 0x0B05, 0x0666, 0x0AEE, 0x0666, 0x0AC1, 0x0666, 0x0A7D, 0x0666, 0x0A21, 0x0666, 0x0999, 0x0666, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x089F, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0A38, 0x0816, 0x0A66, 0x08CC, 0x0A93, 0x093E, 0x0AC1, 0x0982, 0x0AEE, 0x09B0, 0x0B05, 0x09DD, 0x0B33, 0x09F4, 0x0B49, 0x0A21, 0x0B60, 0x0A21, 0x0B77, 0x0A38, 0x0B77, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A4F, 0x0BA4, 0x0A4F, 0x0BA4, 0x0A38, 0x0B8D, 0x0A21, 0x0B8D, 0x0A0B, 0x0B8D, 0x09DD, 0x0B77, 0x09B0, 0x0B60, 0x0927, 0x01F5, 0x0B49, 0x01DE, 0x0B33, 0x01DE, 0x0B05, 0x01DE, 0x0AEE, 0x01DE, 0x0AAA, 0x01DE, 0x0A66, 0x01DE, 0x0A21, 0x01DE, 0x0A4F, 0x01DE, 0x0A93, 0x08CC, 0x0AC1, 0x096B, 0x0AEE, 0x09B0, 0x0B05, 0x09DD, 0x0B1C, 0x0A0B, 0x0B33, 0x0A21, 0x0B49, 0x0A38, 0x0B60, 0x0A38, 0x0B77, 0x0A4F, 0x0B77, 0x0A4F, 0x0B8D, 0x0A66, 0x0B8D, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A4F, 0x0BA4, 0x0A4F, 0x0B8D, 0x0A38, 0x0B8D, 0x0A38, 0x0B77, 0x0A0B, 0x0B77, 0x09F4, 0x0B60, 0x0999, 0x0B49, 0x08E3, 0x01DE, 0x0B1C, 0x01DE, 0x0B05, 0x01DE, 0x0AEE, 0x01DE, 0x0AC1, 0x01DE, 0x0A7D, 0x01DE, 0x0A38, 0x01DE, 0x09C7, 0x01DE, 0x093E, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x07BB, 0x04CD, 0x0927, 0x03E9, 0x09C7, 0x0361, 0x0A38, 0x0305, 0x0A7D, 0x02C1, 0x0AC1, 0x0294, 0x0AEE, 0x0266, 0x0B05, 0x024F, 0x0B1C, 0x0239, 0x0B33, 0x0911, 0x0B49, 0x0999, 0x0B60, 0x09DD, 0x0B77, 0x0A0B, 0x0B77, 0x0A21, 0x0B8D, 0x0A38, 0x0B8D, 0x0A38, 0x0B8D, 0x0A4F, 0x0BA4, 0x0A4F, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A38, 0x0B77, 0x0A21, 0x0B77, 0x0A0B, 0x0B77, 0x09DD, 0x0B60, 0x0999, 0x0B49, 0x08FA, 0x0B33, 0x0B33, 0x0666, 0x0B1C, 0x0666, 0x0B05, 0x0666, 0x0AD7, 0x0666, 0x0AAA, 0x0A7D, 0x0666, 0x0A38, 0x0666, 0x09B0, 0x0666, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x08CC, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B8D, 0x01DE, 0x0B33, 0x01DE, 0x0A4F, 0x085B, 0x0A93, 0x08FA, 0x0AD7, 0x0955, 0x0AEE, 0x0999, 0x0B1C, 0x09C7, 0x0B33, 0x09F4, 0x0B49, 0x0A0B, 0x0B60, 0x0A21, 0x0B77, 0x0A38, 0x0B77, 0x0A38, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A66, 0x0BA4, 0x0A4F, 0x0BA4, 0x0A4F, 0x0B8D, 0x0A38, 0x0B8D, 0x0A21, 0x0B8D, 0x0A0B, 0x0B77, 0x09DD, 0x0B77, 0x0982, 0x0B60, 0x020B, 0x0B49, 0x01DE, 0x0B33, 0x01DE, 0x0B1C, 0x01DE, 0x0B05, 0x01DE, 0x0AD7, 0x01DE, 0x0A93, 0x01DE, 0x0A38, 0x01DE, 0x0982, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x0B77, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x03D2, 0x0E65, 0x0305, 0x0E65, 0x02C1, 0x0E65, 0x027D, 0x0E65, 0x024F, 0x0E65, 0x0239, 0x0E65, 0x020B, 0x0E65, 0x020B, 0x0E65, 0x01F5, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A4F, 0x0B8D, 0x0A93, 0x0B60, 0x01C7, 0x02EF, 0x01DE, 0x02EF, 0x01DE, 0x0305, 0x01DE, 0x02D8, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0x0BA4, 0x01DE, 0x0BBB, 0x01DE, 0x0BBB, 0x01DE, 0x0BBB, 0x01DE, 0x0BBB, 0x01DE, 0x0BBB, 0x01DE, 0x0BBB, 0x01DE, 0x0BBB, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x0BA4, 0x060B, 0x0BBB, 0x056C, 0x0BBB, 0x0511, 0x0BBB, 0x04CD, 0x0BBB, 0x0488, 0x0BBB, 0x045B, 0x0BBB, 0x0444, 0x0BBB, 0x0417, 0x0BA4, 0x0400, 0x0639, 0x0400, 0x05B0, 0x03E9, 0x056C, 0x03D2, 0x053E, 0x03D2, 0x0527, 0x03BB, 0x0511, 0x03BB, 0x0511, 0x03BB, 0x04FA, 0x03A5, 0x04FA, 0x03A5, 0x04E3, 0x03A5, 0x04E3, 0x03A5, 0x04E3, 0x03A5, 0x04E3, 0x03A5, 0x04E3, 0x038E, 0x04E3, 0x038E, 0x04CD, 0x038E, 0x04CD, 0x038E, 0x04CD, 0x038E, 0x04CD, 0x038E, 0x04CD, 0x03A5, 0x04CD, 0x038E, 0x096B, 0x01DE, 0x096B, 0x01DE, 0x096B, 0x01DE, 0x096B, 0x01DE, 0x096B, 0x01DE, 0x096B, 0x01DE, 0x096B, 0x01DE, 0x096B, 0x03A5, 0x04E3, 0x03BB, 0x04FA, 0x03D2, 0x04FA, 0x03D2, 0x04FA, 0x03D2, 0x04FA, 0x03D2, 0x04FA, 0x03E9, 0x0511, 0x03E9, 0x0511, 0x03E9, 0x0511, 0x0400, 0x0511, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400};
uint16_t waveform_trig[1240] = {0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF, 0x0FFF};
Firmware
Latest firmware is pretty simple (but debugging chained DMA transfers were quite hard). It defines two chained DMA descriptors. Each descriptor link as next descriptor the other one. Except waveform data, transmitted data contains command code and channel selector. It is 3-byte (24-bit) SPI transmission. After transmission completes, DMA wait for trigger signal which is driven by timer for precise timing and when happens it transmit next command. In meantime CPU in interrupt handler updates the previously completed DMA descriptor with new data for next transmission. The MAX5715 allows to update channels at the same time, so first 3 channels are transmitted to the DAC, but signal update is not triggered (only shadow register in MAX5715 is updated). Signal update of all channels is triggered after sending data for the last 4th channel. This cause that all 4-ch channels update to the new data at the same time.
Firmware basically initialize SPI hardware, timer hardware and DMA channels. Then it setup interrupts, fill first DMA descriptors and then ends up in empty infinite loop. In interrupts of DMA completions, it just load new data to DMA descriptors.
Conclusion
It is all from this blog. You have seen how I generated beautiful element14 logo on the oscilloscope screen. In the section below you can download my firmware for PSoC 62 microcontroller as well as software for converting images to signals. Thank you for you attention and have a nice day.
Resources
Image to Waveform Convert Tool VB.NET Source Codes (ZIP)
Waveform signal generator (4ch) for PSoC 62 and MAX5715 DAC Source Codes (ZIP)
Waveform signal generator (2ch) for STM32L5 Source Codes (ZIP)