phord/Jarvis

Ground loops

Yatekii opened this issue · 3 comments

Hi, thanks a lot for the great work!

This is not protocol related but maybe you debugged this enough to tell me: Is the UART interface of the desk isolated? Or how did you make that work? I guess you connected VCC and GND on the RJ45 to your devkit but also via USB for programming the devkit.

I am trying to control my desk via USB (FTDI) and I am afraid I light it on fire when there is ground shifting and bad loops involved (I managed to burn quite a few devices aleady in the past).

Could you provide some insight here; would be much appreciated!

Best,
Noah

phord commented

I did connect the FTDI and the controller to the desk's GND and VCC. This is necessary for a common signalling interface. And I am able to program the controller this way, but I don't remember if I tried that while it was connected to the desk.

All of the signals on the desk are TTL levels only, including the UART. I treat them all as digital signals and haven't had any problems. The UART signals on the FTDI adapters are also TTL signals. I'm not sure what you mean about a ground loop in this context. But that may be because I am not real competent with electronics. I only dabble. As long as you don't short the Vcc pin from the desk to ground, I think you'll be ok. But I can't make any guarantees.

That's an interesting idea to use the FTDI to control the desk. I guess you can configure all the desk settings with serial commands. I don't know if you have enough pins to move the desk up and down, though.

Hey :)

I had no issues at all with GND :) Tho I never made my desk move :( After my tries it was severely missconfigured and behaved oddly for weeks (only going 10cm up and then back down the same amount when holding up and vice versa). This persisted even through a reset. One day it was resolved.

To be honest, I did not quite make sense of bits of your protocol even tho the docs are quite nice :) I never got any response from the desk :(

The FTDI was merely for trying to communicate with the desk. In the end I would have made a custom PCB :) But I never got to the end of the prototyping phase. I guess ultimately I'd want an OSC on it to see what's happening.

phord commented

Were you sending commands to the desk or just trying to receive data from the desk? I guess if you messed up the desk config, you must have been trying to talk to it. And it sounds like you were partially successful if your data had some effect (even if it was a bad effect.) :-)

Here's what I see on the DTX pin on my desk right now:
image

I'm using a $20 logic analyzer to read that, but I also built one from an ESP8266 a while back.

Every message from the desk starts with "F2 F2". The command is "01" - report height. There are "03" parameter bytes following. The reported height is 0x040E, or 1038mm. I don't know what the third byte means (0x0f). 0x25 is the checksum, and 0x7E is end-of-message marker.

Not sure if that helps.