| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296 |
- ; PlatformIO Project Configuration File
- ;
- ; Build options: build flags, source filter
- ; Upload options: custom upload port, speed and extra flags
- ; Library options: dependencies, extra library storages
- ; Advanced options: extra scripting
- ;
- ; Please visit documentation for the other options and examples
- ; https://docs.platformio.org/page/projectconf.html
- [platformio]
- default_envs = view
- src_dir = firmware/src
- lib_dir = firmware/lib
- include_dir = firmware/include
- test_dir = firmware/test
- data_dir = firmware/data
- [base_config]
- platform = espressif32@3.4
- framework = arduino
- monitor_speed = 921600
- monitor_flags =
- --eol=CRLF
- --echo
- --filter=esp32_exception_decoder
- upload_speed = 921600
- lib_deps =
- infineon/TLV493D-Magnetic-Sensor @ 1.0.3
- bxparks/AceButton @ 1.9.1
- bakercp/PacketSerial @ 1.4.0
- nanopb/Nanopb @ 0.4.7 ; Ideally this would reference the nanopb submodule, but that would require
- ; everyone to check out submodules to just compile, so we use the library
- ; registry for the runtime. The submodule is available for manually updating
- ; the pre-compiled (checked in) .pb.h/c files when proto files change, but is
- ; otherwise not used during application firmware compilation.
- build_flags =
- -DMONITOR_SPEED=921600
- [env:view]
- extends = base_config
- board = esp32doit-devkit-v1
- board_build.partitions = default_ffat.csv
- lib_deps =
- ${base_config.lib_deps}
- askuric/Simple FOC @ 2.2.0
- bodmer/TFT_eSPI@2.4.25
- fastled/FastLED @ 3.5.0
- bogde/HX711 @ 0.7.5
- adafruit/Adafruit VEML7700 Library @ 1.1.1
- build_flags =
- ${base_config.build_flags}
- ; Display enabled: 1=enable, 0=disable
- -DSK_DISPLAY=1
- ; Display orientation: 0=usb bottom, 2=usb top
- -DSK_DISPLAY_ROTATION=0
- ; LEDs enabled: 1=enable, 0=disable
- -DSK_LEDS=1
- ; Number of LEDs
- -DNUM_LEDS=8
- ; Strain-gauge press input enabled: 1=enable, 0=disable
- -DSK_STRAIN=1
- ; Ambient light sensor (VEML7700) enabled: 1=enable (display/LEDs match ambient brightness), 0=disable (100% brightness all the time)
- -DSK_ALS=1
- ; Use MT6701 magnetic encoder
- -DSENSOR_MT6701=1
- ; Invert direction of angle sensor (motor direction is detected relative to angle sensor as part of the calibration procedure)
- -DSK_INVERT_ROTATION=1
- -DMOTOR_WANZHIDA_ONCE_TOP=1
- ; Pin configurations
- -DPIN_UH=26
- -DPIN_UL=25
- -DPIN_VH=27
- -DPIN_VL=32
- -DPIN_WH=12
- -DPIN_WL=33
- -DPIN_BUTTON_NEXT=-1
- -DPIN_BUTTON_PREV=-1
- -DPIN_SDA=15
- -DPIN_SCL=8
- -DPIN_MT_DATA=37
- -DPIN_MT_CLOCK=13
- -DPIN_MT_CSN=14
- -DPIN_LED_DATA=7
- -DPIN_LCD_BACKLIGHT=19
- -DPIN_STRAIN_DO=38
- -DPIN_STRAIN_SCK=2
- -DDESCRIPTION_FONT=Roboto_Thin_24
- -DDESCRIPTION_Y_OFFSET=20
- -DVALUE_OFFSET=30
- -DDRAW_ARC=0
- -DSK_BACKLIGHT_BIT_DEPTH=16
- ; TFT_eSPI setup
- -DUSER_SETUP_LOADED=1
- -DGC9A01_DRIVER=1
- -DCGRAM_OFFSET=1
- -DTFT_WIDTH=240
- -DTFT_HEIGHT=240
- -DTFT_MISO=-1
- -DTFT_MOSI=5
- -DTFT_SCLK=20
- -DTFT_CS=21
- -DTFT_DC=22
- -DTFT_RST=4
- -DTFT_BL=-1
- -DLOAD_GLCD=1
- -DLOAD_GFXFF=1
- -DSPI_FREQUENCY=40000000
- ; Reduce loop task stack size (only works on newer IDF Arduino core)
- ; -DARDUINO_LOOP_STACK_SIZE=2048
- -DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG
- ; FastLED setup
- ; Modify the default unusable pin mask to allow GPIO 7 (allowed to use on ESP32-PICO-V3-02)
- ; Unusable bits: 6, 8, 9, 10, 20
- ; (0ULL | _FL_BIT(6) | _FL_BIT(8) | _FL_BIT(9) | _FL_BIT(10) | _FL_BIT(20))
- -DFASTLED_UNUSABLE_PIN_MASK=0x100740LL
- ; 0~39 except from 24, 28~31 are valid
- ; (0xFFFFFFFFFFULL & ~(0ULL | _FL_BIT(24) | _FL_BIT(28) | _FL_BIT(29) | _FL_BIT(30) | _FL_BIT(31)))
- -DSOC_GPIO_VALID_GPIO_MASK=0xFF0EFFFFFF
- ; GPIO >= 34 are input only
- ; (SOC_GPIO_VALID_GPIO_MASK & ~(0ULL | _FL_BIT(34) | _FL_BIT(35) | _FL_BIT(36) | _FL_BIT(37) | _FL_BIT(38) | _FL_BIT(39)))
- -DSOC_GPIO_VALID_OUTPUT_GPIO_MASK=0x30EFFFFFF
- [env:nanofoc]
- extends = base_config
- platform = espressif32@6.3.1
- board = adafruit_feather_esp32s3
- board_build.partitions = firmware/partitions-4MB-fat.csv
- lib_deps =
- ${base_config.lib_deps}
- askuric/Simple FOC@2.3.0
- bodmer/TFT_eSPI@2.5.0
- build_flags =
- ${base_config.build_flags}
- ; Display enabled: 1=enable, 0=disable
- -DSK_DISPLAY=0
- ; Display orientation: 0=usb bottom, 2=usb top
- -DSK_DISPLAY_ROTATION=0
- ; LEDs enabled: 1=enable, 0=disable
- -DSK_LEDS=0
- ; Number of LEDs
- -DNUM_LEDS=8
- ; Strain-gauge press input enabled: 1=enable, 0=disable
- -DSK_STRAIN=0
- ; Ambient light sensor (VEML7700) enabled: 1=enable (display/LEDs match ambient brightness), 0=disable (100% brightness all the time)
- -DSK_ALS=0
- -DSENSOR_MAQ430=1
- -DPIN_MAQ_SCK=6
- -DPIN_MAQ_MISO=7
- -DPIN_MAQ_MOSI=5
- -DPIN_MAQ_SS=4
- ; Invert direction of angle sensor (motor direction is detected relative to angle sensor as part of the calibration procedure)
- -DSK_INVERT_ROTATION=1
- -DMOTOR_MAD2804=1
- ; Pin configurations
- -DPIN_UH=21
- -DPIN_UL=12
- -DPIN_VH=14
- -DPIN_VL=10
- -DPIN_WH=13
- -DPIN_WL=11
- -DPIN_BUTTON_NEXT=-1
- -DPIN_BUTTON_PREV=-1
- -DPIN_LED_DATA=7
- -DPIN_LCD_BACKLIGHT=08
- -DPIO_FRAMEWORK_ARDUINO_ENABLE_CDC=1
- -DUSBCON=1
- -DARDUINO_USB_CDC_ON_BOOT=1
- -DARDUINO_USB_MODE=1
- -DCORE_DEBUG_LEVEL=2
- -DHSPI_SPEED=100000 ; MA/MAQ Nominal SPI Speed in Mhz (HSPI)
- -DVSPI_SPEED=400000 ; TFt Nominal SPI Speed in Mhz (VSPI)
- ; Reduce loop task stack size (only works on newer IDF Arduino core)
- ; -DARDUINO_LOOP_STACK_SIZE=2048
- [env:brushknight_esp32s3]
- extends = base_config
- platform = espressif32@6.3.1
- board = esp32-s3-devkitc-1
- board_build.partitions = default_ffat.csv
- monitor_speed = 115200
- lib_deps =
- ${base_config.lib_deps}
- bodmer/TFT_eSPI@2.5.0
- fastled/FastLED @ 3.5.0
- bogde/HX711 @ 0.7.5
- adafruit/Adafruit VEML7700 Library @ 1.1.1
- askuric/Simple FOC@2.3.0
- build_flags =
- ${base_config.build_flags}
- ; Use physical UART for the serial stream rather than the S3 default USB CDC
- -DSK_FORCE_UART_STREAM=1
- -DMONITOR_SPEED=115200
- ; Display enabled: 1=enable, 0=disable
- -DSK_DISPLAY=1
- ; PWM bit resolution (even esp32s3 claims that there are 13 bits, max is 12, after it panics)
- -DSK_BACKLIGHT_BIT_DEPTH=12
- ; Display orientation: 0=usb bottom, 2=usb top
- -DSK_DISPLAY_ROTATION=0
- ; LEDs enabled: 1=enable, 0=disable
- -DSK_LEDS=1
- ; Number of LEDs
- -DNUM_LEDS=8
- ; Strain-gauge press input enabled: 1=enable, 0=disable
- -DSK_STRAIN=1
- ; Ambient light sensor (VEML7700) enabled: 1=enable (display/LEDs match ambient brightness), 0=disable (100% brightness all the time)
- -DSK_ALS=0
- ; Use MT6701 magnetic encoder
- -DSENSOR_MT6701=1
- ; Invert direction of angle sensor (motor direction is detected relative to angle sensor as part of the calibration procedure)
- -DSK_INVERT_ROTATION=1
- -DMOTOR_WANZHIDA_ONCE_TOP=1
- ; Pin configurations
- ; Motor
- -DPIN_UH=20
- -DPIN_UL=19
- -DPIN_VH=21
- -DPIN_VL=17
- -DPIN_WH=12
- -DPIN_WL=18
- -DPIN_BUTTON_NEXT=-1
- -DPIN_BUTTON_PREV=-1
- -DPIN_LED_DATA=7
- -DPIN_LCD_BACKLIGHT=5
- -DPIN_SDA=15
- -DPIN_SCL=8
- -DPIN_MT_DATA=37
- -DPIN_MT_CLOCK=13
- -DPIN_MT_CSN=14
- -DPIN_STRAIN_DO=38
- -DPIN_STRAIN_SCK=1
- -DDESCRIPTION_FONT=Roboto_Thin_24
- -DDESCRIPTION_Y_OFFSET=20
- -DVALUE_OFFSET=30
- -DDRAW_ARC=0
- ; TFT_eSPI setup
- -DUSER_SETUP_LOADED=1
- -DGC9A01_DRIVER=1
- -DCGRAM_OFFSET=1
- -DTFT_WIDTH=240
- -DTFT_HEIGHT=240
- -DTFT_MISO=-1 # fake
- -DTFT_MOSI=3
- -DTFT_SCLK=4
- -DTFT_CS=9
- -DTFT_DC=2
- -DTFT_RST=6
- -DTFT_BL=-1
- -DLOAD_GLCD=1
- -DLOAD_GFXFF=1
- -DSPI_FREQUENCY=40000000
- ; Reduce loop task stack size (only works on newer IDF Arduino core)
- ; -DARDUINO_LOOP_STACK_SIZE=2048
- -DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG
- ; FastLED setup
- ; Modify the default unusable pin mask to allow GPIO 7 (allowed to use on ESP32-PICO-V3-02)
- ; Unusable bits: 6, 8, 9, 10, 20
- ; (0ULL | _FL_BIT(6) | _FL_BIT(8) | _FL_BIT(9) | _FL_BIT(10) | _FL_BIT(20))
- -DFASTLED_UNUSABLE_PIN_MASK=0x100740LL
- ; 0~39 except from 24, 28~31 are valid
- ; (0xFFFFFFFFFFULL & ~(0ULL | _FL_BIT(24) | _FL_BIT(28) | _FL_BIT(29) | _FL_BIT(30) | _FL_BIT(31)))
- -DSOC_GPIO_VALID_GPIO_MASK=0xFF0EFFFFFF
- ; GPIO >= 34 are input only
- ; (SOC_GPIO_VALID_GPIO_MASK & ~(0ULL | _FL_BIT(34) | _FL_BIT(35) | _FL_BIT(36) | _FL_BIT(37) | _FL_BIT(38) | _FL_BIT(39)))
- -DSOC_GPIO_VALID_OUTPUT_GPIO_MASK=0x30EFFFFFF
|