Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions Apps/FTPServer/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
cmake_minimum_required(VERSION 3.20)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)

if (DEFINED ENV{TACTILITY_SDK_PATH})
set(TACTILITY_SDK_PATH $ENV{TACTILITY_SDK_PATH})
else()
set(TACTILITY_SDK_PATH "../../release/TactilitySDK")
message(WARNING "⚠️ TACTILITY_SDK_PATH environment variable is not set, defaulting to ${TACTILITY_SDK_PATH}")
endif()

include("${TACTILITY_SDK_PATH}/TactilitySDK.cmake")
set(EXTRA_COMPONENT_DIRS ${TACTILITY_SDK_PATH})

project(FTPServer)
tactility_project(FTPServer)
34 changes: 34 additions & 0 deletions Apps/FTPServer/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# FTP Server

An FTP server application for [Tactility](https://github.com/TactilityProject/Tactility) devices running on ESP32 platforms.

## Features

- Simple FTP server for wireless file transfer to/from your device
- Configurable username, password, and port
- Real-time connection status and activity logging
- Wi-Fi connection management

## Screenshots

| Idle | Running | Settings | No Wi-Fi |
|:----:|:-------:|:--------:|:--------:|
| ![Idle](images/idle-off.png) | ![Running](images/running.png) | ![Settings](images/settings.png) | ![No WiFi](images/no-wifi.png) |

## Usage

1. Ensure your device is connected to Wi-Fi
2. Configure username, password, and port in settings (default: `esp32`/`esp32` on port `21`)
3. Toggle the switch to start the server
4. Connect using any FTP client with the displayed IP address

## Supported Platforms

- ESP32
- ESP32-S3
- ESP32-C6
- ESP32-P4

## Requirements

- Tactility SDK 0.7.0-dev or later
Binary file added Apps/FTPServer/images/idle-off.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Apps/FTPServer/images/no-wifi.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Apps/FTPServer/images/running.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Apps/FTPServer/images/settings.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
13 changes: 13 additions & 0 deletions Apps/FTPServer/main/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
file(GLOB_RECURSE SOURCE_FILES
Source/*.c*
)

idf_component_register(
SRCS ${SOURCE_FILES}
# Library headers must be included directly,
# because all regular dependencies get stripped by elf_loader's cmake script
INCLUDE_DIRS ../../../Libraries/TactilityCpp/Include
REQUIRES TactilitySDK
PRIV_REQUIRES esp_wifi esp_netif
)

Loading
Loading