Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork22
Description
I am trying to understand how to have an Arduino sketch be able to use the touch events generated
by the GIGA Display shield.
If I look at the overlay file, that is defined for the giga in zephyr:
D:\github\zephyr\boards\shields\giga_display_shield\boards\arduino_giga_r1_m7.overlay
It has:
&i2c4 {pinctrl-0 = <&i2c4_scl_pb6 &i2c4_sda_ph12>;pinctrl-names = "default";clock-frequency = <I2C_BITRATE_FAST>;status = "okay";gt911: gt911@5d {status = "okay";compatible = "goodix,gt911";reg = <0x5d>;alt-addr = <0x14>;reset-gpios = <&gpioi 2 GPIO_ACTIVE_LOW>;irq-gpios = <&gpioi 1 GPIO_ACTIVE_HIGH>;};};
So it is using the gt911 input ... It has status of okay so it starts up. with IRQ on GPIO I1...
And it is probably using the code in zephyr\drivers\input\input_gt911.c
I found the zephyr example: samples\subsys\input\draw_touch_events, which I was curious if it would
build and run... So far did not build.
D:/zephyrproject/zephyr/drivers/display/display_stm32_ltdc.c:422:25: error: 'CONFIG_VIDEO_BUFFER_SMH_ATTRIBUTE' undeclared (first use in this function) 422 | CONFIG_VIDEO_BUFFER_SMH_ATTRIBUTE, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~D:/zephyrproject/zephyr/drivers/display/display_stm32_ltdc.c:422:25: note: each undeclared identifier is reported only once for each function it appears in[41/48] Linking C static library zephyr\kernel\libkernel.a
Thought I would try doing the same thing in a sketch, however I don't think this will work.
static void touch_event_callback(struct input_event *evt, void *user_data){if (evt->code == INPUT_ABS_X) {touch_point.x = evt->value;}if (evt->code == INPUT_ABS_Y) {touch_point.y = evt->value;}if (evt->code == INPUT_BTN_TOUCH) {touch_point.pressed = evt->value;}if (evt->sync) {k_sem_give(&sync);}}INPUT_CALLBACK_DEFINE(touch_dev, touch_event_callback, NULL);
As I don't believe the INPUT_CALLBACK_DEFINE will work in a sketch?
Wondering best way to handle this?
Potentially, maybe define some callback within the ArduinoCore-zephyr code space.
Like maybe in loader\fixups.c ?
Turn off the interrupt? And try to poll it?
Suggestions?