Advanced Customisation

This page is an introduction to more advanced customisation exercises relating to the Microchip Application Library TCPIP Stack.

It is a result of efforts to customise the stack.  These pages are made available in the event they are useful to others.  Most of the content on these pages assumes the reader has some knowledge of the TCPIP stack internals.

Customisation projects completed

Use 2 MPFS2 files

  • Allow HTTP2 to serve web-pages to come from more than 1 source, ie look first in external memory device, if page not found look in ROM.
    • Allows webpages to be included as part of the firmware, but users can still upload their own webpages to the external ROM

Remove MPFS2.exe & HTTPPrint interdependencies

  • Remove dependancy on MPFS2.exe utility for linking dynamic variables (Remove dependancy on HTTPPrint callbackid offsets & DynRcrd.bin and FileRcrd.bin when using MDD for web pages storage)
    • Advantages:
      • Allows MPFS2 file system images (*.bin) to be distributed independently of the underlying firmware (currently, should really be distributed with HTTPPrint.idx if user will adding their  own dynamic variables due to callback offsets)
      • Is a precursor to allowing future use of MDD storage without requiring MPFS2.exe created DynRcrd.bin & FileRcrd.bin
    • Disadvantages:
      • Potential decrease in HTTP2 server speed
      • No GZipped files in MPFS2 filesystem image so slightly larger
    • Impacts on MPFS2 filesystem (replace MPFS2.exe with a much more basic utility):
      • No longer require a file included in an MPFS2 file system image to have a second index file when dynamic variables are enclosed
      • No longer needs to manipulate / create HTTPPrint.idx or HTTPPrint.h
    • Impacts on HTTP2 server
      • No longer expect flags to indicate if a file has dynamic variables
      • Cache settings to browser are not set for any file type that may have dynamic variables
      • Calls Dynamic variable functions based on dynamic variable names


  • Use SDCard as the primary webpage storage
    • ability to manage SDCard contents through a browser interface.

Updated 20110203