You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tinySA/.github/copilot-instructions.md

1.6 KiB

Copilot Instructions for tinySA

Build Environment

Building requires the ARM GCC toolchain and MSYS2 utilities from ChibiStudio.

Before running make, set up the environment by running C:\ChibiStudio\start_gcc113.bat. This configures the following PATH entries:

  • C:\ChibiStudio\tools\msys2\usr\bin — provides make, bash, and other Unix utilities
  • C:\ChibiStudio\tools\openocd\bin — OpenOCD for flashing
  • C:\ChibiStudio\tools\GNU Tools ARM Embedded\11.3 2022.08\bin — ARM GCC 11.3 toolchain

Or set up the PATH manually in a terminal before building:

set PATH=C:\ChibiStudio\tools\msys2\usr\bin;%PATH%
set PATH=C:\ChibiStudio\tools\openocd\bin;%PATH%
set PATH=C:\ChibiStudio\tools\GNU Tools ARM Embedded\11.3 2022.08\arm-none-eabi\bin;%PATH%
set PATH=C:\ChibiStudio\tools\GNU Tools ARM Embedded\11.3 2022.08\bin;%PATH%

Building

To build for the tinySA Ultra (STM32F303):

make TARGET=F303

To flash:

make TARGET=F303 dfu flash

Project Structure

  • sa_core.c / sa_cmd.c / ui.c — main application logic
  • si4468.c / si4432.c — RF chip drivers
  • main.c — entry point
  • NANOVNA_STM32_F303/ — board-specific files for the tinySA (F303 target)
  • ChibiOS/ — RTOS

remote control protocol

See 'PROTOCOL.md' for details on the remote control protocol used by the tinySA.

tinySA is a resource constraint device. All code must use minimum CPU cycles, RAM and ROM. The codebase is written in C, with some assembly for critical sections. C++ is not used to avoid the overhead of exceptions and RTTI.

Powered by TurnKey Linux.