Skip to content

File System

zhenwei2972 edited this page Jul 14, 2020 · 6 revisions

SPIFFS

  • Compatible with internal SPI Flash and external SPI Flash
  • No 'directories', flat filesystem
  • maxchars 32
  • blocksize 256
  • We shall use custom write-back caching to reduce flash write cycles
  • Since the requirement is to note down peers which are in contact for > 30 min
  • TempIDs rotate every 15 min, we should note down peers TempIDs seen for >= 5 mins to allow for backend correlation

Cleanup

  • Conditions
  • /p/[mmdd] is older than 21 days
  • Free space is < 20KB
  • Process
  • Delete /p/[mmdd]* which are >= 21 days, or oldest

Files

/ids

  • List of all local Temp IDs
  • Looked up to obtain Nth TempID on-demand

/p/[mmdd]

  • map of peers TempID to
  • a 5-digit running id 0-65535
  • org : string
  • deviceType

/p/[mmdd]/[id]

  • Incident List
  • Start Timestamp hhMMss : 3 bytes
  • Seen Minutes : 1 byte
  • RSSI min, max, mean, var/stddev : 4 bytes

Future Optimization

  • In locations where certain TempIDs are permanently close to each other
  • Define a metric to decide on such devices
  • Note down these TempIDs to put them in an ignore / always-together list
Clone this wiki locally