Initial import: ESP32 ZiFi32 firmware with SMB2/3 VFS bridge
Based on https://github.com/tslabs/zx-evo/tree/master/pentevo/esp32, extended with an SMB2/3 server that exposes the ZX Evolution's real SD card as a network share (browse/download/upload/delete), plus assorted stability and protocol-correctness fixes in vfs_bridge.cpp and the vendored libsmb2 - see firmware/README.md for the detailed changelog and current status. Also adds: - firmware/: ready-to-flash compiled binaries + flashing instructions - hardware/: adapter board connection diagram, PCB photo, and Gerber files - src/third_party/libsmb2: vendored from sahlberg/libsmb2 (LGPL-2.1, see its own COPYING/LICENCE files), de-submoduled to a plain snapshot with local patches applied directly Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
#pragma once
|
||||
|
||||
// Phase 1 of the SMB2/3 network-share feature (see project plan): an SMB2/3
|
||||
// server task with a hardcoded fake filesystem, to prove the protocol layer
|
||||
// works before anything is wired to the Z80/Wild Commander side.
|
||||
|
||||
#define VFS_SHARE_NAME_MAX 32
|
||||
extern char vfs_share_name[VFS_SHARE_NAME_MAX + 1];
|
||||
|
||||
void vfs_bridge_init();
|
||||
void smb_server_task(void *arg);
|
||||
|
||||
// Start/stop the SMB2/3 server on demand (ESP_CMD_VFS_SERVER_START/STOP,
|
||||
// dispatched via TASK_VFS_SERVER_START/STOP in helper_task) instead of it
|
||||
// running unconditionally once WiFi comes up - the Z80 side is single-
|
||||
// tasking (it can only ever be driving one plugin at a time), so there is
|
||||
// no point keeping the SMB server (or the other services it pauses -
|
||||
// at_uart_suspend()/tracker_suspend()) active except while the smbvfs.wmf
|
||||
// plugin is actually the thing running.
|
||||
void vfs_bridge_start_server();
|
||||
void vfs_bridge_stop_server();
|
||||
Reference in New Issue
Block a user