Yes I have the 8mp pictures
I note that the screening cans have not been fitted to the input amplifiers but the PCB has positions for such. This may explain some of the noise issues that are reported but it could be other factors as well.
Yes I have the 8mp pictures that my camera produces but I didn't want to eat Dave storage with them. I will upload a couple of higher resolution pictures of the PCB for you.
I note that another forum member has posted a review of this unit here:
https://www.eevblog.com/forum/testgear/hantek-6022be-will-it-work-for-me/msg232007/#msg232007 (https://www.eevblog.com/forum/testgear/hantek-6022be-will-it-work-for-me/msg232007/#msg232007)
I note that the screening cans have not been fitted to the input amplifiers but the PCB has positions for such. This may explain some of the noise issues that are reported but it could be other factors as well.
...Now to functionality. This is where it really gets bad, especially if you initially believe the banner specs. I tested on two different computers (a laptop and a desktop, both fairly recent models, and both running Windows 7 64-bit home edition) but the results were identical on both....
Hmmmm, based on Auroras feedback I went back and gave it another try. Here's what I found:
It seems I have to use autoset at least once at some higher timebase. Then it will trigger even at faster timebase settings. (I work a lot with scopes and don't use autoset too often, that's why I didn't try autosetting after initially checking that it does work at some slow frequency). If I just start the software and try to set some fast timebase manually the triggering will not work, as noted in my initial post. After the autoset I can manually change the timebase and it still works. Bug in the software?
I also observe the flickering waveform. It seems the scope can't really start the capturing at a precise moment relative to the trigger so there is an uncertainty of ~1 signal period where the record really lies with respect to the trigger. The software seems to align the waveform correctly (at least after auto setup) but it means some variable portion of the waveform at the beginning and/or the end is missing - different at each capture. Basically only the center portion of the acquired record is consistently usable. You can see similar flickering at the record start when you scroll to the beginning of the waveform.
That said, 5 us/div still does not work at all. Even with autoset there is never a stable display. Aurora, maybe you could try that? (set frequency to around 30 kHz to make autoset go to 5 us/div).
Still have problems with somewhat unstable triggering at slower timebase settings. I use a Rigol DS1022A signal generator which from previous experience I know produces a very clean signal with very little noise. My other scopes have not problem whatsoever to cleanly trigger on its output signal.
It captures only about 1 screen wide worth (10 division) of data for display - at 5ns, that would be merely 50ns worth of display or 2 samples at 48mhz (20.8ns/sample). So I can see any slight shift in trigger causing the display major jitter.
>Attach a screen capture of triggering at 1us to capture a 2mhz square wave -
> 1us is 5 times faster than 5us. Works just fine with very slight jitter.
1us/div works fine or me as well (after doing at least one autoset, that is), as does anything slower or faster than 5us/div. 5us/div is the only timebase setting that just won't trigger and produces garbage data (lots of partial waveforms stitched together).
i received this 6022be scope 1 week ago, done some basic testing, as many other said, ok hardware but bad software (crappy actually). the most annoying thing is the scroll on the a single shot. for eg. i set it to 500ms/div, it records the signal, you zoom in after, and you want to center the segment you want to see more details, this is where it gets ugly, cause you have to drag with the mouse left/right, and most of the times it refuses to do that. maybe it's my windows (7 64bit) or my monitor 1440p resolution, but i find the software to be useless anyway....
i am using it to trace an kwp2000 signal (~10kbps) so for this use it's enough 40msps , actually it's 1msps on longer timebase...
i received this 6022be scope 1 week ago, done some basic testing, as many other said, ok hardware but bad software (crappy actually). the most annoying thing is the scroll on the a single shot. for eg. i set it to 500ms/div, it records the signal, you zoom in after, and you want to center the segment you want to see more details, this is where it gets ugly, cause you have to drag with the mouse left/right, and most of the times it refuses to do that. maybe it's my windows (7 64bit) or my monitor 1440p resolution, but i find the software to be useless anyway....
i am using it to trace an kwp2000 signal (~10kbps) so for this use it's enough 40msps , actually it's 1msps on longer timebase...
Did you turn your cursor off first? The dragging left/right works a lot better with the cursor off.
I had a lot of problem trying to move the wave left/right until I tried turning off the cursor first (1600x1200). It drags without problem but it is still a problem finding the wave form.
Hello, I'm new here and just purchased a Hantek 6022BE v 1.0.3. If I'm butting in here and should not be, please ignore or have the moderator remove. Do not want to ruin a thread.
To begin, this is my first oscilloscope, purchased more to learn than anything else. I'm using WIN XP Prof. on a dated Lenova laptop. There is one problem (or maybe not). The software loaded correctly, and the driver (6022BEAMD642) seems to have installed correctly. However, when I run the initial setup test, I can get a square waveform only on CH1. CH2 shows mostly noise, and no distinguishable waveform. So question: should I be getting a square waveform on CH2 self-test? I note in my Hardware that it lists only DRIVER 2 Should there be a DRIVER 1? I have tried reinstalling, but same thing.
TIA
Thanks Rick, for the feedback. Yep, the newbie thingy about sums it up. The problem was me! :-// I thought the probes must be connected to separate test points. Worked perfectly when I connected the probes to the same input, and a ground to the other. Daaaa! Should prove to be fun.This forum is full of experience and most folks here are very kind and helpful to newbies.
Good one. :-DD
Getting serious, Re: Driver 1 & 2 .... Strange, today my system did not recognize the Hantek, and had to reinstall driver(s). This time it loaded both 1 & 2. Everything seems good.
...I heard that each cable was for a separate channel - however mine only shipped with one probe (not two as advertised) but when I touch the channel 2 input I can get a 60Hz mains wave so its clearly working with just the black plug...
Ummm.."supper anti spyware program" ?????
Is it from a well known vendor and from their own website ? A common malware exploit is to provide a utility that appears to be legit and worthwhile loading onto your PC. Freebies especially risky. You actually permit the installation of the malware as part of the installation process :scared:
Also be aware that most decent malware attacks will defeat the anti-virus program that is installed and make it appear that the AV has cured the problem when in fact it has not. Be careful what you do on your PC and I suggest you run some other AV programs to see what they find, if anything.
Question: my USB patch cord has two connections, one black, one red. As both channels work off the black connector, can I assume the red one is for recording/saving screenshots? There is no mention of it in the manual.
Question: my USB patch cord has two connections, one black, one red. As both channels work off the black connector, can I assume the red one is for recording/saving screenshots? There is no mention of it in the manual.
TIA
Question: my USB patch cord has two connections, one black, one red. As both channels work off the black connector, can I assume the red one is for recording/saving screenshots? There is no mention of it in the manual.
TIA
I think that is their device extension port. This from their website on 6022BE features:
"Standard USBXI(TM) interface, easily inserts into USBXI(TM) housing to make up a combination instrument."
Rick
Question: my USB patch cord has two connections, one black, one red. As both channels work off the black connector, can I assume the red one is for recording/saving screenshots? There is no mention of it in the manual.
TIA
I think that is their device extension port. This from their website on 6022BE features:
"Standard USBXI(TM) interface, easily inserts into USBXI(TM) housing to make up a combination instrument."
Rick
nope, that's the card connector on the back of the device. As has been mentioned multiple times, red for extra power (not always needed) black for data. Simple as that. I bet if you opened up the cable the red one would simply have +5 and GND connected into the black cables' respective lines.
Typed using Hacker's Keyboard for Android
from pinout i would say the ADC is AD9288.Btw, do have have higher res pictures?PM
I've been reading the spec sheet of the AD9288, this same integrated circuit comes in 3 different flavors, 40, 80 and 100 MSPS, it seems that according to this data sheet we may replace 40 MSPS AD9288 IC with a 100 MSPS AD9288 one, so that we could increase 6022BE's bandwidth to 100 MSPS.
It could be just great.
Increasing the ADC clock would be needed to increase the sample rate.
Increase this oscilloscope bandwidth it's not a trivial task, I agree but I think that it's worth trying.
At 2us or below is when it captures at 48msps and at merely 1060 datapoints. At 5us or slower, it goes to over 100K datapoints at 16msps. The slower the more datapoints.
At 2us or below is when it captures at 48msps and at merely 1060 datapoints. At 5us or slower, it goes to over 100K datapoints at 16msps. The slower the more datapoints.
Rick, did you notice at what point it acquires the full rated 1M samples? And is that split between the two channels?
At 50ms (1Mhz) it starts acquiring at full 1M samples (1,047,552 for each channel total 2x1047552)
At 20ms (1Mhz) it is at 523264 samples each Channel
At 10ms (1Mhz)= 523264
At 5ms (1Mhz)= 523264
At 1ms (1MHz) = 130048
At 100us (1Mhz) = 130048
At 20us (4Mhz) = 130048
At 10us (8Mhz) = 130048
At 5us (16Mhz) = 130048
At 2us (48Mhz) = 1016
Anything faster than 2us, it is still at 48MHz at 1016 samples each channel (2032 total).
I've been writing a Python front-end for the API Hantek provides...
(I'm not huge on the provided scope software),
My big issue with the scope right now is the noise level. In reading this, I thought I read that a DC/DC converter was causing the roughly 10 mV noise seen in the channels? Do you all think it's possible to clean up the noise...
and get slightly better resolution as far as the signal goes, or is that asking too much from this scope?
I sure would not mind a better software. Truth be told, the native software is not that bad. It has some annoying things but it is usable.
A great solution would be if it treats the buffer as a ring buffer with indirect access: wrap the buffer array index back to zero so the trigger point is always at the center or a settable number.
Hello everyone,
I've been watching this thread for a while, and I just wanted to say thanks for putting up all the cool information. I bought this scope a few months ago, thinking I'd do like what Aurora was talking about and mod it out. I've been writing a Python front-end for the API Hantek provides (I'm not huge on the provided scope software), and was thinking about doing the same in C++. I saw the OpenHantek project but it doesn't look like it supports the 6022BE scope. Is this something you all might be interested in?
why not implement support for the 6022BE in the already existing openhantek instead of creating something from scratch and all the issues involved with that?
I sure would not mind a better software. Truth be told, the native software is not that bad. It has some annoying things but it is usable.
You're a more patient man than I, Gunga Din. :)
A great solution would be if it treats the buffer as a ring buffer with indirect access: wrap the buffer array index back to zero so the trigger point is always at the center or a settable number.
That one may be a hardware constraint, not solvable at the SDK level. :( It's unclear from their docos what control you have over that, if any. But you spec a few parameters, then tell it to go off and capture. Wait for it to finish, then pull the data out of the buffer you gave it a link to.
If you want me to pull up my notes sometime, and we can discuss it here, I doubt anyone else would mind.
Ok here are the pictures.
Nice PCB. It is laid out in a logical manner.
The parts count is relatively low and a CY7C68013 development board costs around $10 from China. But I still don't think I would bother to build one of these using such a board as the additional parts, case, scope probes and my time would make it far more expensive than GBP49. In those terms it is very good value for money. Next test will be to see how the unit performs with the infamous Hantek software package !
Looking at the PCB pictures I wonder if the 6022BE can be upgraded with an external trigger like 6052BE and 6082BE have...
http://hantek.com/en/ProductDetail_2_31.html (http://hantek.com/en/ProductDetail_2_31.html)
Might require new firmware, I'm afraid...
I just acquired one of these DSOs and I am going to be modifying it a bit, adding extra bypass capacitors, shielding the DC-DC and adding screening cans to both front ends and I will be posting my results here.
Also, I have been tinkering around with the crappy SDK provided by Hantek and I managed to get some framework code written in C++ Builder and I even managed to get some undocumented functions from both DLLs (HTDisplayDll and HTMarch) working, though I had to use IDA Pro to figure out what the function arguments were.
//Unducumented Functions
DLL_API int WINAPI HTDrawAcquireMode(HDC hdc, int x, int y, COLORREF h, __int16);
DLL_API int WINAPI HTDrawBottomPentagon(HDC hdc, int, int, COLORREF color);
DLL_API int WINAPI HTDrawCouplingImage(HDC hdc, int, int, COLORREF color, __int16);
DLL_API int WINAPI HTDrawCursorLine(HDC hdc, int, int y, int x, int, int, int, HGDIOBJ ho, int, int);
DLL_API int WINAPI HTDrawCursorTraceLine(HDC h, int x, int, int, int, int, int);
DLL_API int WINAPI HTDrawDefineText(HDC hdc, int, LPCWSTR pszFaceName, int mode, LPCWSTR lpString, int c, int x, int y);
DLL_API int WINAPI HTDrawEdgeSlope(HDC h, int, int, COLORREF hbr, __int16);
DLL_API int WINAPI HTDrawGeneratorRect(HDC hdc, int, int, int, int);
DLL_API int WINAPI HTDrawGridARB(HDC hdc, int, int, int, int, int, int, int, __int16);
DLL_API int WINAPI HTDrawGridBorder(HDC hdc, int, int, int, int);
DLL_API int WINAPI HTDrawGridLA(HDC hdc, int, int, int, int, int, int, int, int);
DLL_API int WINAPI HTDrawGridNew(HDC hdc, int, int, int, int, int, int, int, __int16);
DLL_API int WINAPI HTDrawGroupGridLA(HDC h, int, int, int, int, int, int, int, int);
DLL_API int WINAPI HTDrawKnob(HDC h, int, COLORREF color, int);
DLL_API int WINAPI HTDrawLABusSignal(HDC hdc, int, int Memory, int, int, int x, double, int, __int16, __int16);
DLL_API int WINAPI HTDrawLASquareSignal(HDC h, int, COLORREF color, int, int, int, double, int);
DLL_API int WINAPI HTDrawLATrigLine(HDC hdc, HGDIOBJ h, int, int, HGDIOBJ ho, COLORREF color);
DLL_API int WINAPI HTDrawLeftPentagon(HDC hdc, int, int, COLORREF color);
DLL_API int WINAPI HTDrawLevel(HDC hdc, int, int, COLORREF h, int y);
DLL_API int WINAPI HTDrawMeasLine(HDC h, int, int, int, int, int x, int y, HBRUSH ho);
DLL_API int WINAPI HTDrawPrintGrid(HDC hdc, HGDIOBJ h, HGDIOBJ ho, int, int, int, int, int, __int16);
DLL_API int WINAPI HTDrawPrintGridBorder(HDC hdc, HGDIOBJ ho, int, int, int, HGDIOBJ h);
DLL_API int WINAPI HTDrawPulseWidth(HDC hdc, int, int, COLORREF h, __int16);
DLL_API int WINAPI HTDrawRightPentagon(HDC hdc, int, int, COLORREF color);
DLL_API int WINAPI HTDrawSquareWaveInYT(HDC hdc, int, int, int, int, COLORREF ho, HGDIOBJ h, int, int, int, int, int, double, double, int, int);
DLL_API int WINAPI HTDrawTopPentagon(HDC hdc, int, int, COLORREF color);
DLL_API int WINAPI HTDrawWaveInXY(HDC hdc, void *Memory, int, int, int, int, int, int, int, int, COLORREF color);
DLL_API int WINAPI HTDrawWaveInXYNew(HDC hdc, void *Memory, int, int, int, int, int, int, int, int, COLORREF color);
DLL_API int WINAPI HTDrawWaveInYTNew(HDC hdc, int, int, int, int, COLORREF color, int, int, int, int, __int64, int, double, double, int, int);
DLL_API int WINAPI UserRound(double);
HTMARCH_API short WINAPI _dsoCloseFlashLight();
HTMARCH_API DWORD WINAPI _dsoGetPackageSize();
HTMARCH_API short WINAPI _dsoOpenFlashLight();
HTMARCH_API short WINAPI _dsoReadPackageData();
HTMARCH_API short WINAPI dsoSetSquareFreq();
HTMARCH_API short WINAPI _dsoStartDeviceCollect();
According to Openhantek, the DSO2090, 2150 and 2250 had their firmware reside within the USB drivers:
http://www.openhantek.org/w/p/installation/#10 (http://www.openhantek.org/w/p/installation/#10)
I read this like "firmware is downloaded to the device by the driver during initialization".
If that's true and provided that it hasn't changed for the 60x2BE series, there might be chances for easy firmware hacks...
I have reverse engineered the Front End if anyone is interested:
I'm not sure a 5V input signal in 1x mode is going to give a 5V signal at the node between the 909K and 100K, but more like 500mv.
This would mean the probe in 1x mode is going to be safe all the way up to 50V and 500V in 10x.
Also, the outside of my unit shows a label between the BNC connectors that says "35vpk max" which I am not sure if they mean for 1x or 10x?
I'm pretty sure all the simple CY7C68013A models are doing it this way, they don't have any on-board flash and the I2C doesn't have firmware in it just model information for USB device detection.
So the .sys driver has the firmware image embedded inside it, and the folks at openhantek.org have a tool to extract it. When the device is plugged in, the driver loads the firmware into the CY7C68013A's 16KB internal memory, and the 4K FIFO is used to store the ADC output.
I'm pretty sure all the simple CY7C68013A models are doing it this way, they don't have any on-board flash and the I2C doesn't have firmware in it just model information for USB device detection.
Correct.QuoteSo the .sys driver has the firmware image embedded inside it, and the folks at openhantek.org have a tool to extract it. When the device is plugged in, the driver loads the firmware into the CY7C68013A's 16KB internal memory, and the 4K FIFO is used to store the ADC output.
Almost. The 4K FIFO is used to buffer the USB data transfers. The ADC output should be fed to a 16Mbit chip (2 channels, with 1 MByte each), though I didn't see one on the board. If they were funneling the data directly from the ADC through the FIFO to USB, it wouldn't be able to keep up with the 48 MHz sample rate of the device. And it's not limited to 4K of samples, so...
The ADC output traces go directly to the CY7C68013A's Multiplexed input pins (specifically "bidirectional FIFO/GPIF data bus") which can switch between GPIF and FIFO. There is no 1MByte of ram anywhere on the board, or in any of the ICs.
The FIFO has a 96 mega byte per second burst rate, so it's highly unlikely they are using the GPIF which would have to go through the address bus just to get to the FIFO.
My guess is they are dumping the 8-bit data from the ADC in real time into the FIFO, and then through firmware they are periodically sampling it via USB possibly using the computer's ram to store the raw data.
Both the CY7C68013A and the ADC can clock at 48Mhz so there is no problem with the full data rate from the ADC getting to the FIFO, and the FIFO doesn't need 1MB of RAM to hold a real time value.
If they use 2K of FIFO per channel, they can store 2000 samples of data in FIFO for each channel. All the firmware inside the CY7C68013A has to do is buffer 2000 samples continuously, starting over and overwriting when it reaches 2000 samples.
Since the FIFO is connected directly to the USB Engine (circumventing the Address Bus), this means the PC has high speed access to the FIFO buffer...
...and all the PC has to do is wait for the FIFO to fill up, then read the entire FIFO buffer to PC RAM,
and either display it immediately or wait for the FIFO to fill up again, then read it and store in PC RAM until desired sample length is reached.
Since the PC doesn't read the FIFO until it's filled, that means it's effectively sampling it at 48Mhz/2000 samples which equals 24Khz.
Does the 60x2BE do triggering in software?
EDIT: just saw your last post - at 48M the 6022BE is said to have only 2k sample buffer and in an earlier post it is stated that there's trouble with proper signal readout: https://www.eevblog.com/forum/testgear/hantek-6022be-20mhz-usb-dso/msg258586/#msg258586 (https://www.eevblog.com/forum/testgear/hantek-6022be-20mhz-usb-dso/msg258586/#msg258586)Yes, Rick documented how at high speed (48 MHz), the module was capturing only 1,016 samples of data. It wasn't until you dropped back to 16 MSa/sec that you got anything bigger (jumped to 128k), and you couldn't get 1M at all, until you dropped the sampling to 1 MSa/sec or less. These were his findings:
At 50ms (1Mhz) it starts acquiring at full 1M samples (1,047,552 for each channel total 2x1047552)
At 20ms (1Mhz) it is at 523264 samples each Channel
At 10ms (1Mhz)= 523264
At 5ms (1Mhz)= 523264
At 1ms (1MHz) = 130048
At 100us (1Mhz) = 130048
At 20us (4Mhz) = 130048
At 10us (8Mhz) = 130048
At 5us (16Mhz) = 130048
At 2us (48Mhz) = 1016
Anything faster than 2us, it is still at 48MHz at 1016 samples each channel (2032 total)
The thing is, the way you're describing it makes it sound like the PC can just grab a 2,000 byte chunk of data over USB instantaneously. And it can't. Even running USB in synch-transfer mode, it takes time.
3) Regulated and low ripple noise is not required. Such as: digital circuits, low frequency analog circuits, and IGBT power device driving circuits. |
If anyone was wondering what the unpopulated components opposite the front end were for, they are an alternate isolated supply for the front end. They are using an LTC3440 Buck regulator for the +5V and a classic 7660 Charge Pump for the -5V supply.
I plan on adding copper foil shielding around the DC-DC package, ground strapping the ADC heatsink, and canning both Front Ends as well as adding extra SMD capacitors before and after the DC-DC, at the bypass capacitors near the ADC and USB Micro.
Later on I'll order some parts and populate the alternate DC-DC supply and remove the Mornsun DC-DC and see how it works.
It's probably set up so once the buffer is full it stops sampling, calls an interrupt to USB and once the PC grabs the data it starts sampling again.
This would explain the pseudo randomness of the device at times, because how long it has to wait to sample new data depends on how long it takes the USB and PC software to do it's part.
--Documented HTMARCH acquisition support functions [Mark_O, Oct'13]:
// just checks to see if a device is present. usually only Dev=0 is true.
HTMARCH_API short WIN_API dsoOpenDevice(unsigned short DeviceIndex);
// cals are 32B of 'proofreading' data. short the inputs to Ground, then run dsoCalibrate and retrieve data.
// presumably, the cal sets (16B/channel) are dependent on timePerDiv and voltsPerDiv, which means that
// dsoCalibrate would need to be run in multiple passes (64 combos). it also suggests that dsoSetCalLevel
// must be run every time either is changed. what dsoGetCalLevel is good for is unknown.
// cal data also needs to be reloaded on every power-on, since theres no NVMEM. [not really. it says it
// sends the Cal data to the device, but it doesn't. The SDK uses it to adjust the data before returning it.]
// [it looks like dsoSetCalLevel/dsoGetCalLevel are also worthless, for the same reasons as SetTime/Volts (below).]
HTMARCH_API short WIN_API dsoCalibrate(unsigned short nDeviceIndex,int nTimeDIV,int nCH1VoltDIV,int nCH2VoltDIV,short* pCalLevel);
HTMARCH_API unsigned short dsoSetCalLevel(unsigned short DeviceIndex,short* level,short nLen);
HTMARCH_API unsigned short WIN_API dsoGetCalLevel(unsigned short DeviceIndex,short* level,short nLen);
// worthless functions, because there's no way to get any data after setting them, w/o running a dsoReadHardData, which overrides them!
// however, they do serve to document the needed index values. (perhaps there are undocumented Read functions that were dropped.)
HTMARCH_API short WIN_API dsoSetVoltDIV(unsigned short DeviceIndex,int nCH,int nVoltDIV);
HTMARCH_API short WIN_API dsoSetTimeDIV(unsigned short DeviceIndex,int nTimeDIV);
// nVoltDIV (0-7): n20mV, n50mV; n100mV, n200mV, n500mV; n1V, n2V, n5V
// nTimeDIV (0-27): n48Msa(0-10); n16MSa, n8MSa, n4MSa, n1MSa(14-24), n500KSa, n200Ksa, n100KSa
--ONE call to Config AND Acquire, AND Retrieve (and Correct) sample data. [Mark_O, Oct'13]
--returns 0 for failure and non-0 for success.
HTMARCH_API short WIN_API dsoReadHardData(
unsigned short DeviceIndex, // access more than one module
short* pCH1Data, // ptrs to 2 storage buffers
short* pCH2Data,
unsigned long nReadLen, // length of 'reading data'
short* pCalLevel, // ** ptr to calibrationLevel vector (see dsoSetCalLevel); input?
int nCH1VoltDIV, // sensitivity settings (0-7=20mV-5V)
int nCH2VoltDIV,
short nTrigSweep, // sweepMode: 0=Auto, 1=Normal ??, 2=single
short nTrigSrc, // 0=chan1, 1=chan2
short nTrigLevel, // level=0-255
short nSlope, // 0=rise, 1=fall
int nTimeDIV, // sampleRate (0-27=48MSa-100KSa/s, see dsoSetTime)
short nHTrigPos, // pre-TriggerData: 0-100% (control pre/post buffering)
unsigned long nDisLen, // ** length of DisplayData (huh?)
unsigned long * nTrigPoint, // index of returned triggerPoint
short nInsertMode // ** D-value Mode: 0=Step, 1=Line, 2=SinX/X (huh?)
);
I know the DisplayLength has a meaning in the DrawWave function, it's just used to clip the data and only display a portion of it, what it's being used for in GetRaw I'm not sure... perhaps it's clipping the data also?
D-Value mode is how the data is interpolated when you are at 2us or lower, the options are as follows:
1. Step - Interpolate in right angle steps
2. Line - Interpolate in obtuse angles
3. SinX - Interpolate in sine
The reason the Get Raw data function asks for these arguments is because it's doing the interpolation.
As for the Calibration functions, the firmware might be storing the cal data in the I2C IC.
I have been tinkering with the code today and I got the grid displaying and both channels, but so far I have not added any manual controls, just displaying hard coded settings.
Huh? What interpolation? I ask it to collect N samples at a certain rate. It does so and returns them to me. What is here for it to interpolate? It would only do so if it was sampling fewer points than the # I requested. And needed to create the missing intermediate values. Are you suggesting that's what it's doing? [It could be. :( :-//]
Well, it could store the data anywhere it wanted to. But I don't see what value that would have? It has to be used in some way to adjust the raw data values provided by the ADC, and I don't see it having either the time or the horsepower to do so. That should be being done on the PC.
I don't think the device supports sampling at lower than 2us, so they are hacking support by interpolating.
Why would they do this? Maybe there is too much noise? Not sure.
The interpolation doesn't take effect at timebases above 2us, and if you look at the stock software the interpolation buttons are disabled above 2us.
QuoteWell, it could store the data anywhere it wanted to. But I don't see what value that would have? It has to be used in some way to adjust the raw data values provided by the ADC, and I don't see it having either the time or the horsepower to do so. That should be being done on the PC.
It's a USB scope, so you might not be using the same PC to utilize it, thus storing the cal data in the I2C would be convenient.
It's a USB scope, so you might not be using the same PC to utilize it, thus storing the cal data in the I2C would be convenient, and I don't think the firmware is touching the cal data, it's just stored there and the calibration offsetting happens in the PC software, thus the need for the GetCalLevel function.
If they store it on the PC, you have to recalibrate every time you use a different PC,
If they store it in USB Micro's 16KB RAM you have to recalibrate every time you plug it in,
If they store it in the I2C you only have to calibrate it when it needs it.
(Well, they're not storing it IN the I2C. That's a comm channel. But yeah, the EE accessed thru the I2C. Yes, I know I'm being pedantic. :))
You saved my day! I really was considering the 6022BE, but now I'm tending more to the older DSO2xxx series with smaller but onboard SRAM buffer and dedicated analog trigger...
//Time Division
enum THantekTimeDivision
{
//1016 samples
HTTimeDiv48MS_1NS=0, //960, 1, 1
HTTimeDiv48MS_2NS=1, //960, 1, 1
HTTimeDiv48MS_5NS=2, //960, 1, 1
HTTimeDiv48MS_10NS=3, //960, 1, 1
HTTimeDiv48MS_20NS=4, //960, 1, 1
HTTimeDiv48MS_50NS=5, //960, 1, 1
HTTimeDiv48MS_100NS=6, //960, 1, 1
HTTimeDiv48MS_200NS=7, //960, 1, 1
HTTimeDiv48MS_500NS=8, //960, 1, 1
HTTimeDiv48MS_1US=9, //960, 1, 1
HTTimeDiv48MS_2US=10, //960, 1, 1
//130048 samples
HTTimeDiv16MS_5US=11, //800, 1, 1
HTTimeDiv8MS_10US=12, //800, 1, 1
HTTimeDiv4MS_20US=13, //800. 1, 1
HTTimeDiv1MS_50US=14, //500, 1, 1
HTTimeDiv1MS_100US=15, //1000, 1, 1
HTTimeDiv1MS_200US=16, //2000, 1, 1
HTTimeDiv1MS_500US=17, //5000, 1, 1
HTTimeDiv1MS_1MS=18, //10000, 1, 1
HTTimeDiv1MS_2MS=19, //20000, 1, 1
//523264 samples
HTTimeDiv1MS_5MS=20, //50000, 1, 1
HTTimeDiv1MS_10MS=21, //100000, 1, 1
HTTimeDiv1MS_20MS=22, //200000, 1, 1
//1047552 samples
HTTimeDiv1MS_50MS=23, //500000, 1, 1
HTTimeDiv1MS_100MS=24, //1000000, 1, 1
HTTimeDiv500K_200MS=25,//1000000, 1, 1
HTTimeDiv200K_500MS=26,//1000000, 1, 1
HTTimeDiv100K_1S=27, //1000000, 1, 1
HTTimeDiv100K_2S=28, //2000000, 1, 1
HTTimeDiv100K_5S=29, //5000000, 1, 1
HTTimeDiv100K_10S=30, //10000000,1,1
HTTimeDiv100K_20S=31, //20000000,1,1
HTTimeDiv100K_50S=32, //50000000,1,1
HTTimeDiv100K_100S=33, //100000000,1,1
HTTimeDiv100K_200S=34, //200000000,1,1
HTTimeDiv100K_500S=35, //500000000,1,1
HTTimeDiv100K_1000S=36,//1000000000,1,1
HTTimeDiv100K_2000S=37,//2000000000,1,1
HTTimeDiv100K_5000S=38,//-1,1,1
};
extern "C" __declspec(dllexport) void WINAPI HTDrawWaveInYT(HDC hDC, RECT Rect,
COLORREF clrRGB, USHORT nDisType, short* pSrcData, ULONG nSrcDataLen,
ULONG nDisDataLen, ULONG nCenterData, USHORT nDisLeverPos, double dbHorizontal,
double dbVertical, USHORT nYTFormat, ULONG nScanLen)
{
//Convert SrcDataLen, DisDataLen, dbHorizontal and dbVertical to a string
std::string CallData = AnsiString("DataLen: "+IntToStr((int)nSrcDataLen)+
" - DisLen: "+IntToStr((int)nDisDataLen)+
" - dbHorizontal: "+FloatToStr(dbHorizontal)+
" - dbVertical: "+FloatToStr(dbVertical)).c_str();
//Set the text color to the waveform color (otherwise our text will be black on black!)
SetTextColor(hDC, clrRGB);
//Display the text inside the waveform area
TextOut(hDC, Rect.left, Rect.top, CallData.c_str(), CallData.length());
//Call the original DLL function
lib_HTDrawWaveInYT(hDC, Rect, clrRGB, nDisType, pSrcData, nSrcDataLen, nDisDataLen,
nCenterData, nDisLeverPos, dbHorizontal, dbVertical, nYTFormat, nScanLen);
}
The problem is, these values are highly dependent on what timebase you are in, and there is no documentation on what values to use on which timebases, and there is only one example in the SDK and PDF of it's use, but not enough to figure out what the rest should be.
The first problem I had to tackle was what "Read Length" values to use for each of the 39 different timebases in the original software, and an earlier post in this thread got me close, but no cigar.
I ended up having to write a redirection dll for the HTDisplayDll.dll...
As you can see, to scale the waveforms properly the "Display Length" is not the same as the "Read Length" and in some cases it's larger than the former.
I probably need to come back when I have a bit more time to read this, but I still don't understand how a parameter in an acquisition function affects the raw captured data. Unless the ReadData is NOT returning the actual sample data captured, but some expansion/interpolation thereof. (Beyond the short 1016 captures you already explained previously.)
nReadLen: 130048 - nDisLen: 800
nReadLen: 130048 - nDisLen: 500
nReadLen: 1016 - nDisLen: 960
nReadLen: 130048 - nDisLen: 800
nReadLen: 130048 - nDisLen: 1000
nReadLen: 523264 - nDisLen: 50000
nReadLen: 1047552 - nDisLen: 2000000000
nReadLen: 1047552 - nDisLen: -1
extern "C" __declspec(dllexport) short WINAPI dsoReadHardData(WORD DeviceIndex,
short* pCH1Data, short* pCH2Data, ULONG nReadLen, short* pCalLevel, int nCH1VoltDIV,
int nCH2VoltDIV, short nTrigSweep, short nTrigSrc, short nTrigLevel, short nSlope,
int nTimeDIV, short nHTrigPos, ULONG nDisLen, ULONG* nTrigPoint, short nInsertMode)
{
/*
//Stringify needed arguments
std::string Info = AnsiString("nReadLen: "+IntToStr((int)nReadLen)+" - nDisLen: "+IntToStr((int)nDisLen)).c_str();
//
std::ofstream OutFile("C:\\Program Files\\Hantek6022BE\\ReadHardData.txt", fstream::app);
OutFile << Info << std::endl;
OutFile.close();
*/
//Change Display Length >:)
nDisLen = 0;
return lib_dsoReadHardData(DeviceIndex, pCH1Data, pCH2Data, nReadLen, pCalLevel,
nCH1VoltDIV, nCH2VoltDIV, nTrigSweep, nTrigSrc, nTrigLevel, nSlope, nTimeDIV,
nHTrigPos, nDisLen, nTrigPoint, nInsertMode);
}
I have reverse engineered the Front End if anyone is interested:
The A7 device is just a fast switching rectifier, it breaks down at 100V and it's being used to clamp the signal to -5V and +5V.
Also take note that the instead of your usual 1M ohm resistor and trimmer capacitor in parallel connected from input signal to ground we have the input signal going through a 909K resistor with the trimmer capacitor in parallel with it, then shunted to ground through a 100K resistor and an SMD capacitor in parallel. To the input, it looks like a 1M resistor to ground, but the signal is being tapped between 909K and 100K, then going to the first Op Amp. I'm not sure a 5V input signal in 1x mode is going to give a 5V signal at the node between the 909K and 100K, but more like 500mv. This would mean the probe in 1x mode is going to be safe all the way up to 50V and 500V in 10x.
Also, the outside of my unit shows a label between the BNC connecors that says "35vpk max" which I am not sure if they mean for 1x or 10x?
I would be very interested in what you've done with the front end
I think the first thing I'm going to attempt to do is solder some big electrolytic caps onto between both the V+ and V- and the 0V reference coming out of the converter. Does this sound reasonable thing to do to reduce noise on the traces? I'm also open to changing the DC-DC converter here if anyone has some suggestions as to how to do, and reporting how it worked. I think this will make an interesting experiment.
...forgot to aquire some waveforms pre-modification to compare, but from memory I was getting 10-15mv noise and post modification it's down to 3-5mv.
Here are the inside pictures, using a cell phone camera at the moment so they are not very bright or crisp...
As you can see, I have already started populating the alternative DC-DC section with SMD Capacitors, and I noticed some Hantek equipment has the Crystal can grounded so I did that as well, probably doesn't change much but it didn't hurt it either.
Lastly, you enumerated 6 tweaks you made to the board, though I thought I counted more like 8. But in any event, it would be helpful to know the relative contribution of each, to maximize 'bang for the buck'. Not necessarily to minimize cost, but perhaps time. I suspect, and it's highly probably, that some tweaks will have very minimal influence. And omitting them really wouldn't matter.
Of course, to conduct such a study would require stopping to evaluate after each mod was installed. I realize that's asking a bit much. But just a thought for those following in your footsteps, if they'd like to make their own contributions.
That said, I was wondering if anyone knew if any of the other software tools support this model yet?
No problem guys, my pleasure.Lastly, you enumerated 6 tweaks you made to the board, though I thought I counted more like 8. But in any event, it would be helpful to know the relative contribution of each, to maximize 'bang for the buck'. Not necessarily to minimize cost, but perhaps time. I suspect, and it's highly probably, that some tweaks will have very minimal influence. And omitting them really wouldn't matter.
Of course, to conduct such a study would require stopping to evaluate after each mod was installed. I realize that's asking a bit much. But just a thought for those following in your footsteps, if they'd like to make their own contributions.
I don't want to hog all the fun :)
Here are the inside pictures, using a cell phone camera at the moment so they are not very bright or crisp...
As you can see, I have already started populating the alternative DC-DC section with SMD Capacitors, and I noticed some Hantek equipment has the Crystal can grounded so I did that as well, probably doesn't change much but it didn't hurt it either.
Wow! This looks pretty good. I'm going to try to do the same for mine. Thanks so much for posting your pictures and keeping us updated! :)
Little bit more progress on the software side (see attachment)...
I have implemented two different cursor modes, one exactly like the cursor mode in the original software (Cross, Horizontal, Vertical) and one I call Interactive, where two cursors labeled 1 & 2 in little circles are drawn with the waveform and you can interact with them by dragging them across the waveform, and they will follow the wave's y axis.
By the way, ignore the ugly toolbar button glyphs, those will not be in the final version as I am going to make my own graphics for the toolbar but those are placeholders until I am done.
Anyway, lots more work to do on it, but thought I'd share my progress thus far for those who are interested, thanks :)
Little bit more progress on the software side (see attachment)...
I have implemented two different cursor modes, one exactly like the cursor mode in the original software (Cross, Horizontal, Vertical) and one I call Interactive, where two cursors labeled 1 & 2 in little circles are drawn with the waveform and you can interact with them by dragging them across the waveform, and they will follow the wave's y axis.
By the way, ignore the ugly toolbar button glyphs, those will not be in the final version as I am going to make my own graphics for the toolbar but those are placeholders until I am done.
Anyway, lots more work to do on it, but thought I'd share my progress thus far for those who are interested, thanks :)
Richard, do you have executable/binary you can share? I don't have a C++ compiler newer than Microsoft VC5.
Thanks
Alright, here is the latest binary for those who want to tinker with it... http://jmp.sh/b/wOS6BUC9tp3Cels8JWf3 (http://jmp.sh/b/wOS6BUC9tp3Cels8JWf3)
Note: This is an unfinished pre-release build!
....
1/ What mods would you suggest for enabling this scope to measure such voltages
2/ I didn't get if I can measure spectrum with this one
3/ How to isolate it from ground
Just a quick question on this scope,
In x1, any signals over 5v and under -5v get clipped, is that normal?
That's what I thought...
Is it likely that I've got a faulty unit then? Anything over 5v just becomes a perfect straight line at 5v, so maybe there's something wrong with it?
That's probably what it is then... Why is it clipping the signal?
HTMARCH_API short WINAPI dsoReadHardData(WORD DeviceIndex, short* pCH1Data,
short* pCH2Data, ULONG nReadLen, short* pCalLevel, int nCH1VoltDIV, int nCH2VoltDIV,
short nTrigSweep, short nTrigSrc, short nTrigLevel, short nSlope, int nTimeDIV,
short nHTrigPos, ULONG nDisLen, ULONG* nTrigPoint, short nInsertMode);
//Voltage Division
enum THantekVoltDivision
{
HTVoltDiv20mv=0,
HTVoltDiv50mv=1,
HTVoltDiv100mv=2,
HTVoltDiv200mv=3,
HTVoltDiv500mv=4,
HTVoltDiv1V=5,
HTVoltDiv2V=6,
HTVoltDiv5V=7,
}
Seems a bit strange... Why is the max input voltage given as 35v then? ???
...3/ How to isolate it from ground
1. Use a laptop on battery (Not connected to AC adapter)
2. Use a laptop and AC adapter with isolated ground (Ground lead not connected to secondary ground)
3. Use a USB isolator (it has opto isolators for data and an isolated DC-DC for power)
4. Use a mains isolation transformer to power computer/laptop.
...3/ How to isolate it from ground
1. Use a laptop on battery (Not connected to AC adapter)
2. Use a laptop and AC adapter with isolated ground (Ground lead not connected to secondary ground)
3. Use a USB isolator (it has opto isolators for data and an isolated DC-DC for power)
4. Use a mains isolation transformer to power computer/laptop.
Let me also add one that caught me off-guard.
When trying to isolate your laptop from ground, do not use a KVM, external monitor, or wired-network with your laptop. KVM creates a common ground between all connected machines even if they are OFF and that could be your ground path even if your laptop is on battery. Wired network to a hub or another machine also possibly creates ground path.
...do not use a KVM, external monitor, or wired-network with your laptop.
Quote...do not use a KVM, external monitor, or wired-network with your laptop.
In my case it's just a desktop PC and nothing else.
How about cutting the USB power supply lines from PC to the unit and using a regulated bipolar power supply (wallwart adapter, ground isolated) to power it?
480mbps USB2.0 Isolators can be very expensive :(
My point exactly. A better DSO, more suited to the task would be a better choice ;)
The 6022BE is a compromise device built down to a price and may not be the 'right tool for the job'.
The 6022BE is a compromise device built down to a price and may not be the 'right tool for the job'.
QuoteThe 6022BE is a compromise device built down to a price and may not be the 'right tool for the job'.It looks like a mains isolation transformer for the device under test is the way to go. Luckily I have a variable transformer by hand.
Latest Binary for anyone interested: http://jmp.sh/v/NbdJxdvV1l35qIRE3DmP (http://jmp.sh/v/NbdJxdvV1l35qIRE3DmP)
Changes:
1. Importing & Exporting now functional (Reference channel now functional)
. Import saved .txt waveforms from original 6022BE software
. Export & Import to custom binary format
. Export to Bitmap & JPEG Images, visible or entire waveform, with render options to tweak + export preview
2. Hacked 10V/DIV option for 1X with Software Attenuation
3. Hacked AC Coupling (software filtering)
4. Various bug fixes and other minor changes
Interface Notes:
1. You can "drag" the waveform in view three different ways
1a. Click and drag the "Waveform Context" area above the waveform (fastest way to drag, very course)
2a. Click and drag the Waveform (slower, less course)
3a. Use Left and Right arrow keys (slowest, fine control)
Not working for me on Windows 8.1, I think it's connected to the scope but no waveform is being shown, not even a line. Maybe it's just something wrong with my setup, thanks anyway for all the hard work, looks great so far :)
Previous binary had the same problem, when the scope is connected I'm getting a green blinking light. The stock software works fine, and I tried the demo mode but I couldn't get any waveform to appear, same as before with no line on the screen...
Grid's there, everything else except the waveform. I wish I could be of more help, but I haven't done proper programming in years...
Thanks again for all this, it's going to be great to have alternative software :)
Here is the new binary: http://jmp.sh/v/8koyiaueYLtxZfdq5MRj (http://jmp.sh/v/8koyiaueYLtxZfdq5MRj)
Thanks RichardK for your hard work.
I might have found the problem and a possible workaround (though I don't have a Windows 8 machine to test it on atm)... There is apparently an issue with the Windows AlphaBlend() function on 64bit machines, and I use the AlphaBlend function to set the waveform brightness, since the Hantek SDK provides no ability to set it in the draw wave function, the draw grid function provided by the SDK does have a brightness argument so I don't need to use AlphaBlend() there, so that might also explain why the grid draws but not waveforms.
Here is the new binary: http://jmp.sh/v/8koyiaueYLtxZfdq5MRj (http://jmp.sh/v/8koyiaueYLtxZfdq5MRj)
zoomed waveform is no longer in scale with the grid
Quotezoomed waveform is no longer in scale with the grid
Would it be possible to have dôme sort of measurement like on the pico software? Or is it limited by the hardware?
Quotezoomed waveform is no longer in scale with the grid
Would it be possible to have dôme sort of measurement like on the pico software? Or is it limited by the hardware?
I have never used picoscope before, so I'm not familiar with that type of measurement.
This software's looking really good, already feels much nicer than the stock software.
Is there a possibility of waveform averaging and intensity grading in the future? That would make this scope so, so much better.
Well, let's say that you want to zoom deeper into your signal (for us in mechanic it's usefull to analyse the spark in an ignition system) it lets you zoom and mesure a specific point (V or time) into that zoomed image. I'm not sure if that's made by zooming the grid at the same time than the waveform itself. Or maybe it's a math thing.... like maybe.. you zoom 10x, our cursor is on the 2.3V level on the unzoomed grid -> so 2.3V / 10x = 0.23V . something like that... I don't know how to explain this the proper way... so here's a screenshot of the pico "zoom" fonction.
in the small windows up this is the actual waveform I took from an ignition spark. the main window is the zoom part of it where I mesure one point of the wave.
Maybe after I have finished all the major work left to do on this, I'll try and whip up a "blown up" view dialog with a scaled grid.
1. The start up seems to have a bit of delay. A few times, I re-clicked and ended up starting multiple instances.
2. The interactive measurement is quite nice. It however escapes me on how to catch the peak, min, or max – points that I cannot exactly put a cursor on.
3. Wave form for Ch2 is weird. I have Ch1 on a TTL square wave and Ch2 on the output part of the circuit which transform the TTL square wave transformed to Sine wave. The two waves are same frequency and phase. With the native software, the two wave forms are locked together as they should (since one is input and one is output of the same wave source). With Open6022 however, the Ch2 wave keeps rolling left/right as if it is not related to the Ch1 wave. I tried from low KHz to 4MHz using the UB1308S function generator.
4. I was confused for a while as only one set of vertical control is visible only. Until I found the drop down to change from Ch1 to Ch2, I was for a moment very confused by not able to deal with Ch2. It was rather inconvenient to drop down to switch to control “the other channel” and back again. I think keeping both Ch1 and Ch2 vertical control knobs visible would be nice. Perhaps use the same check box: when wave for Ch? Is shown, the vertical controls are also shown.
It does not seem fully functional yet since the T like pointer doesn’t seem to move consistently with my dragging. If my gut feel is right and that it is suppose to point at what part of the captured wave is being displayed, it would add so much and make the software so much more “user friendly.”
1. The start up seems to have a bit of delay. A few times, I re-clicked and ended up starting multiple instances.
Fixed (I hope) in latest binary (see below)...
2. The interactive measurement is quite nice. It however escapes me on how to catch the peak, min, or max – points that I cannot exactly put a cursor on.
It's harder to get it exactly when at lower resolutions (many waveforms in view), the original cursor measurement feature is probably better for finer measurements.
3. Wave form for Ch2 is weird. I have Ch1 on a TTL square wave and Ch2 on the output part of the circuit which transform the TTL square wave transformed to Sine wave. The two waves are same frequency and phase. With the native software, the two wave forms are locked together as they should (since one is input and one is output of the same wave source). With Open6022 however, the Ch2 wave keeps rolling left/right as if it is not related to the Ch1 wave. I tried from low KHz to 4MHz using the UB1308S function generator.
Fixed in latest binary (see below)...
4. I was confused for a while as only one set of vertical control is visible only. Until I found the drop down to change from Ch1 to Ch2, I was for a moment very confused by not able to deal with Ch2. It was rather inconvenient to drop down to switch to control “the other channel” and back again. I think keeping both Ch1 and Ch2 vertical control knobs visible would be nice. Perhaps use the same check box: when wave for Ch? Is shown, the vertical controls are also shown.
The reason I did this was because I felt the original software interface was too busy, and I was sick of scrolling down to modify CH2, so I figured using the arrow key to select channels would be a little better than trying to cram them all in. I'll look into making it easier to interact with CH1 & CH2 without using the drop down list.
It does not seem fully functional yet since the T like pointer doesn’t seem to move consistently with my dragging. If my gut feel is right and that it is suppose to point at what part of the captured wave is being displayed, it would add so much and make the software so much more “user friendly.”I think you are using an older binary, because I optimized the wave context movement recently, it's smooth as butter now even in a debug build... Here is the very latest binary: http://jmp.sh/v/MWcYkfQZ5t1qRzXBWIZD (http://jmp.sh/v/MWcYkfQZ5t1qRzXBWIZD)
And now for something completely different. I got an Abort testing Interactive Cursor. Probably a divide by zero or unexpected values in a calculation.
(see attached Access Violation error screen print.)
I am able to reproduce it with these steps:
- I had both channels connected.
- I had both on 100KHz, Ch1 Sine wave, Ch2 Square wave.
- Time base is 20uS/division
- (EDITED: adding info on the vertical:)
Vertical is 1V/division.
Ch1 (sine) max and min are 1.82V, 3.64V peak to peak according to stock version measurement window
Ch2 (square) max 816mV, min -753mV, 1.57V peak to peak
- Interactive cursor measurement is turned on
The cursor positions likely is important. I am not sure this what other settings will trigger it, but the settings below is a sure way of making it happen:
Ch1 measurement point is point #2 is about 2 divisions right of point #1 and about 1 division below point #1.
Ch2 measurement points are left as default.
- I changed Ch2 to 0Hz
- I changed Ch1 to 0Hz
- I changed Ch1 to 0.1Hz
(So far so good...next step cause error)
- I changed timebase to 5 seconds
The system pauses for a brief moment waiting for the trigger, then the program aborts.
***
Here is the very latest binary: http://jmp.sh/v/lNrJZjN58d1SpM42tz8O (http://jmp.sh/v/lNrJZjN58d1SpM42tz8O)RichardK,
Here is the very latest binary: http://jmp.sh/v/lNrJZjN58d1SpM42tz8O (http://jmp.sh/v/lNrJZjN58d1SpM42tz8O)RichardK,
Sorry! This fix doesn't work. The cursor just jump around and I cannot grab/set it at any point to do testing. The cursor is not even on the trace. See attached short video at about 38 seconds in and you will see what I mean.
Short Video showing jumping cursor (https://www.youtube.com/watch?v=jhSaOwSdmDM#)
Rick
@RichardK,
I just wanted to send you a big THANK YOU for your work on this software. You are very generous with you time and skills. My 6022BE has not been used since discovering the poor performance of the supplied software. I will have to dig it out in preparation for its first exposure to decent coding :)
Here is the very latest binary: http://jmp.sh/v/lNrJZjN58d1SpM42tz8O (http://jmp.sh/v/lNrJZjN58d1SpM42tz8O)RichardK,
Sorry! This fix doesn't work. The cursor just jump around and I cannot grab/set it at any point to do testing. The cursor is not even on the trace. See attached short video at about 38 seconds in and you will see what I mean.
Short Video showing jumping cursor (https://www.youtube.com/watch?v=jhSaOwSdmDM#)
Rick
Opps sorry about that, I forgot to update a piece of code... Should be fixed now: http://jmp.sh/v/UPtQLGTWm7zJrftGiad2 (http://jmp.sh/v/UPtQLGTWm7zJrftGiad2) NOTE: Same zip filename as before, make sure you remove the old one!
Also in that new binary the waveform dragging (dragging the scope, not the waveform context area above) and the scrolling with left and right arrow keys is now scaled to TimeDIV so the waveforms will move the same regardless of Timebase.
But even with the new software the scope has a lot of issues (see the first few pages of this thread...) - as they say, you can put lipstick on a pig but it will still be a pig :=)
The +/-5V is a limitation in the hardware, so software won't be able to get around this restriction.
I would definitely NOT recommend this scope in its current state.
@RichardK
Wow, god dam this is awesome! Just a few questions.
you hacked the SW for 1x to 10V,... so if I use the 10x probe it goes to 100V up??
and is it possible to hack this SW, so it goes up to 35V at 1x??? and 350V at 10x probe?
that would be unbelievable!! I normally want to use this scope for 3-16V at 10-100Hz, so it would be great if I can use 1x probe up to 35V instead of the factory-set 10x probe at 50V .
By the way,.. I did't order this 6022BE yet,.. just saw this thread today and since you do something with the SW, I wanna have this scope!
Thank you very, very much for your hard work!!!
Greetings, and sorry for my bad english.
It's a software hack of 10V/DIV @ 10x
I did notify today that the printing option is not available,
Am I doing something wrong or you just haven't reach this point yet?
@RichardK
Hi, is it possible to use your software with Hantek 6052BE (50 Mhz version of this scope) ??
I did notify today that the printing option is not available,
Am I doing something wrong or you just haven't reach this point yet?
Printing is not implemented yet, but will be soon... Typically, if you notice anything in the interface that doesn't appear to do anything, it's not implemented yet. Exceptions being of course, things that worked in previous builds, as this may be a bug!
one thing that might help minimize confusion is if in your ReadMe you had a simple list of the major Features, broken into Implemented and Not-Implemented Yet lists. Then just move one line between the 2 lists as their status changes. That's about as simple a project-management & status tracking technique as I can think of.
You could even have a 3rd list (Not-Planned), if folks start requesting things that aren't possible, or you don't plan on doing. That would forestall repeated requests (and explanations), since it's fairly obvious that folks aren't going back through and reading the thread postings.
I was not originally going to periodically release binaries for a functionally incomplete project (I assumed nobody would want to use a partially functional program).
Hi I joined this forum after reading this great thread. I have also bought the Hantek 6022be for all the reasons already mentioned. The software RichardK is busy with just made it more promising. I still need to understand how to use this DSO properly, as this is all new to me.
I will try to post the noise shown on both my channels when connected to the internal square wave. It interesting to see that channel 2 is nearly clean compared to channel 1.
Both probes were set to X10.
Any comments please?
I just did a similar measurement, the results were the same on the latest binary and stock software... It started out with less noise on CH1, but then a few minutes later the noise evened out between channels (both my version and stock software).
Considering my scope was near a window and it's 2F outside, I think it's safe to say it's thermally related and once the scope warmed up, both channels had pretty much the same noise.
Edit: The keen-eyed observer might notice something in the next build that Rick Law was asking for a few pages back ;)
Hi, Matchless,
...
The interesting part with my 6022be running on the Hantek program with both probes grounded; only channel 1 is noisy, channel 2 is shows no significant noise at all, just a blip every 3 to 4 seconds.
...
Any inputs here will be appreciated.
Hello, anyone know bandwidth and div/v relationship for DSO6022BE?
//Time Division
enum THantekTimeDivision
{
//1016 samples
HTTimeDiv48MS_1NS=0, //960, 1, 1
HTTimeDiv48MS_2NS=1, //960, 1, 1
HTTimeDiv48MS_5NS=2, //960, 1, 1
HTTimeDiv48MS_10NS=3, //960, 1, 1
HTTimeDiv48MS_20NS=4, //960, 1, 1
HTTimeDiv48MS_50NS=5, //960, 1, 1
HTTimeDiv48MS_100NS=6, //960, 1, 1
HTTimeDiv48MS_200NS=7, //960, 1, 1
HTTimeDiv48MS_500NS=8, //960, 1, 1
HTTimeDiv48MS_1US=9, //960, 1, 1
HTTimeDiv48MS_2US=10, //960, 1, 1
//130048 samples
HTTimeDiv16MS_5US=11, //800, 1, 1
HTTimeDiv8MS_10US=12, //800, 1, 1
HTTimeDiv4MS_20US=13, //800. 1, 1
HTTimeDiv1MS_50US=14, //500, 1, 1
HTTimeDiv1MS_100US=15, //1000, 1, 1
HTTimeDiv1MS_200US=16, //2000, 1, 1
HTTimeDiv1MS_500US=17, //5000, 1, 1
HTTimeDiv1MS_1MS=18, //10000, 1, 1
HTTimeDiv1MS_2MS=19, //20000, 1, 1
//523264 samples
HTTimeDiv1MS_5MS=20, //50000, 1, 1
HTTimeDiv1MS_10MS=21, //100000, 1, 1
HTTimeDiv1MS_20MS=22, //200000, 1, 1
//1047552 samples
HTTimeDiv1MS_50MS=23, //500000, 1, 1
HTTimeDiv1MS_100MS=24, //1000000, 1, 1
HTTimeDiv500K_200MS=25,//1000000, 1, 1
HTTimeDiv200K_500MS=26,//1000000, 1, 1
HTTimeDiv100K_1S=27, //1000000, 1, 1
HTTimeDiv100K_2S=28, //2000000, 1, 1
HTTimeDiv100K_5S=29, //5000000, 1, 1
HTTimeDiv100K_10S=30, //10000000,1,1
HTTimeDiv100K_20S=31, //20000000,1,1
HTTimeDiv100K_50S=32, //50000000,1,1
HTTimeDiv100K_100S=33, //100000000,1,1
HTTimeDiv100K_200S=34, //200000000,1,1
HTTimeDiv100K_500S=35, //500000000,1,1
HTTimeDiv100K_1000S=36,//1000000000,1,1
HTTimeDiv100K_2000S=37,//2000000000,1,1
HTTimeDiv100K_5000S=38,//-1,1,1
};
Hello, anyone know bandwidth and div/v relationship for DSO6022BE?
HI for everybody,
could you perhaps help me?
I have this equipment, used it with my desktop pc.It was fine.
Then I connected it to my other desktop, I checked the reference signal and it was not 1 kHz, but about 1,9 kHz ( T= 540 microsec).
Where is the problem?
thanks, I ask them, they tell me below data, this is correct?
1. V/div and bandwidth relationship for you reference as below:
Volt/div Bandwidth
20mV, 50mV, 100mV 10MHz
200mV 12MHz
500mV, 1V, 2V, 5V 20MHz
2. No attenuation, cut off voltage -+5V, attenuation 10X, -+50V.
Looks question1, it is not correct, how about with question2?
Let me add some clues to this puzzle. I have similar problem except it swaps Ch occasionally. Often, my Ch1 has much less noise to Ch2. Not quite down to occasional blip, just Ch1 about 1/3 to 2/3 the constant noise of Ch2. Then, occasionally, without probe swapping, without disconnection, I turned it back on to continue prior work (ie:it is connecting back to the same circuit at the same point.), the "noise channel" reverse and Ch2 is 1/3 cleaner than Ch1.
My guess is, it is software artifact but not real. I think packets were dropped. Something unknown affects which channel has lower priority (got processed second? got less package?) and the trace was smoothed out rather than it being less noise.
Rick
The keen-eyed observer might notice something in the next build that Rick Law was asking for a few pages back ;)
Hantek released an update of the software (1.0.4), but i haven't noticed any changes to the GUI. They must have corrected some bugs.
Hantek released an update of the software (1.0.4), but i haven't noticed any changes to the GUI. They must have corrected some bugs.
The HTDisplayDll.dll has been updated, HTMarch.dll has not changed... I'm comparing the two Display dll's disassembled right now to see what has changed and will test the new DLL with the latest binary.
Issue 1:
At certain settings, Ch2 will use Ch1's position. Look at the attached video, you will see the Ch2 trace is on top of Ch1 for a brief time, then disappear, then come back. But looking carefully: Ch2 trace actually returned to where it should be at the bottom part of the screen. It will stay there for a flash then go back to where Ch1 is. The hopping around is non-stop once you get it started.
https://www.youtube.com/watch?v=9l1oj9mdqfQ&feature=youtu.be# (https://www.youtube.com/watch?v=9l1oj9mdqfQ&feature=youtu.be#)
Settings to get that issue going:
Ch1: 110KHz, triangle, +2.76v to -2.76v
Ch2: 110KHz, square, +2.00 to -2.00v
TimeScale 5uS/division
Trigger: Edge, Auto, Ch1, Rising
To Start:
The hopping around does not happen all the time. To get it going, set it to 5uS then switch between FULL Screen and windowed partial screen, resize the screen, full screen again. After a few tries, the hopping around will start.
To Stop:
Switch to 10uS and then back to 5uS a few times, the hopping will stop. (Sometimes it will stop at first switching)
Also:
At 10uS, I can get the hopping going also. At much slower speed, I can't get it to hop around.
Issue 2:
Using the scope's built-in 1KHz reference wave and with the AC coupling turned on, you see the AC-filtered wave jittering up and down a bit too much. I think the noise is affecting the evaluated DC offset. With the offset changing, the trace is moving up and down too much.
If I can suggest, perhaps the evaluated DC offset should be dampen a bit. Perhaps keeping DC offset unchange unless/until the evaluated new DC offset is at least abs(X%) greater than current DC offset and minimum delta of at least 10mV. That should make it rock solid if in fact the noise is the cause of the problem.
Issue 3:
I notice that once paused, changing the time-scale doesn't redraw the trace at the new time-scale. Actually, I found and using time-scale changing to zoom in is easier for me. If you think so as well, perhaps don't waste time on zooming.
Issue 4:
I miss the regular measurement window. I can get the current peak/max/min regardless of where in the trace it would occur. The interactive cursor measurement is very nice, I like it, but it can't do that job.
If I don't have the peak on the visible trace, I can't put the cursor there and I can't measure it. Same for the unknown-position max and min. If I can't put the cursor there (unknown-position), I can't measure it.
The standard measurement window does that. Where ever it may be on the trace, I get the peak/min/max for that duration.
I hope we can keep the interactive cursor along with the old measurement window.
RichardK, thanks for this. Unfortunately I could not compare with the latest Hantek 1.0.4 as their website is down.Matchless,
Just some feedback that may help on your project:
My issue with no noise on channel two on the Hantek software and the usual noise on both channels on your software is still there. If I run the Calibration utility on yours it reminds me to ground the probes and then fails, and then the noise on my channel 2 goes away! Channel 1 stays the same. Now my result looks the same as on the Hantek software.
Running the calibration on the Hantec does not come back with either a failure or a complete and nothing changes. I assume the calibration feature is not working there.
Thanks again.
Latest Binary: http://jmp.sh/v/GxYh8cys9Rbbf3HAlLqG (http://jmp.sh/v/GxYh8cys9Rbbf3HAlLqG)
What's New:
-----------------------------------------------------------
1. Fixed a bug where channel's might "jump" up and down at random.
2. Fixed a bug where AC Coupled or Inverted channels would jump around, especially when
dragging waveforms.
3. Fixed a bug where waveforms would sometimes not update when changing Timebases.
4. Fixed a crash on close when Cursors enabled.
5. Fixed a bug where the Wave Context would sometimes not update properly when changing
Timebases.
6. Included Latest Hantek SDK DLL: HTDisplayDLL.dll
Edit: Rick, hopefully this fixes most of the issues you brought up earlier.
First, I hope I am not acting in a way that appears to be "just being critical". I am unable to contribute by helping with programming, so I am trying to contribute by do doing testing to hope to lighten your load.
So, if I sound critical, tell me to bug-off...
I did a run down on the latest PR9. I can confirm all 4 issues I brought up are addressed and resolved.
On "issue #2" (trace jitters using software AC coupling), I can see there was great improvement. There is still some slight jitters, but the blinking (trace disappear momentary) is largely gone. The "gone dark" is much shorten when it does happen. (The time when the blink, that brief duration of the momentary screen-with-trace. Both the frequency of blink and duration of blink are improved. It is not disruptive anymore as it was with PR8.
I think the AC coupling is one of the best features of your software. It may be worthwhile to make this the show-piece. The "gone dark" is so short it is barely noticeable. The slight up/down jitter that is left, if it can be slow down a bit more, this is the show piece.
New Bug:
When in AC coupling mode, interactive cursor doesn't work (not on the trace).
To reproduce:
Use the scope's references 1KHz wave
Ch1 & Ch2 are both 2V/div
time scale at 500uS
Ch1 on AC coupling
Turn on cursor - Ch1 cursor riding on air (not on trace) where as Ch2 (not AC coupling) is on the trace. Both seem to measures fine.
I have had the settings on both channels the same as that alerted me to this discrepancy, as I would expect both channels to be just about similar on the same test and settings.
My test was for base noise with both probes on X1 and connected to the ground tag of the 6022.
I have added some screen shots to compare the Hantek 1.0.3 program with RichardK's latest binary. To me both results should be the similar.
You can clearly see the settings in each screenshot:
The pictures marked 1, 2, 3 are on the Hantek SW and marked 1R, 2R, 3R are on RichardKs SW.
Only capture1 shows the noise missing on channel 2 :-//
A logical deduction is that it cannot really be a hardware issue, as then it would show up on RichardK's software as well. Another logical deduction is, if it is a software issue it should show up on other peoples 6022be's as well. The fact is that it is happening in the same way every time and is not intermittent. Thus to reproduce this behaviour, I think I was not clear enough in my original post. Hopefully more people will try it now and come back.
I also apologize if my posts on this is a waste of everyone's time.
According to scope's specs the max input voltage in x10 probe mode is 350V. If I want to double that can I just insert another 9-10MOhm resistor between the probe and scope's input and should I compensate it with an adjustable capacitor?
The fact is that it is happening in the same way every time and is not intermittent. Thus to reproduce this behaviour, I think I was not clear enough in my original post.
Thanks for your replies and advice to date. Unfortunately the Hantek website has been down for 3 days now and will most likely only be up again after the Chinese new year celebrations it seems. My next test is to try this with their latest 1.0.4 version once I can download it. Hopefully the driver is also new. By the way I am running these on Windows 8. I can also try running on Windows 7.
Mark_O and Rick,
Thanks for your replies and advice to date. Unfortunately the Hantek website has been down for 3 days now and will most likely only be up again after the Chinese new year celebrations it seems. My next test is to try this with their latest 1.0.4 version once I can download it. Hopefully the driver is also new. By the way I am running these on Windows 8. I can also try running on Windows 7.
I am leaning towards the suggestion that it may be a combination of my installation and the software and have reinstalled it a couple of times, but nothing has changed. More tests here need to be done yet.
I will be away for a couple of days and on return will try the newer version, Mark_O's suggestion and install on Win7 as well.
Could I possibly ask anyone else to post their results and mention which OS their PC's are running?
Just a thanks again for the interest and inputs from your side.
If you're asking that question then maybe you shouldn't be measuring above 350V... :) NB most resistors are not rated above 500 volts breakdown voltage and SMD ones are rated at much lower voltages...
I already downloaded the latest version from their website before it went down (Probably due to excessive traffic) and uploaded it to my Jumpshare account.
http://jmp.sh/v/xhBbrWPkvVEsYQomHCzs (http://jmp.sh/v/xhBbrWPkvVEsYQomHCzs)
Couple of screenshots comparing Hantek and OpenHantek software:
Couple of screenshots comparing Hantek and OpenHantek software:
Merlyn, look at Chan2 on the Hantek software. It's 20mV/div, and clearly the Vpp on screen is 1/5 of a div, or 4 mV. Yet in the Status area below (Output window), claims the Vpp is 8.16 mV. ??? That's some mighty fine software there.
The noise density is much higher on Chan2, but that doesn't (shouldn't) affect the Vpp at all.
Yeah, I noticed that too. Maybe it will produce wrong readings at the noise level. I'll try with higher amplitude signals and see what's going on.
I am not sure I agree that it is a software problem for this one. At 50uS, the scope is collecting at 1Mhz (1uS/datapoint) for 130048 datapoints. That is 130milliSecond worth of data.
But the display is 50uS/division which equals 500uS per screen full of data. The 130048 data points (130.048mS) equals 260 screenfull of data. So somewhere in the not-on-screen but collected data may be the higher 8.16 mV peak.
Often, I have to scroll my screen left or right to find the peak that is not on the current screen display.
I am not sure I agree that it is a software problem for this one. At 50uS, the scope is collecting at 1Mhz (1uS/datapoint) for 130048 datapoints. That is 130milliSecond worth of data.
But the display is 50uS/division which equals 500uS per screen full of data. The 130048 data points (130.048mS) equals 260 screenfull of data. So somewhere in the not-on-screen but collected data may be the higher 8.16 mV peak.
Often, I have to scroll my screen left or right to find the peak that is not on the current screen display.
Rick, thanks for pointing this out! I agree that it's certainly possible the Vpp captured could have been the 8mV reported, if there are 260 screens worth of data acquired.
OTOH, I think if we're only seeing <0.4% of the data (a very tiny drop in the bucket), there should be some indication of that, on-screen. Not to mention the (already discussed) painful process of trying to scroll through those 260 screenfuls of data.
And not only is there no such indication, once one does start scrolling, I see absolutely no way to know where one is in that 130,000 sample acquisition. So if you did eventually stumble across that 8mV peak (before you died of old age while scrolling), you'd have no idea where (in time) it occurred.
Second thing is, I am not sure (plain just forgot) if it does now, but it could show with part of the mini-wave in different color representing where the current screen is relative to the whole set of collected data.
Latest Binary: http://jmp.sh/v/TpJwJVuWFtNDFZJMovL8 (http://jmp.sh/v/TpJwJVuWFtNDFZJMovL8)
What's New:
-----------------------------------------------------------
1. Fixed a bug where Interactive Cursors out of sync with AC Coupled waveforms.
2. Full support for viewing stopped waveforms at different timebases and voltage divisions.
3. Cursors now work on Zoomed waveforms .
4. Removed Scale warning for zoomed waveforms (Proper scaling now implemented).
5. Added Reset Zoom menu item and Toolbar Button.
6. Added Fullscreen, Hide Toolbar and Hide Sidebar buttons to Toolbar.
7. Moved Start & Stop acquire buttons closer to the left side of the Toolbar.
8. Various other bugs fixed, performance improvements, code cleanup.
Hello Rick,
I just joined this forum and see that folks are evidently writing software for the HANTEK PC Oscilloscope... this is encouraging.
I have a HANTEK 6022BE and want to download the trace data. So far, I've been successful (sort of) at getting the comma separated variable file... the problem is that there's so much data that it overwhelms my spreadsheet (Open Office Calc). It appears that every sample is exported.... I've used network analyzers, spectrum analyzers, and other scopes with similarly high sample rates; however the downloaded data is much, much less, like 3K data points instead of 500K - some models have allowed me to set the number of data points (AGILENT for example). Another problem is that the corresponding x-axis data (time scale) is not exported. Furthermore, the trace data appears all in the same columns (making extremely long columns) rather than appearing in sequential columns. I could move this around... except the spreadsheet program tends to choke on the large data set... so forget using a formula to calculate the time base... This is a problem for me, because I've retired an no longer have access to all the wonderfully expensive equipment I once did. So... have any of my issues been addressed with software, OEM, or after-market? Where could I find more information on it?
Hello Rick,Plummerman,
Thanks for the prompt reply. My application is for calibrating small wind turbines (< 3kW) output characteristics. BTW, I have X100 probes because the output voltage in the operating regions is 50V to 300V. At any rate, the time per division is on the order of milliseconds, which at a 48MSa/sec would yield 1 million samples or more for 10 divisions (1 screen). As I recall on my first test runs, I was capturing something less than this (130k data points or more), so it would seem the scope software was adjusting the sample rate somehow.... but that's still way, way, too much (way over-sampled). Does the OpenHantek software have a more intelligent control over the sample rate than the OEM software?
Do you intend activating the Calibration function at a later stage?
Is it possible to change the 3 large rotary knobs to a better HD that looks more "quality" in line with your software?
Is it possible or bad practice to allow for clicking on the relevant rotary knob to activate the mouse scroll wheel, where at the moment one has to click the drop down box voltage?
RichardK,
Thanks, I must have missed that. At the moment if I run Calibration on the Hantek software it executes with no further feedback at all. If I run it on Open 6022be it executes and then gives Cannot calibrate: Calibration failed.
I may have missed something. Is there any specific steps to follow, except having it on for a while and having the probes connected to ground?
Thanks
RichardK,
Thanks, I must have missed that. At the moment if I run Calibration on the Hantek software it executes with no further feedback at all. If I run it on Open 6022be it executes and then gives Cannot calibrate: Calibration failed.
I may have missed something. Is there any specific steps to follow, except having it on for a while and having the probes connected to ground?
Thanks
Latest Binary: http://jmp.sh/v/TpJwJVuWFtNDFZJMovL8 (http://jmp.sh/v/TpJwJVuWFtNDFZJMovL8)
What's New:
-----------------------------------------------------------
1. Fixed a bug where Interactive Cursors out of sync with AC Coupled waveforms.
2. Full support for viewing stopped waveforms at different timebases and voltage divisions.
3. Cursors now work on Zoomed waveforms .
4. Removed Scale warning for zoomed waveforms (Proper scaling now implemented).
5. Added Reset Zoom menu item and Toolbar Button.
6. Added Fullscreen, Hide Toolbar and Hide Sidebar buttons to Toolbar.
7. Moved Start & Stop acquire buttons closer to the left side of the Toolbar.
8. Various other bugs fixed, performance improvements, code cleanup.
Issue 1: When trigger is not triggered, confusing wave form...
This bug is on NORMAL trigger and doesn't show in automatic trigger. In earlier release, you said only automatic trigger is working. I'm not sure that NORMAL trigger is "done" or work in progress. Anyhow, you want to know this anyway.
When trigger point is not within wave-range, the waves are still shown but deformed. The volt displayed is inaccurate. (Stock software draws nothing when trigger point is not within wave-range, so it would not be misleading or confusing.)
It may be best to remove the visible trace so as it would not be confusing when normal trigger is not triggered.
To see the confusing trace:
1 use scope’s build-in reference
2 time=1ms/div
3 volt ch1 2v/div
4 volt ch2 1v/div
5 Trigger Edge/Normal/Ch1/+
6 DC coupling for both
7 Trigger point at about 1v/div
Now drag the trigger point up and down a bit to just above the wave form, you can see the wave form CH2 is shown and jumps around, but volt is not accurate.
8 Now set CH1 to AC coupling, both wave forms are shown with inaccurate volts.
Issue 2: Zoom...
Zoom works really nice - particularly the reset zoom. It lacks just one thing. One doesn't know how much is zoomed, and reading the screen can easily confuse one into reading a wrong number.
You need either some magnification indicator (1X, 2.3X) somewhere on screen, and/or resize the grid. With the grid unchanged but zoomed, one can easily be confused and it is hard to discern the true value of the Horizontal or Vertical.
Issue 3: Full Screen
This works nice too!. It took me a bit of trying to realize that right-mouse button give me the option to re-window it. Perhaps you should put a tiny icon at the corner to re-window. First few times, I close the app and restart to regain window-ed mode. After a few tries, I want to see if there is a way and I tried all kinds of keys - eventually got to trying the other mouse button.
A small icon in the corner would be a nice touch.
Suggestion:
Earlier point Mark_O made about when one screen of 260 screens of data is shown, it is hard to see where the visible screen is relative to the start of data. I pointed out that your mini-wave at top-middle of screen and the T points at exactly the start position of data.
...
Issue 2: Zoom...
Zoom works really nice - particularly the reset zoom. It lacks just one thing. One doesn't know how much is zoomed, and reading the screen can easily confuse one into reading a wrong number.
You need either some magnification indicator (1X, 2.3X) somewhere on screen, and/or resize the grid. With the grid unchanged but zoomed, one can easily be confused and it is hard to discern the true value of the Horizontal or Vertical.
There is a zoom indication in the Main form Caption when zoomed in or out, as for zooming the grid, the SDK DrawGrid doesn't support zooming the grid so I would have to make my own DrawGrid function or reverse engineer theirs.
...
Suggestion:
Earlier point Mark_O made about when one screen of 260 screens of data is shown, it is hard to see where the visible screen is relative to the start of data. I pointed out that your mini-wave at top-middle of screen and the T points at exactly the start position of data.
The 'T' actually points to the center of view, and the green area exactly represents the visible area (the waveform in view) in respect to the rest of the data.
Also, check out View->Debug Information... Is that similar to what you are talking about?
RichardK,
Thanks, I must have missed that. At the moment if I run Calibration on the Hantek software it executes with no further feedback at all. If I run it on Open 6022be it executes and then gives Cannot calibrate: Calibration failed.
I may have missed something. Is there any specific steps to follow, except having it on for a while and having the probes connected to ground?
Thanks
Matchless ,
I cannot reproduce your issue -- I think you might have forgot to ground the probes first.
Rick
Issue 3: Full Screen
This works nice too!. It took me a bit of trying to realize that right-mouse button give me the option to re-window it. Perhaps you should put a tiny icon at the corner to re-window. First few times, I close the app and restart to regain window-ed mode. After a few tries, I want to see if there is a way and I tried all kinds of keys - eventually got to trying the other mouse button.
A small icon in the corner would be a nice touch.
That's not too hard, and I was thinking maybe binding the escape key to return to windowed mode also.
RichardK,
Thanks, I must have missed that. At the moment if I run Calibration on the Hantek software it executes with no further feedback at all. If I run it on Open 6022be it executes and then gives Cannot calibrate: Calibration failed.
I may have missed something. Is there any specific steps to follow, except having it on for a while and having the probes connected to ground?
Thanks
Matchless ,
I cannot reproduce your issue -- I think you might have forgot to ground the probes first.
Rick
Rick,
They were grounded as the Calibration software calls for on the screen. I also removed them completely as the Help calls for. Neither method works.
This is quite peculiar I must say!
Geeze - RichardK, you are right. I totally missed that on Matchless' post. Sorry, Matchless.
Time to consider an upgrade to my reading glasses. (Gotta blame it on something else.)
Hello Rick,
However, if at that time-per-division is fast enough but you capture more than you need, you can trim the data with a quick and dirty program. If you need more capture data than the scope is capable of (at your needed minimum capture rate), than it would be time for another scope.
Hope this helps.
Rick
I don't know of a spreadsheet program that won't simply choke on 130K to 500K (or more) data points. As for a "quick and dirty program", I'm not much of a code guru, and attempts at using a formula to lookup and extract a smaller data set simply sent Open Office into la-la land.
perhaps, as folks reading this forum are working on the Open HANTEK code, they will think about and implement ways to export manageable data sets?
Hello Rick,
However, if at that time-per-division is fast enough but you capture more than you need, you can trim the data with a quick and dirty program. If you need more capture data than the scope is capable of (at your needed minimum capture rate), than it would be time for another scope.
Hope this helps.
Rick
Thanks again for taking the time to respond. Since I'm looking at some pretty low frequency stuff (alternating current of a wind turbine), my time scales will be in the milliseconds range. I don't know of a spreadsheet program that won't simply choke on 130K to 500K (or more) data points. As for a "quick and dirty program", I'm not much of a code guru, and attempts at using a formula to lookup and extract a smaller data set simply sent Open Office into la-la land. What about the screen memory/display manipulations in the HANTEK and/or OpenHANTEK software? Is every data point being shown in the display, or is there some extrapolation from the sampled data set? I'm sure hoping there is some way to get a more manageable data chunk out of this thing..., or perhaps, as folks reading this forum are working on the Open HANTEK code, they will think about and implement ways to export manageable data sets?
Hello Rick,
However, if at that time-per-division is fast enough but you capture more than you need, you can trim the data with a quick and dirty program. If you need more capture data than the scope is capable of (at your needed minimum capture rate), than it would be time for another scope.
Hope this helps.
Rick
Thanks again for taking the time to respond. Since I'm looking at some pretty low frequency stuff (alternating current of a wind turbine), my time scales will be in the milliseconds range. I don't know of a spreadsheet program that won't simply choke on 130K to 500K (or more) data points. As for a "quick and dirty program", I'm not much of a code guru, and attempts at using a formula to lookup and extract a smaller data set simply sent Open Office into la-la land. What about the screen memory/display manipulations in the HANTEK and/or OpenHANTEK software? Is every data point being shown in the display, or is there some extrapolation from the sampled data set? I'm sure hoping there is some way to get a more manageable data chunk out of this thing..., or perhaps, as folks reading this forum are working on the Open HANTEK code, they will think about and implement ways to export manageable data sets?
Plummerman,
They (scope manufacturers) are more likely to work on exporting larger and larger sets instead of smaller data sets. Deep-memory is a selling point.
130,000 points is not that many. You could use Microsoft Word to slides the file into 2 or three, and go from there. Microsoft Word has the capability to go to specific line of text if I remember right, so you can get to 100,000th line or whatever point you want to slice the file.
If you can get a buddie to write you a script or a macro for the word processor you use, you could speed that up. A macro (recordable bunch of keystroke) can "delete a line, move forward N lines, repeat". With such a macro, you can just let it run for a while and it will trim down to 1/N of the original size.
Good Luck!
Rick
Excel and OpenOffice Calc choke on just two data channels of 130K data points- and that doesn't even include generating the x-axis data (time of each sample). Handling a file of 20 or 30, or more such traces would be, well, unthinkable. I know what a macro is - at one time I wrote quite a few of them in Excel VBA, but that required a "functioning" application... The Excel VBA macro recorder helped a lot with my weaknesses at scripting. As yet, I'm unfamiliar with the Open Office VBA equivalent.
Hello Rick,
I can see a desire for "deep data" in order to catch high speed transients, glitches, and the like; ... My desire is to do repetitive data captures of side by side data in a single file in performing a series of tests for later analysis ... Excel and OpenOffice Calc choke on just two data channels of 130K data points- and that doesn't even include generating the x-axis data (time of each sample) ...
Thanks again,
Plummerman
7. Function declaration:
HTMARCH_API unsigned short dsoSetCalLevel(unsigned short DeviceIndex,short* level,short
nLen);
Return value: return zero (0) for success and non-zero for failure.
//Calibration error state
bool CalibrateError=false;
//Attempt to calibrate device
if(!Scope->Calibrate())
{
//Attempt to Store Calibration Data to device
if(Scope->SetCalLevel())
{
//Set Error Flag
CalibrateError = true;
}
}
//Otherwise there was an error
else
{
//Reset Calibration Data
Scope->GetCalLevel();
//Set Error Flag
CalibrateError = true;
}
__int16 __usercall sub_41AE50<ax>(int a1<esi>)
{
__int16 v1; // bx@1
__int16 result; // ax@2
__int16 *v3; // [sp-1Ch] [bp-24h]@1
//Calibrate, set v1 to success/fail
v1 = dsoCalibrate(
*(_WORD *)(a1 + 48), // DeviceIndex
*(_WORD *)(a1 + 56), // nTimeDIV
*(_WORD *)(a1 + 8), // CH1VoltDIV
*(_WORD *)(a1 + 32), // CH2VoltDIV
(__int16 *)(a1 + 110)); // pCalLevel
v3 = (__int16 *)(a1 + 110);
//Failure
if ( v1 )
{
dsoGetCalLevel(*(_WORD *)(a1 + 48), v3, 32);
result = v1;
}
//Success
else
{
dsoSetCalLevel(*(_WORD *)(a1 + 48), v3, 32);
result = 0;
}
//Return status
return result;
}
Hello everyone, I think I figured out the Calibration problem...
The calibration utility is running correctly now, but if one runs it while erroneously connected to the internal reference output, the amplitude of the waveform doubles and then it fails and gives an error. I would expect it to fail, but not affect any settings?
If one loads a reference waveform from the R menu, there is no way to disable it again, except closing and restarting the program. Maybe a Close option would be helpful.
The full screen option with the Esc button works well, but the small icon on the left, using restore, removes the full screen, but then its without the menus.
Are you planning to include the "AUTOSET" feature that is used when probe compensation is done?
Probe Compensation
Perform this function to match the characteristics of the probe and the channel input. This should be performed whenever attaching a probe to any input channel at the first time.
? From the “Probe” menu, select attenuation to 1:10. Set the switch to “X10” on the probe and connect it to CH1 of the oscilloscope. When using the probe hook-tip, insert the tip onto the probe firmly to ensure a proper connection.
? Attach the probe tip to the Probe Compensator and the reference lead to the ground connector, select CH1, and then press the “AUTOSET“ button into the menu or the toolbar.
? Check the shape of the displayed waveform.
The Esc key and the Right click menu takes me back to the window mode correctly, but the small icon definitely takes me back to a window mode, but with the difference that only the graticule with grid and wave form shows, no upper toolbar or right hand knobs etc. are displayed then.
Autoset feature: The Hantek software has an Auto setup blue button in the toolbar, 4th from the right.
Latest Binary: http://jmp.sh/v/QN9DEKEgv4YQEW056ASq (http://jmp.sh/v/QN9DEKEgv4YQEW056ASq)
....
Issue 1:
I have problem getting either Math or Reference to scale. Can you share with us how it is suppose to be scaling? I am seeing very inconsistent scaling and even with many experiments, I can't even determine what might be the scaling logic with math. (Follow Ch1? Follow Ch2? Average Ch1+CH2? Follow Ch1 by a multiplier factor? etc...)
Suggestion 1 - why not make it manually scalable? A lot more flexible if user can select scaling base on what is being investigated. At the wave-position pointer, the right-mouse click drop down to hide the Ref/Math trace could have another entry to open a pop-up to get scaling info.
Issue 2:
Detaching toolbar causes display to be erratic. It is certainly not a big issue unless it points to a larger problem (since trace-drawing seem to slow down after a few times of doing that). It was hard to reproduce, but I mapped out a sure way to see it:
1. Reboot (if not rebooted, it may not show after a while but seem to slow down trace drawing)
2. Hook up to scope's reference wave
3. Start Open6022BE
4. Set trigger to get stable trace (I set it to ~500mv)
5. Resize window to a bit longer than the tool bar and a bit wider (It may not happen unless both width and height are changed)
6. Drag toolbar outside the window you will see the traces for both channel blinking.
7. Resizing the window again, the traces now draws normal - you can move toolbar anywhere without blink except the default position (below main window's drop down menus). If you move it back to the default position it will blink again.
8. It will repeat: Resize window again and blink stop, move toolbar out and it starts... It seems to plot slower after a while, but it may just seem to do that instead of for real. Mind may play trick after looking at the same thing for a long time.
Issue 3:
Interestingly, when I Remote Desk Top into the machine running the scope with both Ch1 and Ch2, only Ch2 is showing. The grid and Ch1 do not show at all. When I have both Math and Reference wave on, grid,Ch1,Ch2,Math are absent but Reference wave is visible.
Suggestion 2:
Would it be feasible to implement scroll bar in the control area? I use a small machine with 1024x768 resolution to fit my work area. When measurement windows are open, Ch2 controls are no longer visible.
Suggestion 3:
For measurement window, would it be feasible to split the screen horizontal instead of vertical? Displaying Ch2 data below Ch1 takes too much screen real-estate and the measurement data display is not wide. If Ch1 and Ch2 are split horizontally, it will not take up so much screen.
One additional bug:
The V/Div setting for both channels have a glitch (regardless of other settings as far as i have tested it):
V/Div (set) V/Div (active)
10/V 10V
5V 5V
2V 2V
1V 1V
500mV 1V
200mV 1V
100mV 1V
50mV 500mV
20mv 200mV
Issue 3:
Interestingly, when I Remote Desk Top into the machine running the scope with both Ch1 and Ch2, only Ch2 is showing. The grid and Ch1 do not show at all. When I have both Math and Reference wave on, grid,Ch1,Ch2,Math are absent but Reference wave is visible.
I have no idea what would be causing that... I have tested with VNC Viewer and it appears fine, so it's probably an issue with the software you are using... Perhaps some kind of setting for reducing unnecessary traffic? :-//
Suggestion 2:
Would it be feasible to implement scroll bar in the control area? I use a small machine with 1024x768 resolution to fit my work area. When measurement windows are open, Ch2 controls are no longer visible.
I'll see what I can do, but at the moment it looks like it might be a more complicated feat than one would imagine...
Suggestion 3:
For measurement window, would it be feasible to split the screen horizontal instead of vertical? Displaying Ch2 data below Ch1 takes too much screen real-estate and the measurement data display is not wide. If Ch1 and Ch2 are split horizontally, it will not take up so much screen.
I was thinking the same thing and I have already implemented for the next release a segmented view (see attachment) using four TreeView controls (one for each measure source) side by side. The way the stock software does it is a massive waste of space, and it just looks wrong.
Btw, if anyone was wondering, if you double click the measurement list it will invert the current selections, so if nothing is selected, it will select all items.
Arrgh, not critical, but would be nice.
Latest Binary: http://jmp.sh/v/pgnwMU9slvz6OIK8YhKr (http://jmp.sh/v/pgnwMU9slvz6OIK8YhKr)
....
Wow, that's a fast response :-+
It solves the problem to some extend:
Down to 500mV/DIV things are working properly ... with 200mV/DIV and 100mv/DIV actual resolution is 400mv/DIV (that's strange!), 50mV/DIV gives you 200mV/DIV and 20mV/DIV appears to be working correctly again ...
The peak-peak readout is somewhat erratic too:
...
Robert
With slower settings (i.e. 500ms/DIV) I get an updated screen every 5 seconds. Is that the standard output?
If yes: I'd love to have a "continuous drawing mode" - either real-time samples on the right edge of the scope and the plot moving to the left of, if more feasible, continuous drawing of samples from left to right with "overwriting" on the next pass.
Wow, that's a fast response :-+
It solves the problem to some extend:
Down to 500mV/DIV things are working properly ... with 200mV/DIV and 100mv/DIV actual resolution is 400mv/DIV (that's strange!), 50mV/DIV gives you 200mV/DIV and 20mV/DIV appears to be working correctly again ...
The peak-peak readout is somewhat erratic too:
...
Robert
Robert, I will give it a try to reproduce your issue, see if I can somehow get it to replicate on my system the next couple of days. I will keep you posted.
Rick
Wow, that's a fast response :-+
It solves the problem to some extend:
Down to 500mV/DIV things are working properly ... with 200mV/DIV and 100mv/DIV actual resolution is 400mv/DIV (that's strange!), 50mV/DIV gives you 200mV/DIV and 20mV/DIV appears to be working correctly again ...
The peak-peak readout is somewhat erratic too:
...
Robert
Robert, I will give it a try to reproduce your issue, see if I can somehow get it to replicate on my system the next couple of days. I will keep you posted.
Rick
Rick,
don't waste the time - that was clipping that hit me |O
Robert
What an improvement!!!
RichardK, just one small thing I picked up when running the Autoset for scope compensation adjustment, the V/Div goes to 100mV on the OEM Hantek and Open6022be goes to 1.00V.
Saying you are doing excellent work is an understatement!!!
+1. Added the ability to Import & Export Calibration data to file (Utility->Zero Offset Calibration)
>> I assume the export/input is to allow zero-reset without having to wait for the system warm up and recall it to what the normal zero-offset would be. Do you plan to re-import settings at start up?
New Issues 1:
1. Math is changing where it should not be (setting dependent, described below).
When both Ch1 and Ch2 are measuring the same thing, the two waves match as expected. Math trace (A+B) should look exactly like Ch1 and Ch2 with exact same frequency, different ampltitue, and same 0 crossing. By window resize and mouse movement describe below, it could get into a mode where it shifts left/right a little (that is what caught my attention). The math trace begin rolling left and right and keep rolling. Once that starts, it can get to a point the rolling worsens to like an untriggered wave form.
New Issues 2: probably related to Issue 1
(Once you hit issue 1) Trigger is default setting. Top right display of trigger voltage update delayed (by > 5 sec) Moving the update trigger above wave, the trigger voltage should update. The new display of trigger voltage you added on lower left updates immediately. The trigger voltage on top right (stock software trigger voltage display) does not update immediately. The more you go "resize-small (Vert&Horiz), release button, size big (V&H)," the slower the the update gets. I have waited for >10 seconds for it to update. (The trigger voltage change can be within or beyond wave-voltage. I used the trigger pointer tab to change trigger voltage in case there is another way I don't know)
I was going to skip the 13th build, but it's the 13th of February and I fixed a few issues, so I might as well get it out of the way... Lucky Build #13: http://jmp.sh/JEjvatW (http://jmp.sh/JEjvatW)
I was going to skip the 13th build, but it's the 13th of February and I fixed a few issues, so I might as well get it out of the way... Lucky Build #13: http://jmp.sh/JEjvatW (http://jmp.sh/JEjvatW)
Hmm. "File Not Found." That string looks suspiciously short? Maybe it's just me.
I think perhaps it is a site problem. I saw this PR13 post from RichardK a few hours ago on my laptop. Approx 1 hr ago, I got on my PC to download - and I did not find this PR13 post from RichardK. I was beginning to wonder if I was imagining it or perhaps he changed his mind and removed it somehow. I came back to my laptop after having some snack, this post from RichardK reappeared.
I was really wondering what was in my dinner that caused such imagination. I am glad I see your post. That tells me there must be something wrong on the site or Google Chrome cache is not working right showing me an old page.
I was going to skip the 13th build, but it's the 13th of February and I fixed a few issues, so I might as well get it out of the way... Lucky Build #13: http://jmp.sh/r4BjH8a (http://jmp.sh/r4BjH8a)
What's New:
-----------------------------------------------------------
1. Various Performance enhancements.
2. Reduced tendency for Math channel to roll.
3. Implemented FFT Fundamental frequency rendering.
4. Fixed a glitch in FFT Rendering.
Not a whole lot changed, but this should clear up the latest issues and get #13 out of the way *knock on wood*.
New Issues 1:
1. Math is changing where it should not be (setting dependent, described below).
When both Ch1 and Ch2 are measuring the same thing, the two waves match as expected. Math trace (A+B) should look exactly like Ch1 and Ch2 with exact same frequency, different ampltitue, and same 0 crossing. By window resize and mouse movement describe below, it could get into a mode where it shifts left/right a little (that is what caught my attention). The math trace begin rolling left and right and keep rolling. Once that starts, it can get to a point the rolling worsens to like an untriggered wave form.
Settings:
Both Ch1 and Ch2 hooked to the same spot, 100KHz, Square, +-3.5V peak to peak, math=A+B
Set to default 2V/div, 5uS. Leave trigger at program start up default.
Note:Square, Sine, doesn't matter, v/div doesn't matter, just frequency and time/div matters. I know I don't get it at the low 1KHz reference wave. I am not sure at what frequency it starts. At 100KHz (or 90KHz), I know the bug will hit.
Steps to trigger the uncontrolled scrolling of math waveform: (Next issue related to this, don't change a thing yet after you reproduce this bug)
1. I started with fresh reboot, signal all set up (100KHz, Square, +-3.5v)
2. Start the program, change time/div to 5uS, math A+B
3. Size the window smallest (both verticle and horizontal) and move it to top left for sreen-space. LET GO of the button before next step.
4. Enlarge the window both verticle and horizontal about 1.5x size
5. Start the mouse in the trace-drawing area and move the mouse left and right very very rapidly about 10 times.(mouse movement within trace area, moved perhaps 1/2 trace area width)
6. It may start after a few (<5) such rapid mouse movement left and right, if not go back to step 3. I can usually get the trace scrolling going back to step 3 less than 5 times.
7. Once you get it to roll, move moment appears irrelevant. Sizing window smaller stops the roll, sizing it big starts it again. It became uncontrollable after a few small-large cycle..
8. Do not change a thing yet. Look at the next issue.
New Issues 2: probably related to Issue 1
(Once you hit issue 1) Trigger is default setting. Top right display of trigger voltage update delayed (by > 5 sec) Moving the update trigger above wave, the trigger voltage should update.
2. Reduced tendency for Math channel to roll.
Not fully fixed. Issue#1 (recap below) still triggers a roll. When I posted originally, I said 100KHz down to 90 KHz I can get it to roll. I experimented more and I get it to roll at 10KHz at 5uS/division. (A,B at the same spot on signal gen, Square wave, +- 2 to 2.5V). The rolling stop at slower time/division. At 50uS, I did not get it to roll.
Even as slow as 5KHz, I can also see rolling. But 5KHz at 5uS/div, so little of the wave is visible determining rolling (or not) becomes difficult.
Unrelated Suggestion
Doing tests makes me switch time/div a lot and I notice the drop down shows just a few choices (7+current selection), so I ended up scrolling around a lot. This may be an inconvenience during normal use as well. Since that drop down is so high up on the screen, offering more choices will not impact screen real-estate. Can you make the drop down a little longer so it show more time/div choices? Only if it is easy - this one is polishing. Offer more choices for this drop down menu may make it more user-friendly. It would also look more polished to get rid of some of the digits after the decimal since they are always zero anyway.
2. Reduced tendency for Math channel to roll.
Not fully fixed. Issue#1 (recap below) still triggers a roll. When I posted originally, I said 100KHz down to 90 KHz I can get it to roll. I experimented more and I get it to roll at 10KHz at 5uS/division. (A,B at the same spot on signal gen, Square wave, +- 2 to 2.5V). The rolling stop at slower time/division. At 50uS, I did not get it to roll.
Even as slow as 5KHz, I can also see rolling. But 5KHz at 5uS/div, so little of the wave is visible determining rolling (or not) becomes difficult.
I think the rolling is caused by the fact that the Math function takes some time to execute and by the time it's rendered the source waveforms are at a slightly different time, and with the noise the trigger could be in another location, thus causing the offset.
I optimized it as much as I can, so I think in order to squash this issue I'll have to find another approach, possibly compute the math as soon as possible after the raw data is acquired, although I am already doing it pretty much right after CH1 & CH2 are acquired.
2. Reduced tendency for Math channel to roll.
Not fully fixed. Issue#1 (recap below) still triggers a roll. When I posted originally, I said 100KHz down to 90 KHz I can get it to roll. I experimented more and I get it to roll at 10KHz at 5uS/division. (A,B at the same spot on signal gen, Square wave, +- 2 to 2.5V). The rolling stop at slower time/division. At 50uS, I did not get it to roll.
Even as slow as 5KHz, I can also see rolling. But 5KHz at 5uS/div, so little of the wave is visible determining rolling (or not) becomes difficult.
I think the rolling is caused by the fact that the Math function takes some time to execute and by the time it's rendered the source waveforms are at a slightly different time, and with the noise the trigger could be in another location, thus causing the offset.
I optimized it as much as I can, so I think in order to squash this issue I'll have to find another approach, possibly compute the math as soon as possible after the raw data is acquired, although I am already doing it pretty much right after CH1 & CH2 are acquired.
I think this is a minor issue - not one that should hold up release since your release represents so many important improvements. It could be documented in the release write-up that a fast CPU is needed for proper rendering of math function @ faster than 5uS/division. But of course, it is your call.
To compensate probes
Perform this adjustment to match the characteristics of the probe and the channel input. This should be performed whenever attaching a probe to any input channel the first time.
1. From CH1 menu, set the probe attenuation to 10X (press CH1?Probe?10X).
Set the switch to X10 on the probe and connect it to CH1 of the oscilloscope.
When using the probe hook-tip, insert the tip onto the probe firmly to ensure proper connection.
Attach the probe tip to the probe compensator connector and the reference lead to the ground pin, Select CH1, and then press AUTO.
2. Check the shape of the displayed waveform
3. If necessary, use a non-metallic tool to adjust the trimmer capacitor of the probe for the flattest square wave being displayed on the oscilloscope.
4. Repeat if necessary.
WARNNING: To avoid electric shock while using the probe, be sure the perfection of the insulated cable, and do not touch the metallic portions of the probe head while it is connected with a voltage source
To display a signal automatically
The oscilloscope has an Auto feature that automatically sets up the Oscilloscope to best display the input signal. Using Auto requires signals with a frequency greater than or equal to 50 Hz and a duty cycle greater than 1%. Press the AUTO button, the oscilloscope turns on and scales all channels that have signals applied, and it selects a time base range based on the trigger source.
The trigger source selected is the lowest numbered input that has a signal applied. The oscilloscope has two-channels input. Connect a signal to the CH1 input.
1.Connect a signal to the oscilloscope.
2.Press AUTO. The oscilloscope may change the current setting to display the signal. It will automatically adjust the vertical and horizontal scaling, the trigger coupling, type, position, slope, level, and mode settings.
Warning ![/size
That download site just tried to infect my PC with a Trojan. I have rebuilt my PC today and teh first download was this one. Be careful. I will attach a screen shot from MS Secuirty Essentials.
Warning ![/size
That download site just tried to infect my PC with a Trojan. I have rebuilt my PC today and teh first download was this one. Be careful. I will attach a screen shot from MS Secuirty Essentials.
My desktop also gone to hell (hung during Windows start up) this morning and I had a hard time getting on. I plan to restore my machine after lunch too.
I am very sorry, I have taken it down immediately. :palm: Can anyone suggest a safe way of doing this please?
I am very sorry, I have taken it down immediately. :palm: Can anyone suggest a safe way of doing this please?
2) When I first ran the program on my laptop, I had the scope disconnected, so got the Device Not Found warning. I clicked Yes to attempt Demo mode, and got a warning about No Default Printer being present. The program then exited. Ideally, it would be better for that to be a warning than a fatal error. When I set a default printer to some dummy device, the program came up in Demo. Seemed to work fine. Glad that you have the Random waveform. The others are so regular, it's hard to know where I'm scrolling.
Latest Binary: http://jmp.sh/aqaEw5c (http://jmp.sh/aqaEw5c)
What's New:
-----------------------------------------------------------
1. Fixed a random crash/hang bug when using FFT.
2. FFT's now update properly on stopped waveforms.
3. Fixed an FFT Fundamental Negative Frequency bug.
4. Fixed a bug where zooming stopped waveforms would cause
interactive cursors to go off trace.
5. Increased Time and Voltage division drop-down lengths.
6. Fixed a bug where Math Interactive Cursors would go off trace.
7. Fixed the Math Channel roll issue.
8. Disable AC Couple & Invert options when Acquire Stopped.
9. Fixed a crash on start up if no Printer is installed.
10. Fixed a bug where Measurements would not update on stopped waveforms.
New Issue - System hung (with Math):
1. Set Signal to 2.11MHz, 0 to 3V Square wave.
2. Have both Ch1 and Ch2 connected to the same signal source
3. Start PR14
4. Adjust trigger level to about mid-way of the square wave, I did that on both Ch1 and Ch2 planning to shortly switch triggering channel. But the bug hit before I change anything with trigger.
5. Start MATH and just use the default "ADD"
6. At this point V/div, time/div, and trigger settings are still startup default
7. Change time/div to 2uS
8. Switch time/div to 5uS - now PR14 application is hung
This bug only hit when Math is on. Once you hit the bug, X'out of the app doesn't totally return to normal. I have a hard time restarting the system with Control-Alt-Delete.
New Issue - System hung (with Math):
1. Set Signal to 2.11MHz, 0 to 3V Square wave.
2. Have both Ch1 and Ch2 connected to the same signal source
3. Start PR14
4. Adjust trigger level to about mid-way of the square wave, I did that on both Ch1 and Ch2 planning to shortly switch triggering channel. But the bug hit before I change anything with trigger.
5. Start MATH and just use the default "ADD"
6. At this point V/div, time/div, and trigger settings are still startup default
7. Change time/div to 2uS
8. Switch time/div to 5uS - now PR14 application is hung
This bug only hit when Math is on. Once you hit the bug, X'out of the app doesn't totally return to normal. I have a hard time restarting the system with Control-Alt-Delete.
Not able to replicate it yet, but I'll keep investigating.
Interesting! Prior to reporting it, I was able to hit that even right after reboot. I tried at least 5 times to make sure and get the "reproduce" steps log properly.
I will do another verification tomorrow, and this time, make sure I didn't do anything in between that I deem inconsequential and didn't log that. If nothing new come up, I will try it with a different machine. Stay tune, I will report back.
Rick
I recently saw a clone of the 6022BE for sale on e*ay and took a look at the 'manufacturers' web site. Instrustar is the name on the units. Take a look here:
http://translate.google.co.uk/translate?hl=en&sl=zh-CN&u=http://www.instrustar.com/product_detail.asp%3Fnid%3D1595&prev=/search%3Fq%3Disds205a%2Bsoftware%26biw%3D1024%26bih%3D506 (http://translate.google.co.uk/translate?hl=en&sl=zh-CN&u=http://www.instrustar.com/product_detail.asp%3Fnid%3D1595&prev=/search%3Fq%3Disds205a%2Bsoftware%26biw%3D1024%26bih%3D506)
There is also software available to download.
http://translate.google.co.uk/translate?hl=en&sl=zh-CN&u=http://www.instrustar.com/product_detail.asp%3Fnid%3D1595&prev=/search%3Fq%3Disds205a%2Bsoftware%26biw%3D1024%26bih%3D506 (http://translate.google.co.uk/translate?hl=en&sl=zh-CN&u=http://www.instrustar.com/product_detail.asp%3Fnid%3D1595&prev=/search%3Fq%3Disds205a%2Bsoftware%26biw%3D1024%26bih%3D506)
http://www.instrustar.com/download_detail.asp?nid=1536 (http://www.instrustar.com/download_detail.asp?nid=1536)
Manual is here:
http://20121015114.web47.ckuai.com/upload/user%20guide/ISDS205A%20User%20Guide.pdf (http://20121015114.web47.ckuai.com/upload/user%20guide/ISDS205A%20User%20Guide.pdf)
I have not tried the software on a 6022BE but thought this information may be of some interest ?
Interesting! Prior to reporting it, I was able to hit that even right after reboot. I tried at least 5 times to make sure and get the "reproduce" steps log properly.
I will do another verification tomorrow, and this time, make sure I didn't do anything in between that I deem inconsequential and didn't log that. If nothing new come up, I will try it with a different machine. Stay tune, I will report back.
Rick
No worries, I think I fixed it :)
RichardK, do you have a 'tip jar' PayPal set up or anything? I'd love to support your development! Or if there's any other way I can help (software/hardware) let me know! My C is alright, but I don't know what language you're using to develop this.... any way I can help just ask!
//Draw Wave in XY (C++)
DLL_API int WINAPI HTDrawWaveInXY(
HDC hdc,
int Left,
int Top,
int Right,
int Bottom,
short* ptrCH1RawData,
short* ptrCH2RawData,
short CH1Lever,
short CH2Lever,
unsigned long DataSize,
COLORREF color);
//Draw Wave in XY (New)
DLL_API int WINAPI HTDrawWaveInXYNew(
HDC hdc,
int Left,
int Top,
int Right,
int Bottom,
short* ptrCH1RawData,
short* ptrCH2RawData,
short CH1Lever,
short CH2Lever,
unsigned long DataSize,
COLORREF color);
@RichardK:
Now that most of the stuff is working great could you please add one small improvement? ;)
It would be great if you could add onClick event on rotary buttons so that when you click on the button the dropdown next to it is selected.
This way it will be really easy to quickly change Volt/DIV and Time/DIV values up and down with mouse wheel.
Tnx for all the effort.
When running the latest OPEN6022BE I find that when both probes are connected to the internal reference output I get two nice square waves, but they shudder and move around regardless of whether on trigger CH1 or CH2.
When I add a reference waveform from the menu button function generator, it displays nicely and the reference waveform sits there solid as a rock.
Now I select AC coupling on CH1 (trigger is also CH1) and the reference wave starts running and CH1 and 2 becomes stable
then after a short while the red led comes on and the software freezes and only a end task in task manager can release it. The same happens when trigger is CH2 and AC Coupling is selected on CH2.
I did not see the "Autoset" function on your todo list. Are you planning to have it replicate what the OEM software is doing now (i.e. scans for any input signal and then by pushing the Auto button the best display is automatically selected)?
Latest Binary: http://jmp.sh/2QnHfye (http://jmp.sh/2QnHfye)
What's New:
-----------------------------------------------------------
1. Various Rendering performance improvements.
2. Added a right click menu to output window to copy measure output to clipboard.
3. Fixed a bug where changing Time Division with Math Channel enabled could cause
the application to hang.
4. Fixed a bug where changing Time Division would sometimes not update Sample Rate
display.
5. Fixed a bug where Math & Reference Trigger Leavers would not rescale on form resize.
6. Implemented XY mode.
EDIT: 7. Added a color option for XY mode to the Waveform Color dialog.
...
Pre/Post trigger 0-100%
HTMARCH_API short WINAPI dsoReadHardData(WORD DeviceIndex, short* pCH1Data,
short* pCH2Data, ULONG nReadLen, short* pCalLevel, int nCH1VoltDIV, int nCH2VoltDIV,
short nTrigSweep, short nTrigSrc, short nTrigLevel, short nSlope, int nTimeDIV,
short nHTrigPos, ULONG nDisLen, ULONG* nTrigPoint, short nInsertMode);
0, wow64cpu.dll!TurboDispatchJumpAddressEnd+0x6c0
1, wow64cpu.dll!TurboDispatchJumpAddressEnd+0x56b
2, wow64.dll!Wow64SystemServiceEx+0x1ce
3, wow64.dll!Wow64LdrpInitialize+0x42b
4, ntdll.dll!RtlUniform+0x6e6
5, ntdll.dll!RtlCreateTagHeap+0xa7
6, ntdll.dll!LdrInitializeThunk+0xe
7, ntdll.dll!NtDelayExecution+0x15
8, KernelBase.dll!Sleep+0xf
9, Open6022BE.exe!PrintdialogFinalize+0x3cc64
10, Open6022BE.exe!ConstantsFinalize+0x3352d
11, Open6022BE.exe!ConstantsFinalize+0x32400
12, Open6022BE.exe!MeasureFinalize+0x6dd27
13, Open6022BE.exe!MeasureFinalize+0x12e1e
14, user32.dll!gapfnScSendMessage+0x332
15, user32.dll!GetThreadDesktop+0xd7
16, user32.dll!CharPrevW+0x138
17, user32.dll!DispatchMessageW+0xf
18, Open6022BE.exe!MeasureFinalize+0x6e4cc
19, Open6022BE.exe!MeasureFinalize+0x6e50f
20, Open6022BE.exe!MeasureFinalize+0x6e83a
21, Open6022BE.exe!WaveformcolordialogFinalize+0x166
22, Open6022BE.exe!Tb2versioninitialization$qqrv+0x15197
23, kernel32.dll!BaseThreadInitThunk+0x12
24, ntdll.dll!RtlInitializeExceptionChain+0x63
25, ntdll.dll!RtlInitializeExceptionChain+0x36
0, KernelBase.dll!IsNLSDefinedString+0x476
1, 0x76548a4876523b6f
2, 0x7652449800000038
3, KernelBase.dll!IsNLSDefinedString+0x476
4, Open6022BE.exe!PrintdialogFinalize+0x3cc64
5, Open6022BE.exe!ConstantsFinalize+0x3352d
6, Open6022BE.exe!ConstantsFinalize+0x32400
7, Open6022BE.exe!MeasureFinalize+0x6dd27
8, Open6022BE.exe!MeasureFinalize+0x12e1e
9, user32.dll!gapfnScSendMessage+0x332
10, user32.dll!GetThreadDesktop+0xd7
11, user32.dll!CharPrevW+0x138
12, user32.dll!DispatchMessageW+0xf
13, Open6022BE.exe!MeasureFinalize+0x6e4cc
14, Open6022BE.exe!MeasureFinalize+0x6e50f
15, Open6022BE.exe!MeasureFinalize+0x6e83a
16, Open6022BE.exe!WaveformcolordialogFinalize+0x166
17, Open6022BE.exe!Tb2versioninitialization$qqrv+0x15197
18, kernel32.dll!BaseThreadInitThunk+0x12
19, ntdll.dll!RtlInitializeExceptionChain+0x63
20, ntdll.dll!RtlInitializeExceptionChain+0x36
0, ntdll.dll!NtDelayExecution+0x15
1, 0x76523bc877e3fd91
2, 0x18fb8800000000
3, 0xb6183fc9
4, 0x24f2c2000000003
5, 0x100000024
6, ntdll.dll!NtDelayExecution+0x15
7, KernelBase.dll!Sleep+0xf
8, Open6022BE.exe!PrintdialogFinalize+0x3cc64
9, Open6022BE.exe!ConstantsFinalize+0x3352d
10, Open6022BE.exe!ConstantsFinalize+0x32400
11, Open6022BE.exe!MeasureFinalize+0x6dd27
12, Open6022BE.exe!MeasureFinalize+0x12e1e
13, user32.dll!gapfnScSendMessage+0x332
14, user32.dll!GetThreadDesktop+0xd7
15, user32.dll!CharPrevW+0x138
16, user32.dll!DispatchMessageW+0xf
17, Open6022BE.exe!MeasureFinalize+0x6e4cc
18, Open6022BE.exe!MeasureFinalize+0x6e50f
19, Open6022BE.exe!MeasureFinalize+0x6e83a
20, Open6022BE.exe!WaveformcolordialogFinalize+0x166
21, Open6022BE.exe!Tb2versioninitialization$qqrv+0x15197
22, kernel32.dll!BaseThreadInitThunk+0x12
23, ntdll.dll!RtlInitializeExceptionChain+0x63
24, ntdll.dll!RtlInitializeExceptionChain+0x36
0, wow64cpu.dll!TurboDispatchJumpAddressEnd+0x6c0
1, wow64cpu.dll!TurboDispatchJumpAddressEnd+0x56b
2, wow64.dll!Wow64SystemServiceEx+0x1ce
3, wow64.dll!Wow64LdrpInitialize+0x42b
4, ntdll.dll!RtlIsDosDeviceName_U+0x23a27
5, ntdll.dll!LdrInitializeThunk+0xe
6, ntdll.dll!NtDelayExecution+0x15
7, KernelBase.dll!Sleep+0xf
8, Open6022BE.exe!PrintdialogFinalize+0x3cc64
9, Open6022BE.exe!ScopeFinalize+0x31689
10, Open6022BE.exe!PrintdialogFinalize+0x3db30
11, Open6022BE.exe!DrawFinalize+0x310ae
12, Open6022BE.exe!MeasureFinalize+0x2dd06
13, kernel32.dll!BaseThreadInitThunk+0x12
14, ntdll.dll!RtlInitializeExceptionChain+0x63
15, ntdll.dll!RtlInitializeExceptionChain+0x36
0, wow64cpu.dll!CpuSimulate+0x16e
1, 0x42bff7400000000
2, 0x24f2c20007ffd8a
3, 0x7ffdf102541770
4, 0x80009802541770
5, 0x2541770007ffd60
6, 0x81263102583550
7, 0x81263b042bff58
8, 0x42bff7c042bff74
9, 0x42bff7400812691
10, ntdll.dll!NtDelayExecution+0x15
11, KernelBase.dll!Sleep+0xf
12, Open6022BE.exe!PrintdialogFinalize+0x3cc64
13, Open6022BE.exe!ScopeFinalize+0x31689
14, Open6022BE.exe!PrintdialogFinalize+0x3db30
15, Open6022BE.exe!DrawFinalize+0x310ae
16, Open6022BE.exe!MeasureFinalize+0x2dd06
17, kernel32.dll!BaseThreadInitThunk+0x12
18, ntdll.dll!RtlInitializeExceptionChain+0x63
19, ntdll.dll!RtlInitializeExceptionChain+0x36
0, KernelBase.dll!IsNLSDefinedString+0xca7
1, 0x76523bab042bfecc
2, 0x42bfea8
3, 0x6b22b3aa9
4, 0x24f2c2000000005
5, 0x100000024
6, KernelBase.dll!IsNLSDefinedString+0xca7
7, KernelBase.dll!SleepEx+0x48
8, KernelBase.dll!Sleep+0xf
9, Open6022BE.exe!PrintdialogFinalize+0x3cc64
10, Open6022BE.exe!ScopeFinalize+0x31689
11, Open6022BE.exe!PrintdialogFinalize+0x3db30
12, Open6022BE.exe!DrawFinalize+0x310ae
13, Open6022BE.exe!MeasureFinalize+0x2dd06
14, kernel32.dll!BaseThreadInitThunk+0x12
15, ntdll.dll!RtlInitializeExceptionChain+0x63
16, ntdll.dll!RtlInitializeExceptionChain+0x36
Im lucky you made this software, since I was unable to read the included CD (I only have an old IDE cd-drive, and no IDE ports... no CDs in any laptop either) and their site is so incredibly bad/slow I was unable to download the software zip!
Just wanted to note that sadly its very unstable. It crashed several times during only 15 minutes of experimenting. How do I get a log or any info on why it crashed?
Something I noticed, lots of places selling the 6022BE advertise that it has pre-trigger acquisition, and even the Hantek product details states (for the entire 6000 series).QuotePre/Post trigger 0-100%
Well, after some reverse engineering I discovered that in dsoReadHardData() the parameter for horizontal trigger is, wait for it... NEVER USED.
They don't even use the value passed into it, which tells me they planned on having Pre-Trigger support but never implemented it.
I have added a Horizontal Trigger lever in the next release, but I have left it invisible (disabled) in hopes that Hantek updates their HTMarch.dll someday to include Pre-Trigger like they falsely advertise.
I have added a Horizontal Trigger lever in the next release, but I have left it invisible (disabled) in hopes that Hantek updates their HTMarch.dll someday to include Pre-Trigger like they falsely advertise.
[Another approach would be to make that control visible, and when an operator tries to use it, pop up a dialog box with contact information for Hantek, and direct them to inquire why a sales feature Hantek advertises is not implemented. That may accelerate the enhancement process. Or simply get them to stop advertising capabilities their offering does not provide. Either would be an improvement.]
RichardK have you considered collaborating with sigrok.org people?
double HorzRatio;
if(MemSize >= 1)
HorzRatio = (double)(rc->right - rc->left + 1) / (double)(MemSize - 1);
else
HorzRatio = 0;
Are you using Visual Basic for the GUI? Or how are you implementing it?
Is the demo mode your creation or related to Hantek? I ask because I was wondering it could be used in a classroom situation. Not relating to myself it just seems that if you could load waveforms with it then it could be used for that purpose.
RichardK have you considered collaborating with sigrok.org people?
Never heard of them before, and their site is down... What are they, like the DD-WRT of the Oscilloscope world?
Here my observations from the pure user perspective: This software is very workable and friendly. A few things get in the way:
2. Save and restore the settings (v/div, trigger, color, etc.) upon restart
1. Lacking ability to adjust V/div for math (and reference)
2. Save and restore the settings (v/div, trigger, color, etc.) upon restart
Do you know if anyone has figured out why two drivers are installed (one is hidden)?
1. Lacking ability to adjust V/div for math (and reference)
Not sure what you mean, changing the Voltage Division for Math and Reference works fine here.
...
Rick,
Just wondering, have you tried with any other remote desktop program? Maybe the free Teamviewer?
...
Do you know if anyone has figured out why two drivers are installed (one is hidden)?
One quietly loads the firmware into the device (it has no internal storage for the firmware, so it's stored in one of the device drivers).
The second driver is for communicating with the active device (now loaded with firmware) and it acts as a communication proxy between the device and HTMarch.dll.
RichardK,
Running Windows 8 (32bit) and the latest version crashes after about 6 seconds....
Hope this is just a small glitch and itching to see it in action with all those improvements you listed!
For some reason, this version is virtually unusuable for me, it hangs almost at once. Well, it doesnt hang as much as it just stops drawing anything. Btw what does "Debug Information" do, anyway?
RichardK, I am happy to report that I do not experience this on either win7 or Win8 any more! :clap:
On the original software one could click the mouse cursor at the position you wanted the button to turn. This obviously does not work on OPEN6022BE, but for some reason it sometimes attempts to work when you click the button. The black dot may or may not move fully or partially to the cursor position. Its hard to reproduce.
While I was googling around I found what appears to be the official Hantek help forum. It looks fairly active.
http://www.hantek.org/asken/ (http://www.hantek.org/asken/)
Had to register just to Chip in...
Received my 6022BE today! Having installed the stock software, I quickly decided it wasn't very good, and a potentially crippling limitation to these natty bits of kit. I was looking for a Linux solution (which there doesn't seem to be one, FWIW) when I stumbled upon this thread and was happy to see that it was active.
RichardK, your Open6022BE is a fantastic piece of software, many times better than the one Hantek supply. I just wanted to echo the others in saying good work, and thanks for your hard work. Bravo.
I shall be putting it through it's paces in the coming days, so if I can chip in bug finding / feature ideas etc. I will!
Thanks again,
JamesR
1) Horizontal noise doesn't work with the square wave
2) Vertical noise seems to be dependent on the value of the points. For example, a square wave from 0-2V will have loads of noise at the top but zero noise in the valley.
The others deal with DPO mode, it would be nice to have a clear screen button. Otherwise its very easy to get displays that look like this:
(http://i.imgur.com/mjAmg2j.png) (http://imgur.com/mjAmg2j)
;D
Also, turning off a channel and/or clearing it should remove the wave. it looks like it turns off the channel but doesn't remove the DPO left-overs.
I did add a loaded question though about the pre-trigger acquisition >:D
As a direct consequence of your Open6022BE software I bought the hardware :)
It's there
http://www.hantek.org/asken/iaskdetail.aspx?id=2014022803412937 (http://www.hantek.org/asken/iaskdetail.aspx?id=2014022803412937)
Also, surely this should behave a lot more like the logic analyzers based on ez-usb, ie. once below the USB speed threshold you have an "infinite" buffer on the PC end, and that should mean 24Mhz.
There is one thing which is worse compared to the stock software: triggers go crazy at 48Mhz, and this I know, but with stock it always start working again at 16Mhz. In your software I have to slow down a lot for triggering to be reliable again.
Also, surely this should behave a lot more like the logic analyzers based on ez-usb, ie. once below the USB speed threshold you have an "infinite" buffer on the PC end, and that should mean 24Mhz.
The units you're referring to are single-channel. (Two channel units do NOT run at 24MHz.) Remember, the 6022BE is running two channels, so 16MSa/sec sampling is at 32 MB/sec. (Also, there is no 24 MHz option in the Hantek DLL. It goes directly from 48MHz to 16.)
The units you're referring to are single-channel. (Two channel units do NOT run at 24MHz.) Remember, the 6022BE is running two channels, so 16MSa/sec sampling is at 32 MB/sec. (Also, there is no 24 MHz option in the Hantek DLL. It goes directly from 48MHz to 16.)
I am aware, but does disabling a channel on the 6022 not mean its single-channel, or is the USB part unaffected maybe?
The units you're referring to are single-channel. (Two channel units do NOT run at 24MHz.) Remember, the 6022BE is running two channels, so 16MSa/sec sampling is at 32 MB/sec. (Also, there is no 24 MHz option in the Hantek DLL. It goes directly from 48MHz to 16.)
I am aware, but does disabling a channel on the 6022 not mean its single-channel, or is the USB part unaffected maybe?
No, disabling a channel on the 6022 UI doesn't make it single-channel (unfortunately). AFAICT (from my reading some time back), the Hantek DLL has no option to disable either channel, so, as you say, the USB part is unaffected. It would be nice if you could double the speed by turning off one channel. But the driver that gets loaded into the 6022BE would also have to support that transfer mode.
Perhaps I missed something, and Richard will tell me I'm FOS. :D
HANDLE GetDeviceHandle(WORD DeviceIndex)
{
char Src[63];
char FileName[63];
memset(&Src, 0, 63u);
memset(&FileName, 0, 63u);
//Create Device Identifier
sprintf(Src, "d6022-%d", DeviceIndex);
strcat(FileName, "\\\\.\\");
strcat(FileName, Src);
HANDLE Hnd = CreateFileA(FileName, GENERIC_WRITE, FILE_SHARE_WRITE, NULL, OPEN_EXISTING, NULL, NULL);
if(Hnd != (HANDLE)-1 && Hnd)
{
CloseHandle(Hnd);
return NULL;
}
//Return Handle
return Hnd;
}
1) If full screen is selected the GUI does not display the menu, tool bar and button bar.
Pressing the Esc button returns correctly to smaller display with toolbars and controls panel.
Clicking the small top left hand icon and selecting Restore the display is smaller, but no toolbars or controls are shown,
you have to right click on the display and select Windows Mode to get your toolbar and controls back.
2) Noise issue on base noise with probes grounded still exist:
Settings: Both probes grounded to front ground lug, set to X1, 500uS, both channels 20mV set Zoom to level 19
Ch1 Ch2
20mV Noise No Noise
50mV Noise No Noise
100mV Noise No Noise
200mV Noise spikes Noise spikes
500mV Noise Noise
1V Noise Noise
5V No Noise No Noise
10V No Noise No Noise
3) Autoset is not taking one to best settings option, always to 2.000uS only (I think you are aware of this)
4) Trigger Mode Dropdown box has only one selection. Why have a dropdown then?
5) Corporation is mistyped in About
6) Trigger Sweep One shot freezes waveform display, shows "Stop" and red led flashes on device. Unable to resume if setting is changed back
to Normal or Automatic, but resumes if Factory default is pressed after changing back to Normal or automatic. Pressing Autoset also restarts
the program after freezing.
8) When placing a cross, vertical or horizontal cursor line without Enabled, the cursors are placed, but needs two clicks on None to remove.
The automatic placing of cursors seem a bit funny with "Enabled".
9) Auto Setup (Toolbar menu) and Auto Settings (Icon) are the two different names for the same thing.
10) Waveform type is called Vector in the toolbar menu and Line in the icon button menu for the same thing.
11) Print preview screen underlines the words when typing in Notes, can the underline be removed?
12) Can colors be changed in Print Preview just for the printout?
13) When loading Factory settings the window asks to confirm and "wan't" is mistyped in this window.(already reported by OP)
RichardK,
I had a look at the cursors again and hopefully I have described the issue a bit better.
When placing a cross, vertical or horizontal cursor line without clicking "Enabled", the cursors are placed, but needs two clicks on None to remove.
Cross does not place a cursor without clicking “Enabled” the first time, but if you try a second time it places a cursor
Both horizontal and vertical place a cursor first try without clicking “Enabled” These cursors do not go away when you click “None”, but if you try clicking “None” a second time the cursors are removed.
The automatic placing of cursors seem a bit funny with "Enabled".
If you only click "Enabled" you get a Cross cursor without selecting Cross, Horizontal or Vertical?
Hope this helps you to reproduce this.
Thanks!
I have tried to do some further work on the user manual for RichardK's OPEN6022BE. This is only the part that describes the use of the menu items. There are some items I am not clear on, due to my limited and very rusty experience with oscilloscopes. Those are in red and I will appreciate any feedback, especially some help with describing those functions still pending.
The Document is in .docx format.
Thanks in advance.
Download: http://jmp.sh/q0RHv19 (http://jmp.sh/q0RHv19)
Latest Binary: http://jmp.sh/h2xSceX (http://jmp.sh/h2xSceX)
What's New:
14. Trigger Single Shot mode now shows last captured waveforms while waiting for trigger, instead of
not showing any waveforms at all.
Wow! That's a pretty massive update. Excellent!
While in general I think that this 'preserve until replaced' strategy is superior, I can think of some cases where this may not be the preferred choice. Just a thought.
@RichardK
When clicking on the measurement checkboxes it would be nice if the pane that shows the actual measurement opened up far enough to see the first measurement and perhaps half of the second. That would give the user a visual indication that he may have to adjust the pane to see all the measurements selected selected.
Latest Binary: http://jmp.sh/h2xSceX (http://jmp.sh/h2xSceX)
What's New:
-----------------------------------------------------------
1. Fixed a race condition which might cause random hangs.
2.
...
Matchless,
Thanks for doing the documentation! Sooner or later, every one of us looks up things in the documentation, so it's important. I'm not finished reading through the whole thing, but here are a few observations.
1) I'm guessing that your English is British English, so a word like "colour" would be correct. Possibly "curser" is correct, also, but to me (I live in the USA) that's a person who uses crass language. "cursor" would be my spelling.
2) There is a section 6.c.c describing the behavior of the cross cursor. That sounds great. But just after that, 6.c.d says that the vertical line cursor displays "time, frequency, and voltage," when in fact, it only displays time and frequency. Similarly in 6.c.e, the horizontal line cursor only displays voltage, not all three.
3) In 7.a.i.1, I would suggest using the term "Phosphor Persistence" to be consistent with the naming in 7.a.i.2 immediately following.
Best Regards,
Roderick.
One thing I noticed in release beta17 was that if I change from a 1x to 10x probe in the GUI on the right, then look at the dropdown menu, the 1x is still checked in the dropdown. In fact, if I change from 1x to 10x in the dropdown, the check remains on the 1x entry when I return to that menu, and there is no effect on the GUI value. Ideally, the GUI and dropdown would be linked so that a change in one affects the other.
Problem, part of waveform remaining after change in sig gen (demo mode). It's repeatable on my pc.
Here is what I did.
Demo mode sig gen
Sine on ch1 Square on Ch 2
Exported ch1 txt (no prob)
Exported ch2 txt (no prob)
Exported ch1 and ch2 (I assume this is incomplete/ in progress because there isn't any info in the txt file identifying ch2)
I changed ch2 on the sig gen to a flat line.
--- This is the issue ---
Exported ch2 and found the remainder of the previous square wave at the end (see screenshot) was in the exported txt as well.
@RichardK
Import / Export, having the ability to change the txt exported/imported data acquisition rate would make the waveforms much more compatible with other gear.
I have tried to display the Lissajous pattern in demo mode and setting the phase offset to O degrees on one channel in XY mode shows correctly as well as the 45 degrees offset, but the 90 degrees offset does not seem to be correct, looks more like 135 degrees to me?
Waveform 1 marker also stays horizontal, but in the OEM software it jumps to the top of the graticule to show vertical when XY mode is selected.
Am I doing something wrong here?
QuoteWhile in general I think that this 'preserve until replaced' strategy is superior, I can think of some cases where this may not be the preferred choice. Just a thought.
I'm mirroring the stock software for now, later on I'll look at some alternative ideas.
If anyone has any inputs, corrections etc please pass on to me and I can update it.
There are also misspellings of application, specification, calibration, functions, etc. so I'm wondering if some characters just aren't rendering properly for me?
MS Word 2010 does not show the detailed spelling errors, so it looks like your software is messing with the document.
Just an FYI, the spellings seem to be okay on my screen.
Would anyone prefer that I rather post a pdf or keep to the docx?
...
Input protection 35Vpk (DC + peak AC < 10kHz)
Max. Input +/- 5V(Without external attenuation)
Max. sample rate burst mode, size of burst & how long until you can get an additional burst of samples
Max. sample rate continuous
then for the vertical section use the actual hardware limits. From a quick read it looks like you might have 8 gain settings. At those gain settings what are the actual limits. This separates the software function from the data collection hardware
....
Latest Binary: http://jmp.sh/h2xSceX (http://jmp.sh/h2xSceX)
What's New:
-----------------------------------------------------------
1. Fixed a race condition which might cause random hangs.
2. Fixed a bug in the grid brightness dialog which caused part of the slider range to have no
effect on brightness.
3. Made Horizontal and Vertical Knobs "position-clickable" (click to set position).
4. Implemented loop timeouts to prevent infinite loops in Multithread Lock code (Hang prevention).
5. Fixed a bug where disabling the Math Channel could cause a hang.
6. Added detailed Calibration Failure error messages.
7. Made waves continuously draw in Phosphor mode when Acquire stopped (To prevent smearing).
8. Added a Clear option to the Display menu which will clear the screen (good for Phosphor mode).
9. Added a Reset Interactive option to the Cursors Menu which reset the Interactive Cursor positions
to their default locations.
10. Overhauled Rendering code, much easier to read and performance increased.
11. Fixed a few Dialog typos.
12. Fixed some Menu/Toolbar label inconsistencies.
13. Fixed some Trigger issues.
14. Trigger Single Shot mode now shows last captured waveforms while waiting for trigger, instead of
not showing any waveforms at all.
15. Changed rendering so only Waveform's and FFT are effected by Digital Phosphor mode (Not cursors,
text, etc...).
16. Fixed some Menu/Toolbar checkbox issues.
17. Made selecting either of the three different Line Cursor Modes enable Line Cursors if Line Cursors
are not already enabled.
18. Added Pure Square waves (Generated from Sine Waves) to Demo Mode & Function Generator.
19. Disabled Horizontal noise for Artificial Square Waves (it's not supported).
20. Improved FFT performance when using a Window Function (precalculated window functions).
21. Added Sweep Controls to Demo Mode (sweep any demo mode property).
Issue not related to bug- when I download this, Chrome blocked it as malicious. See attached screen print. I am on Chrome version 33.0.1750.154 m, and it up-to-date according to Chrome's update screen.
Question- I must be missing something obvious. You said the math and reference wave form has v/div adjustment. I can't find it...
Just stumbled on a site detasiling overheating in the 6022 DC-DC converter:
http://pididu.com/wordpress/blog/i-dropped-an-oscilloscope-on-my-foot-hantek-6022be/ (http://pididu.com/wordpress/blog/i-dropped-an-oscilloscope-on-my-foot-hantek-6022be/)
Issue not related to bug- when I download this, Chrome blocked it as malicious. See attached screen print. I am on Chrome version 33.0.1750.154 m, and it up-to-date according to Chrome's update screen.
No idea why chrome is deeming this malicious... I don't use Chrome, I use Firefox and Avast AV, so far no heuristic false positives.QuoteQuestion- I must be missing something obvious. You said the math and reference wave form has v/div adjustment. I can't find it...
Definitely chrome issue.
Not a single virus vendor flags this file:
https://www.virustotal.com/en/file/b5d906fa4d2c2b555831f98fa2ce3d28458696d051c12e9492da4f6bc8da1bf2/analysis/1395157292/ (https://www.virustotal.com/en/file/b5d906fa4d2c2b555831f98fa2ce3d28458696d051c12e9492da4f6bc8da1bf2/analysis/1395157292/)
0/50 ;D
The voltage divisions for Math and Reference channels can be changed from the Main Menu -> Channel as well as setting Channel Control A or B to Math or Reference and setting the Voltage Division from the respective Drop Down menu for that Channel Control.
@RichardK,
Yes, I realised too late and after posting :-[ I was speed reading and missed the context of the tests he was doing. Oooooops ! I edited my previous Post.
I don't know if anyone else has noticed this... quite often when I click and drag on the vertical channel markers to move the waveform up and down, the pointer changes to the double arrow as if the marker will be moved, but the marker and waveform don't actually move even though the mouse pointer does. If I release the click and try it again, it works as expected. The same also happens with the trigger markers.
Does anyone else see this behaviour?
Issue not related to bug- when I download this, Chrome blocked it as malicious. See attached screen print. I am on Chrome version 33.0.1750.154 m, and it up-to-date according to Chrome's update screen.
I'm using the program with default settings too.
I can't find any pattern to when it happens for me - it just happens, maybe, 1 out of every 7 or 8 repeated attempts, although it quite often seems to happen on the first attempt during typical usage (i.e. not just trying to reproduce the issue).
Maybe it's only me that's affected (although I can't imagine what it is about my environment/usage that causes it) but I'd be very interested to know if anyone else has ever experienced this.
RichardK,
I am not seeing the most important reason to get a Hantek 6022BE fixed with this software.
Look at all the reviews that dave has done on stand alone DSO's. When you connect one of them to a PC. Only two modes are really possible, Video mode or Data Collection mode.
Video Mode:
For this mode the stand alone DSO acts like a video camera source. A cheap DSO would just send the picture frame data over the USB buss. To get higher resolution &/or a higher frame rate the DSO would have to do video compression. The Hantek 6022BE can not do this.
Data Collection mode:
For this mode the stand alone DSO acts like a analog data capture source. Here the stand alone DSO would capture a block of samples. In addition to the actual ADC data samples the DSO would need to inform the PC of what format the data samples are being sent over the USB. Some of the extra information would be how many channels, Sample rate for a channel, The real time that this block of data samples started and how many samples the data block contains, The analog settings used to collect the samples. In this mode there would be blocks of data with time gaps between the blocks. The time gaps would only become 0 when the sample rate became slow enough that the PC side could keep up with the incoming data. Because the rate could change it would be important to know when a time gap did happen. The Hantek 6022BE while poor is a analog data capture device. As some of the above is set by the firmware loaded into the Hantek 6022BE I see the PC data collection software needing to add the additional information to the information that travels over the USB buss so that the viewer will then have the needed information to properly display the data.
The software first needs to turn the Hantek 6022BE into the best analog data capture device it can be. This is where the Hantek 6022BE could be better than the stand alone DSO. Unlike the DSO the PC could use a lot of buffers, You could buffer samples to ram &/or buffer samples to disk. And while the data collection is happening you could then look at the captured data. Where a DSO would have to use a One shot mode to acquire data the Hantek 6022BE could switch from continuous to disk sample speed with no time gaps to one of many burst speeds where the samples would have time gaps.
The analog data capture software could do some auto ranging by looking at the sample data. To make this really nice and usable there would need to be a lot of easy to use settings.
With the low cost of the Hantek 6022BE, the software should allow for adding an additional USB interface card to the computer so that many Hantek 6022BE's could be used at high speeds.
Even as poor as the Hantek 6022BE is it could be very nice to have the ability to look back at what happened.
The existing software is a start of a data viewer and has parts of the data capture side needed.
If the data capture side was done well it should be possible to run many viewers. Someone that has many displays connected to there PC could have one viewer showing the real time data collection while using an additional display to look back through the collected data on a second display.
So RichardK,
How far do you want to go with this software? With a good software foundation it could become more than just a little better than what Hantek supplied. As a separate data collection program that talks to a data viewer program it could become the thing to use with any DSO on a PC.
C
The scope is limited but useful, and it seems like you are making the assumption that I am trying to turn a $75 20Mhz USB scope into a thousand dollar 200+ Mhz scope and I am not... I am only correcting the flaws in the stock software and providing features that should have been in the stock software.
I am only correcting the flaws in the stock software and providing features that should have been in the stock software.I guess that you and I just looking at things differently. I am looking at a great stand alone DSO and asking the question what has to change due to the $75 hardware used & what improvements can be made to that great stand alone DSO because a PC is being used.
The scope is limited but useful, and it seems like you are making the assumption that I am trying to turn a $75 20Mhz USB scope into a thousand dollar 200+ Mhz scope and I am not... I am only correcting the flaws in the stock software and providing features that should have been in the stock software.
Is it really a $75 scope? When your software is running would it not be fair to include part of the PC's cost in the result?
For all the limits imposed by the $75 hardware this could be very powerful due to the attached PC
For some uses a 20Mhz scope is a lot more than what is needed.QuoteI am only correcting the flaws in the stock software and providing features that should have been in the stock software.I guess that you and I just looking at things differently. I am looking at a great stand alone DSO and asking the question what has to change due to the $75 hardware used & what improvements can be made to that great stand alone DSO because a PC is being used.
C
The scope is limited but useful, and it seems like you are making the assumption that I am trying to turn a $75 20Mhz USB scope into a thousand dollar 200+ Mhz scope and I am not... I am only correcting the flaws in the stock software and providing features that should have been in the stock software.
Is it really a $75 scope? When your software is running would it not be fair to include part of the PC's cost in the result?
For all the limits imposed by the $75 hardware this could be very powerful due to the attached PC
For some uses a 20Mhz scope is a lot more than what is needed.QuoteI am only correcting the flaws in the stock software and providing features that should have been in the stock software.I guess that you and I just looking at things differently. I am looking at a great stand alone DSO and asking the question what has to change due to the $75 hardware used & what improvements can be made to that great stand alone DSO because a PC is being used.
C
The possibilities of the scope are not limited by me, but by the community using it. Like I said before, if people want to improve it more than I have, they can put as much work into my code as they want, that was my second goal of this project, giving others a good launching pad to start from.
I have updated some more sections in the Open6022be user manual. I have also included some of the findings by members in this forum thread. I hope it is in order with you that I did that.Section 14 on "Limitations and Things to be Aware of" is wonderful! It distills the essential information that the public has learned that would be of useful to an engineer. Only in an open-source manual can we find this sort of information. Great job!
...
Hopefully I get more feedback from the forum crowd!
...
I see now that the "Hantek strategy" has paid off handsomely. Aka, "reverse outsourcing". We started it by outsourcing our electronics knowledge and manufacturing expertise, years ago, to get cheap hardware. Hantek has provided that. And by not investing any time or money in decent software or documentation, Hantek has now outsourced them back to the US, and obtained both, free of charge. :-DD
I haven't had time to read the entire manual in detail yet, but I'm very impressed with what I have seen. You've done a very good job, especially tying explanations to screen captures of displays and menus. This isn't only better than Hantek's docs, or any Chinglish docs, it's also superior to many US manufs. professionally produced documents. Very well presented, informational, and educational. Excellent for a product of this type.
I did note a couple questions in red, on Page 39. Here's the info you requested:
- the max sample rate in Burst Mode is 48 MSa/s
- the max sample rate in continuous mode is 16 MSa/s
I tried to use Open6022BE on my laptop and everything works except the waveform doesn't render. If I have the scope connected to a signal I see triggering indicated. If I do a print preview I see a waveform. If I put the software in XY mode I can see a trace. Just no trace in YT. Grid, cursors, zero and trigger level gadgets all show fine. I have Hantek's 1.04 version installed and it runs normally, and I've tried Open6022BE on a netbook and it works great there. This laptop is running Windows 7 Pro 32 bit and it has both nVidia 310M and Intel onboard video, which it defaults to. I tried running it off the nVidia side and no difference(the laptop is able to switch video chipsets on the fly). That was the only thing I could think of that's out of the ordinary. I am using the PR17 version and have not tried anything earlier. I also tried moving the copy of msvcr100.dll that came with it so it would use the one already in the computer. If you have any insights please let me know. Thanks!
I tried to use Open6022BE on my laptop and everything works except the waveform doesn't render. If I have the scope connected to a signal I see triggering indicated. If I do a print preview I see a waveform. If I put the software in XY mode I can see a trace. Just no trace in YT. Grid, cursors, zero and trigger level gadgets all show fine. I have Hantek's 1.04 version installed and it runs normally, and I've tried Open6022BE on a netbook and it works great there. This laptop is running Windows 7 Pro 32 bit and it has both nVidia 310M and Intel onboard video, which it defaults to. I tried running it off the nVidia side and no difference(the laptop is able to switch video chipsets on the fly). That was the only thing I could think of that's out of the ordinary. I am using the PR17 version and have not tried anything earlier. I also tried moving the copy of msvcr100.dll that came with it so it would use the one already in the computer. If you have any insights please let me know. Thanks!
I don't know if I've just discovered another small bug...
I just tried exporting waveforms for both Channel 1 and Channel 2 but I don't see any evidence of Channel 2 in the exported file. I first tried this using the .bewf format but when I only saw one channel appear on import I tried the .txt format export so I could view the contents... and there is no reference to CH2 in the file.
I've not tried including any of the other elements in the export file (Math, Reference, FFT) so don't know if they are missing too.
Is this a known problem?
Exporting more than one channel (or source) is only supported for Image exports currently, I'll have to modify the data formats for exporting more than one source (I will eventually). Right now you have to export them separately.
Exporting more than one channel (or source) is only supported for Image exports currently, I'll have to modify the data formats for exporting more than one source (I will eventually). Right now you have to export them separately.
Noted - thanks for the quick reply Richard.
One other thing I forgot to mention before, totally unrelated to exporting!... I've noticed problems at times with the "waveform context area" above the waveform view. I can't say what conditions this occurs under but at times the T appears way over to the right of the context area and clicking and dragging only brings it back so far. The waveform view scrolls as you drag but it's not clear where exactly in the timeline you are. Again, is this a known problem?
Rick and Richard, thanks for the replies. I tried math right after powerup and got no trace there either, but thinking about the remote desktop prompted me to think about my monitor configuration. I have an external monitor plugged in(HDMI) using dual view mode. Switching out of dual view to either single monitor or laptop display, or to cloned display on both screens made the traces appear instantly! So at least I know how to make it work and perhaps it will be repeatable on another computer. I'll try it on another computer if I can. I can't try it on my netbook because it runs Windows 7 Starter edition which only allows cloned display externally, not dual view.
Thanks again for your help.
I just purchased this 6022BE, have not touched a storage scope in 20 years, Tektronix last used. I immediately threw it on the output of my bench supply to view the ripple. The scope would not respond to any increase above 5VDC. I thought I was missing something in the setup. I cannot find any means to increase that 5vdc limit.
I thought that I would try a blog before returning it.
I appreciate any and all advice. I need 0 - 35vdc minimum and 115vac would be nice.
I appreciate any and all advice. I need 0 - 35vdc minimum and 115vac would be nice.
I appreciate any and all advice. I need 0 - 35vdc minimum and 115vac would be nice.
Like any scope, the 6022BE is not isolated. If you need to look at an AC wall socket you will need a differential probe. Floating your computer by running it on battery, although it separates your computer and the 6022BE from ground, it's still dangerous to then connect your probe to a wall socket.
I just purchased this 6022BE, have not touched a storage scope in 20 years, Tektronix last used. I immediately threw it on the output of my bench supply to view the ripple. The scope would not respond to any increase above 5VDC. I thought I was missing something in the setup. I cannot find any means to increase that 5vdc limit.
I thought that I would try a blog before returning it.
I appreciate any and all advice. I need 0 - 35vdc minimum and 115vac would be nice.
The driver or firmware clip everything at 5V, if you want to measure higher than that you need to set the probe & the software to 10x or higher.
can some one help me with a minor problem I am having. Does the original hantek software do RMS in watts? It not necessary but it would be great to see what the amps are putting out and can adjust each channel accordingly with out calculating it and for other channels that may require lower power.
Also what is this I was reading about a new software? What makes it better? Where can I actually find it?
Thanks
Matchless
Here are three versions of the schematic
pdf : http://jmp.sh/KDVL21k (http://jmp.sh/KDVL21k)
bmp zipped : http://jmp.sh/gQ9MADv (http://jmp.sh/gQ9MADv)
source : http://jmp.sh/DYYGEhr (http://jmp.sh/DYYGEhr)
can some one help me with a minor problem I am having. Does the original hantek software do RMS in watts? It not necessary but it would be great to see what the amps are putting out and can adjust each channel accordingly with out calculating it and for other channels that may require lower power.
Also what is this I was reading about a new software? What makes it better? Where can I actually find it?
Thanks
To do that you need a current probe or a shunt resistor. Without having one of these, it's impossible to measure wattage alone. You need two of the three ( volts, current, resistance) to get watts. If you know the resistance of your load you can calculate watts. That being said if your load is dynamic (like a speaker) then the above methods are the only way to do it properly and get a real result. In summary, no it doesn't do watts because it's a voltage only device.
RichardK is writing the new software this thread deals with. Go back a few pages to find the latest post where he posts a build.
I have them just most of the scopes I have seen have a RMS wattage display...
I would need to calculate or have a scope that shows watt RMS witch most scopes used do show...
Every scope I seen allows you to add loads and what not and give you watt RMS.
Well they read Vrms but they are displaying watts.
Well mostly all of them say Vrms and then what ever the number is. However, amps are rated in watt RMS and the number next to Vrms is showing the number corresponding to the rating in watts so it seams.Based on what I see, the issue is that guy doesn't know how to use an oscilloscope. If you read the display it's clearly reading AC Vrms. So unless he a secondary test rig feeding that oscilloscope his number is wrong. First off it looks like he's directly wired from the amp into the oscilloscope. Then he set the probe divider to 1:10. With no divider, he's getting voltage readings 10x too high. Unless there's something else going on that's NOT watts. In fact if you divide his voltage by 10 to get 30V. Then apply ohms law, assuming a constant 2 ohm load (not a good assumption with a speaker) you get 450W. Not 300W like he says.
or am I missing something.
If you watch the video here you will see what I mean.
https://www.youtube.com/watch?v=D1AYZL72PTY (https://www.youtube.com/watch?v=D1AYZL72PTY)
If some one can shine light on the subject that would be great.
Well mostly all of them say Vrms and then what ever the number is. However, amps are rated in watt RMS and the number next to Vrms is showing the number corresponding to the rating in watts so it seams.
or am I missing something.
If you watch the video here you will see what I mean.
https://www.youtube.com/watch?v=D1AYZL72PTY (https://www.youtube.com/watch?v=D1AYZL72PTY)
If some one can shine light on the subject that would be great.
Well mostly all of them say Vrms and then what ever the number is. However, amps are rated in watt RMS and the number next to Vrms is showing the number corresponding to the rating in watts so it seams.
or am I missing something.
If you watch the video here you will see what I mean.
https://www.youtube.com/watch?v=D1AYZL72PTY (https://www.youtube.com/watch?v=D1AYZL72PTY)
If some one can shine light on the subject that would be great.
Well I can honestly say I have never seen this before (in a scope), check out 9:32 into the video. Any opinions?
https://www.youtube.com/watch?v=QSzt9ZrQqJ0 (https://www.youtube.com/watch?v=QSzt9ZrQqJ0)
I just more or less wanted a watt reading with out calculating it.
I don't know about the humming but in the other vids they say the subs are disconnected, maybe he had something else hooked up and that could explain that . I can call them and ask they seem friendly and knowledgeable last I order from them.
I figure I ask here first since people here know about this scope.
Anyways I have 2 Kicker 12" CVX's 2 Ohm to pair with my old zx 1000.1. All I need to worry there is to prevent clipping.
This is what I was saying earlier. Speakers are inherently non-linear devices. A speaker rated at 2ohms can go as high as 20 ohms depending on the frequency. Plus stability at one frequency does not inherently guarantee stability at all. To ensure that you need to do a sweep and look for clipping at all relevant frequencies.
Here are three versions of the schematicOnce nice thing about a schematic like this is it makes plain the fact that the 6022BE, unlike most scopes that have 3 or 4 decades of Sensitivity settings, has only one decade. I.e., 100mV/div to 1V/div. That's one area they saved money by compromising on (along with the limited sample rates, and no real triggering). [Normally, you see anywhere from 10 mV-5V/div, to 1 mV-10V/div.]
pdf : http://jmp.sh/KDVL21k (http://jmp.sh/KDVL21k)
bmp zipped : http://jmp.sh/gQ9MADv (http://jmp.sh/gQ9MADv)
No problem for me if you use and modify this files. This is an Hantek's design.
Mark_O,
I hope you don't mind if I add your last observations to the User Manual.
Thanks!
No need for "Sorry".
Personally I am grateful for updates as and when you find any spare time to release such. We all have lives outside this forum and I understand that this is JUST a hobby project.
You have already put Hantek's original coders and ongoing software support team to shame !
No need for "Sorry".
Personally I am grateful for updates as and when you find any spare time to release such. We all have lives outside this forum and I understand that this is JUST a hobby project.
You have already put Hantek's original coders and ongoing software support team to shame !
No kidding! I'd be surprised if, over the years this product has been available, there has been more than 1 or 2 updates a year. And those coming with little or no clue as to what had changed.
This is a really nice set of improvements. Thanks.
Off the subject a bit: One thing I'm not clear on, since I've never had to deal with it as a programmer, is how the screen draws vary between OS's, and 32/64-bit systems. You've commented several times about AlphaBlend variations, and I don't really have a good picture of what's going on there? I wouldn't expect you to write a book on it (that's probably already been done!), but a few line summary/overview might be helpful.
Hey Richard, remember this?
http://www.hantek.org/asken/iaskdetail.aspx?id=2014022803412937 (http://www.hantek.org/asken/iaskdetail.aspx?id=2014022803412937)
AlphaBlend() is a windows GDI function that uses graphics hardware to do alpha channel blending (Transparencies and such), and a while back when XP first came out (And GDI AlphaBlend also came out) it wasn't too uncommon to come across hardware that didn't support Hardware Alpha Blending, but pretty much every graphics processing unit made today supports it, so you might think it would be odd for modern day systems to have issues with it, but alas they do.
It's not the hardware, it's Microsoft's AlphaBlend GDI function and it has all sorts of issues with 64 bit versions of Windows and other systems (32 or 64bit) that have non standard display configurations (Like dual displays)... Apparently Microsoft has been aware of these issues since Windows 7, and has officially stated that there is a bug, but have not fixed the issue or even addressed when a possible fix may be issued. |O
I wasn't aware of all the fiasco's involved when I started using it for brightness effects (and eventually Phosphor mode)... You learn something new everyday I guess...
Hey Richard, remember this?
http://www.hantek.org/asken/iaskdetail.aspx?id=2014022803412937 (http://www.hantek.org/asken/iaskdetail.aspx?id=2014022803412937)
Yeah... what about it? ... I see no replies *shocker*
8. Added an alternative rendering option in case AlphaBlend() fails, some 32 bit
systems don't work well with AlphaBlend() apparently, especially in systems
with multiple display configurations.
1. Autoset is not taking one to best settings option, on every run it changes the Volt/Div to a different value. On the OEM program the Trigger marker is also set to the middle of the Waveform amplitude. Richard was working on this.
2. Print preview screen underlines the words when typing in Notes. Can the underline be removed? Richard was adding this function.
3. OEM software has an Autohide feature for the control panel. Not provided in OPEN6022be yet. Not sure if this is needed or useful to anyone.
4. The OEM software had the date and time displayed at right hand bottom corner, as well as the ”Running” in the left bottom corner. Not displayed in OPEN6022BE.
5. On OEM software only the active trigger marker shows, the non-active trigger does not show, but OPEN6022BE shows all the triggers whether active or not. Not sure if this is intentional or not.
6. Does not keep GUI settings yet, if you close and reopen later. Not sure if it should, but also does not stay in Demo mode if you shut down and restart, but the settings part seem to work now! When closing down while rendering Phosphor persistence, it restarts in Phosphor mode correctly, but then incorrectly indicates that it is in Normal mode.
7. The zoom function cuts off after 19 steps, but the counter can be clicked up into the hundreds.
8. In XY mode the second source pointer which stays horizontal (incorrectly) still needs to be moved to vertical top when in XY mode. (In hand with Richard)
9. Display Ch1 Ch2 and Reference wave as square wave. Select Trigger sweep Normal. Move reference wave trigger position marker to the lower part of the reference waveform. Ch1 and Ch2 suddenly goes off the screen to the top.
10. Reference wave was out of phase with internal 1k waveform, now nearly in phase, but square wave shows it is still out by a small margin.
11. Can select Reference as trigger even if Reference waveform is off. Reference shows 500mV while Math selected as trigger when off shows 0V.
12. Right click on waveform marker and a pop up Hide box comes up and if cursor is over marker it switches the channel off. But Hide can be right clicked anywhere in this left margin still displays popup, which does nothing obviously.
13. Left clicking mouse cursor anywhere on screen gives Ch1 and Ch2 voltage readings in a small box which corresponds to whatever position the mouse cursor is. Not sure if this is intentional or what it is supposed to be doing?
13. Left clicking mouse cursor anywhere on screen gives Ch1 and Ch2 voltage readings in a small box which corresponds to whatever position the mouse cursor is. Not sure if this is intentional or what it is supposed to be doing?
It's not actually on left click, it's a popup hint that usually triggers on left clicks, but it's just a quick and dirty measurement (similar to Cross cursors).
if saleae can stream 24MHz from the cy (that's half of what this scope can sample) maybe adding a functionality to stream 24MHz from the adc and then do everything else in the software? triggering, fft, logging ? was anyone thinking about something like that?
Well I understand hantek's original firmware is doing that but "we" (actually RichardK) are fetching data trough SDK functions.
I don't see a way to get a 32 MHz stream from hantek with USB buffer size I select, or I'm missing some pages of the SDK?
I'm actually more interested in 32 MHz from a single channel then 2x16 MHz but I guess it's not a big difference in sw.
I see that front end before ADC is being reverse engineered, any chance someone did the same for the MCU connections? I'm personally not too interested in 6022BE as oscilloscope but more as a nice ADC platform with CY on board :D and for that I need to work on CY firmware and not on hantek SDK
(taking into account that I have two CY boards now and still haven't written a blink led for CY due to serious lack of time this is just a theoretical talk until I get some free time on my hand, and even then I have few things that are more important)
Ah! You'd like someone else to do the work for you. A common enough dilemma. ::) ;D
Click to enable Full Screen display without any toolbars, controls, measure display or measure output. There are 3 ways to go back to the normal display:
1. Push the ESC key on your keyboard or
2. right click on the display and select Window Mode or
3. left click on the small icon in the left top corner and select Restore.
Note: Step 3 will return display to normal size, but without any toolbars or controls. Right click on the display and select Window Mode to get the toolbars and controls back. Mine does this, but RichardK says his comes back in this way with toolbars and controls showing.
If anyone else cares to test this please come back to me so that I can lay this one to rest!
If anyone else cares to test this please come back to me so that I can lay this one to rest!I use VISTA Pro Pack2, and it works exactly as you describe.
Hello,
Congratulations for this great software I used for one week to measure control signals on an Arduino board and I am very happy.
@Matchless
Your documentation is very well top.QuoteIf anyone else cares to test this please come back to me so that I can lay this one to rest!I use VISTA Pro Pack2, and it works exactly as you describe.
I looked at the .pdf manual over - I understand that in the open SW, the two channels must be exported separately to different files? But the original SW stores both channels parallel in one file?
Thanks.
(I run old XP, but the box hasn't left China yet (ordered it today)).
After a search I also found some other links to 'open' stuff and the SDK.
... But the original SW stores both channels parallel in one file?...Yes, if you export to Excel in the bundled software, what you really get is a text file, with first the channel 1 data, then all the channel 2 data. I wish it would have exported the data side-by-side, because then I could use Excel's (or OpenOffice Calc's) built-in Chart to display the data. A warning too - with the original software, I noticed that what was in the export file did not match the screen. I measured a power supply that properly showed 5.2 volts on the screen, but the export file said 6.3 volts for some reason.
I assumed the problem to originate from USB 3.0 or my hub ... as I have these hangs with Hantek's software too, but on switching back to R17 - these problems were gone. So I can confirm it ... or - if you're working with 3.0 too - that might be a source of this behaviour.
Best regards
Robert
Here is the latest version of the user manual for the Open6022be. Just some cosmetic changes done.
...
Hello,Look at Matchless latest Open6022BE manual, it explains the LEDs on page 8.
can someone explain what the led indications mean?
I have red blinking while not running either Hantek's nor Richard's software. I get green blinking which often turns temporarily red blinking while running any of the software, but I never get constant green. The weirdest is that while having the software in running mode (not paused) I often get red blinks. I use Hantek v1.0.4 and Richard's PR18.
Any ideas?
( I also have many issues with PR18 which I will post later in detail)
Congratulations and many thanks to everyone contributing on this useful project of 6022's software development.
On the front panel you will see a red/green bi-color led, two BNC connectors and two hook lugs:
1. The bi-color led always flashes, either red or green.
No Indication:
If no drivers are installed on PC, the led stays unlit when connected to USB port.
Red flashing: (DSO and PC not communicating)
a. If drivers are already installed on the PC and DSO is connected to USB port, but program is not running or
b. when the program fails, due to timebase settings out of limit or
c. when program shows Red STOP in left top corner.
Green flashing: (DSO & PC is communicating)
a. When the DSO is connected and program is running or
b. when program shows Green WAIT in top left corner or
c. when program shows Green AUTO in top left corner.
2. The two BNC connectors are for the Channel 1 & 2 probes.
3. The hook lug marked 1 KHz 2VP-P provides a fixed reference square wave for adjusting probe compensation.
4. The hook lug marked with the ground symbol is the common ground of the DSO, used to connect the ground clips to when adjusting probe compensation.
Hi,
please can someone upload PR18 binary to some another file-server? The link provided does not work for me.
Thanks
I don't remember if this was mentioned before but it looks like the OpenHantek can't take measurements properly.
I'm using the scope for audio amplifiers mainly so I need to observe the onset of clipping and the corresponding signal amlpitude.
As seen from the pics below The Hantek software produces 19.9V RMS/59VPtP. The OpenHantek PtP reading is close but the RMS is something strange. In the same time my DMM reads 18.9V ??? It's an 80Hz sine wave.
You can see my settings from the pics. The probe is set to x10. There's no clipping. Obviously it's not a triangle wave either.
@ Merlyn, Rick
With a P-P voltage of some 58 volt (or somewhere there) and a 'triangular tendency sine-like' shape, it is OK to use a crest-factor 1.5 (appr. SQRT(2)). This gives an RMS voltage around 58/(2x1.5)= 19.3 volt.
Acordingly - the DMM and the Hantek SW shows sound results. The quoted OpenHantek value of some 6 volt is a SW bug (maybe division by some 3-like number 2 times ::) :-// :scared: (6.5x3x3=58.5)).
Hello TomCThanks a lot for your response,
The input level is too low.
2 LSB max ! The scope will only display 5 values : 0, 4mV, 8mV, -4mV -8mV.
If you reduce the input to 1LSB ( roughly 4mV), you will get pure square wave...
See the diagram on page 16 of the OpenHantek UM.
You could get an optimum display using a 500mV input (1V pp).
To TOMC #606Hi lapeyroua,
Could you use the RichardK's OpenHantek software ? I'm really more confident in his version than the Hantek's one.
Looking at picture #7a, I would say : not too bad for this low price hardware. (taking into account the noise and distorsion) :
As each dot is visualised as a line, the picture is confusing. But if you consider the start of each small horizontal line as the real dot, the curve is better and you will no more see additional data points.
A good way to determine weither distorsion comes from harware or software would be to visualize the signal close to the AD9288, with the Owon...
Is Richardk still around? Hope he is just busy!Not at all! :)
Anyone have the Hantek 6022BL software yet?
TomC, do you mind if I use one of your pictures in the user manual to show the clipping at > 10V p-p?
I will post the next version of the user manual this within the next few days.
Not at all! :)
Use whatever you need, and let me know if there is something else I can do to help!
Thanks TomC. Have used a photo of the voltage clipping. If you have the time, any help with the manual will be appreciated.Hi Matchless,
Here is the latest version of the user manual.
Pdf: http://jmp.sh/Zd3ymXt (http://jmp.sh/Zd3ymXt)
Docx: http://jmp.sh/Ywoj7r4 (http://jmp.sh/Ywoj7r4)
Again any corrections, additions, changes etc. are welcome. Some stuff in red is still pending as well.
Edit: The Jumpshare docx viewer has been fixed!
Hi Matchless,
Here are a couple of suggested corrections for the first paragraph on page 6 and some comments on the text next to the first bullet on the same page. I didn't suggest a correction for this last part, just offering my opinion on this issue, see if you can use any of it to improve the text. :)
Hi Matchless,
Have you any news from Richardk ?
I'm alive, just had zero time to do anything on the program... I'm keeping an eye in here and writing down new bugs/feature ideas etc...
When I have ample time again I'll resume work on it, sorry guys but real work takes president over hobbies :)
Btw thanks to everyone helping test and ideas and Matchless for the documentation :)
Sorry for chiming in but would RichardK's software also work with the Hantek 6022BL?
Thank you.
Sorry for chiming in but would RichardK's software also work with the Hantek 6022BL?
Thank you.
Sorry for chiming in but would RichardK's software also work with the Hantek 6022BL?
Thank you.
Sadly I'm an 6022BL owner and it´s not working with the current Open6022BE version. I hope there's an easy way to adapt the software. RichardK's if you can add support to the 6022BL version, I will apreciate that a lot!!! :-+ :-+ :-+ :-+
dsoChooseDevice(unsigned short DeviceIndex, short nType);
Sorry for chiming in but would RichardK's software also work with the Hantek 6022BL?
Thank you.
Sadly I'm an 6022BL owner and it´s not working with the current Open6022BE version. I hope there's an easy way to adapt the software. RichardK's if you can add support to the 6022BL version, I will apreciate that a lot!!! :-+ :-+ :-+ :-+
The 6022BL has the same SDK as the 6022BE, so any incompatibility might be as trivial as a file name or hardware ID... And it seems the 6022BL is the 6022BE with the Logic Analyzer components populated...
Edit:
Did some preliminary decompiling on the 6022BL's HTMarch.dll and it has a different hardware ID "d602a-%d" as opposed to the 6022BE's "d6022-%d" and the library functions appear to be the same...
It might work with Open6022BE if you use the 6022BL's HTMarch.dll instead of the 6022BE's HTMarch.dll... So simply delete the HTMarch.dll file included with Open6022BE and replace it with the HTMarch.dll that comes with the 6022BL Software.
The 6022BL's HTMarch.dll has a new function called:Code: [Select]dsoChooseDevice(unsigned short DeviceIndex, short nType);
And this is used to specify which device to use (they cannot be used at the same time I suppose)...
The parameter nType is 0 for 6022BL's Logic Analyzer and 1 for 6022BE Scope... If this is required to get the 6022BE functioning I might have to make a call to this function to get the 6022BL to work with Open6022BE.
Sorry for chiming in but would RichardK's software also work with the Hantek 6022BL?
Thank you.
Sadly I'm an 6022BL owner and it´s not working with the current Open6022BE version. I hope there's an easy way to adapt the software. RichardK's if you can add support to the 6022BL version, I will apreciate that a lot!!! :-+ :-+ :-+ :-+
The 6022BL has the same SDK as the 6022BE, so any incompatibility might be as trivial as a file name or hardware ID... And it seems the 6022BL is the 6022BE with the Logic Analyzer components populated...
Edit:
Did some preliminary decompiling on the 6022BL's HTMarch.dll and it has a different hardware ID "d602a-%d" as opposed to the 6022BE's "d6022-%d" and the library functions appear to be the same...
It might work with Open6022BE if you use the 6022BL's HTMarch.dll instead of the 6022BE's HTMarch.dll... So simply delete the HTMarch.dll file included with Open6022BE and replace it with the HTMarch.dll that comes with the 6022BL Software.
The 6022BL's HTMarch.dll has a new function called:Code: [Select]dsoChooseDevice(unsigned short DeviceIndex, short nType);
And this is used to specify which device to use (they cannot be used at the same time I suppose)...
The parameter nType is 0 for 6022BL's Logic Analyzer and 1 for 6022BE Scope... If this is required to get the 6022BE functioning I might have to make a call to this function to get the 6022BL to work with Open6022BE.
Yeah!! It works!!!! I only change the HTMArch.dll It's looks like everything is working fine. If i found a new bug, I will let you know. Thank You for the quick reply!!
Mine just got here from fleebay. I tried the included software and it locked 5 times in 10 min :rant:
Another big thanks for open6022be.
Would it be possible to add a THD measurement(for amplifiers/etc)?
I 2nd the Watt/RMS reading. It's easy enough to calculate, but having it done automatically would be awesome
The file Open6022BE_1_0_BetaPR18_Binary.zip keeps saying its a malicious file in Google Chrome and blocks it. The file Open6022BE_1_0_BetaPR17_Binary.zip downloads just fine however. Is there something wrong with the PR18 file that I should be concerned about?ftp://pididu.com/OpenHantek/ (http://ftp://pididu.com/OpenHantek/) then scanned it with Comodo and it's clean.
PR18 downloaded, unzipped, installed and runs fine in demo mode on my Windows 7, 32 bit machine. I'm using Firefox V27 and Comodo ISP V7.03xxxx. Probably Chrome or your virus protection is set a little too sensitive. Try scanning the zip file with another program for viruses.
I just test downloaded PR18 from
Hi AznGothic,
A few things that I don't know if you have tried:
- A different USB port
- Connecting both ends of the USB cable for extra power.
- Disconnecting all other USB devices from your computer and leaving only the 6022
- Exiting/stopping all other programs while using the 6022
Good luck! :)
Has anyone had an issue installing on 8.1? I'm able to find the computer, but errors out because it's not finding the driver signature. I've downloaded the latest from the Hantek website as well.
Has anyone had an issue installing on 8.1? I'm able to find the computer, but errors out because it's not finding the driver signature. I've downloaded the latest from the Hantek website as well.
The driver isn't a signed driver. You have to disable the driver signature requirement in windows 8 to install it.
Has anyone had an issue installing on 8.1? I'm able to find the computer, but errors out because it's not finding the driver signature. I've downloaded the latest from the Hantek website as well.
The driver isn't a signed driver. You have to disable the driver signature requirement in windows 8 to install it.
Thought about that after I posted.
Thanks
Have you selected "show hidden" devices? Under device manager "view, show hidden devices".
When you initially plug in the 6022be it states that it installed DRIVER 1 and DRIVER 2. But when you look in the device manager you only see DRIVER 2. I'm wondering if perhaps the issue is DRIVER 1? Does anyone know how I would be able to uninstall it when it doesn't even show up?
When you initially plug in the 6022be it states that it installed DRIVER 1 and DRIVER 2. But when you look in the device manager you only see DRIVER 2. I'm wondering if perhaps the issue is DRIVER 1? Does anyone know how I would be able to uninstall it when it doesn't even show up?
Sorry that you are still having problems!
When I installed my 6022 I also noticed that DRIVER 1 doesn't show up in device manager, but I was able to see it if I ran System Information. See an image of this in the following post:
https://www.eevblog.com/forum/testgear/hantek-6022be-20mhz-usb-dso/msg441478/#msg441478 (https://www.eevblog.com/forum/testgear/hantek-6022be-20mhz-usb-dso/msg441478/#msg441478)
I have the drivers installed on a desktop and on a laptop. On the desktop I installed the application software first and then just connected the 6022 to an USB port. In this case, Windows automatically found the driver, I presume off the internet, and installed it. This worked fine. On the laptop I connected the 6022 to a USB port before installing the application software, in this case Windows wasn't able to successfully install the drivers automatically, so I installed it manually. I can't remember if I used the CD or a downloaded file. In any case, there were no issues with this installation either.
If you uninstall DRIVER 2 again, you could try to use System Information to see if DRIVER 1 is also uninstalled. If it isn't, then it may be worthwhile to try and figure out a way to uninstall it.
Hello everybody, I stumbled over this discussion, also because I was looking for the difference between BE and BL. I just ordered the BE, since I got the impression that a BL is actually 2 devices in one, a BE Scope and a Saleae clone Logic16. The bad part: they are not usable together at the same time! You have to decide, analog XOR digital, no mixed mode. :--Faced with the choice of
Regards.
Here is the latest beta 17 copy of the user manual for Open6022BE:
>http://jmp.sh/bvK6pDM (http://jmp.sh/bvK6pDM)
Any additions, changes or corrections to the content will be appreciated.
Excellent looking manual. Only problem is the link doesn't allow you to download or save it. I guess you have to login but I have enough logins already.
Excellent looking manual. Only problem is the link doesn't allow you to download or save it. I guess you have to login but I have enough logins already.
Here is the latest beta 17 copy of the user manual for Open6022BE:Hi Machtless,
http://jmp.sh/bvK6pDM (http://jmp.sh/bvK6pDM)
Any additions, changes or corrections to the content will be appreciated.
oh.. I always used this for rotation signal (engine speed , wheel speed sensor.....) and these signal are often below 5v... I didn't know it was limited to 5v.Yeah, the software in X10 will just multiply the value of the input voltage by 10, but the input voltage value is clipped at + or -5V, so you'll still get the wrong voltage. You need to have a X10 probe to see signals >+-5V, so probably modifying the original probes is your best bet.
by the way i'm not using the original probe (since these are not appropriate for automotive testing) I'm simple probe without the x10 switch attached to it. So if I put the software in x10 mode , i'm not getting the right voltage either.....
any solution ?
I could always mod the original probes that come with the scope.. is this the best I can do ?
QuoteExcellent looking manual. Only problem is the link doesn't allow you to download or save it. I guess you have to login but I have enough logins already.
Try the blue download button in the top right hand corner ;)
>
oh.. I always used this for rotation signal (engine speed , wheel speed sensor.....) and these signal are often below 5v... I didn't know it was limited to 5v.Yeah, the software in X10 will just multiply the value of the input voltage by 10, but the input voltage value is clipped at + or -5V, so you'll still get the wrong voltage. You need to have a X10 probe to see signals >+-5V, so probably modifying the original probes is your best bet.
by the way i'm not using the original probe (since these are not appropriate for automotive testing) I'm simple probe without the x10 switch attached to it. So if I put the software in x10 mode , i'm not getting the right voltage either.....
any solution ?
I could always mod the original probes that come with the scope.. is this the best I can do ?
Hi Matchless,
I'm wondering if you uploaded the wrong version by mistake. This seems to be the same beta 16 manual you previously published!
oh.. I always used this for rotation signal (engine speed , wheel speed sensor.....) and these signal are often below 5v... I didn't know it was limited to 5v.
by the way i'm not using the original probe (since these are not appropriate for automotive testing) I'm simple probe without the x10 switch attached to it. So if I put the software in x10 mode , i'm not getting the right voltage either.....
any solution ?
I could always mod the original probes that come with the scope.. is this the best I can do ?
Is there a way to set the FFT range?
I want 0hz to ~30khz range. As of right now its all in the 1st division, anything less than 5k is impossible to read.
oh.. I always used this for rotation signal (engine speed , wheel speed sensor.....) and these signal are often below 5v... I didn't know it was limited to 5v.Yeah, the software in X10 will just multiply the value of the input voltage by 10, but the input voltage value is clipped at + or -5V, so you'll still get the wrong voltage. You need to have a X10 probe to see signals >+-5V, so probably modifying the original probes is your best bet.
by the way i'm not using the original probe (since these are not appropriate for automotive testing) I'm simple probe without the x10 switch attached to it. So if I put the software in x10 mode , i'm not getting the right voltage either.....
any solution ?
I could always mod the original probes that come with the scope.. is this the best I can do ?
Might be a stupid question, but what makes the probes unsuitable for automotive work?
is it just that alligator clips are better?
how is the scope for automotive work?
are there enough channels for everything that you'd want to measure?
Hantek appear to do another scope (1008C) that has a bit better resolution (12bit) and more channels (8 instead of 2), but a much lower sampling rate - 2.4MS/s rather than 48Ms/s, which (I think) gives it about a 1MHz bandwidth...
I've been considering getting that (1008C) scope with more channels to go alongside this one (6022BE), mainly for doing audio stuff, but would use if for automotive work in the future...
mrphil,
I would love to add a chapter to the use manual on using the 6022BE for doing the tests you can/have used it for! I know it asking g a lot, but if you ever have the time to spare it would be much appreciated. I know too little about that field to even attempt writing a guide!!!
Automotive tests
categorie INITION,
sub categorie : primary circuit (for a simple 2 wire coil)
testing procedure for firing voltage
+ test lead on control wire, (neg (-) of coil)
- test lead on body ground
using 100:1 reducer
setting x100 in software
voltage scale 50V / div
time scale 500 us / div
all this with a picture explaining what means what on the result of that scopeWhat would you need ?
for eample if I write something like:
Code: [Select]
Automotive tests
categorie INITION,
sub categorie : primary circuit (for a simple 2 wire coil)
testing procedure for firing voltage
+ test lead on control wire, (neg (-) of coil)
- test lead on body ground
using 100:1 reducer
setting x100 in software
voltage scale 50V / div
time scale 500 us / div
all this with a picture explaining what means what on the result of that scope
is this the kind of info you would need ?
Last I checked, there were no adjustments possible in the FFT function. It seems to still be under development, with the axes not even labeled. I hold out hope that one day, RichardK will have the time to get the code in a state where he feels comfortable releasing it to sourceforge. Then there can be many more people working on details like this.Is there a way to set the FFT range?
I want 0hz to ~30khz range. As of right now its all in the 1st division, anything less than 5k is impossible to read.
Anyone?
I did some interesting testing with another Library:
I was able to read 50MSamples (could be even more) from both channels at the full sample rate of 24MHz.
Actually this gave me 2 Seconds of raw samples @ 24MHz (50MB/sec).
I used this driver for testing on a Linux machine running Ubuntu 12.4: https://github.com/rpm2003rpm
I extended the driver to read up to 48MB of raw data from each channel @24MHz and modified the main program acordingly.
The USB bus was totally reserved for this task. No other device was attached.
I used the inBuilt 1kHz square wave of the BE6022 as testsignal.
To verify the transfer I checked the received data at different positions. The result was always correct: about 12000 Samples for a half cycle of the squarewave.
(24M / 1kHz / 2 = 12.000) It took - as expected - 2 Sec. to get the whole Bulk data.
I also tested the same scenario at other sample rates (down to 100kHz). The results were always as expected. And of course it took the necessary time.
I did some interesting testing with another Library:
Which library was that?QuoteI was able to read 50MSamples (could be even more) from both channels at the full sample rate of 24MHz.
Actually this gave me 2 Seconds of raw samples @ 24MHz (50MB/sec).
Are you sure about that? I ask because while 24 MB/sec is quite reasonable for a USB2 channel, twice that would be very difficult to achieve. I'm not saying you're wrong, just that it seems unlikely, when the max theoretical USB2 capacity is <60 MB/sec, even if both sides of the exchange were running at 100% (which almost never happens).
That would be a pretty slick trick to achieve.
HT6022_1MB = 0x00100000 /*!< 1048576 Bytes */
}HT6022_DataSizeTypeDef;
[Colors]
CH1=65535
CH2=16776960
Math=8388736
Reference=15780518
XY=15780518
This thread shows why we need open source software!
This thread shows why we need open source software!
This thread shows why we need open source software!
Hi, new here and found this great forum, blog and youtube channel after searching for info on the 6022BE, I have one on order. Kudos to Richard K for his hard work & generosity in creating Open6022BE, I have been playing with 1.0 Pre Beta 18 in demo mode. I find that the V RMS measure for a square wave (Artificial) is incorrect even with a duty cycle of 100 % (a straight DC signal): for 0 - 5 V I get RMS calculated as 5.69543 V (p-p & mean both 5.01961 V). Is this a fault just with demo mode? With the scope attached would this value come from the scope or be calculated by the software?
Great job by RichardK, just a small thing: I would love to see the measured output taking up less vertical space (esp when has several values) and would humbly suggest putting it below the "Measure" list panel.
Hi, Bob. Welcome to the group.Thanks for the welcome and the quick answer, after I posted I did download the API and have a look for a RMS function when I get a chance.Hi, new here and found this great forum, blog and youtube channel after searching for info on the 6022BE, I have one on order. Kudos to Richard K for his hard work & generosity in creating Open6022BE, I have been playing with 1.0 Pre Beta 18 in demo mode. I find that the V RMS measure for a square wave (Artificial) is incorrect even with a duty cycle of 100 % (a straight DC signal): for 0 - 5 V I get RMS calculated as 5.69543 V (p-p & mean both 5.01961 V). Is this a fault just with demo mode? With the scope attached would this value come from the scope or be calculated by the software?
I doubt it's restricted to Demo mode. It's probably the same when Live. The value certainly doesn't come from the scope module. However, I'm not sure to what extent Richard is relying on DLL functions for this. There is an error in the software, but it could be Richard's code or Hantek's.
In full screen (maximised not fs mods) there is plenty of room under the measure list (YMMV I have a largish screen) on the lhs and having 3 active measurements at the bottom vertically compresses the scope screen distorting the xy ratio. Just an optimisation tweak for larger screens, a floating measurement window would be another way to achieve the same thing or stacking the measurement results horizontally then vertically. Not a big issue at all.QuoteGreat job by RichardK, just a small thing: I would love to see the measured output taking up less vertical space (esp when has several values) and would humbly suggest putting it below the "Measure" list panel.
I can see why you'd suggest that. And looking only at that screen, it seems quite reasonable. However, as new Outputs are added, I'm pretty sure they populate horizontally, in that (now) mostly empty space. There's very little room left under the Measure panel, and what do you do when there's more than just the 1? Better just to have a collapsable Outputs panel.
In full screen (maximised not fs mods) there is plenty of room under the measure list (YMMV I have a largish screen) on the lhs and having 3 active measurements at the bottom vertically compresses the scope screen distorting the xy ratio. Just an optimisation tweak for larger screens, a floating measurement window would be another way to achieve the same thing or stacking the measurement results horizontally then vertically. Not a big issue at all.
Hi all. I have been looking for a low-cost option for getting a basic oscilloscope. Mainly for learning more about some electrical issues in a hobby of mine, not for use as an EE or anything :) I wanted something that could capture data, for review later.You are right that the resolution for 8 bits is about 0.4% of total range, that equals about 0.4V steps for a 100V total range as you said. However, the way I see it, you wouldn't have to use 100V total range with the probe set to x10. For a +6V signal with a 1Vpp ripple the range must cover about 14V total (+7/-7). So it seems to me that you could use 2V/Div with a total range of 20V (+10/-10). Beware that even with the probe set to x10, if you use 1V/Div, it will clip anything above +5V.
I just ordered a 6022BE. Out of the different USB options, this seemed the most viable for me, while still being under $100.
Ironically, a thread that describes the drawbacks of the product (especially the software) actually inspired me to buy it, as a result of the amazing work that Richard K has done. Thank you Richard!! I hope that Hantek is paying attention.
I do have a question. I want to look at voltage dips/spikes in a 6V source. That's too high for the probes in x1. If I go to x10, will I lose a lot of voltage resolution? 8 bits of resolution, across a 100V total range (+/- 50V), implies ~0.4V steps? That would make the steps quite coarse, for looking at just a 6V signal. My apologies if this isn't actually how it works.
Ahh, I see. Thank you, TomC. The screenshots from actual use, at 8V, using x10, are very helpful, BTW.Yes, that's right, on the setup of the screenshots (2V/Div), the range is 20V (-10V/+10V). So the resolution is 0.4% of 20V which comes to 80mV steps. However, these scopes don't use a true attenuator for all the range settings. For example, on x10, only the 1, 2, 5, & 10V/Div range settings are obtained via the attenuator circuit which consists of an operational amplifier with 4 switchable gain resistors. The range settings below 1V/Div and above 10V/Div are obtained by zooming the image in or out. For example, the 100V/Div range setting is obtained by setting the gain to 10V/Div and zooming out by x10. So as far as what the ADC is seeing, the resolution, and the maximum swing that you can see before clipping, the 100V/Div range setting is the same as the 10V/Div range setting. The only difference is that the signal takes less room on the display.
I had assumed that the 8-bit resolution was always applied across the whole +/-5V actual input range to the scope (whether using x1 or x10 probes). This was apparently a bad assumption. I'm guessing the 8-bit resolution is actually applied maybe to just the available range, based on the volts/div setting you're using. Which is great news.
Hi TomC,Hi Matchless,
This info will be very helpful to some people! I would gladly include it in the user manual if you agree. :-+
I will also put your name to this if you can let me have the pdf in maybe a docx format. If you do not want your name to it, can I use your forum handle?
Thanks.
Hi TomC,
This info will be very helpful to some people! I would gladly include it in the user manual if you agree. :-+
snobs? dude, you just agreed this toy is ok for audio frequencies only
snobs? dude, you just agreed this toy is ok for audio frequencies only