🛰️Zafer Satılmış - Aviora

LwIP Stack (Planned)

Folder: Application/AppZMeterGw/Services/Network/Interfaces/LwIp/ (directory name LwIp). The tree may contain placeholders until a full lwIP integration is added. JSON can already describe an lwIP profile side by side with CycloneTcp and Linux so teams can prepare configuration without changing the generator.

Compatibility With The Generator

generate_network_service.py does not special-case lwIP: the same keys apply—stackInitSourcePath, stackInitFunction, configFilePath, stackPath, and interfaces. When lwIP becomes the first use: true stack, the emitted headers will reference whatever function names and include paths you put in JSON.

A working build still requires real sources: for example AppLwIPStack.h implementing AppLwIPStackInit (or the name you configure), Ethernet/PPP managers, and middleware under Middleware/lwIP/ if your project uses that layout. Until those exist, generated code alone will not link.

Template JSON Fragment

{
  "use": false,
  "name": "lwIP",
  "version": "2.1.0",
  "configFilePath": "Services/Network/inc/lwip_config.h",
  "stackPath": "Middleware/lwIP/",
  "stackInitSourcePath": "Services/Network/Interfaces/lwIP/AppLwIPStack.h",
  "stackInitFunction": "AppLwIPStackInit",
  "interfaces": { ... }
}

Paths in your tree may use LwIp vs lwIP consistently with how the compiler include paths are set; fix JSON to match the actual filenames on disk.

Roadmap

  • Add concrete AppLwIPStack and interface manager sources under Interfaces/LwIp/.
  • Set the lwIP stack entry to use: true first in networkStack when you are ready to build that target.
  • Re-run the generator; Cus_Network_Config.c will call the configured init and start macros automatically.