mirror of
https://github.com/ByteWelder/Tactility.git
synced 2026-10-20 12:25:06 +00:00
Compare commits
No commits in common. "db33cbef5f192f29bc9253e49651140b6425059a" and "b9a96ca26d08c1434e9a969fea2a774b3e7e97e2" have entirely different histories.
db33cbef5f
...
b9a96ca26d
@ -28,8 +28,7 @@ macro(tactility_project_post project_name)
|
|||||||
# (e.g. std::shared_ptr internals) keep default visibility despite -fvisibility=hidden, so without this
|
# (e.g. std::shared_ptr internals) keep default visibility despite -fvisibility=hidden, so without this
|
||||||
# the linker leaves symbol relocations for them, which the ELF loader only resolves against the
|
# the linker leaves symbol relocations for them, which the ELF loader only resolves against the
|
||||||
# firmware's exported symbols. On RISC-V that fails to load the app with "Can't find common <symbol>".
|
# firmware's exported symbols. On RISC-V that fails to load the app with "Can't find common <symbol>".
|
||||||
# project_elf() links with its own flags plus ELF_LIBS, so the option goes there.
|
idf_build_set_property(COMPILE_OPTIONS "-Wl,-Bsymbolic" APPEND)
|
||||||
list(APPEND ELF_LIBS "-Wl,-Bsymbolic")
|
|
||||||
|
|
||||||
# ESP-IDF's own <sys/ioctl.h> (esp_libc/platform_include) is found before app-module's, which adds
|
# ESP-IDF's own <sys/ioctl.h> (esp_libc/platform_include) is found before app-module's, which adds
|
||||||
# the terminal ioctls (TIOCGWINSZ) Tactility's ioctl() supports for app fds.
|
# the terminal ioctls (TIOCGWINSZ) Tactility's ioctl() supports for app fds.
|
||||||
|
|||||||
@ -182,7 +182,6 @@ if (NOT DEFINED ENV{ESP_IDF_VERSION})
|
|||||||
add_subdirectory(Modules/lvgl-window-manager-module)
|
add_subdirectory(Modules/lvgl-window-manager-module)
|
||||||
add_subdirectory(Drivers/gps-generic-module)
|
add_subdirectory(Drivers/gps-generic-module)
|
||||||
add_subdirectory(Drivers/gps-meshtastic-module)
|
add_subdirectory(Drivers/gps-meshtastic-module)
|
||||||
add_subdirectory(Drivers/mock-drivers-module)
|
|
||||||
# Kernel-only software aggregate; built on sim so its device-lifecycle behavior
|
# Kernel-only software aggregate; built on sim so its device-lifecycle behavior
|
||||||
# is covered by Drivers/audio-stream-module/tests.
|
# is covered by Drivers/audio-stream-module/tests.
|
||||||
add_subdirectory(Drivers/audio-stream-module)
|
add_subdirectory(Drivers/audio-stream-module)
|
||||||
|
|||||||
@ -324,5 +324,6 @@ Driver cl32_v4_keyboard_driver = {
|
|||||||
.probe = nullptr,
|
.probe = nullptr,
|
||||||
.api = &cl32_v4_keyboard_api,
|
.api = &cl32_v4_keyboard_api,
|
||||||
.device_type = &KEYBOARD_TYPE,
|
.device_type = &KEYBOARD_TYPE,
|
||||||
|
.owner = &cl32_v04_module,
|
||||||
.internal = nullptr,
|
.internal = nullptr,
|
||||||
};
|
};
|
||||||
|
|||||||
@ -70,5 +70,6 @@ Driver cl32_v4_light_driver = {
|
|||||||
.probe = nullptr,
|
.probe = nullptr,
|
||||||
.api = &CL32_V4_LIGHT_API,
|
.api = &CL32_V4_LIGHT_API,
|
||||||
.device_type = &BACKLIGHT_TYPE,
|
.device_type = &BACKLIGHT_TYPE,
|
||||||
|
.owner = &cl32_v04_module,
|
||||||
.internal = nullptr,
|
.internal = nullptr,
|
||||||
};
|
};
|
||||||
|
|||||||
@ -101,6 +101,7 @@ Driver cl32_v4_power_supply_driver = {
|
|||||||
.stop_device = nullptr,
|
.stop_device = nullptr,
|
||||||
.api = &CL32_V4_POWER_SUPPLY_API,
|
.api = &CL32_V4_POWER_SUPPLY_API,
|
||||||
.device_type = &POWER_SUPPLY_TYPE,
|
.device_type = &POWER_SUPPLY_TYPE,
|
||||||
|
.owner = &cl32_v04_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -191,5 +192,6 @@ Driver cl32_v4_power_driver = {
|
|||||||
.probe = nullptr,
|
.probe = nullptr,
|
||||||
.api = nullptr,
|
.api = nullptr,
|
||||||
.device_type = nullptr,
|
.device_type = nullptr,
|
||||||
|
.owner = &cl32_v04_module,
|
||||||
.internal = nullptr,
|
.internal = nullptr,
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,6 +1,8 @@
|
|||||||
/dts-v1/;
|
/dts-v1/;
|
||||||
|
|
||||||
|
#include <tactility/bindings/battery_sense.h>
|
||||||
#include <tactility/bindings/root.h>
|
#include <tactility/bindings/root.h>
|
||||||
|
#include <tactility/bindings/esp32_adc_oneshot.h>
|
||||||
#include <tactility/bindings/esp32_ble.h>
|
#include <tactility/bindings/esp32_ble.h>
|
||||||
#include <tactility/bindings/esp32_gpio.h>
|
#include <tactility/bindings/esp32_gpio.h>
|
||||||
#include <tactility/bindings/esp32_i2c_master.h>
|
#include <tactility/bindings/esp32_i2c_master.h>
|
||||||
@ -29,6 +31,20 @@
|
|||||||
compatible = "root";
|
compatible = "root";
|
||||||
model = "T-Embed CC1101 Plus";
|
model = "T-Embed CC1101 Plus";
|
||||||
|
|
||||||
|
adc0 {
|
||||||
|
compatible = "espressif,esp32-adc-oneshot";
|
||||||
|
unit-id = <ADC_UNIT_1>;
|
||||||
|
clk-src = <ADC_RTC_CLK_SRC_DEFAULT>;
|
||||||
|
channels = <ADC_CHANNEL_3 ADC_ATTEN_DB_12 ADC_BITWIDTH_DEFAULT>;
|
||||||
|
};
|
||||||
|
|
||||||
|
battery-sense {
|
||||||
|
compatible = "battery-sense";
|
||||||
|
io-channel = <&adc0 0>;
|
||||||
|
reference-voltage-mv = <3300>;
|
||||||
|
multiplier = <2110>;
|
||||||
|
};
|
||||||
|
|
||||||
wifi0 {
|
wifi0 {
|
||||||
compatible = "espressif,esp32-wifi-pinned";
|
compatible = "espressif,esp32-wifi-pinned";
|
||||||
};
|
};
|
||||||
@ -137,6 +153,7 @@
|
|||||||
invert-color;
|
invert-color;
|
||||||
pixel-clock-hz = <80000000>;
|
pixel-clock-hz = <80000000>;
|
||||||
pin-dc = <&gpio0 16 GPIO_FLAG_NONE>;
|
pin-dc = <&gpio0 16 GPIO_FLAG_NONE>;
|
||||||
|
pin-reset = <&gpio0 40 GPIO_FLAG_NONE>;
|
||||||
backlight = <&display_backlight>;
|
backlight = <&display_backlight>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +0,0 @@
|
|||||||
file(GLOB_RECURSE SOURCE_FILES source/*.c*)
|
|
||||||
|
|
||||||
idf_component_register(
|
|
||||||
SRCS ${SOURCE_FILES}
|
|
||||||
REQUIRES TactilityKernel Tactility
|
|
||||||
)
|
|
||||||
@ -1,195 +0,0 @@
|
|||||||
Apache License
|
|
||||||
==============
|
|
||||||
|
|
||||||
_Version 2.0, January 2004_
|
|
||||||
_<<http://www.apache.org/licenses/>>_
|
|
||||||
|
|
||||||
### Terms and Conditions for use, reproduction, and distribution
|
|
||||||
|
|
||||||
#### 1. Definitions
|
|
||||||
|
|
||||||
“License” shall mean the terms and conditions for use, reproduction, and
|
|
||||||
distribution as defined by Sections 1 through 9 of this document.
|
|
||||||
|
|
||||||
“Licensor” shall mean the copyright owner or entity authorized by the copyright
|
|
||||||
owner that is granting the License.
|
|
||||||
|
|
||||||
“Legal Entity” shall mean the union of the acting entity and all other entities
|
|
||||||
that control, are controlled by, or are under common control with that entity.
|
|
||||||
For the purposes of this definition, “control” means **(i)** the power, direct or
|
|
||||||
indirect, to cause the direction or management of such entity, whether by
|
|
||||||
contract or otherwise, or **(ii)** ownership of fifty percent (50%) or more of the
|
|
||||||
outstanding shares, or **(iii)** beneficial ownership of such entity.
|
|
||||||
|
|
||||||
“You” (or “Your”) shall mean an individual or Legal Entity exercising
|
|
||||||
permissions granted by this License.
|
|
||||||
|
|
||||||
“Source” form shall mean the preferred form for making modifications, including
|
|
||||||
but not limited to software source code, documentation source, and configuration
|
|
||||||
files.
|
|
||||||
|
|
||||||
“Object” form shall mean any form resulting from mechanical transformation or
|
|
||||||
translation of a Source form, including but not limited to compiled object code,
|
|
||||||
generated documentation, and conversions to other media types.
|
|
||||||
|
|
||||||
“Work” shall mean the work of authorship, whether in Source or Object form, made
|
|
||||||
available under the License, as indicated by a copyright notice that is included
|
|
||||||
in or attached to the work (an example is provided in the Appendix below).
|
|
||||||
|
|
||||||
“Derivative Works” shall mean any work, whether in Source or Object form, that
|
|
||||||
is based on (or derived from) the Work and for which the editorial revisions,
|
|
||||||
annotations, elaborations, or other modifications represent, as a whole, an
|
|
||||||
original work of authorship. For the purposes of this License, Derivative Works
|
|
||||||
shall not include works that remain separable from, or merely link (or bind by
|
|
||||||
name) to the interfaces of, the Work and Derivative Works thereof.
|
|
||||||
|
|
||||||
“Contribution” shall mean any work of authorship, including the original version
|
|
||||||
of the Work and any modifications or additions to that Work or Derivative Works
|
|
||||||
thereof, that is intentionally submitted to Licensor for inclusion in the Work
|
|
||||||
by the copyright owner or by an individual or Legal Entity authorized to submit
|
|
||||||
on behalf of the copyright owner. For the purposes of this definition,
|
|
||||||
“submitted” means any form of electronic, verbal, or written communication sent
|
|
||||||
to the Licensor or its representatives, including but not limited to
|
|
||||||
communication on electronic mailing lists, source code control systems, and
|
|
||||||
issue tracking systems that are managed by, or on behalf of, the Licensor for
|
|
||||||
the purpose of discussing and improving the Work, but excluding communication
|
|
||||||
that is conspicuously marked or otherwise designated in writing by the copyright
|
|
||||||
owner as “Not a Contribution.”
|
|
||||||
|
|
||||||
“Contributor” shall mean Licensor and any individual or Legal Entity on behalf
|
|
||||||
of whom a Contribution has been received by Licensor and subsequently
|
|
||||||
incorporated within the Work.
|
|
||||||
|
|
||||||
#### 2. Grant of Copyright License
|
|
||||||
|
|
||||||
Subject to the terms and conditions of this License, each Contributor hereby
|
|
||||||
grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
|
|
||||||
irrevocable copyright license to reproduce, prepare Derivative Works of,
|
|
||||||
publicly display, publicly perform, sublicense, and distribute the Work and such
|
|
||||||
Derivative Works in Source or Object form.
|
|
||||||
|
|
||||||
#### 3. Grant of Patent License
|
|
||||||
|
|
||||||
Subject to the terms and conditions of this License, each Contributor hereby
|
|
||||||
grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
|
|
||||||
irrevocable (except as stated in this section) patent license to make, have
|
|
||||||
made, use, offer to sell, sell, import, and otherwise transfer the Work, where
|
|
||||||
such license applies only to those patent claims licensable by such Contributor
|
|
||||||
that are necessarily infringed by their Contribution(s) alone or by combination
|
|
||||||
of their Contribution(s) with the Work to which such Contribution(s) was
|
|
||||||
submitted. If You institute patent litigation against any entity (including a
|
|
||||||
cross-claim or counterclaim in a lawsuit) alleging that the Work or a
|
|
||||||
Contribution incorporated within the Work constitutes direct or contributory
|
|
||||||
patent infringement, then any patent licenses granted to You under this License
|
|
||||||
for that Work shall terminate as of the date such litigation is filed.
|
|
||||||
|
|
||||||
#### 4. Redistribution
|
|
||||||
|
|
||||||
You may reproduce and distribute copies of the Work or Derivative Works thereof
|
|
||||||
in any medium, with or without modifications, and in Source or Object form,
|
|
||||||
provided that You meet the following conditions:
|
|
||||||
|
|
||||||
* **(a)** You must give any other recipients of the Work or Derivative Works a copy of
|
|
||||||
this License; and
|
|
||||||
* **(b)** You must cause any modified files to carry prominent notices stating that You
|
|
||||||
changed the files; and
|
|
||||||
* **(c)** You must retain, in the Source form of any Derivative Works that You distribute,
|
|
||||||
all copyright, patent, trademark, and attribution notices from the Source form
|
|
||||||
of the Work, excluding those notices that do not pertain to any part of the
|
|
||||||
Derivative Works; and
|
|
||||||
* **(d)** If the Work includes a “NOTICE” text file as part of its distribution, then any
|
|
||||||
Derivative Works that You distribute must include a readable copy of the
|
|
||||||
attribution notices contained within such NOTICE file, excluding those notices
|
|
||||||
that do not pertain to any part of the Derivative Works, in at least one of the
|
|
||||||
following places: within a NOTICE text file distributed as part of the
|
|
||||||
Derivative Works; within the Source form or documentation, if provided along
|
|
||||||
with the Derivative Works; or, within a display generated by the Derivative
|
|
||||||
Works, if and wherever such third-party notices normally appear. The contents of
|
|
||||||
the NOTICE file are for informational purposes only and do not modify the
|
|
||||||
License. You may add Your own attribution notices within Derivative Works that
|
|
||||||
You distribute, alongside or as an addendum to the NOTICE text from the Work,
|
|
||||||
provided that such additional attribution notices cannot be construed as
|
|
||||||
modifying the License.
|
|
||||||
|
|
||||||
You may add Your own copyright statement to Your modifications and may provide
|
|
||||||
additional or different license terms and conditions for use, reproduction, or
|
|
||||||
distribution of Your modifications, or for any such Derivative Works as a whole,
|
|
||||||
provided Your use, reproduction, and distribution of the Work otherwise complies
|
|
||||||
with the conditions stated in this License.
|
|
||||||
|
|
||||||
#### 5. Submission of Contributions
|
|
||||||
|
|
||||||
Unless You explicitly state otherwise, any Contribution intentionally submitted
|
|
||||||
for inclusion in the Work by You to the Licensor shall be under the terms and
|
|
||||||
conditions of this License, without any additional terms or conditions.
|
|
||||||
Notwithstanding the above, nothing herein shall supersede or modify the terms of
|
|
||||||
any separate license agreement you may have executed with Licensor regarding
|
|
||||||
such Contributions.
|
|
||||||
|
|
||||||
#### 6. Trademarks
|
|
||||||
|
|
||||||
This License does not grant permission to use the trade names, trademarks,
|
|
||||||
service marks, or product names of the Licensor, except as required for
|
|
||||||
reasonable and customary use in describing the origin of the Work and
|
|
||||||
reproducing the content of the NOTICE file.
|
|
||||||
|
|
||||||
#### 7. Disclaimer of Warranty
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, Licensor provides the
|
|
||||||
Work (and each Contributor provides its Contributions) on an “AS IS” BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied,
|
|
||||||
including, without limitation, any warranties or conditions of TITLE,
|
|
||||||
NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are
|
|
||||||
solely responsible for determining the appropriateness of using or
|
|
||||||
redistributing the Work and assume any risks associated with Your exercise of
|
|
||||||
permissions under this License.
|
|
||||||
|
|
||||||
#### 8. Limitation of Liability
|
|
||||||
|
|
||||||
In no event and under no legal theory, whether in tort (including negligence),
|
|
||||||
contract, or otherwise, unless required by applicable law (such as deliberate
|
|
||||||
and grossly negligent acts) or agreed to in writing, shall any Contributor be
|
|
||||||
liable to You for damages, including any direct, indirect, special, incidental,
|
|
||||||
or consequential damages of any character arising as a result of this License or
|
|
||||||
out of the use or inability to use the Work (including but not limited to
|
|
||||||
damages for loss of goodwill, work stoppage, computer failure or malfunction, or
|
|
||||||
any and all other commercial damages or losses), even if such Contributor has
|
|
||||||
been advised of the possibility of such damages.
|
|
||||||
|
|
||||||
#### 9. Accepting Warranty or Additional Liability
|
|
||||||
|
|
||||||
While redistributing the Work or Derivative Works thereof, You may choose to
|
|
||||||
offer, and charge a fee for, acceptance of support, warranty, indemnity, or
|
|
||||||
other liability obligations and/or rights consistent with this License. However,
|
|
||||||
in accepting such obligations, You may act only on Your own behalf and on Your
|
|
||||||
sole responsibility, not on behalf of any other Contributor, and only if You
|
|
||||||
agree to indemnify, defend, and hold each Contributor harmless for any liability
|
|
||||||
incurred by, or claims asserted against, such Contributor by reason of your
|
|
||||||
accepting any such warranty or additional liability.
|
|
||||||
|
|
||||||
_END OF TERMS AND CONDITIONS_
|
|
||||||
|
|
||||||
### APPENDIX: How to apply the Apache License to your work
|
|
||||||
|
|
||||||
To apply the Apache License to your work, attach the following boilerplate
|
|
||||||
notice, with the fields enclosed by brackets `[]` replaced with your own
|
|
||||||
identifying information. (Don't include the brackets!) The text should be
|
|
||||||
enclosed in the appropriate comment syntax for the file format. We also
|
|
||||||
recommend that a file or class name and description of purpose be included on
|
|
||||||
the same “printed page” as the copyright notice for easier identification within
|
|
||||||
third-party archives.
|
|
||||||
|
|
||||||
Copyright [yyyy] [name of copyright owner]
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
|
|
||||||
@ -1,25 +0,0 @@
|
|||||||
general.vendor=LilyGO
|
|
||||||
general.name=T-Embed CC1101
|
|
||||||
|
|
||||||
hardware.target=ESP32S3
|
|
||||||
hardware.flashSize=16MB
|
|
||||||
hardware.spiRam=true
|
|
||||||
hardware.spiRamMode=OCT
|
|
||||||
hardware.spiRamSpeed=80M
|
|
||||||
hardware.spiRamXipDisabled=true
|
|
||||||
hardware.tinyUsbMsc=true
|
|
||||||
hardware.esptoolFlashFreq=80M
|
|
||||||
hardware.bluetooth=true
|
|
||||||
|
|
||||||
storage.userDataLocation=SD
|
|
||||||
|
|
||||||
display.size=1.9"
|
|
||||||
display.dpi=191
|
|
||||||
|
|
||||||
lvgl.colorDepth=16
|
|
||||||
lvgl.fontSize=16
|
|
||||||
lvgl.uiDensity=compact
|
|
||||||
|
|
||||||
sdkconfig.CONFIG_CODEC_DUMMY_SUPPORT=y
|
|
||||||
|
|
||||||
|
|
||||||
@ -1,175 +0,0 @@
|
|||||||
/dts-v1/;
|
|
||||||
|
|
||||||
#include <tactility/bindings/root.h>
|
|
||||||
#include <tactility/bindings/esp32_ble.h>
|
|
||||||
#include <tactility/bindings/esp32_gpio.h>
|
|
||||||
#include <tactility/bindings/esp32_i2c_master.h>
|
|
||||||
#include <tactility/bindings/esp32_i2s.h>
|
|
||||||
#include <tactility/bindings/esp32_pwm_ledc.h>
|
|
||||||
#include <tactility/bindings/esp32_sdspi.h>
|
|
||||||
#include <tactility/bindings/esp32_sleep.h>
|
|
||||||
#include <tactility/bindings/esp32_spi.h>
|
|
||||||
#include <tactility/bindings/esp32_wifi_pinned.h>
|
|
||||||
#include <tactility/bindings/esp32_usbdevice.h>
|
|
||||||
#include <tactility/bindings/gpio_hog.h>
|
|
||||||
#include <tactility/bindings/pwm_backlight.h>
|
|
||||||
|
|
||||||
#include <bindings/st7789.h>
|
|
||||||
#include <bindings/dummy_i2s_amp.h>
|
|
||||||
#include <bindings/pdm_mic.h>
|
|
||||||
#include <bindings/bq25896.h>
|
|
||||||
#include <bindings/bq27220.h>
|
|
||||||
#include <bindings/gpio_encoder.h>
|
|
||||||
#include <bindings/esp32_led_strip.h>
|
|
||||||
|
|
||||||
#define WAKEUP_BUTTON_FLAGS (GPIO_FLAG_ACTIVE_LOW | GPIO_FLAG_PULL_UP)
|
|
||||||
|
|
||||||
// Reference:
|
|
||||||
// https://wiki.lilygo.cc/products/t-embed-series/t-embed-cc1101/
|
|
||||||
// https://github.com/Xinyuan-LilyGO/T-Embed-CC1101
|
|
||||||
// https://lilygo.cc/products/t-embed-cc1101
|
|
||||||
/ {
|
|
||||||
compatible = "root";
|
|
||||||
model = "T-Embed CC1101";
|
|
||||||
|
|
||||||
wifi0 {
|
|
||||||
compatible = "espressif,esp32-wifi-pinned";
|
|
||||||
};
|
|
||||||
|
|
||||||
ble0 {
|
|
||||||
compatible = "espressif,esp32-ble";
|
|
||||||
};
|
|
||||||
|
|
||||||
gpio0 {
|
|
||||||
compatible = "espressif,esp32-gpio";
|
|
||||||
gpio-count = <49>;
|
|
||||||
};
|
|
||||||
|
|
||||||
// Required to enable peripherals like BQ25896
|
|
||||||
peripheral-power-hog {
|
|
||||||
compatible = "gpio-hog";
|
|
||||||
pin = <&gpio0 15 GPIO_FLAG_NONE>;
|
|
||||||
mode = <GPIO_HOG_MODE_OUTPUT_HIGH>;
|
|
||||||
};
|
|
||||||
|
|
||||||
// Speaker I2S (MAX98357A amplifier)
|
|
||||||
i2s0 {
|
|
||||||
compatible = "espressif,esp32-i2s";
|
|
||||||
port = <I2S_NUM_0>;
|
|
||||||
pin-bclk = <&gpio0 46 GPIO_FLAG_NONE>;
|
|
||||||
pin-ws = <&gpio0 40 GPIO_FLAG_NONE>;
|
|
||||||
pin-data-out = <&gpio0 7 GPIO_FLAG_NONE>;
|
|
||||||
pin-data-in = <&gpio0 42 GPIO_FLAG_NONE>;
|
|
||||||
pin-mclk = <&gpio0 39 GPIO_FLAG_NONE>;
|
|
||||||
};
|
|
||||||
|
|
||||||
// MAX98357A class-D speaker amplifier. No I2C.
|
|
||||||
speaker0 {
|
|
||||||
compatible = "maxim,max98357a";
|
|
||||||
i2s = <&i2s0>;
|
|
||||||
};
|
|
||||||
|
|
||||||
mic0 {
|
|
||||||
compatible = "generic,spm1423";
|
|
||||||
i2s = <&i2s0>;
|
|
||||||
channels = <1>;
|
|
||||||
};
|
|
||||||
|
|
||||||
// WS2812 RGB LED Ring
|
|
||||||
// TODO - Sync on/off with DisplayIdle?
|
|
||||||
ledstrip0 {
|
|
||||||
compatible = "espressif,esp32-led-strip";
|
|
||||||
pin-data = <&gpio0 14 GPIO_FLAG_NONE>;
|
|
||||||
led-count = <8>;
|
|
||||||
};
|
|
||||||
|
|
||||||
i2c_internal: i2c0 {
|
|
||||||
compatible = "espressif,esp32-i2c-master";
|
|
||||||
port = <I2C_NUM_0>;
|
|
||||||
clock-frequency = <100000>;
|
|
||||||
pin-sda = <&gpio0 8 GPIO_FLAG_NONE>;
|
|
||||||
pin-scl = <&gpio0 18 GPIO_FLAG_NONE>;
|
|
||||||
|
|
||||||
bq27220 {
|
|
||||||
compatible = "ti,bq27220";
|
|
||||||
reg = <0x55>;
|
|
||||||
};
|
|
||||||
|
|
||||||
bq25896 {
|
|
||||||
compatible = "ti,bq25896";
|
|
||||||
reg = <0x6B>;
|
|
||||||
};
|
|
||||||
|
|
||||||
// TODO - Add PN532 NFC - IRQ GPIO 17, RES GPIO 45, address 0x24 - driver needed
|
|
||||||
};
|
|
||||||
|
|
||||||
display_backlight_pwm {
|
|
||||||
compatible = "espressif,esp32-pwm-ledc";
|
|
||||||
pin = <&gpio0 21 GPIO_FLAG_NONE>;
|
|
||||||
period-ns = <33333>;
|
|
||||||
ledc-timer = <0>;
|
|
||||||
ledc-channel = <0>;
|
|
||||||
};
|
|
||||||
|
|
||||||
display_backlight {
|
|
||||||
compatible = "pwm-backlight";
|
|
||||||
// Off by default so dispaly power-on won't show the screen from before the last power loss.
|
|
||||||
// The display backlight is turned on during the boot process.
|
|
||||||
status = "disabled";
|
|
||||||
pwm = <&display_backlight_pwm>;
|
|
||||||
};
|
|
||||||
|
|
||||||
spi0 {
|
|
||||||
compatible = "espressif,esp32-spi";
|
|
||||||
host = <SPI2_HOST>;
|
|
||||||
cs-gpios = <&gpio0 41 GPIO_FLAG_NONE>, // Display
|
|
||||||
<&gpio0 13 GPIO_FLAG_NONE>, // SD card
|
|
||||||
<&gpio0 12 GPIO_FLAG_NONE>; // Radio - CC1101
|
|
||||||
pin-mosi = <&gpio0 9 GPIO_FLAG_NONE>;
|
|
||||||
pin-miso = <&gpio0 10 GPIO_FLAG_NONE>;
|
|
||||||
pin-sclk = <&gpio0 11 GPIO_FLAG_NONE>;
|
|
||||||
|
|
||||||
display@0 {
|
|
||||||
compatible = "sitronix,st7789";
|
|
||||||
horizontal-resolution = <320>;
|
|
||||||
vertical-resolution = <170>;
|
|
||||||
gap-x = <35>;
|
|
||||||
swap-xy;
|
|
||||||
mirror-y;
|
|
||||||
invert-color;
|
|
||||||
pixel-clock-hz = <80000000>;
|
|
||||||
pin-dc = <&gpio0 16 GPIO_FLAG_NONE>;
|
|
||||||
backlight = <&display_backlight>;
|
|
||||||
};
|
|
||||||
|
|
||||||
sdcard@1 {
|
|
||||||
compatible = "espressif,esp32-sdspi";
|
|
||||||
status = "disabled";
|
|
||||||
frequency-khz = <20000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
// TODO - Add CC1101 Radio - CS GPIO 12, SCK GPIO 11, MOSI GPIO 9, MISO GPIO 10, IO2 GPIO 38, IO0 GPIO 3, SW1 GPIO 47, SW0 GPIO 48 - driver needed
|
|
||||||
};
|
|
||||||
|
|
||||||
encoder {
|
|
||||||
compatible = "tactility,gpio-encoder";
|
|
||||||
pin-a = <&gpio0 5 GPIO_FLAG_NONE>;
|
|
||||||
pin-b = <&gpio0 4 GPIO_FLAG_NONE>;
|
|
||||||
pin-enter = <&gpio0 0 GPIO_FLAG_NONE>;
|
|
||||||
pulses-per-detent = <2>;
|
|
||||||
pending-capacity = <8>;
|
|
||||||
};
|
|
||||||
|
|
||||||
sleep {
|
|
||||||
compatible = "espressif,esp32-sleep";
|
|
||||||
wakeup-gpios = <&gpio0 6 WAKEUP_BUTTON_FLAGS>;
|
|
||||||
};
|
|
||||||
|
|
||||||
usbdevice0 {
|
|
||||||
compatible = "espressif,esp32-usbdevice";
|
|
||||||
|
|
||||||
usbdevicemsc0 {
|
|
||||||
compatible = "espressif,esp32-usbdevice-msc";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
@ -1,11 +0,0 @@
|
|||||||
dependencies:
|
|
||||||
- Platforms/platform-esp32
|
|
||||||
- Drivers/bq27220-module
|
|
||||||
- Drivers/bq25896-module
|
|
||||||
- Drivers/gpio-encoder-module
|
|
||||||
- Drivers/st7789-module
|
|
||||||
- Drivers/dummy-i2s-amp-module
|
|
||||||
- Drivers/pdm-mic-module
|
|
||||||
- Drivers/audio-stream-module
|
|
||||||
- Drivers/esp32-led-strip-module
|
|
||||||
dts: lilygo,tembed-cc1101.dts
|
|
||||||
@ -1,49 +0,0 @@
|
|||||||
#include <tactility/error.h>
|
|
||||||
#include <tactility/log.h>
|
|
||||||
#include <tactility/module.h>
|
|
||||||
#include <tactility/device.h>
|
|
||||||
#include <tactility/drivers/led_strip.h>
|
|
||||||
#include <tactility/system_event.h>
|
|
||||||
#include <Tactility/settings/LedStripSettings.h>
|
|
||||||
|
|
||||||
constexpr auto* TAG = "tembed-cc1101-plus";
|
|
||||||
|
|
||||||
extern "C" {
|
|
||||||
|
|
||||||
static void on_boot_completed(SystemEvent* event, void* context) {
|
|
||||||
(void)event;
|
|
||||||
(void)context;
|
|
||||||
Device* device = nullptr;
|
|
||||||
if (device_get_first_by_type(&LED_STRIP_TYPE, &device) != ERROR_NONE) {
|
|
||||||
LOG_W(TAG, "No LED strip found during boot restore");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const auto settings = tt::settings::ledstrip::loadOrGetDefault(device->name);
|
|
||||||
const error_t result = tt::settings::ledstrip::apply(device, settings);
|
|
||||||
if (result != ERROR_NONE) {
|
|
||||||
LOG_E(TAG, "Failed to restore LED strip %s: %d", device->name, result);
|
|
||||||
} else {
|
|
||||||
LOG_I(TAG, "Restored LED strip %s", device->name);
|
|
||||||
}
|
|
||||||
device_put(device);
|
|
||||||
}
|
|
||||||
|
|
||||||
static error_t start() {
|
|
||||||
return system_event_callback_add(KERNEL_EVENT_BOOT_COMPLETED, on_boot_completed, nullptr);
|
|
||||||
}
|
|
||||||
|
|
||||||
static error_t stop() {
|
|
||||||
return system_event_callback_remove(KERNEL_EVENT_BOOT_COMPLETED, on_boot_completed);
|
|
||||||
}
|
|
||||||
|
|
||||||
Module lilygo_tembed_cc1101_module = {
|
|
||||||
.name = "lilygo-tembed-cc1101",
|
|
||||||
.start = start,
|
|
||||||
.stop = stop,
|
|
||||||
.drivers = nullptr,
|
|
||||||
.symbols = nullptr,
|
|
||||||
.internal = nullptr
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -422,6 +422,7 @@ Driver papers3_display_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = &papers3_display_api,
|
.api = &papers3_display_api,
|
||||||
.device_type = &DISPLAY_TYPE,
|
.device_type = &DISPLAY_TYPE,
|
||||||
|
.owner = &m5stack_papers3_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -144,6 +144,7 @@ Driver papers3_power_supply_driver = {
|
|||||||
.stop_device = nullptr,
|
.stop_device = nullptr,
|
||||||
.api = &PAPERS3_POWER_SUPPLY_API,
|
.api = &PAPERS3_POWER_SUPPLY_API,
|
||||||
.device_type = &POWER_SUPPLY_TYPE,
|
.device_type = &POWER_SUPPLY_TYPE,
|
||||||
|
.owner = &m5stack_papers3_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -258,9 +259,9 @@ Driver papers3_power_driver = {
|
|||||||
.compatible = (const char*[]) { "m5stack,papers3-power", nullptr },
|
.compatible = (const char*[]) { "m5stack,papers3-power", nullptr },
|
||||||
.start_device = start,
|
.start_device = start,
|
||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.probe = nullptr,
|
|
||||||
.api = nullptr,
|
.api = nullptr,
|
||||||
.device_type = nullptr,
|
.device_type = nullptr,
|
||||||
|
.owner = &m5stack_papers3_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -672,6 +672,7 @@ Driver tab5_keyboard_driver = {
|
|||||||
.probe = probe,
|
.probe = probe,
|
||||||
.api = &tab5_keyboard_api,
|
.api = &tab5_keyboard_api,
|
||||||
.device_type = &KEYBOARD_TYPE,
|
.device_type = &KEYBOARD_TYPE,
|
||||||
|
.owner = &m5stack_tab5_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -190,5 +190,6 @@ Driver tab5_power_control_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = &TAB5_POWER_CONTROL_API,
|
.api = &TAB5_POWER_CONTROL_API,
|
||||||
.device_type = &POWER_SUPPLY_TYPE,
|
.device_type = &POWER_SUPPLY_TYPE,
|
||||||
|
.owner = &m5stack_tab5_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|||||||
@ -225,8 +225,8 @@ Driver sdl_display_driver = {
|
|||||||
.compatible = (const char*[]) { "tactility,sdl-display", nullptr },
|
.compatible = (const char*[]) { "tactility,sdl-display", nullptr },
|
||||||
.start_device = start,
|
.start_device = start,
|
||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.probe = nullptr,
|
|
||||||
.api = &sdl_display_api,
|
.api = &sdl_display_api,
|
||||||
.device_type = &DISPLAY_TYPE,
|
.device_type = &DISPLAY_TYPE,
|
||||||
.internal = nullptr,
|
.owner = &simulator_module,
|
||||||
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|||||||
@ -44,8 +44,8 @@ Driver sdl_keyboard_driver = {
|
|||||||
.compatible = (const char*[]) { "tactility,sdl-keyboard", nullptr },
|
.compatible = (const char*[]) { "tactility,sdl-keyboard", nullptr },
|
||||||
.start_device = start,
|
.start_device = start,
|
||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.probe = nullptr,
|
|
||||||
.api = &sdl_keyboard_api,
|
.api = &sdl_keyboard_api,
|
||||||
.device_type = &KEYBOARD_TYPE,
|
.device_type = &KEYBOARD_TYPE,
|
||||||
.internal = nullptr,
|
.owner = &simulator_module,
|
||||||
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|||||||
@ -59,8 +59,8 @@ Driver sdl_pointer_driver = {
|
|||||||
.compatible = (const char*[]) { "tactility,sdl-pointer", nullptr },
|
.compatible = (const char*[]) { "tactility,sdl-pointer", nullptr },
|
||||||
.start_device = start,
|
.start_device = start,
|
||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.probe = nullptr,
|
|
||||||
.api = &sdl_pointer_api,
|
.api = &sdl_pointer_api,
|
||||||
.device_type = &POINTER_TYPE,
|
.device_type = &POINTER_TYPE,
|
||||||
.internal = nullptr,
|
.owner = &simulator_module,
|
||||||
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
- Platforms/platform-posix
|
- Platforms/platform-posix
|
||||||
- Drivers/mock-drivers-module
|
|
||||||
dts: simulator.dts
|
dts: simulator.dts
|
||||||
|
|||||||
@ -1,13 +1,8 @@
|
|||||||
/dts-v1/;
|
/dts-v1/;
|
||||||
|
|
||||||
#include <tactility/bindings/root.h>
|
#include <tactility/bindings/root.h>
|
||||||
#include <bindings/mock_wifi.h>
|
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
model = "Simulator";
|
model = "Simulator";
|
||||||
compatible = "root";
|
compatible = "root";
|
||||||
|
|
||||||
wifi0 {
|
|
||||||
compatible = "mock,wifi";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|||||||
@ -199,6 +199,7 @@ Driver unphone_nav_buttons_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = nullptr,
|
.api = nullptr,
|
||||||
.device_type = nullptr,
|
.device_type = nullptr,
|
||||||
|
.owner = &unphone_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -76,6 +76,7 @@ Driver unphone_power_switch_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = nullptr,
|
.api = nullptr,
|
||||||
.device_type = nullptr,
|
.device_type = nullptr,
|
||||||
|
.owner = &unphone_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
## Higher Priority
|
## Higher Priority
|
||||||
|
|
||||||
- esp_lvgl_port settings has a large stack size (~9kB) to fix stackoverflow when LVGL events (e.g. button click) do actions like file operations do actions like file operations. Can we reduce the callstack?
|
- esp_lvgl_port settings has a large stack size (~9kB) to fix stackoverflow when LVGL events (e.g. button click) do actions like file operations do actions like file operations. Can we reduce the callstack?
|
||||||
- Improve posix support: use user home path and system /tmp folder.
|
- Improve posix support: use user home path and system /tmp folder. implement uart/i2c drivers properly.
|
||||||
- NimBLE looses pairing key after reboot
|
- NimBLE looses pairing key after reboot
|
||||||
- Pick different font to improve monochrome screen readability (or change the weight).
|
- Pick different font to improve monochrome screen readability (or change the weight).
|
||||||
- Drivers/audio-codec-module is not a module. Move it somewhere else. Or make it an actual module.
|
- Drivers/audio-codec-module is not a module. Move it somewhere else. Or make it an actual module.
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/ads1115.h>
|
#include <drivers/ads1115.h>
|
||||||
|
#include <ads1115_module.h>
|
||||||
|
|
||||||
#include <tactility/check.h>
|
#include <tactility/check.h>
|
||||||
#include <tactility/delay.h>
|
#include <tactility/delay.h>
|
||||||
@ -130,6 +131,7 @@ Driver ads1115_driver = {
|
|||||||
.probe = nullptr,
|
.probe = nullptr,
|
||||||
.api = &ADS1115_API,
|
.api = &ADS1115_API,
|
||||||
.device_type = &ADC_CONTROLLER_TYPE,
|
.device_type = &ADC_CONTROLLER_TYPE,
|
||||||
|
.owner = &ads1115_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -995,6 +995,7 @@ Driver audio_stream_driver = {
|
|||||||
.stop_device = stop_device,
|
.stop_device = stop_device,
|
||||||
.api = &API,
|
.api = &API,
|
||||||
.device_type = &AUDIO_STREAM_TYPE,
|
.device_type = &AUDIO_STREAM_TYPE,
|
||||||
|
.owner = nullptr,
|
||||||
.internal = nullptr,
|
.internal = nullptr,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -137,6 +137,7 @@ static Driver mock_codec_driver = {
|
|||||||
.stop_device = mock_stop,
|
.stop_device = mock_stop,
|
||||||
.api = &MOCK_API,
|
.api = &MOCK_API,
|
||||||
.device_type = &AUDIO_CODEC_TYPE,
|
.device_type = &AUDIO_CODEC_TYPE,
|
||||||
|
.owner = nullptr,
|
||||||
.internal = nullptr,
|
.internal = nullptr,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -356,6 +356,7 @@ Driver aw88298_driver = {
|
|||||||
.stop_device = stop_device,
|
.stop_device = stop_device,
|
||||||
.api = &API,
|
.api = &API,
|
||||||
.device_type = &AUDIO_CODEC_TYPE,
|
.device_type = &AUDIO_CODEC_TYPE,
|
||||||
|
.owner = nullptr,
|
||||||
.internal = nullptr,
|
.internal = nullptr,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/aw9523b.h>
|
#include <drivers/aw9523b.h>
|
||||||
|
#include <aw9523b_module.h>
|
||||||
|
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
#include <tactility/driver.h>
|
#include <tactility/driver.h>
|
||||||
@ -180,6 +181,7 @@ Driver aw9523b_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = static_cast<const void*>(&aw9523b_gpio_api),
|
.api = static_cast<const void*>(&aw9523b_gpio_api),
|
||||||
.device_type = &GPIO_CONTROLLER_TYPE,
|
.device_type = &GPIO_CONTROLLER_TYPE,
|
||||||
|
.owner = &aw9523b_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/axp192.h>
|
#include <drivers/axp192.h>
|
||||||
|
#include <axp192_module.h>
|
||||||
|
|
||||||
#include <tactility/check.h>
|
#include <tactility/check.h>
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
@ -40,6 +41,8 @@ static constexpr TickType_t TIMEOUT = pdMS_TO_TICKS(50);
|
|||||||
|
|
||||||
extern "C" {
|
extern "C" {
|
||||||
|
|
||||||
|
extern Module axp192_module;
|
||||||
|
|
||||||
// region Register helpers
|
// region Register helpers
|
||||||
|
|
||||||
/** Reads a 2-byte ADC register in AXP192's packed 12-bit format: raw = (high << 4) + low. */
|
/** Reads a 2-byte ADC register in AXP192's packed 12-bit format: raw = (high << 4) + low. */
|
||||||
@ -351,6 +354,7 @@ Driver axp192_power_supply_driver = {
|
|||||||
.stop_device = nullptr,
|
.stop_device = nullptr,
|
||||||
.api = &AXP192_POWER_SUPPLY_API,
|
.api = &AXP192_POWER_SUPPLY_API,
|
||||||
.device_type = &POWER_SUPPLY_TYPE,
|
.device_type = &POWER_SUPPLY_TYPE,
|
||||||
|
.owner = &axp192_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -498,6 +502,7 @@ Driver axp192_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = nullptr,
|
.api = nullptr,
|
||||||
.device_type = nullptr,
|
.device_type = nullptr,
|
||||||
|
.owner = &axp192_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/axp192_backlight.h>
|
#include <drivers/axp192_backlight.h>
|
||||||
|
#include <axp192_module.h>
|
||||||
|
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
#include <tactility/driver.h>
|
#include <tactility/driver.h>
|
||||||
@ -117,6 +118,7 @@ Driver axp192_backlight_driver = {
|
|||||||
.probe = nullptr,
|
.probe = nullptr,
|
||||||
.api = &AXP192_BACKLIGHT_API,
|
.api = &AXP192_BACKLIGHT_API,
|
||||||
.device_type = &BACKLIGHT_TYPE,
|
.device_type = &BACKLIGHT_TYPE,
|
||||||
|
.owner = &axp192_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/axp2101.h>
|
#include <drivers/axp2101.h>
|
||||||
|
#include <axp2101_module.h>
|
||||||
|
|
||||||
#include <tactility/check.h>
|
#include <tactility/check.h>
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
@ -37,6 +38,8 @@ static constexpr TickType_t TIMEOUT = pdMS_TO_TICKS(50);
|
|||||||
|
|
||||||
extern "C" {
|
extern "C" {
|
||||||
|
|
||||||
|
extern Module axp2101_module;
|
||||||
|
|
||||||
// region Voltage encoding
|
// region Voltage encoding
|
||||||
|
|
||||||
struct Axp2101VoltRange {
|
struct Axp2101VoltRange {
|
||||||
@ -461,6 +464,7 @@ Driver axp2101_power_supply_driver = {
|
|||||||
.stop_device = nullptr,
|
.stop_device = nullptr,
|
||||||
.api = &AXP2101_POWER_SUPPLY_API,
|
.api = &AXP2101_POWER_SUPPLY_API,
|
||||||
.device_type = &POWER_SUPPLY_TYPE,
|
.device_type = &POWER_SUPPLY_TYPE,
|
||||||
|
.owner = &axp2101_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -593,6 +597,7 @@ Driver axp2101_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = nullptr,
|
.api = nullptr,
|
||||||
.device_type = nullptr,
|
.device_type = nullptr,
|
||||||
|
.owner = &axp2101_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/axp2101_backlight.h>
|
#include <drivers/axp2101_backlight.h>
|
||||||
|
#include <axp2101_module.h>
|
||||||
|
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
#include <tactility/driver.h>
|
#include <tactility/driver.h>
|
||||||
@ -125,6 +126,7 @@ Driver axp2101_backlight_driver = {
|
|||||||
.probe = nullptr,
|
.probe = nullptr,
|
||||||
.api = &AXP2101_BACKLIGHT_API,
|
.api = &AXP2101_BACKLIGHT_API,
|
||||||
.device_type = &BACKLIGHT_TYPE,
|
.device_type = &BACKLIGHT_TYPE,
|
||||||
|
.owner = &axp2101_module,
|
||||||
.internal = nullptr,
|
.internal = nullptr,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,8 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/axs5106.h>
|
#include <drivers/axs5106.h>
|
||||||
|
|
||||||
|
#include <axs5106_module.h>
|
||||||
|
|
||||||
#include <tactility/check.h>
|
#include <tactility/check.h>
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
#include <tactility/driver.h>
|
#include <tactility/driver.h>
|
||||||
@ -233,5 +235,6 @@ Driver axs5106_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = &axs5106_pointer_api,
|
.api = &axs5106_pointer_api,
|
||||||
.device_type = &POINTER_TYPE,
|
.device_type = &POINTER_TYPE,
|
||||||
|
.owner = &axs5106_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/bm8563.h>
|
#include <drivers/bm8563.h>
|
||||||
|
#include <bm8563_module.h>
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
#include <tactility/drivers/i2c_controller.h>
|
#include <tactility/drivers/i2c_controller.h>
|
||||||
#include <tactility/log.h>
|
#include <tactility/log.h>
|
||||||
@ -115,6 +116,7 @@ Driver bm8563_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = &bm8563_rtc_api,
|
.api = &bm8563_rtc_api,
|
||||||
.device_type = &RTC_TYPE,
|
.device_type = &RTC_TYPE,
|
||||||
|
.owner = &bm8563_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/bmi270.h>
|
#include <drivers/bmi270.h>
|
||||||
|
#include <bmi270_module.h>
|
||||||
#include <drivers/bmi270_config_data.h>
|
#include <drivers/bmi270_config_data.h>
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
#include <tactility/drivers/i2c_controller.h>
|
#include <tactility/drivers/i2c_controller.h>
|
||||||
@ -233,6 +234,7 @@ Driver bmi270_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = &bmi270_imu_api,
|
.api = &bmi270_imu_api,
|
||||||
.device_type = &IMU_TYPE,
|
.device_type = &IMU_TYPE,
|
||||||
|
.owner = &bmi270_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/bq24295.h>
|
#include <drivers/bq24295.h>
|
||||||
|
#include <bq24295_module.h>
|
||||||
|
|
||||||
#include <tactility/check.h>
|
#include <tactility/check.h>
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
@ -26,6 +27,8 @@ static constexpr TickType_t TIMEOUT = pdMS_TO_TICKS(50);
|
|||||||
|
|
||||||
extern "C" {
|
extern "C" {
|
||||||
|
|
||||||
|
extern Module bq24295_module;
|
||||||
|
|
||||||
static error_t read_charge_termination(Device* device, uint8_t* out) {
|
static error_t read_charge_termination(Device* device, uint8_t* out) {
|
||||||
auto* parent = device_get_parent(device);
|
auto* parent = device_get_parent(device);
|
||||||
auto address = GET_CONFIG(device)->address;
|
auto address = GET_CONFIG(device)->address;
|
||||||
@ -175,6 +178,7 @@ Driver bq24295_power_supply_driver = {
|
|||||||
.stop_device = nullptr,
|
.stop_device = nullptr,
|
||||||
.api = &BQ24295_POWER_SUPPLY_API,
|
.api = &BQ24295_POWER_SUPPLY_API,
|
||||||
.device_type = &POWER_SUPPLY_TYPE,
|
.device_type = &POWER_SUPPLY_TYPE,
|
||||||
|
.owner = &bq24295_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -259,6 +263,7 @@ Driver bq24295_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = nullptr,
|
.api = nullptr,
|
||||||
.device_type = nullptr,
|
.device_type = nullptr,
|
||||||
|
.owner = &bq24295_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/bq25896.h>
|
#include <drivers/bq25896.h>
|
||||||
|
#include <bq25896_module.h>
|
||||||
|
|
||||||
#include <tactility/check.h>
|
#include <tactility/check.h>
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
@ -71,6 +72,7 @@ Driver bq25896_power_supply_driver = {
|
|||||||
.stop_device = nullptr,
|
.stop_device = nullptr,
|
||||||
.api = &BQ25896_POWER_SUPPLY_API,
|
.api = &BQ25896_POWER_SUPPLY_API,
|
||||||
.device_type = &POWER_SUPPLY_TYPE,
|
.device_type = &POWER_SUPPLY_TYPE,
|
||||||
|
.owner = &bq25896_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -164,6 +166,7 @@ Driver bq25896_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = nullptr,
|
.api = nullptr,
|
||||||
.device_type = nullptr,
|
.device_type = nullptr,
|
||||||
|
.owner = &bq25896_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/bq27220.h>
|
#include <drivers/bq27220.h>
|
||||||
|
#include <bq27220_module.h>
|
||||||
|
|
||||||
#include <tactility/check.h>
|
#include <tactility/check.h>
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
@ -117,6 +118,7 @@ Driver bq27220_power_supply_driver = {
|
|||||||
.stop_device = nullptr,
|
.stop_device = nullptr,
|
||||||
.api = &BQ27220_POWER_SUPPLY_API,
|
.api = &BQ27220_POWER_SUPPLY_API,
|
||||||
.device_type = &POWER_SUPPLY_TYPE,
|
.device_type = &POWER_SUPPLY_TYPE,
|
||||||
|
.owner = &bq27220_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -203,6 +205,7 @@ Driver bq27220_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = nullptr,
|
.api = nullptr,
|
||||||
.device_type = nullptr,
|
.device_type = nullptr,
|
||||||
|
.owner = &bq27220_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,8 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/button_control.h>
|
#include <drivers/button_control.h>
|
||||||
|
|
||||||
|
#include <button_control_module.h>
|
||||||
|
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
#include <tactility/driver.h>
|
#include <tactility/driver.h>
|
||||||
#include <tactility/drivers/gpio.h>
|
#include <tactility/drivers/gpio.h>
|
||||||
@ -215,5 +217,6 @@ Driver button_control_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = &button_control_api,
|
.api = &button_control_api,
|
||||||
.device_type = &KEYBOARD_TYPE,
|
.device_type = &KEYBOARD_TYPE,
|
||||||
|
.owner = &button_control_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/ch422g.h>
|
#include <drivers/ch422g.h>
|
||||||
|
#include <ch422g_module.h>
|
||||||
#include <tactility/check.h>
|
#include <tactility/check.h>
|
||||||
#include <tactility/concurrent/mutex.h>
|
#include <tactility/concurrent/mutex.h>
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
@ -155,6 +156,7 @@ Driver ch422g_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = static_cast<const void*>(&ch422g_gpio_api),
|
.api = static_cast<const void*>(&ch422g_gpio_api),
|
||||||
.device_type = &GPIO_CONTROLLER_TYPE,
|
.device_type = &GPIO_CONTROLLER_TYPE,
|
||||||
|
.owner = &ch422g_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,8 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/cst328.h>
|
#include <drivers/cst328.h>
|
||||||
|
|
||||||
|
#include <cst328_module.h>
|
||||||
|
|
||||||
#include <tactility/check.h>
|
#include <tactility/check.h>
|
||||||
#include <tactility/delay.h>
|
#include <tactility/delay.h>
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
@ -287,5 +289,6 @@ Driver cst328_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = &cst328_pointer_api,
|
.api = &cst328_pointer_api,
|
||||||
.device_type = &POINTER_TYPE,
|
.device_type = &POINTER_TYPE,
|
||||||
|
.owner = &cst328_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,6 +1,8 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/cst66xx.h>
|
#include <drivers/cst66xx.h>
|
||||||
|
|
||||||
|
#include <cst66xx_module.h>
|
||||||
|
|
||||||
#include <tactility/check.h>
|
#include <tactility/check.h>
|
||||||
#include <tactility/delay.h>
|
#include <tactility/delay.h>
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
@ -263,5 +265,6 @@ Driver cst66xx_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = &cst66xx_pointer_api,
|
.api = &cst66xx_pointer_api,
|
||||||
.device_type = &POINTER_TYPE,
|
.device_type = &POINTER_TYPE,
|
||||||
|
.owner = &cst66xx_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/cst816s.h>
|
#include <drivers/cst816s.h>
|
||||||
|
#include <cst816s_module.h>
|
||||||
|
|
||||||
#include <tactility/check.h>
|
#include <tactility/check.h>
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
@ -228,5 +229,6 @@ Driver cst816s_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = &cst816s_pointer_api,
|
.api = &cst816s_pointer_api,
|
||||||
.device_type = &POINTER_TYPE,
|
.device_type = &POINTER_TYPE,
|
||||||
|
.owner = &cst816s_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,6 +1,8 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/cst816t.h>
|
#include <drivers/cst816t.h>
|
||||||
|
|
||||||
|
#include <cst816t_module.h>
|
||||||
|
|
||||||
#include <tactility/check.h>
|
#include <tactility/check.h>
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
#include <tactility/driver.h>
|
#include <tactility/driver.h>
|
||||||
@ -245,5 +247,6 @@ Driver cst816t_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = &cst816t_pointer_api,
|
.api = &cst816t_pointer_api,
|
||||||
.device_type = &POINTER_TYPE,
|
.device_type = &POINTER_TYPE,
|
||||||
|
.owner = &cst816t_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/drv2605.h>
|
#include <drivers/drv2605.h>
|
||||||
|
#include <drv2605_module.h>
|
||||||
|
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
#include <tactility/driver.h>
|
#include <tactility/driver.h>
|
||||||
@ -143,6 +144,7 @@ Driver drv2605_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = &DRV2605_HAPTIC_API,
|
.api = &DRV2605_HAPTIC_API,
|
||||||
.device_type = &HAPTIC_TYPE,
|
.device_type = &HAPTIC_TYPE,
|
||||||
|
.owner = &drv2605_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -378,6 +378,7 @@ Driver dummy_i2s_amp_driver = {
|
|||||||
.stop_device = stop_device,
|
.stop_device = stop_device,
|
||||||
.api = &API,
|
.api = &API,
|
||||||
.device_type = &AUDIO_CODEC_TYPE,
|
.device_type = &AUDIO_CODEC_TYPE,
|
||||||
|
.owner = nullptr,
|
||||||
.internal = nullptr,
|
.internal = nullptr,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -428,6 +428,7 @@ Driver es7210_driver = {
|
|||||||
.stop_device = stop_device,
|
.stop_device = stop_device,
|
||||||
.api = &API,
|
.api = &API,
|
||||||
.device_type = &AUDIO_CODEC_TYPE,
|
.device_type = &AUDIO_CODEC_TYPE,
|
||||||
|
.owner = nullptr,
|
||||||
.internal = nullptr,
|
.internal = nullptr,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/es7243e.h>
|
#include <drivers/es7243e.h>
|
||||||
|
#include <es7243e_module.h>
|
||||||
|
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
#include <tactility/driver.h>
|
#include <tactility/driver.h>
|
||||||
@ -320,6 +321,7 @@ Driver es7243e_driver = {
|
|||||||
.probe = nullptr,
|
.probe = nullptr,
|
||||||
.api = &API,
|
.api = &API,
|
||||||
.device_type = &AUDIO_CODEC_TYPE,
|
.device_type = &AUDIO_CODEC_TYPE,
|
||||||
|
.owner = &es7243e_module,
|
||||||
.internal = nullptr,
|
.internal = nullptr,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -393,6 +393,7 @@ Driver es8311_driver = {
|
|||||||
.stop_device = stop_device,
|
.stop_device = stop_device,
|
||||||
.api = &API,
|
.api = &API,
|
||||||
.device_type = &AUDIO_CODEC_TYPE,
|
.device_type = &AUDIO_CODEC_TYPE,
|
||||||
|
.owner = nullptr,
|
||||||
.internal = nullptr,
|
.internal = nullptr,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -387,6 +387,7 @@ Driver es8388_driver = {
|
|||||||
.stop_device = stop_device,
|
.stop_device = stop_device,
|
||||||
.api = &API,
|
.api = &API,
|
||||||
.device_type = &AUDIO_CODEC_TYPE,
|
.device_type = &AUDIO_CODEC_TYPE,
|
||||||
|
.owner = nullptr,
|
||||||
.internal = nullptr,
|
.internal = nullptr,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/esp_epaper.h>
|
#include <drivers/esp_epaper.h>
|
||||||
|
#include <esp_epaper_module.h>
|
||||||
#include "esp_epaper_rotate.h"
|
#include "esp_epaper_rotate.h"
|
||||||
|
|
||||||
#include <tactility/check.h>
|
#include <tactility/check.h>
|
||||||
@ -427,5 +428,6 @@ Driver esp_epaper_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = &esp_epaper_display_api,
|
.api = &esp_epaper_display_api,
|
||||||
.device_type = &DISPLAY_TYPE,
|
.device_type = &DISPLAY_TYPE,
|
||||||
|
.owner = &esp_epaper_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|||||||
@ -456,6 +456,7 @@ Driver esp32_dac_speaker_driver = {
|
|||||||
.stop_device = stop_device,
|
.stop_device = stop_device,
|
||||||
.api = &API,
|
.api = &API,
|
||||||
.device_type = &AUDIO_CODEC_TYPE,
|
.device_type = &AUDIO_CODEC_TYPE,
|
||||||
|
.owner = nullptr,
|
||||||
.internal = nullptr,
|
.internal = nullptr,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
#include <tactility/driver.h>
|
#include <tactility/driver.h>
|
||||||
#include <tactility/log.h>
|
#include <tactility/log.h>
|
||||||
#include <tactility/module.h>
|
#include <tactility/module.h>
|
||||||
|
#include <esp32_led_strip_module.h>
|
||||||
#include <tactility/drivers/led_strip.h>
|
#include <tactility/drivers/led_strip.h>
|
||||||
#include <tactility/drivers/gpio.h>
|
#include <tactility/drivers/gpio.h>
|
||||||
|
|
||||||
@ -240,6 +241,8 @@ static constexpr LedStripApi LED_STRIP_API = {
|
|||||||
.get_length = esp32_led_strip_get_length,
|
.get_length = esp32_led_strip_get_length,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
extern Module esp32_led_strip_module;
|
||||||
|
|
||||||
Driver esp32_led_strip_driver = {
|
Driver esp32_led_strip_driver = {
|
||||||
.name = "esp32_led_strip",
|
.name = "esp32_led_strip",
|
||||||
.compatible = (const char*[]) { "espressif,esp32-led-strip", nullptr },
|
.compatible = (const char*[]) { "espressif,esp32-led-strip", nullptr },
|
||||||
@ -248,6 +251,7 @@ Driver esp32_led_strip_driver = {
|
|||||||
.probe = nullptr,
|
.probe = nullptr,
|
||||||
.api = &LED_STRIP_API,
|
.api = &LED_STRIP_API,
|
||||||
.device_type = &LED_STRIP_TYPE,
|
.device_type = &LED_STRIP_TYPE,
|
||||||
|
.owner = &esp32_led_strip_module,
|
||||||
.internal = nullptr,
|
.internal = nullptr,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/ft5x06.h>
|
#include <drivers/ft5x06.h>
|
||||||
|
#include <ft5x06_module.h>
|
||||||
|
|
||||||
#include <tactility/check.h>
|
#include <tactility/check.h>
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
@ -265,5 +266,6 @@ Driver ft5x06_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = &ft5x06_pointer_api,
|
.api = &ft5x06_pointer_api,
|
||||||
.device_type = &POINTER_TYPE,
|
.device_type = &POINTER_TYPE,
|
||||||
|
.owner = &ft5x06_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,6 +1,8 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/ft6x36.h>
|
#include <drivers/ft6x36.h>
|
||||||
|
|
||||||
|
#include <ft6x36_module.h>
|
||||||
|
|
||||||
#include <tactility/check.h>
|
#include <tactility/check.h>
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
#include <tactility/driver.h>
|
#include <tactility/driver.h>
|
||||||
@ -266,5 +268,6 @@ Driver ft6x36_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = &ft6x36_pointer_api,
|
.api = &ft6x36_pointer_api,
|
||||||
.device_type = &POINTER_TYPE,
|
.device_type = &POINTER_TYPE,
|
||||||
|
.owner = &ft6x36_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/gc0308.h>
|
#include <drivers/gc0308.h>
|
||||||
|
#include <gc0308_module.h>
|
||||||
|
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
#include <tactility/drivers/esp32_i2c_master.h>
|
#include <tactility/drivers/esp32_i2c_master.h>
|
||||||
@ -544,6 +545,7 @@ Driver gc0308_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = &gc0308_camera_api,
|
.api = &gc0308_camera_api,
|
||||||
.device_type = &CAMERA_TYPE,
|
.device_type = &CAMERA_TYPE,
|
||||||
|
.owner = &gc0308_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/gc9a01.h>
|
#include <drivers/gc9a01.h>
|
||||||
|
#include <gc9a01_module.h>
|
||||||
|
|
||||||
#include <tactility/check.h>
|
#include <tactility/check.h>
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
@ -357,5 +358,6 @@ Driver gc9a01_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = &gc9a01_display_api,
|
.api = &gc9a01_display_api,
|
||||||
.device_type = &DISPLAY_TYPE,
|
.device_type = &DISPLAY_TYPE,
|
||||||
|
.owner = &gc9a01_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/gdeq031t10.h>
|
#include <drivers/gdeq031t10.h>
|
||||||
|
#include <gdeq031t10_module.h>
|
||||||
|
|
||||||
#include <tactility/check.h>
|
#include <tactility/check.h>
|
||||||
#include <tactility/delay.h>
|
#include <tactility/delay.h>
|
||||||
@ -721,6 +722,7 @@ Driver gdeq031t10_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = &gdeq031t10_display_api,
|
.api = &gdeq031t10_display_api,
|
||||||
.device_type = &DISPLAY_TYPE,
|
.device_type = &DISPLAY_TYPE,
|
||||||
|
.owner = &gdeq031t10_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -321,6 +321,8 @@ static constexpr KeyboardApi GPIO_ENCODER_API = {
|
|||||||
.read_key = gpio_encoder_read_key,
|
.read_key = gpio_encoder_read_key,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
extern Module gpio_encoder_module;
|
||||||
|
|
||||||
Driver gpio_encoder_driver = {
|
Driver gpio_encoder_driver = {
|
||||||
.name = "gpio_encoder",
|
.name = "gpio_encoder",
|
||||||
.compatible = (const char*[]) { "tactility,gpio-encoder", nullptr },
|
.compatible = (const char*[]) { "tactility,gpio-encoder", nullptr },
|
||||||
@ -328,6 +330,7 @@ Driver gpio_encoder_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = &GPIO_ENCODER_API,
|
.api = &GPIO_ENCODER_API,
|
||||||
.device_type = &KEYBOARD_TYPE,
|
.device_type = &KEYBOARD_TYPE,
|
||||||
|
.owner = &gpio_encoder_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -167,6 +167,8 @@ static constexpr TrackballApi GPIO_TRACKBALL_API = {
|
|||||||
.get_button_pressed = get_button_pressed,
|
.get_button_pressed = get_button_pressed,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
extern Module gpio_trackball_module;
|
||||||
|
|
||||||
Driver gpio_trackball_driver = {
|
Driver gpio_trackball_driver = {
|
||||||
.name = "gpio_trackball",
|
.name = "gpio_trackball",
|
||||||
.compatible = (const char*[]) { "tactility,gpio-trackball", nullptr },
|
.compatible = (const char*[]) { "tactility,gpio-trackball", nullptr },
|
||||||
@ -174,6 +176,7 @@ Driver gpio_trackball_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = &GPIO_TRACKBALL_API,
|
.api = &GPIO_TRACKBALL_API,
|
||||||
.device_type = &TRACKBALL_TYPE,
|
.device_type = &TRACKBALL_TYPE,
|
||||||
|
.owner = &gpio_trackball_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -340,5 +340,6 @@ Driver meshtastic_gps_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = &generic_gps_api,
|
.api = &generic_gps_api,
|
||||||
.device_type = &GPS_TYPE,
|
.device_type = &GPS_TYPE,
|
||||||
|
.owner = &gps_meshtastic_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/gt911.h>
|
#include <drivers/gt911.h>
|
||||||
|
#include <gt911_module.h>
|
||||||
|
|
||||||
#include <tactility/check.h>
|
#include <tactility/check.h>
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
@ -379,5 +380,6 @@ Driver gt911_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = >911_pointer_api,
|
.api = >911_pointer_api,
|
||||||
.device_type = &POINTER_TYPE,
|
.device_type = &POINTER_TYPE,
|
||||||
|
.owner = >911_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/hx8357.h>
|
#include <drivers/hx8357.h>
|
||||||
|
#include <hx8357_module.h>
|
||||||
|
|
||||||
#include <tactility/check.h>
|
#include <tactility/check.h>
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
@ -466,5 +467,6 @@ Driver hx8357_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = &hx8357_display_api,
|
.api = &hx8357_display_api,
|
||||||
.device_type = &DISPLAY_TYPE,
|
.device_type = &DISPLAY_TYPE,
|
||||||
|
.owner = &hx8357_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/ili9341.h>
|
#include <drivers/ili9341.h>
|
||||||
|
#include <ili9341_module.h>
|
||||||
|
|
||||||
#include <tactility/check.h>
|
#include <tactility/check.h>
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
@ -456,5 +457,6 @@ Driver ili9341_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = &ili9341_display_api,
|
.api = &ili9341_display_api,
|
||||||
.device_type = &DISPLAY_TYPE,
|
.device_type = &DISPLAY_TYPE,
|
||||||
|
.owner = &ili9341_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/ili9488.h>
|
#include <drivers/ili9488.h>
|
||||||
|
#include <ili9488_module.h>
|
||||||
|
|
||||||
#include <tactility/check.h>
|
#include <tactility/check.h>
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
@ -381,5 +382,6 @@ Driver ili9488_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = &ili9488_display_api,
|
.api = &ili9488_display_api,
|
||||||
.device_type = &DISPLAY_TYPE,
|
.device_type = &DISPLAY_TYPE,
|
||||||
|
.owner = &ili9488_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
#if SOC_MIPI_DSI_SUPPORTED
|
#if SOC_MIPI_DSI_SUPPORTED
|
||||||
|
|
||||||
#include <drivers/ili9881c.h>
|
#include <drivers/ili9881c.h>
|
||||||
|
#include <ili9881c_module.h>
|
||||||
|
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
#include <tactility/driver.h>
|
#include <tactility/driver.h>
|
||||||
@ -593,6 +594,7 @@ Driver ili9881c_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = &ili9881c_display_api,
|
.api = &ili9881c_display_api,
|
||||||
.device_type = &DISPLAY_TYPE,
|
.device_type = &DISPLAY_TYPE,
|
||||||
|
.owner = &ili9881c_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/ina226.h>
|
#include <drivers/ina226.h>
|
||||||
|
#include <ina226_module.h>
|
||||||
#include <tactility/check.h>
|
#include <tactility/check.h>
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
#include <tactility/drivers/i2c_controller.h>
|
#include <tactility/drivers/i2c_controller.h>
|
||||||
@ -107,6 +108,7 @@ Driver ina226_power_supply_driver = {
|
|||||||
.stop_device = nullptr,
|
.stop_device = nullptr,
|
||||||
.api = &INA226_POWER_SUPPLY_API,
|
.api = &INA226_POWER_SUPPLY_API,
|
||||||
.device_type = &POWER_SUPPLY_TYPE,
|
.device_type = &POWER_SUPPLY_TYPE,
|
||||||
|
.owner = &ina226_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -278,6 +280,7 @@ Driver ina226_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = nullptr,
|
.api = nullptr,
|
||||||
.device_type = nullptr,
|
.device_type = nullptr,
|
||||||
|
.owner = &ina226_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
#if SOC_MIPI_DSI_SUPPORTED
|
#if SOC_MIPI_DSI_SUPPORTED
|
||||||
|
|
||||||
#include <drivers/jd9165.h>
|
#include <drivers/jd9165.h>
|
||||||
|
#include <jd9165_module.h>
|
||||||
|
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
#include <tactility/driver.h>
|
#include <tactility/driver.h>
|
||||||
@ -526,6 +527,7 @@ Driver jd9165_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = &jd9165_display_api,
|
.api = &jd9165_display_api,
|
||||||
.device_type = &DISPLAY_TYPE,
|
.device_type = &DISPLAY_TYPE,
|
||||||
|
.owner = &jd9165_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/jd9853.h>
|
#include <drivers/jd9853.h>
|
||||||
|
#include <jd9853_module.h>
|
||||||
|
|
||||||
#include <tactility/check.h>
|
#include <tactility/check.h>
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
@ -370,5 +371,6 @@ Driver jd9853_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = &jd9853_display_api,
|
.api = &jd9853_display_api,
|
||||||
.device_type = &DISPLAY_TYPE,
|
.device_type = &DISPLAY_TYPE,
|
||||||
|
.owner = &jd9853_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|||||||
@ -87,6 +87,8 @@ static const KeyboardApi tdeck_keyboard_api = {
|
|||||||
.read_key = tdeck_keyboard_read_key,
|
.read_key = tdeck_keyboard_read_key,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
extern Module lilygo_module;
|
||||||
|
|
||||||
Driver tdeck_keyboard_driver = {
|
Driver tdeck_keyboard_driver = {
|
||||||
.name = "tdeck_keyboard",
|
.name = "tdeck_keyboard",
|
||||||
.compatible = (const char*[]) { "lilygo,tdeck-keyboard", nullptr },
|
.compatible = (const char*[]) { "lilygo,tdeck-keyboard", nullptr },
|
||||||
@ -94,5 +96,6 @@ Driver tdeck_keyboard_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = &tdeck_keyboard_api,
|
.api = &tdeck_keyboard_api,
|
||||||
.device_type = &KEYBOARD_TYPE,
|
.device_type = &KEYBOARD_TYPE,
|
||||||
|
.owner = &lilygo_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|||||||
@ -98,6 +98,8 @@ static const BacklightApi tdeck_keyboard_backlight_api = {
|
|||||||
.get_max_brightness = nullptr,
|
.get_max_brightness = nullptr,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
extern struct Module lilygo_module;
|
||||||
|
|
||||||
Driver tdeck_keyboard_backlight_driver = {
|
Driver tdeck_keyboard_backlight_driver = {
|
||||||
.name = "tdeck_keyboard_backlight",
|
.name = "tdeck_keyboard_backlight",
|
||||||
.compatible = (const char*[]) { "lilygo,tdeck-keyboard-backlight", nullptr },
|
.compatible = (const char*[]) { "lilygo,tdeck-keyboard-backlight", nullptr },
|
||||||
@ -106,5 +108,6 @@ Driver tdeck_keyboard_backlight_driver = {
|
|||||||
.probe = nullptr,
|
.probe = nullptr,
|
||||||
.api = &tdeck_keyboard_backlight_api,
|
.api = &tdeck_keyboard_backlight_api,
|
||||||
.device_type = &BACKLIGHT_TYPE,
|
.device_type = &BACKLIGHT_TYPE,
|
||||||
|
.owner = &lilygo_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/t5s3_display.h>
|
#include <drivers/t5s3_display.h>
|
||||||
|
#include <lilygo_t5s3_epd_module.h>
|
||||||
|
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
#include <tactility/driver.h>
|
#include <tactility/driver.h>
|
||||||
@ -301,6 +302,7 @@ Driver t5s3_display_driver = {
|
|||||||
.probe = nullptr,
|
.probe = nullptr,
|
||||||
.api = &t5s3_display_api,
|
.api = &t5s3_display_api,
|
||||||
.device_type = &DISPLAY_TYPE,
|
.device_type = &DISPLAY_TYPE,
|
||||||
|
.owner = &lilygo_t5s3_epd_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/lp5814.h>
|
#include <drivers/lp5814.h>
|
||||||
|
#include <lp5814_module.h>
|
||||||
|
|
||||||
#include <tactility/check.h>
|
#include <tactility/check.h>
|
||||||
#include <tactility/delay.h>
|
#include <tactility/delay.h>
|
||||||
@ -149,6 +150,7 @@ Driver lp5814_driver = {
|
|||||||
.probe = nullptr,
|
.probe = nullptr,
|
||||||
.api = &LP5814_BACKLIGHT_API,
|
.api = &LP5814_BACKLIGHT_API,
|
||||||
.device_type = &BACKLIGHT_TYPE,
|
.device_type = &BACKLIGHT_TYPE,
|
||||||
|
.owner = &lp5814_module,
|
||||||
.internal = nullptr,
|
.internal = nullptr,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/m5pm1.h>
|
#include <drivers/m5pm1.h>
|
||||||
|
#include <m5pm1_module.h>
|
||||||
#include <tactility/check.h>
|
#include <tactility/check.h>
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
#include <tactility/driver.h>
|
#include <tactility/driver.h>
|
||||||
@ -137,6 +138,7 @@ Driver m5pm1_power_supply_driver = {
|
|||||||
.stop_device = nullptr,
|
.stop_device = nullptr,
|
||||||
.api = &M5PM1_POWER_SUPPLY_API,
|
.api = &M5PM1_POWER_SUPPLY_API,
|
||||||
.device_type = &POWER_SUPPLY_TYPE,
|
.device_type = &POWER_SUPPLY_TYPE,
|
||||||
|
.owner = &m5pm1_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -466,6 +468,7 @@ Driver m5pm1_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = nullptr,
|
.api = nullptr,
|
||||||
.device_type = nullptr,
|
.device_type = nullptr,
|
||||||
|
.owner = &m5pm1_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -4,6 +4,7 @@
|
|||||||
// Drivers/TCA8418/Source/Tca8418.cpp (itself ported from
|
// Drivers/TCA8418/Source/Tca8418.cpp (itself ported from
|
||||||
// https://github.com/adafruit/Adafruit_TCA8418, MIT licensed).
|
// https://github.com/adafruit/Adafruit_TCA8418, MIT licensed).
|
||||||
#include <drivers/cardputer_adv_keyboard.h>
|
#include <drivers/cardputer_adv_keyboard.h>
|
||||||
|
#include <m5stack_module.h>
|
||||||
|
|
||||||
#include <tactility/check.h>
|
#include <tactility/check.h>
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
@ -275,5 +276,6 @@ Driver cardputer_adv_keyboard_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = &cardputer_adv_keyboard_api,
|
.api = &cardputer_adv_keyboard_api,
|
||||||
.device_type = &KEYBOARD_TYPE,
|
.device_type = &KEYBOARD_TYPE,
|
||||||
|
.owner = &m5stack_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|||||||
@ -3,6 +3,8 @@
|
|||||||
// https://github.com/m5stack/M5Cardputer-UserDemo/tree/main/main/hal/keyboard (MIT licensed).
|
// https://github.com/m5stack/M5Cardputer-UserDemo/tree/main/main/hal/keyboard (MIT licensed).
|
||||||
#include <drivers/cardputer_keyboard.h>
|
#include <drivers/cardputer_keyboard.h>
|
||||||
|
|
||||||
|
#include <m5stack_module.h>
|
||||||
|
|
||||||
#include <tactility/check.h>
|
#include <tactility/check.h>
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
#include <tactility/driver.h>
|
#include <tactility/driver.h>
|
||||||
@ -306,5 +308,6 @@ Driver cardputer_keyboard_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = &cardputer_keyboard_api,
|
.api = &cardputer_keyboard_api,
|
||||||
.device_type = &KEYBOARD_TYPE,
|
.device_type = &KEYBOARD_TYPE,
|
||||||
|
.owner = &m5stack_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,11 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 3.20)
|
|
||||||
|
|
||||||
include("${CMAKE_CURRENT_LIST_DIR}/../../Buildscripts/module.cmake")
|
|
||||||
|
|
||||||
file(GLOB_RECURSE SOURCE_FILES "source/*.c*")
|
|
||||||
|
|
||||||
tactility_add_module(mock-drivers-module
|
|
||||||
SRCS ${SOURCE_FILES}
|
|
||||||
INCLUDE_DIRS include/
|
|
||||||
REQUIRES TactilityKernel
|
|
||||||
)
|
|
||||||
@ -1,195 +0,0 @@
|
|||||||
Apache License
|
|
||||||
==============
|
|
||||||
|
|
||||||
_Version 2.0, January 2004_
|
|
||||||
_<<http://www.apache.org/licenses/>>_
|
|
||||||
|
|
||||||
### Terms and Conditions for use, reproduction, and distribution
|
|
||||||
|
|
||||||
#### 1. Definitions
|
|
||||||
|
|
||||||
“License” shall mean the terms and conditions for use, reproduction, and
|
|
||||||
distribution as defined by Sections 1 through 9 of this document.
|
|
||||||
|
|
||||||
“Licensor” shall mean the copyright owner or entity authorized by the copyright
|
|
||||||
owner that is granting the License.
|
|
||||||
|
|
||||||
“Legal Entity” shall mean the union of the acting entity and all other entities
|
|
||||||
that control, are controlled by, or are under common control with that entity.
|
|
||||||
For the purposes of this definition, “control” means **(i)** the power, direct or
|
|
||||||
indirect, to cause the direction or management of such entity, whether by
|
|
||||||
contract or otherwise, or **(ii)** ownership of fifty percent (50%) or more of the
|
|
||||||
outstanding shares, or **(iii)** beneficial ownership of such entity.
|
|
||||||
|
|
||||||
“You” (or “Your”) shall mean an individual or Legal Entity exercising
|
|
||||||
permissions granted by this License.
|
|
||||||
|
|
||||||
“Source” form shall mean the preferred form for making modifications, including
|
|
||||||
but not limited to software source code, documentation source, and configuration
|
|
||||||
files.
|
|
||||||
|
|
||||||
“Object” form shall mean any form resulting from mechanical transformation or
|
|
||||||
translation of a Source form, including but not limited to compiled object code,
|
|
||||||
generated documentation, and conversions to other media types.
|
|
||||||
|
|
||||||
“Work” shall mean the work of authorship, whether in Source or Object form, made
|
|
||||||
available under the License, as indicated by a copyright notice that is included
|
|
||||||
in or attached to the work (an example is provided in the Appendix below).
|
|
||||||
|
|
||||||
“Derivative Works” shall mean any work, whether in Source or Object form, that
|
|
||||||
is based on (or derived from) the Work and for which the editorial revisions,
|
|
||||||
annotations, elaborations, or other modifications represent, as a whole, an
|
|
||||||
original work of authorship. For the purposes of this License, Derivative Works
|
|
||||||
shall not include works that remain separable from, or merely link (or bind by
|
|
||||||
name) to the interfaces of, the Work and Derivative Works thereof.
|
|
||||||
|
|
||||||
“Contribution” shall mean any work of authorship, including the original version
|
|
||||||
of the Work and any modifications or additions to that Work or Derivative Works
|
|
||||||
thereof, that is intentionally submitted to Licensor for inclusion in the Work
|
|
||||||
by the copyright owner or by an individual or Legal Entity authorized to submit
|
|
||||||
on behalf of the copyright owner. For the purposes of this definition,
|
|
||||||
“submitted” means any form of electronic, verbal, or written communication sent
|
|
||||||
to the Licensor or its representatives, including but not limited to
|
|
||||||
communication on electronic mailing lists, source code control systems, and
|
|
||||||
issue tracking systems that are managed by, or on behalf of, the Licensor for
|
|
||||||
the purpose of discussing and improving the Work, but excluding communication
|
|
||||||
that is conspicuously marked or otherwise designated in writing by the copyright
|
|
||||||
owner as “Not a Contribution.”
|
|
||||||
|
|
||||||
“Contributor” shall mean Licensor and any individual or Legal Entity on behalf
|
|
||||||
of whom a Contribution has been received by Licensor and subsequently
|
|
||||||
incorporated within the Work.
|
|
||||||
|
|
||||||
#### 2. Grant of Copyright License
|
|
||||||
|
|
||||||
Subject to the terms and conditions of this License, each Contributor hereby
|
|
||||||
grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
|
|
||||||
irrevocable copyright license to reproduce, prepare Derivative Works of,
|
|
||||||
publicly display, publicly perform, sublicense, and distribute the Work and such
|
|
||||||
Derivative Works in Source or Object form.
|
|
||||||
|
|
||||||
#### 3. Grant of Patent License
|
|
||||||
|
|
||||||
Subject to the terms and conditions of this License, each Contributor hereby
|
|
||||||
grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
|
|
||||||
irrevocable (except as stated in this section) patent license to make, have
|
|
||||||
made, use, offer to sell, sell, import, and otherwise transfer the Work, where
|
|
||||||
such license applies only to those patent claims licensable by such Contributor
|
|
||||||
that are necessarily infringed by their Contribution(s) alone or by combination
|
|
||||||
of their Contribution(s) with the Work to which such Contribution(s) was
|
|
||||||
submitted. If You institute patent litigation against any entity (including a
|
|
||||||
cross-claim or counterclaim in a lawsuit) alleging that the Work or a
|
|
||||||
Contribution incorporated within the Work constitutes direct or contributory
|
|
||||||
patent infringement, then any patent licenses granted to You under this License
|
|
||||||
for that Work shall terminate as of the date such litigation is filed.
|
|
||||||
|
|
||||||
#### 4. Redistribution
|
|
||||||
|
|
||||||
You may reproduce and distribute copies of the Work or Derivative Works thereof
|
|
||||||
in any medium, with or without modifications, and in Source or Object form,
|
|
||||||
provided that You meet the following conditions:
|
|
||||||
|
|
||||||
* **(a)** You must give any other recipients of the Work or Derivative Works a copy of
|
|
||||||
this License; and
|
|
||||||
* **(b)** You must cause any modified files to carry prominent notices stating that You
|
|
||||||
changed the files; and
|
|
||||||
* **(c)** You must retain, in the Source form of any Derivative Works that You distribute,
|
|
||||||
all copyright, patent, trademark, and attribution notices from the Source form
|
|
||||||
of the Work, excluding those notices that do not pertain to any part of the
|
|
||||||
Derivative Works; and
|
|
||||||
* **(d)** If the Work includes a “NOTICE” text file as part of its distribution, then any
|
|
||||||
Derivative Works that You distribute must include a readable copy of the
|
|
||||||
attribution notices contained within such NOTICE file, excluding those notices
|
|
||||||
that do not pertain to any part of the Derivative Works, in at least one of the
|
|
||||||
following places: within a NOTICE text file distributed as part of the
|
|
||||||
Derivative Works; within the Source form or documentation, if provided along
|
|
||||||
with the Derivative Works; or, within a display generated by the Derivative
|
|
||||||
Works, if and wherever such third-party notices normally appear. The contents of
|
|
||||||
the NOTICE file are for informational purposes only and do not modify the
|
|
||||||
License. You may add Your own attribution notices within Derivative Works that
|
|
||||||
You distribute, alongside or as an addendum to the NOTICE text from the Work,
|
|
||||||
provided that such additional attribution notices cannot be construed as
|
|
||||||
modifying the License.
|
|
||||||
|
|
||||||
You may add Your own copyright statement to Your modifications and may provide
|
|
||||||
additional or different license terms and conditions for use, reproduction, or
|
|
||||||
distribution of Your modifications, or for any such Derivative Works as a whole,
|
|
||||||
provided Your use, reproduction, and distribution of the Work otherwise complies
|
|
||||||
with the conditions stated in this License.
|
|
||||||
|
|
||||||
#### 5. Submission of Contributions
|
|
||||||
|
|
||||||
Unless You explicitly state otherwise, any Contribution intentionally submitted
|
|
||||||
for inclusion in the Work by You to the Licensor shall be under the terms and
|
|
||||||
conditions of this License, without any additional terms or conditions.
|
|
||||||
Notwithstanding the above, nothing herein shall supersede or modify the terms of
|
|
||||||
any separate license agreement you may have executed with Licensor regarding
|
|
||||||
such Contributions.
|
|
||||||
|
|
||||||
#### 6. Trademarks
|
|
||||||
|
|
||||||
This License does not grant permission to use the trade names, trademarks,
|
|
||||||
service marks, or product names of the Licensor, except as required for
|
|
||||||
reasonable and customary use in describing the origin of the Work and
|
|
||||||
reproducing the content of the NOTICE file.
|
|
||||||
|
|
||||||
#### 7. Disclaimer of Warranty
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, Licensor provides the
|
|
||||||
Work (and each Contributor provides its Contributions) on an “AS IS” BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied,
|
|
||||||
including, without limitation, any warranties or conditions of TITLE,
|
|
||||||
NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are
|
|
||||||
solely responsible for determining the appropriateness of using or
|
|
||||||
redistributing the Work and assume any risks associated with Your exercise of
|
|
||||||
permissions under this License.
|
|
||||||
|
|
||||||
#### 8. Limitation of Liability
|
|
||||||
|
|
||||||
In no event and under no legal theory, whether in tort (including negligence),
|
|
||||||
contract, or otherwise, unless required by applicable law (such as deliberate
|
|
||||||
and grossly negligent acts) or agreed to in writing, shall any Contributor be
|
|
||||||
liable to You for damages, including any direct, indirect, special, incidental,
|
|
||||||
or consequential damages of any character arising as a result of this License or
|
|
||||||
out of the use or inability to use the Work (including but not limited to
|
|
||||||
damages for loss of goodwill, work stoppage, computer failure or malfunction, or
|
|
||||||
any and all other commercial damages or losses), even if such Contributor has
|
|
||||||
been advised of the possibility of such damages.
|
|
||||||
|
|
||||||
#### 9. Accepting Warranty or Additional Liability
|
|
||||||
|
|
||||||
While redistributing the Work or Derivative Works thereof, You may choose to
|
|
||||||
offer, and charge a fee for, acceptance of support, warranty, indemnity, or
|
|
||||||
other liability obligations and/or rights consistent with this License. However,
|
|
||||||
in accepting such obligations, You may act only on Your own behalf and on Your
|
|
||||||
sole responsibility, not on behalf of any other Contributor, and only if You
|
|
||||||
agree to indemnify, defend, and hold each Contributor harmless for any liability
|
|
||||||
incurred by, or claims asserted against, such Contributor by reason of your
|
|
||||||
accepting any such warranty or additional liability.
|
|
||||||
|
|
||||||
_END OF TERMS AND CONDITIONS_
|
|
||||||
|
|
||||||
### APPENDIX: How to apply the Apache License to your work
|
|
||||||
|
|
||||||
To apply the Apache License to your work, attach the following boilerplate
|
|
||||||
notice, with the fields enclosed by brackets `[]` replaced with your own
|
|
||||||
identifying information. (Don't include the brackets!) The text should be
|
|
||||||
enclosed in the appropriate comment syntax for the file format. We also
|
|
||||||
recommend that a file or class name and description of purpose be included on
|
|
||||||
the same “printed page” as the copyright notice for easier identification within
|
|
||||||
third-party archives.
|
|
||||||
|
|
||||||
Copyright [yyyy] [name of copyright owner]
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
|
|
||||||
@ -1,8 +0,0 @@
|
|||||||
description: Mock WiFi driver with a fixed list of access points
|
|
||||||
|
|
||||||
compatible: "mock,wifi"
|
|
||||||
|
|
||||||
properties:
|
|
||||||
_unused:
|
|
||||||
type: int
|
|
||||||
default: 0
|
|
||||||
@ -1,7 +0,0 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include <tactility/bindings/bindings.h>
|
|
||||||
#include <mock/mock_wifi.h>
|
|
||||||
|
|
||||||
DEFINE_DEVICETREE(wifi, struct MockWifiConfig)
|
|
||||||
@ -1,14 +0,0 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
struct MockWifiConfig {
|
|
||||||
int _unused;
|
|
||||||
};
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
@ -1,14 +0,0 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include <tactility/module.h>
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
extern struct Module mock_drivers_module;
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
@ -1,3 +0,0 @@
|
|||||||
dependencies:
|
|
||||||
- TactilityKernel
|
|
||||||
bindings: bindings
|
|
||||||
@ -1,23 +0,0 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
|
||||||
#include <tactility/driver.h>
|
|
||||||
#include <tactility/module.h>
|
|
||||||
|
|
||||||
extern "C" {
|
|
||||||
|
|
||||||
extern Driver mock_wifi_driver;
|
|
||||||
|
|
||||||
static Driver* const mock_drivers[] = {
|
|
||||||
&mock_wifi_driver,
|
|
||||||
nullptr
|
|
||||||
};
|
|
||||||
|
|
||||||
Module mock_drivers_module = {
|
|
||||||
.name = "mock-drivers",
|
|
||||||
.start = nullptr,
|
|
||||||
.stop = nullptr,
|
|
||||||
.drivers = mock_drivers,
|
|
||||||
.symbols = nullptr,
|
|
||||||
.internal = nullptr
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -1,5 +1,6 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/mpu6886.h>
|
#include <drivers/mpu6886.h>
|
||||||
|
#include <mpu6886_module.h>
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
#include <tactility/drivers/i2c_controller.h>
|
#include <tactility/drivers/i2c_controller.h>
|
||||||
#include <tactility/log.h>
|
#include <tactility/log.h>
|
||||||
@ -206,6 +207,7 @@ Driver mpu6886_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = &mpu6886_imu_api,
|
.api = &mpu6886_imu_api,
|
||||||
.device_type = &IMU_TYPE,
|
.device_type = &IMU_TYPE,
|
||||||
|
.owner = &mpu6886_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/nv3031b.h>
|
#include <drivers/nv3031b.h>
|
||||||
|
#include <nv3031b_module.h>
|
||||||
|
|
||||||
#include <tactility/check.h>
|
#include <tactility/check.h>
|
||||||
#include <tactility/delay.h>
|
#include <tactility/delay.h>
|
||||||
@ -373,5 +374,6 @@ Driver nv3031b_driver = {
|
|||||||
.probe = nullptr,
|
.probe = nullptr,
|
||||||
.api = &nv3031b_display_api,
|
.api = &nv3031b_display_api,
|
||||||
.device_type = &DISPLAY_TYPE,
|
.device_type = &DISPLAY_TYPE,
|
||||||
|
.owner = &nv3031b_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|||||||
@ -330,6 +330,7 @@ Driver pdm_mic_driver = {
|
|||||||
.stop_device = stop_device,
|
.stop_device = stop_device,
|
||||||
.api = &API,
|
.api = &API,
|
||||||
.device_type = &AUDIO_CODEC_TYPE,
|
.device_type = &AUDIO_CODEC_TYPE,
|
||||||
|
.owner = nullptr,
|
||||||
.internal = nullptr,
|
.internal = nullptr,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/pi4ioe5v6408.h>
|
#include <drivers/pi4ioe5v6408.h>
|
||||||
|
#include <pi4ioe5v6408_module.h>
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
#include <tactility/driver.h>
|
#include <tactility/driver.h>
|
||||||
#include <tactility/drivers/gpio_controller.h>
|
#include <tactility/drivers/gpio_controller.h>
|
||||||
@ -209,6 +210,7 @@ Driver pi4ioe5v6408_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = static_cast<const void*>(&pi4_gpio_api),
|
.api = static_cast<const void*>(&pi4_gpio_api),
|
||||||
.device_type = &GPIO_CONTROLLER_TYPE,
|
.device_type = &GPIO_CONTROLLER_TYPE,
|
||||||
|
.owner = &pi4ioe5v6408_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
// Reference: https://github.com/m5stack/StackChan/tree/main/firmware/main/hal/drivers/PY32IOExpander_Class
|
// Reference: https://github.com/m5stack/StackChan/tree/main/firmware/main/hal/drivers/PY32IOExpander_Class
|
||||||
#include <drivers/py32ioexpander.h>
|
#include <drivers/py32ioexpander.h>
|
||||||
|
#include <py32ioexpander_module.h>
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
#include <tactility/drivers/i2c_controller.h>
|
#include <tactility/drivers/i2c_controller.h>
|
||||||
#include <tactility/log.h>
|
#include <tactility/log.h>
|
||||||
@ -146,6 +147,7 @@ Driver py32ioexpander_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = nullptr,
|
.api = nullptr,
|
||||||
.device_type = nullptr,
|
.device_type = nullptr,
|
||||||
|
.owner = &py32ioexpander_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/qmi8658.h>
|
#include <drivers/qmi8658.h>
|
||||||
|
#include <qmi8658_module.h>
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
#include <tactility/drivers/i2c_controller.h>
|
#include <tactility/drivers/i2c_controller.h>
|
||||||
#include <tactility/log.h>
|
#include <tactility/log.h>
|
||||||
@ -174,6 +175,7 @@ Driver qmi8658_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = &qmi8658_imu_api,
|
.api = &qmi8658_imu_api,
|
||||||
.device_type = &IMU_TYPE,
|
.device_type = &IMU_TYPE,
|
||||||
|
.owner = &qmi8658_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
#if SOC_LCD_RGB_SUPPORTED
|
#if SOC_LCD_RGB_SUPPORTED
|
||||||
|
|
||||||
#include <drivers/rgb_display.h>
|
#include <drivers/rgb_display.h>
|
||||||
|
#include <rgb_display_module.h>
|
||||||
#include <drivers/software_pixel_mapper.h>
|
#include <drivers/software_pixel_mapper.h>
|
||||||
|
|
||||||
#include <tactility/delay.h>
|
#include <tactility/delay.h>
|
||||||
@ -507,6 +508,7 @@ Driver rgb_display_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = &rgb_display_api,
|
.api = &rgb_display_api,
|
||||||
.device_type = &DISPLAY_TYPE,
|
.device_type = &DISPLAY_TYPE,
|
||||||
|
.owner = &rgb_display_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/rx8130ce.h>
|
#include <drivers/rx8130ce.h>
|
||||||
|
#include <rx8130ce_module.h>
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
#include <tactility/drivers/i2c_controller.h>
|
#include <tactility/drivers/i2c_controller.h>
|
||||||
#include <tactility/log.h>
|
#include <tactility/log.h>
|
||||||
@ -162,6 +163,7 @@ Driver rx8130ce_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = &rx8130ce_rtc_api,
|
.api = &rx8130ce_rtc_api,
|
||||||
.device_type = &RTC_TYPE,
|
.device_type = &RTC_TYPE,
|
||||||
|
.owner = &rx8130ce_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/sc2356.h>
|
#include <drivers/sc2356.h>
|
||||||
|
#include <sc2356_module.h>
|
||||||
|
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
#include <tactility/drivers/esp32_i2c_master.h>
|
#include <tactility/drivers/esp32_i2c_master.h>
|
||||||
@ -595,6 +596,7 @@ Driver sc2356_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = &sc2356_camera_api,
|
.api = &sc2356_camera_api,
|
||||||
.device_type = &CAMERA_TYPE,
|
.device_type = &CAMERA_TYPE,
|
||||||
|
.owner = &sc2356_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/ssd1306.h>
|
#include <drivers/ssd1306.h>
|
||||||
|
#include <ssd1306_module.h>
|
||||||
|
|
||||||
#include <tactility/check.h>
|
#include <tactility/check.h>
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
@ -345,5 +346,6 @@ Driver ssd1306_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = &ssd1306_display_api,
|
.api = &ssd1306_display_api,
|
||||||
.device_type = &DISPLAY_TYPE,
|
.device_type = &DISPLAY_TYPE,
|
||||||
|
.owner = &ssd1306_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
#if SOC_MIPI_DSI_SUPPORTED
|
#if SOC_MIPI_DSI_SUPPORTED
|
||||||
|
|
||||||
#include <drivers/st7121.h>
|
#include <drivers/st7121.h>
|
||||||
|
#include <st7121_module.h>
|
||||||
|
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
#include <tactility/driver.h>
|
#include <tactility/driver.h>
|
||||||
@ -592,6 +593,7 @@ Driver st7121_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = &st7121_display_api,
|
.api = &st7121_display_api,
|
||||||
.device_type = &DISPLAY_TYPE,
|
.device_type = &DISPLAY_TYPE,
|
||||||
|
.owner = &st7121_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
#if SOC_MIPI_DSI_SUPPORTED
|
#if SOC_MIPI_DSI_SUPPORTED
|
||||||
|
|
||||||
#include <drivers/st7123.h>
|
#include <drivers/st7123.h>
|
||||||
|
#include <st7123_module.h>
|
||||||
|
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
#include <tactility/driver.h>
|
#include <tactility/driver.h>
|
||||||
@ -592,6 +593,7 @@ Driver st7123_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = &st7123_display_api,
|
.api = &st7123_display_api,
|
||||||
.device_type = &DISPLAY_TYPE,
|
.device_type = &DISPLAY_TYPE,
|
||||||
|
.owner = &st7123_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/st7123_touch.h>
|
#include <drivers/st7123_touch.h>
|
||||||
|
#include <st7123_module.h>
|
||||||
|
|
||||||
#include <tactility/check.h>
|
#include <tactility/check.h>
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
@ -200,5 +201,6 @@ Driver st7123_touch_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = &st7123_touch_pointer_api,
|
.api = &st7123_touch_pointer_api,
|
||||||
.device_type = &POINTER_TYPE,
|
.device_type = &POINTER_TYPE,
|
||||||
|
.owner = &st7123_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
#include <drivers/st7305.h>
|
#include <drivers/st7305.h>
|
||||||
|
#include <st7305_module.h>
|
||||||
|
|
||||||
#include <tactility/check.h>
|
#include <tactility/check.h>
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
@ -415,5 +416,6 @@ Driver st7305_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = &st7305_display_api,
|
.api = &st7305_display_api,
|
||||||
.device_type = &DISPLAY_TYPE,
|
.device_type = &DISPLAY_TYPE,
|
||||||
|
.owner = &st7305_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
#if SOC_LCD_RGB_SUPPORTED
|
#if SOC_LCD_RGB_SUPPORTED
|
||||||
|
|
||||||
#include <drivers/st7701.h>
|
#include <drivers/st7701.h>
|
||||||
|
#include <st7701_module.h>
|
||||||
|
|
||||||
#include <tactility/device.h>
|
#include <tactility/device.h>
|
||||||
#include <tactility/driver.h>
|
#include <tactility/driver.h>
|
||||||
@ -552,6 +553,7 @@ Driver st7701_driver = {
|
|||||||
.stop_device = stop,
|
.stop_device = stop,
|
||||||
.api = &st7701_display_api,
|
.api = &st7701_display_api,
|
||||||
.device_type = &DISPLAY_TYPE,
|
.device_type = &DISPLAY_TYPE,
|
||||||
|
.owner = &st7701_module,
|
||||||
.internal = nullptr
|
.internal = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user