quiescentcurrent

joined 11 months ago
[–] quiescentcurrent@discuss.tchncs.de 19 points 8 months ago (1 children)

Not sure what else, but the thing can tell you if a cable is USB2.0, USB3.0/3.1/.. or just for charging.

 

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?

13
Shift register missing bits (discuss.tchncs.de)
submitted 11 months ago* (last edited 11 months ago) by quiescentcurrent@discuss.tchncs.de to c/askelectronics@discuss.tchncs.de
 

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.