diff --git a/.gitignore b/.gitignore index 055e6fb..d27cba5 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,6 @@ .DS_Store build make -bin .gitignore -script \ No newline at end of file +script +.pio diff --git a/board/LilyGoWatch-S3/LilyGoWatch-S3.json b/board/LilyGoWatch-S3/LilyGoWatch-S3.json new file mode 100644 index 0000000..8dc5d1d --- /dev/null +++ b/board/LilyGoWatch-S3/LilyGoWatch-S3.json @@ -0,0 +1,39 @@ +{ + "build": { + "arduino": { + "ldscript": "esp32s3_out.ld", + "partitions": "default.csv", + "memory_type": "qio_opi" + }, + "core": "esp32", + "extra_flags": [ + "-DARDUINO_TWATCH_S3", + "-DARDUINO_USB_MODE=1", + "-DARDUINO_RUNNING_CORE=1", + "-DARDUINO_EVENT_RUNNING_CORE=1" + ], + "f_cpu": "240000000L", + "f_flash": "80000000L", + "flash_mode": "qio", + "hwids": [["0x303A", "0x1001"]], + "mcu": "esp32s3", + "variant": "esp32s3" + }, + "connectivity": ["wifi"], + "debug": { + "default_tool": "esp-builtin", + "onboard_tools": ["esp-builtin"], + "openocd_target": "esp32s3.cfg" + }, + "frameworks": ["arduino", "espidf"], + "name": "LilyGo T-Watch S3 (16M Flash 8M OPI PSRAM )", + "upload": { + "flash_size": "16MB", + "maximum_ram_size": 327680, + "maximum_size": 16777216, + "require_upload_port": true, + "speed": 921600 + }, + "url": "https://www.lilygo.cc", + "vendor": "LilyGo" +} diff --git a/library.json b/library.json index a922a66..99d65d5 100644 --- a/library.json +++ b/library.json @@ -1,25 +1,66 @@ { - "name": "LilyGo-Watch-Lib", - "keywords": "LilyGo,T-Watch", - "description": "Arduino Library for LilyGo T-Watch development board", - "repository": { - "type": "git", - "url": "https://github.com/Xinyuan-LilyGO/TTGO_TWatch_Library.git" - }, - "authors": [ - { - "name": "Xinyuan Electronics", - "email": "lewishe@outlook.com", + "name": "TTGO TWatch Library", + "version": "2.0.0", + "description": "LilyGo T-Watch series Arduino library", + "keywords": "lilygo,t-watch", + "authors": [{ + "name": "LewisHe", "url": "https://github.com/lewisxhe", "maintainer": true }, { - "name": "Xinyuan Electronics", - "email": "lily@lilygo.cc", + "name": "Xinyuan-LilyGO", "url": "https://github.com/Xinyuan-LilyGO" } ], - "version": "1.4.2", - "frameworks": "arduino", - "platforms": "esp32" -} + "repository": { + "type": "git", + "url": "https://github.com/Xinyuan-LilyGO/TTGO_TWatch_Library.git" + }, + "homepage": "https://github.com/Xinyuan-LilyGO/TTGO_TWatch_Library", + "export": { + "include": [ + "LICENSE", + "library.json", + "library.properties", + "README.md", + "keywords.txt", + "src/*", + "examples/*" + ] + }, + "dependencies": [{ + "name": "ESP8266Audio", + "version": "^1.9.7" + }, + { + "name": "IRremoteESP8266", + "version": "^2.8.4" + }, + { + "name": "RadioLib", + "version": "^6.0.0" + }, + { + "owner": "Bodmer", + "name": "TFT_eSPI", + "version": "^2.5.23" + }, + { + "name": "lvgl", + "version": "^8.3.7" + }, + { + "name": "XPowersLib", + "version": "https://github.com/lewisxhe/XPowersLib.git#7da0aab811002dee2e113977f98f118e85e294ef" + }, + { + "name": "SensorLib", + "version": "https://github.com/lewisxhe/SensorsLib.git#b3ad77af6e100801c7125aaf45fea61f0d358b5a" + } + ], + "examples": ["examples/*/*.ino"], + "frameworks": ["arduino"], + "platforms": "esp32", + "headers": "LilyGoLib.h" +} \ No newline at end of file diff --git a/library.properties b/library.properties index ae485f0..a9e8d94 100644 --- a/library.properties +++ b/library.properties @@ -1,10 +1,9 @@ -name=LilyGo-Watch-Lib -version=1.4.2 +name=TTGO TWatch Library +version=2.0.0 author=LilyGo maintainer=Xinyuan Electronics -sentence=Library for LilyGo development kit -paragraph=twatch library +sentence=Library for LilyGo t-watch development kit +paragraph=Library for LilyGo t-watch development kit category=Device Control url=https://github.com/Xinyuan-LilyGO/TTGO_TWatch_Library architectures=esp32 -includes=* diff --git a/platformio.ini b/platformio.ini new file mode 100644 index 0000000..57b1678 --- /dev/null +++ b/platformio.ini @@ -0,0 +1,173 @@ +;PlatformIO Project Configuration File +; +; Build options: build flags, source filter +; Upload options: custom upload port, speed and extra flags +; Library options: dependencies, extra library storages +; Advanced options: extra scripting +; +; Please visit documentation for the other options and examples +; https://docs.platformio.org/page/projectconf.html + +[platformio] + + +; !Peripheral examples +; src_dir = examples/peripheral/IRsendDemo +; src_dir = examples/peripheral/DisplayAndTouch +; src_dir = examples/peripheral/Vibrate_Basic +; src_dir = examples/peripheral/RTC_AlarmByUnits +; src_dir = examples/peripheral/RTC_TimeLib +; src_dir = examples/peripheral/RTC_TimeSynchronization +; src_dir = examples/peripheral/PDM_Noise_Detection +; src_dir = examples/peripheral/PDM_Recording +; src_dir = examples/peripheral/PMU_ADC +; src_dir = examples/peripheral/PMU_Interrupt +; src_dir = examples/peripheral/PlayMusicFromPROGMEM +; src_dir = examples/peripheral/PlayMusicFromSPIFFS + +; !Sensor examples +; src_dir = examples/sensor/BAM423_Accelerometer +; src_dir = examples/sensor/BMA423_Feature +; src_dir = examples/sensor/BAM423_Temperature + +; !Sleep examples +; src_dir = examples/sleep/WakeupFromPEKKey +; src_dir = examples/sleep/WakeupFromTimer +; src_dir = examples/sleep/WakeupFromTouchScreen +; src_dir = examples/sleep/WakeupFromSensor + +;!lvgl exampls +; src_dir = examples/lvgl/event +; src_dir = examples/lvgl/get_started +; src_dir = examples/lvgl/layouts/flex +; src_dir = examples/lvgl/layouts/grid +; src_dir = examples/lvgl/scroll +; src_dir = examples/lvgl/style +; src_dir = examples/lvgl/widgets/animimg +; src_dir = examples/lvgl/widgets/arc +; src_dir = examples/lvgl/widgets/bar +; src_dir = examples/lvgl/widgets/btn +; src_dir = examples/lvgl/widgets/btnmatrix +; src_dir = examples/lvgl/widgets/calendar +; src_dir = examples/lvgl/widgets/canvas +; src_dir = examples/lvgl/widgets/chart +; src_dir = examples/lvgl/widgets/checkbox +; src_dir = examples/lvgl/widgets/colorwheel +; src_dir = examples/lvgl/widgets/dropdown +; src_dir = examples/lvgl/widgets/img +; src_dir = examples/lvgl/widgets/imgbtn +; src_dir = examples/lvgl/widgets/keyboard +; src_dir = examples/lvgl/widgets/label +; src_dir = examples/lvgl/widgets/led +; src_dir = examples/lvgl/widgets/line +; src_dir = examples/lvgl/widgets/list +; src_dir = examples/lvgl/widgets/menu +; src_dir = examples/lvgl/widgets/meter +; src_dir = examples/lvgl/widgets/msgbox +; src_dir = examples/lvgl/widgets/obj +; src_dir = examples/lvgl/widgets/roller +; src_dir = examples/lvgl/widgets/slider +; src_dir = examples/lvgl/widgets/span +; src_dir = examples/lvgl/widgets/spinbox +; src_dir = examples/lvgl/widgets/spinner +; src_dir = examples/lvgl/widgets/switch +; src_dir = examples/lvgl/widgets/table +; src_dir = examples/lvgl/widgets/tabview +; src_dir = examples/lvgl/widgets/textarea +; src_dir = examples/lvgl/widgets/tileview +; src_dir = examples/lvgl/widgets/win +; src_dir = examples/lvgl/third_party/gif +; src_dir = examples/lvgl/third_party/ImageDecoder + + +;! TFT_eSPI exampls +; src_dir = examples/display/All_Free_Fonts_Demo +; src_dir = examples/display/Cellular_Automata +; src_dir = examples/display/Free_Font_Demo +; src_dir = examples/display/RLE_Font_test +; src_dir = examples/display/TFT_ArcFill +; src_dir = examples/display/TFT_Char_times +; src_dir = examples/display/TFT_Clock +; src_dir = examples/display/TFT_Clock_Digital +; src_dir = examples/display/TFT_Custom_Fonts +; src_dir = examples/display/TFT_Ellipse +; src_dir = examples/display/TFT_FillArcSpiral +; src_dir = examples/display/TFT_Float_Test +; src_dir = examples/display/TFT_Mandlebrot +; src_dir = examples/display/TFT_Matrix +; src_dir = examples/display/TFT_Meter_linear +; src_dir = examples/display/TFT_Meters +; src_dir = examples/display/TFT_Pie_Chart +; src_dir = examples/display/TFT_Pong +; src_dir = examples/display/TFT_Print_Test +; src_dir = examples/display/TFT_Rainbow_one_lib +; src_dir = examples/display/TFT_Read_Reg +; src_dir = examples/display/TFT_Spiro +; src_dir = examples/display/TFT_Starfield +; src_dir = examples/display/TFT_String_Align +; src_dir = examples/display/TFT_Terminal +; src_dir = examples/display/TFT_graphicstest_PDQ +; src_dir = examples/display/TFT_graphicstest_one_lib +; src_dir = examples/display/UTFT_demo + + +; ! Radio +; src_dir = examples/radio/SX126x_Channel_Activity_Detection +; src_dir = examples/radio/SX126x_Channel_Activity_Detection_Interrupt +; src_dir = examples/radio/SX126x_FSK_Modem +; src_dir = examples/radio/SX126x_PingPong +; src_dir = examples/radio/SX126x_Receive +; src_dir = examples/radio/SX126x_Receive_Interrupt +; src_dir = examples/radio/SX126x_Settings +; src_dir = examples/radio/SX126x_Spectrum_Scan +; src_dir = examples/radio/SX126x_Spectrum_Scan_Frequency + +; src_dir = examples/radio/SX126x_Transmit +; src_dir = examples/radio/SX126x_Transmit_Interrupt + +; ! Demo +src_dir = examples/demo/factory + + + +default_envs = twatch-s3 +boards_dir = ./board/LilyGoWatch-S3 + +[env] +lib_extra_dirs = . +upload_speed = 921600 +monitor_speed = 115200 +board_build.filesystem = spiffs +board_build.partitions = default_16MB.csv + + +[env:twatch-s3] +platform = espressif32 +framework = arduino +board = LilyGoWatch-S3 + +build_flags = + ; Enable UARDUINO_ USB_ CDC_ ON_ BOOT will start printing and wait for terminal access during startup + -DARDUINO_USB_CDC_ON_BOOT=1 + + ; Enable UARDUINO_USB_CDC_ON_BOOT will turn off printing and will not block when using the battery + ; -UARDUINO_USB_CDC_ON_BOOT + + -DBOARD_HAS_PSRAM + -DDISABLE_ALL_LIBRARY_WARNINGS + -Wnarrowing + -include extras/Setup212_LilyGo_T_Watch_S3.h + -DUSER_SETUP_LOADED + + +lib_deps = + earlephilhower/ESP8266Audio @ ^1.9.7 + crankyoldgit/IRremoteESP8266 @ ^2.8.4 + jgromes/RadioLib @ ^6.0.0 + bodmer/TFT_eSPI @ ^2.5.30 + lvgl/lvgl @ ^8.3.7 + https://github.com/lewisxhe/XPowersLib.git#7da0aab811002dee2e113977f98f118e85e294ef + https://github.com/lewisxhe/SensorsLib.git#b3ad77af6e100801c7125aaf45fea61f0d358b5a + + +