Solved some problems around the "touch" of the scope.
Again made a copy, paste not edit error.
The mouse up event was send to the mouse down handler, so the scope once touched did not get a "no touch" message.
This still did not solve the problem, because it turned out I misinterpreted the working of the touch panel.
On removal of touch it seems it still needs to send an activity status, but with zero points of touch.
I just signaled touch with one touch point when the mouse was down and no status when the mouse was released. Changed that and now it is working.
Made a short video, in which I found that there are still some problems
, but one can find it here:
https://youtu.be/rJAYoyNg9T0Edit: The problem is the slowness.
The trigger menu that looks like it is not working in the video does work, but needs a longer touch.
The emulator is not very fast, and I removed the delay functions from the scope code to overcome this a bit. The modified binary is in the folder of the scope emulator.
Now the investigation of the FPGA commands can begin
As usual the changes can be found in the repository (
https://github.com/pecostm32/FNIRSI-1013D-Hack)
The capture with both channels enabled confirmed what I expected. The id 0x0D returns 0x22.
{ 0x00, 0xCB, 0x7B, 0xEA, 0x57, 0xA8, 0x08, 0x9D },{ 0x00, 0xF5, 0x45, 0xD4, 0x69, 0x96, 0x36, 0xA3 }, //Checksum ok Data: 0x000036A3 Id: 0x11 Len: 1
{ 0x01, 0xC2, 0x67, 0x38, 0x54, 0xAB, 0x3E, 0x51 },{ 0x01, 0x3D, 0x5A, 0x05, 0x69, 0x96, 0x03, 0x6C }, //Checksum ok Data: 0x0000036C
{ 0x00, 0xE3, 0x0D, 0xD0, 0x54, 0xAB, 0xA4, 0x3D },{ 0x00, 0xDE, 0x30, 0xED, 0x69, 0x96, 0x99, 0x00 }, //Checksum ok Data: 0x00000000 Id: 0x0C Len: 0
{ 0x01, 0x77, 0xDD, 0x1D, 0xE1, 0x1E, 0x11, 0xA8 },{ 0x01, 0x88, 0x55, 0x95, 0x69, 0x96, 0x99, 0x20 }, //Checksum ok Data: 0x00000020
{ 0x00, 0x06, 0xA4, 0x44, 0xE1, 0x1E, 0x11, 0x8A },{ 0x00, 0x8E, 0x2C, 0xCC, 0x69, 0x96, 0x99, 0x02 }, //Checksum ok Data: 0x00000002 Id: 0x0B Len: 0
{ 0x01, 0x24, 0x8E, 0xA7, 0xB2, 0x4D, 0x42, 0x6F },{ 0x01, 0xDB, 0x55, 0x7C, 0x69, 0x96, 0x99, 0xB4 }, //Checksum ok Data: 0x000000B4
{ 0x00, 0x7E, 0xEF, 0x89, 0xB2, 0x4D, 0x42, 0xDB },{ 0x00, 0xA5, 0x34, 0x52, 0x69, 0x96, 0x99, 0x00 }, //Checksum ok Data: 0x00000000 Id: 0x0D Len: 0
{ 0x01, 0x64, 0xCE, 0x31, 0xF2, 0x0D, 0x02, 0xB9 },{ 0x01, 0x9B, 0x55, 0xAA, 0x69, 0x96, 0x99, 0x22 }, //Checksum ok Data: 0x00000022
{ 0x00, 0x6E, 0xB7, 0xBF, 0xF2, 0x0D, 0x02, 0x99 },{ 0x00, 0xF5, 0x2C, 0x24, 0x69, 0x96, 0x99, 0x02 }, //Checksum ok Data: 0x00000002 Id: 0x0B Len: 0
{ 0x01, 0x84, 0x2E, 0x67, 0x12, 0xED, 0xE2, 0xCF },{ 0x01, 0x7B, 0x55, 0x1C, 0x69, 0x96, 0x99, 0xB4 }, //Checksum ok Data: 0x000000B4
The scope reads the signal data from the FPGA with the command numbers returned from the special chip. When the time-base is lowered the scope either switches to or uses both (this happens in the emulator) to the command numbers 0x21 and 0x23. (In the emulator it reads them in sequence 0x20, 0x21, 0x22, 0x23)
So it would be interesting to see what the communication between the FPGA and the special ic is when the time base is set to 10nS/div.
e_Johny, are you willing to do this capture for me? (Both channels enabled, time base 10nS/div, trig mode auto)