Skip to content

TODO list

General

Environment stability

Do not publish any SDK functions, macros, defines and includes. Define only what's needed in LT's public headers (like Arduino.h). Everything else is taken from sdk_extern.h or WVariant.h (TODO decide whether to keep WV public / make both private / get rid of WV and use sdk_extern only). Private headers are included by LT's .cpp units (maybe a dedicated private header that would include sdk_extern + Arduino.h).

Developers wanting to use SDK functions need to include them.

Explicit is better than implicit.

  • consider moving to C++17 (GNU)? or any newer than C++11
  • wrap all memory management functions (malloc, calloc, free, memset, etc.) and their vendor SDK counterparts to use FreeRTOS instead
    • pretty much done for ambz and ambz2, Beken is yet left to do (os_malloc() etc.)
  • remove all network protocol client/server implementations from SDKs (mDNS, HTTP, DNS, etc.)

New families

  • BL602
  • RTL8710A
  • RTL8720C
  • RTL8720D
  • W600 and/or W800
  • LN8825
  • BK7231Q
  • host-native family

Tools

  • write OpenOCD flashers, using uf2ota library + FAL for partitions (in ltchiptool repository)

Development

  • write Contributor's Guide
  • export LT cores in an Arduino IDE-compatible format (automatically - GitHub Actions)
  • consider using precompiled SDK blobs for improved build speed (especially on e.g. Raspberry Pi)

Serial

  • configuration of RX/TX pins
  • SoftwareSerial library - receiving + Beken family

Other

  • implement Wire on BK, refactor the API and class
  • watchdog API
  • Preferences library
  • test/fix IPv6 on different families
  • what is PowerManagement at all? probably useless -> remove

BK7231

  • fix WiFi on BK7231N, test other functionality
  • fix SSL (mbedTLS)
  • I2C (Wire)
  • SPI
  • BLE

RTL8710B

  • take all stdio functions from stdio.h
  • rewrite most of Wiring (it was copied from ambd_arduino, and is ugly)