; 20260416 ChatGPT
; Exercise 22_compass

[platformio]
default_envs = cy

[env]
platform = espressif32
framework = arduino
board = esp32-s3-devkitc-1
board_build.partitions = default_8MB.csv
monitor_speed = 115200
extra_scripts = pre:scripts/set_build_epoch.py
lib_deps =
  Wire
  olikraus/U8g2@^2.36.4
  lewisxhe/XPowersLib@0.3.3

build_flags =
  -I ../../shared/boards
  -I ../../external/microReticulum_Firmware
  -I ../../../../LilyGo-LoRa-Series/lib/SensorLib/src
  -D BOARD_MODEL=BOARD_TBEAM_S_V1
  -D OLED_SDA=17
  -D OLED_SCL=18
  -D OLED_ADDR=0x3C
  -D GPS_RX_PIN=9
  -D GPS_TX_PIN=8
  -D GPS_WAKEUP_PIN=7
  -D GPS_1PPS_PIN=6
  -D GPS_L76K
  -D NODE_SLOT_COUNT=7
  -D ARDUINO_USB_MODE=1
  -D ARDUINO_USB_CDC_ON_BOOT=1

  ; Declination convention:
  ;   east = positive
  ;   west = negative
  ; Manual source:
  ;   declination_manual.txt
  ;   2026-04-16  14.47° E ±0.36° changing by 0.11° W per year
  -D MAG_DECLINATION_DEG=14.47f
  -D MAG_DECLINATION_SOURCE=\"manual_noaa_web_ui\"
  -D MAG_DECLINATION_DATE=\"2026-04-16\"
  -D MAG_DECLINATION_LAT=44.93642012667761
  -D MAG_DECLINATION_LON=-123.02203699545396

[env:amy]
extends = env
build_flags =
  ${env.build_flags}
  -D BOARD_ID=\"AMY\"
  -D NODE_LABEL=\"Amy\"
  -D NODE_SHORT=\"A\"
  -D NODE_SLOT_INDEX=0
  -D LOG_AP_IP_OCTET=23
  -D GNSS_CHIP_NAME=\"L76K\"

[env:bob]
extends = env
build_flags =
  ${env.build_flags}
  -D BOARD_ID=\"BOB\"
  -D NODE_LABEL=\"Bob\"
  -D NODE_SHORT=\"B\"
  -D NODE_SLOT_INDEX=1
  -D LOG_AP_IP_OCTET=24
  -D GNSS_CHIP_NAME=\"L76K\"

[env:cy]
extends = env
build_flags =
  ${env.build_flags}
  -D BOARD_ID=\"CY\"
  -D NODE_LABEL=\"Cy\"
  -D NODE_SHORT=\"C\"
  -D NODE_SLOT_INDEX=2
  -D LOG_AP_IP_OCTET=25
  -D GNSS_CHIP_NAME=\"L76K\"

[env:dan]
extends = env
build_flags =
  ${env.build_flags}
  -D BOARD_ID=\"DAN\"
  -D NODE_LABEL=\"Dan\"
  -D NODE_SHORT=\"D\"
  -D NODE_SLOT_INDEX=3
  -D LOG_AP_IP_OCTET=26
  -D GNSS_CHIP_NAME=\"L76K\"

[env:ed]
extends = env
build_flags =
  ${env.build_flags}
  -D BOARD_ID=\"ED\"
  -D NODE_LABEL=\"Ed\"
  -D NODE_SHORT=\"E\"
  -D NODE_SLOT_INDEX=4
  -D LOG_AP_IP_OCTET=27
  -D GNSS_CHIP_NAME=\"L76K\"

[env:flo]
extends = env
build_flags =
  ${env.build_flags}
  -D BOARD_ID=\"FLO\"
  -D NODE_LABEL=\"Flo\"
  -D NODE_SHORT=\"F\"
  -D NODE_SLOT_INDEX=5
  -D LOG_AP_IP_OCTET=28
  -D GNSS_CHIP_NAME=\"L76K\"

[env:guy]
extends = env
build_flags =
  ${env.build_flags}
  -D BOARD_ID=\"GUY\"
  -D NODE_LABEL=\"Guy\"
  -D NODE_SHORT=\"G\"
  -D NODE_SLOT_INDEX=6
  -D LOG_AP_IP_OCTET=29
  -D GNSS_CHIP_NAME=\"MAX-M10S\"
  -D GPS_UBLOX
