hzeller/flaschen-taschen

ft-server and RPi3

Closed this issue · 9 comments

Hello Hzeller,
thank you for sharing this great project.

I am facing the following issue here -
when I compile the server with make FT_BACKEND=ft (then start it as root) and then use send-text or send-image (on localhost) I can't see that the GPIO pins toggle, when I measure with an oscilloscope. For example the clock pin. I still don't have (jet) the spixels PCB, but from layout I don't think it is required for the RPI Pins to toggle? I think Rpi3 is supported too?

If I compile with FT_BACKEND=terminal I can see the send Image/Text im Terminal.

I tested also the FT_BACKEND=rgb-matrix - then I can see a clock toggle (on the pin).
I managed to test also Rpi2, but I still don't get GPIO toggle for FT_BACKEND=ft.
If I don't start the server as root I get the assert
bool success = gpio_.Init(); assert(success); // gpio couldn't be initialized
If I do the Init() and AddOutput(clock_gpio) are ok, there is just no output when I send text or image.

Hi pilif-pilif, any luck with this one? I believe I am in the same boat, but I am just getting no response in the FT panel that I made for testing.

make sure to update the submodules. Recent raspians changed some memory sizes, and the detection logic needed to change, which is added in head of the respective repos, but I don't know if the dependencies in Flaschen-Taschen are already updated to use the latest.

Thanks, we finished our screen last weekend and everything works as expected. So this ticket can probably be closed. And it indeed was the lower version of the submodule that caused problems in the start.

First off just have to say Henner you're a G for building all this stuff, from software to PCBs. In my time working on building this Flaschen Taschen I've been super impressed by how much work you must have put into this project. Okay, with that out of the way...

Git status tells me I am running the latest spixels commit, where it you made the changes to get it working on newer raspians. Might there have since been updates to the rgb-matrix submodule that spixels would also need?

I tested my solders on the spixels board and they all seem to check out, but I don't have an oscilloscope and don't normally work in C++, so I am a little lost on what to check next. I feel like there is some really obvious thing I am overlooking. I didn't solder all the components to the board, just the 22µF cap, a 100nF cap, a level shifter, and some header pins to connect it to the pi and my ws2801 string.

Sorry to hijack the thread, it was the closest I could find to the problems I am having. I can start a new thread, if need be.

Mmh, only the commit hzeller/spixels@900127a should be necessary and that should already be in here. I might have to test with the latest Pi 3+, but I think it should work.

One physical thing: double check the clock, data and GND on your WS2801 strips, some have mumbled that up. So double check that these are connected to the right place. As PCB, you're using the 09b21ab@2016-05-07 as shared on OshPark ?

In our specific FlaschenTaschen installation, we are only using part of the connectors of the spixels board, so double-check that you are connected in your experiment to one of these ( https://github.com/hzeller/flaschen-taschen/blob/master/server/main.cc#L179 ) - the others won't get pixels sent.

Once that it out of the way, you might also need to look how you represent the mapping; currently, we're doing this in CrateColumnFlaschenTaschen(), but your mapping might be different; our mapping is described in the wiring page and is reflected in the way CrateColumnFlaschenTaschen() maps a long strip into a 5xn*5 area. That you might need to adapt for your installation.

Thanks for the response! I'm still plugging away at this, but there seems to be improvement. My partner on this project is trying to get VLC to compile on a rpi, but that's a whole nother can of worms.

Clock/data: I've changed those around a few times just to be sure, but they appear to be accurately labeled by the factory. I was able to run some of Adafruit's examples before I got the board completed, by connecting the string directly to the gpio ports.

Update: I connected the ground wire in the ws2801 string to the gpio ground pin and got slightly different results:
1: the first led in the string is no longer on, a few others are on though, near the middle of the string. Possibly from some kind of noise as I connected the wire to the pin.
2: They all immediately turn off when I run spixels/examples/simple. None turn on or blink though.
I have made minor changes to simple.cc, mostly replacing "CreateDirectMultiSPI" with "CreateDMAMultiSPI", and "CreateAPA102Strip" with "CreateWS2801Strip", to suit my led type.

The board: yeah, that's the board I am using. The Oshpark page for it cites May 8th, 2016 as the upload date for the design.

Connectors: my panel is connected to the one marked P1 on the board, which I am guessing would be SPI_P1 on main.cc.

As for wiring, I copied your design of crates of 5x5 bottles, except only now do I have the connectors' ground hooked up to raspi's gpio ground. Materials-wise I wanted to steal your crates and glass bottles concept, but for money and weight savings I opted for insulation foam and plywood grids holding plastic water bottles. My hope is that wiring is the same.

Okay, I connected the led string to P2 and in simple.cc changed strip1 to map to SPI_P2, compiled and ran it and it appears to be working now! I wonder if actually bungled a solder on this board. It's my first time soldering smt stuff. I'll recheck P1's connections specifically.

it took me some time to report back but hzeller/spixels@900127a was the solution to my problem.
Thanks @hzeller