Skip Navigation

cross-posted from: https://discuss.tchncs.de/post/22828099

> USB was supposed to rule them all but it's now a mess of standards sharing the same connector. Different speeds, voltage, charging protocols, alt modes, even the number of pins used is variable.... > For those asking, the thing is available on Kickstarter

71

USB was supposed to rule them all but it's now a mess of standards sharing the same connector. Different speeds, voltage, charging protocols, alt modes, even the number of pins used is variable.... For those asking, the thing is available on Kickstarter

27
hackaday.com USB-C Cable Tester Is Compact And Affordable

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…

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/

32
Jump
Shift register missing bits
  • 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;

    1
  • 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.

    15