Coder Social home page Coder Social logo

Android Things Support about hyperpixel HOT 15 CLOSED

apead avatar apead commented on July 19, 2024
Android Things Support

from hyperpixel.

Comments (15)

apead avatar apead commented on July 19, 2024 1

from hyperpixel.

apead avatar apead commented on July 19, 2024 1

Yes to summarize it wasn't quite ready to do what I wanted to do. I can have a look into again. Rather a lot of time has passed.

from hyperpixel.

Gadgetoid avatar Gadgetoid commented on July 19, 2024

I'd love to, but unfortunately it's not an ecosystem with which I have any experience or expertise. The place to ask is probably here; https://github.com/androidthings/contrib-drivers/issues

from hyperpixel.

apead avatar apead commented on July 19, 2024

from hyperpixel.

Gadgetoid avatar Gadgetoid commented on July 19, 2024

It uses the DPI display output mode on the Raspberry Pi GPIO. If Android Things supports that, it should be straight-forward enough to get running I'd imagine.

The bigger problem is the touchscreen, which uses a software i2s bus on pins BCM10 and BCM11 (physical 19 and 23).

It involves putting the following in config.txt:

# For touch overlay:
dtoverlay=i2c-gpio,i2c_gpio_sda=10,i2c_gpio_scl=11,i2c_gpio_delay_us=4

# For LCD:
dtparam=i2c_arm=off
dtparam=spi=off

dtoverlay=hyperpixel
overscan_left=0
overscan_right=0
overscan_top=0
overscan_bottom=0
framebuffer_width=800
framebuffer_height=480
enable_dpi_lcd=1
display_default_lcd=1
dpi_group=2
dpi_mode=87

dpi_output_format=0x6f016

display_rotate=2

hdmi_timings=800 0 50 20 50 480 1 3 2 3 0 0 0 60 0 32000000 6

And the dtoverlay switches the relevant pins into mode 6, DPI mode:

/dts-v1/;

/ {
	compatible = "brcm,bcm2708";

	fragment@0 {
		target = <0xdeadbeef>;

		__overlay__ {
			pinctrl-names = "default";
			pinctrl-0 = <0x1>;
		};
	};

	fragment@1 {
		target = <0xdeadbeef>;

		__overlay__ {

			dpi18_pins {
//				brcm,pins = <0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9    0xa 0xb 0xc 0xd 0xe 0xf 0x10 0x11 0x12 0x13       0x14 0x15>;
				brcm,pins = <0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9    0xc 0xd 0xe 0xf 0x10 0x11     0x14 0x15 0x16 0x17 0x18 0x19>;
				brcm,function = <0x6>;
				brcm,pull = <0x0>;
				phandle = <0x1>;
			};
		};
	};

	__symbols__ {
		dpi18_pins = "/fragment@1/__overlay__/dpi18_pins";
	};

	__local_fixups__ {

		fragment@0 {

			__overlay__ {
				pinctrl-0 = <0x0>;
			};
		};
	};

	__fixups__ {
		leds = "/fragment@0:target:0";
		gpio = "/fragment@1:target:0";
	};
};

A touchscreen driver would need to be written from scratch (using the Python as a reference) in either Java or perhaps C.

from hyperpixel.

Gadgetoid avatar Gadgetoid commented on July 19, 2024

@apead did you have any luck getting HyperPixel up and running with AndroidThings?

from hyperpixel.

knobtviker avatar knobtviker commented on July 19, 2024

Android Things does not support making kernel changes via config.txt, so adding drivers there is expected not to have any effect. (Copypasta of SO statement from here).
I've written several drivers for Android Things and would like to tackle HyperPixel with touch support as it benefits me and my project at the most. However, I have no idea what the code below "And the dtoverlay switches the relevant pins into mode 6, DPI mode" does.
Can it be done any other way, via Python code? Which I can then replicate into a driver.
A standalone driver for touch and HyperPixel is an acceptable path in Android Things ecosystem.

from hyperpixel.

mrdavidli avatar mrdavidli commented on July 19, 2024

Hi, Anyone make progress writing a driver for Android Things for the HyperPixel? If so, do you have a project link? Xamarin C# would be neato.

from hyperpixel.

apead avatar apead commented on July 19, 2024

I had a chat with a member of the Android Things team back in late 2017 and then stopped.

from hyperpixel.

mrdavidli avatar mrdavidli commented on July 19, 2024

Thanx apead, stopped because of something the Android Things said? Wonder if anything changed two years later?

from hyperpixel.

frpalmisano avatar frpalmisano commented on July 19, 2024

Any idea how to proceed? I think the interest in this solution is strong. Let's make it work!

from hyperpixel.

apead avatar apead commented on July 19, 2024

Google pulled the plug on Android Things. So should we.

from hyperpixel.

mrdavidli avatar mrdavidli commented on July 19, 2024

"Android Things continues to be a platform for experimenting with and building smart, connected devices using the Android Things SDK on top of popular hardware like the NXP i.MX7D and Raspberry Pi 3B. System images for these boards will remain available through the Android Things console where developers can create new builds and push app updates for up to 100 devices for non-commercial use."

Is that the most recent news? February 19

from hyperpixel.

apead avatar apead commented on July 19, 2024

There is this too: "Note: Monthly security releases for the Raspberry Pi 3 and Pico i.MX7D will continue until August 2019."

from hyperpixel.

Gadgetoid avatar Gadgetoid commented on July 19, 2024

I think this is probably dead-in-the-water since Android Things appears to be a non-starter.

from hyperpixel.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.