Not sure what else, but the thing can tell you if a cable is USB2.0, USB3.0/3.1/.. or just for charging.
We’ve all been bitten before by USB cables which were flaky, built for only charging, or just plain broken. With the increased conductor count and complexity of USB Type C, there are many mor…
![USB-C Cable Tester Is Compact And Affordable](https://lemmy.world/pictrs/image/1661757a-ab1a-4303-acf2-72c5e624e615.jpeg?format=webp&thumbnail=256)
EEVBlog also talked about this in a mailbag episode: https://www.youtube.com/watch?v=rEZQvSgdA2k&t=1839s
And they also have different cable versions available: https://caberqu.com/
I could design and produce a small batch of those adaptors.
Would anyone be interested in getting a prototype and helping to test it?
You're 100% right, I've lost 'i' somewhere in my debugging process
byte upper_byte = input_bin >> (8+i) ; byte lower_byte = (input_bin >> i) & 0x00FF;
Good idea, I've tried usleep after all lines, but no change..
You're probably right, but that should only change the order of the outputs right?
![the background blur](https://discuss.tchncs.de/pictrs/image/7da4f08e-8d93-4cf1-99c9-22f2aea08d32.png?thumbnail=256&format=webp)
![](https://discuss.tchncs.de/pictrs/image/7da4f08e-8d93-4cf1-99c9-22f2aea08d32.png?thumbnail=1024&format=webp)
Hey friends,
I have a two daisy chained shift registers (74AHC595) which are controlled via an ESP32. I want to set one output to high at a time before switching to the next.
The code seems to work, but the outputs O_9 and O_10 are not staying high (zoom) after setting them, whereas all the other ones are working fine. This is the used code snipped:
pinMode(SHIFT_OUT_DATA, OUTPUT); pinMode(SHIFT_OUT_CLK, OUTPUT); pinMode(SHIFT_OUT_N_EN, OUTPUT); pinMode(SHIFT_OUT_LATCH, OUTPUT);
digitalWrite(SHIFT_OUT_N_EN, LOW);
uint16_t input_bin = 0b1000000000000000;
for(int i=0; i<17; i++){
byte upper_byte = input_bin >> 8; byte lower_byte = input_bin & 0x00FF;
digitalWrite(SHIFT_OUT_LATCH, LOW); shiftDataOut(SHIFT_OUT_DATA, SHIFT_OUT_CLK, MSBFIRST, lower_byte); shiftDataOut(SHIFT_OUT_DATA, SHIFT_OUT_CLK, MSBFIRST, upper_byte); usleep(10); digitalWrite(SHIFT_OUT_LATCH, HIGH);
delay(10) input_bin = input_bin>>1; }
Is there anything I'm doing wrong, or any idea on where the problem may lie? I've already tried looking for shorts and other error sources, but the design was manufactured on a PCB and no assembly issues are noticeable.