Go to advanced search

by LeMury
Fri Oct 12, 2018 3:38 pm
Forum: Bare metal, Assembly language
Topic: FT5406 Touch coordinate corruption
Replies: 25
Views: 6311

Re: FT5406 Touch coordinate corruption

Maybe my problem is related to yours. I'm using the Circle framework to access the touch screen, it's using this code : https://github.com/rsta2/circle/blob/master/lib/input/touchscreen.cpp I call Update() 60 times per sec as suggested, and it's working well except sometimes it misses a Touch Relea...
by LeMury
Mon Oct 01, 2018 8:39 am
Forum: Bare metal, Assembly language
Topic: FT5406 Touch coordinate corruption
Replies: 25
Views: 6311

Re: FT5406 Touch coordinate corruption

@jamesh Hello again, For testing purposes I have literally copied the polling loop code from the Linux driver at https://github.com/raspberrypi/linux/blob/rpi-4.14.y/drivers/input/touchscreen/rpi-ft5406.c That got rid of the "out of bound values" however the occasional glitches during rapi...
by LeMury
Sat Sep 29, 2018 2:22 pm
Forum: Bare metal, Assembly language
Topic: Idea: Using Supervisor mode for Bootloader
Replies: 4
Views: 1609

Re: Idea: Using Supervisor mode for Bootloader

Unless I don't understand the question/suggestion, here's what I do for development cycle. Power on, Pi boots and loads my serial loader which awaits new kernel. kernel loads and executes. Then if the kernel panics it reboots itself via the PM watchdog. Or, I manually send some serial command to the...
by LeMury
Sat Sep 29, 2018 9:52 am
Forum: Bare metal, Assembly language
Topic: LdB's USB driver
Replies: 25
Views: 8086

Re: LdB's USB driver

@ldb
I noticed the file dates on https://github.com/LdB-ECM/Raspberry-Pi ... m32_64_USB.
Does this mean the long awaited update on the chad-based driver? :o
by LeMury
Fri Sep 28, 2018 4:06 pm
Forum: Bare metal, Assembly language
Topic: FT5406 Touch coordinate corruption
Replies: 25
Views: 6311

Re: FT5406 Touch coordinate corruption

I think you might be using the touchid not the eventtype in the if(). Yes, that is correct. Since I implement a Single Touch GUI, I only look at touch points with ID=0. I then keep track of it's touch state. But your remark about the event_type makes me realize now that the Firmware driver already ...
by LeMury
Fri Sep 28, 2018 2:41 pm
Forum: Bare metal, Assembly language
Topic: FT5406 Touch coordinate corruption
Replies: 25
Views: 6311

Re: FT5406 Touch coordinate corruption

This is the actual polling code I use. (Just to rule out some huge mess-up on my part) volatile static struct FT5406_Registers* TSBuffer=0; volatile static int ReleasePending=0; /* * Polled at ~1msec interval */ int Poll_TS_Simple(TouchEvent* ev) { struct FT5406_Registers ts; if( TSBuffer->ntouch ==...
by LeMury
Fri Sep 28, 2018 1:56 pm
Forum: Bare metal, Assembly language
Topic: FT5406 Touch coordinate corruption
Replies: 25
Views: 6311

Re: FT5406 Touch coordinate corruption

Does it only happen when you have multiple points pressed?
It happens occasionally but yes, mostly when there are multiple touch points detected and released.

Thanks for helping btw!
by LeMury
Fri Sep 28, 2018 11:16 am
Forum: Bare metal, Assembly language
Topic: FT5406 Touch coordinate corruption
Replies: 25
Views: 6311

Re: FT5406 Touch coordinate corruption

Ok, below is what I basically do. I call Poll_TS() at 1ms-ish interval. Unfortunately the occasional glitches are still there. // buffer shared by GPU and CPU static struct ft5406_regs TSBuffer; int Poll_TS() { struct ft5406_regs bufcopy; if( TSBuffer->num_points == 99 ) { // GPU is filling the buff...
by LeMury
Fri Sep 28, 2018 10:23 am
Forum: Bare metal, Assembly language
Topic: FT5406 Touch coordinate corruption
Replies: 25
Views: 6311

Re: FT5406 Touch coordinate corruption

Aha Ok. I see.

However, looking at the code https://github.com/raspberrypi/linux/bl ... i-ft5406.c
at line 83:

Code: Select all

iowrite8(99, ts->ts_base +offsetof(struct ft5406_regs, num_points));
we see the CPU writing 99 to the buffer as well.
Why is that then?
by LeMury
Fri Sep 28, 2018 9:37 am
Forum: Bare metal, Assembly language
Topic: FT5406 Touch coordinate corruption
Replies: 25
Views: 6311

Re: FT5406 Touch coordinate corruption

ft5406_thread is the polling loop, read memory buffer from the GPU which contains coordinates. The GPU is stuff data in at one end, we read it out at the other. Are you asking how that is synced to ensure there is no corruption? Yes, that is exactly what I'm asking. Thank you. In my bare metal code...
by LeMury
Thu Sep 27, 2018 9:14 pm
Forum: Bare metal, Assembly language
Topic: FT5406 Touch coordinate corruption
Replies: 25
Views: 6311

Re: FT5406 Touch coordinate corruption

The way our TS linux driver works is not to acces the TS, but to grab the coordinates from the GPU via a mailbox call, where there is a driver that talks to the TS. So no locking needed. Yes, I think I do exactly the same as your linux driver. 1. Firstly Get or Set the FT5406 Registers buffer via a...
by LeMury
Thu Sep 27, 2018 2:47 pm
Forum: Bare metal, Assembly language
Topic: FT5406 Touch coordinate corruption
Replies: 25
Views: 6311

FT5406 Touch coordinate corruption

Hello, I am using the official Pi's FT5406 Touchscreen connected to a Pi 3 in a bare-metal situation and got it to work by gleaning info from the linux TS driver. Everything seems to work fine, however I experience occasional glitches/jumps in touch coordinates during multi-touch. More precisely, I ...
by LeMury
Sun Sep 16, 2018 11:58 am
Forum: Bare metal, Assembly language
Topic: LdB's USB driver
Replies: 25
Views: 8086

Re: LdB's USB driver

@LdB. Any updates on your USB driver?
by LeMury
Fri Sep 07, 2018 7:38 am
Forum: Bare metal, Assembly language
Topic: LdB's USB driver
Replies: 25
Views: 8086

Re: LdB's USB driver

No I am enumerating high speed devices like hard drives etc, I can read and write to them
Perhaps so, but all the Full-speed devices I have tried fail to enumerate using your 32-bit binary from https://github.com/LdB-ECM/Raspberry-Pi ... m32_64_USB
by LeMury
Thu Sep 06, 2018 4:22 pm
Forum: Bare metal, Assembly language
Topic: LdB's USB driver
Replies: 25
Views: 8086

Re: LdB's USB driver

Hi LdB,

It seems that your CSUD redux USB driver only enumerates Low-speed USB devices.
Any other device speed e.g. Full-speed, fails as mentioned.
I hope this helps solving this issue.

Cheers!

PS: I wunder if the original CSUD driver also had this issue/limitation?
by LeMury
Mon Sep 03, 2018 9:35 am
Forum: Bare metal, Assembly language
Topic: LdB's USB driver
Replies: 25
Views: 8086

Re: LdB's USB driver

Hi LdB,
Any progress on updating your CSUD redux USB driver?
Or perhaps could you point me to you latest xinu usb code so I can try fix it myself?
Thank you.
by LeMury
Wed Aug 29, 2018 11:22 am
Forum: Bare metal, Assembly language
Topic: Multiple GPU hardware layers?
Replies: 4
Views: 1832

Re: Multiple GPU hardware layers?

Thanks for pointing me to the VCHIQ linux driver.
I doubt I will go that (long&tedious) route unless software rendering proofs to be too slow for my GUI needs.
by LeMury
Wed Aug 29, 2018 9:02 am
Forum: Bare metal, Assembly language
Topic: Multiple GPU hardware layers?
Replies: 4
Views: 1832

Re: Multiple GPU hardware layers?

Ok, thanks for the explanation LdB. Some micro-controllers I've worked with had LCD display controllers that could render multiple layers (= multiple frame buffers) on top of each other with alpha channel. Sort of back/front layer. It saved a lot of background re-writes whilst moving a graphical fro...
by LeMury
Tue Aug 28, 2018 4:01 pm
Forum: Bare metal, Assembly language
Topic: LdB's USB driver
Replies: 25
Views: 8086

Re: LdB's USB driver

Not to rush you or anything,
but did you perhaps get to updating your CSUD redux USB driver?

On a different matter;
could you look at my question here: https://www.raspberrypi.org/forums/view ... 2&t=220945.
I got no replies. Perhaps you know something on the subject?

Cheers!
by LeMury
Sat Aug 25, 2018 8:02 pm
Forum: Bare metal, Assembly language
Topic: LdB's USB driver
Replies: 25
Views: 8086

Re: LdB's USB driver

That's ok LdB, tomorrow or whenever you get to it is fine. Thanks a lot for your time and work!! I don't have huge USB demands. I need a USB touch screen driver and USB midi Interface driver. Polling is just fine. No interrupts needed. No hot swap etc. I think the Touch screen driver shouldn't be to...
by LeMury
Sat Aug 25, 2018 7:11 pm
Forum: Bare metal, Assembly language
Topic: LdB's USB driver
Replies: 25
Views: 8086

Re: LdB's USB driver

Ok, I have tried your currrent Xinu binary and the usb midi interface is enumerated properly.
However, your kernel8-32.img binary at
https://github.com/LdB-ECM/Raspberry-Pi ... SB/DiskImg
does not enumerate anything other then HID keyboard and mouse.
by LeMury
Sat Aug 25, 2018 4:31 pm
Forum: Bare metal, Assembly language
Topic: LdB's USB driver
Replies: 25
Views: 8086

Re: LdB's USB driver

Thanks LdB!

Ok, I will try Linux on the pi and test the USB devices.

I work in 32-bit, Rpi3
by LeMury
Sat Aug 25, 2018 1:01 pm
Forum: Bare metal, Assembly language
Topic: LdB's USB driver
Replies: 25
Views: 8086

Re: LdB's USB driver

@LdB, I am trying to expand your USB driver to support the MIDI device class. However, if I attach an USB device other then some HID device it fails on the "get device descriptor" setup phase. That is; EnumerateDevice()->HCDSumbitControlMessage()->HCDChannelTransfer() Result: -8 Action: 0x...
by LeMury
Tue Aug 21, 2018 1:57 pm
Forum: Bare metal, Assembly language
Topic: Multiple GPU hardware layers?
Replies: 4
Views: 1832

Multiple GPU hardware layers?

Hello,

I know we can request 1 frame buffer at various virtual sizes through the mailbox interface,
but is there a way to get multiple hardware layers from the GPU?

With hardware layers I mean multiple frame buffers displayed by the GPU on
top of each other with alpha transparency.

Go to advanced search